code: def run():
      install_profiler_if_requested("auth")
  
      app = web.Application(
          middlewares=[
              auth_check_csrf_token,
              monitor_endpoints_middleware,
          ]
      )
  
      setup_aiohttp_jinja2(app, "auth")
      setup_aiohttp_session(app)
  
      setup_common_static_routes(routes)
      app.add_routes(routes)
      app.router.add_get("/metrics", server_stats)
  
      app.on_startup.append(on_startup)
      app.on_cleanup.append(on_cleanup)
  
      web.run_app(
          deploy_config.prefix_application(app, "auth"),
          host="0.0.0.0",
          port=443,
          access_log_class=AuthAccessLogger,
          ssl_context=internal_server_ssl_context(),
      )
  
imports: import asyncio
  import json
  import logging
  import os
  import re
  import typing
  from contextlib import AsyncExitStack
  from typing import List, NoReturn, Optional
  import aiohttp_session
  import kubernetes_asyncio.client
  import kubernetes_asyncio.client.rest
  import kubernetes_asyncio.config
  import uvloop
  from aiohttp import web
  from prometheus_async.aio.web import server_stats
  from gear import Authenticator, Database, K8sCache, Transaction, UserData, check_csrf_token, create_session, json_request, json_response, maybe_parse_bearer_header, monitor_endpoints_middleware, setup_aiohttp_session, transaction
  from gear.auth import AIOHTTPHandler, get_session_id
  from gear.cloud_config import get_global_config
  from gear.profiling import install_profiler_if_requested
  from hailtop import httpx
  from hailtop.auth import AzureFlow, Flow, GoogleFlow, IdentityProvider
  from hailtop.config import get_deploy_config
  from hailtop.hail_logging import AccessLogger
  from hailtop.tls import internal_server_ssl_context
  from hailtop.utils import secret_alnum_string
  from web_common import render_template, set_message, setup_aiohttp_jinja2, setup_common_static_routes
  from .exceptions import AuthUserError, DuplicateLoginID, DuplicateUsername, EmptyLoginID, InvalidType, InvalidUsername, MultipleExistingUsers, MultipleUserTypes, PreviouslyDeletedUser, UnknownUser
label_desc: Use image node_id 2 for calling a global function with example usage: run() without return types