code: def register_permissions():
      return (
          # name, abbr, description, takes_database, takes_resource, default
          Permission(
              name="view-instance",
              abbr="vi",
              description="View Datasette instance",
              takes_database=False,
              takes_resource=False,
              default=True,
          ),
          Permission(
              name="view-database",
              abbr="vd",
              description="View database",
              takes_database=True,
              takes_resource=False,
              default=True,
              implies_can_view=True,
          ),
          Permission(
              name="view-database-download",
              abbr="vdd",
              description="Download database file",
              takes_database=True,
              takes_resource=False,
              default=True,
          ),
          Permission(
              name="view-table",
              abbr="vt",
              description="View table",
              takes_database=True,
              takes_resource=True,
              default=True,
              implies_can_view=True,
          ),
          Permission(
              name="view-query",
              abbr="vq",
              description="View named query results",
              takes_database=True,
              takes_resource=True,
              default=True,
              implies_can_view=True,
          ),
          Permission(
              name="execute-sql",
              abbr="es",
              description="Execute read-only SQL queries",
              takes_database=True,
              takes_resource=False,
              default=True,
              implies_can_view=True,
          ),
          Permission(
              name="permissions-debug",
              abbr="pd",
              description="Access permission debug tool",
              takes_database=False,
              takes_resource=False,
              default=False,
          ),
          Permission(
              name="debug-menu",
              abbr="dm",
              description="View debug menu items",
              takes_database=False,
              takes_resource=False,
              default=False,
          ),
          Permission(
              name="insert-row",
              abbr="ir",
              description="Insert rows",
              takes_database=True,
              takes_resource=True,
              default=False,
          ),
          Permission(
              name="delete-row",
              abbr="dr",
              description="Delete rows",
              takes_database=True,
              takes_resource=True,
              default=False,
          ),
          Permission(
              name="update-row",
              abbr="ur",
              description="Update rows",
              takes_database=True,
              takes_resource=True,
              default=False,
          ),
          Permission(
              name="create-table",
              abbr="ct",
              description="Create tables",
              takes_database=True,
              takes_resource=False,
              default=False,
          ),
          Permission(
              name="drop-table",
              abbr="dt",
              description="Drop tables",
              takes_database=True,
              takes_resource=True,
              default=False,
          ),
      )
  
file_path: datasette/datasette/default_permissions.py
imports: from datasette import hookimpl, Permission
  from datasette.utils import actor_matches_allow
  import itsdangerous
  import time
  from typing import Union, Tuple
label_desc: Use image node_id 1 for calling a global function with example usage: register_permissions() and returns: Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission,  Permission