Sign Up - JointCommerce
...

Sign Up!

Sign up for your free account to mark your favorite locations and send reviews of your experience. Join JointCommerce's community!

  • Your password can’t be too similar to your other personal information.
  • Your password must contain at least 8 characters.
  • Your password can’t be a commonly used password.
  • Your password can’t be entirely numeric.
Enter the same password as before, for verification.


By signing up you agree to JointCommerce's Terms of Use and Privacy Policy.


Have an account already? Sign In

DJDT

Versions

Package Name Version
Django 5.0.4
Python 3.11.10
allauth Allauth 0.58.0.final.0
bootstrap4 Bootstrap4 24.3
crispy_bootstrap5 Crispy_Bootstrap5 2024.2
crispy_forms Crispy_Forms 2.1
debug_toolbar Debug Toolbar 4.2.0
django_filters Django_Filters 24.3
django_summernote Django Summernote 0.8.20.0
drf_spectacular drf-spectacular 0.27.2
gunicorn Gunicorn 21.2.0
imagekit Imagekit 5.0.0
import_export Import_Export 4.1.1
rest_framework Django REST framework 3.15.2
rest_framework_api_key API Key Permissions 3.0.0
reversion Reversion 5.0.12
reversion_compare reversion_compare 0.17.0
silk Silk 5.1.0
storages Storages 1.14.2
widget_tweaks Widget_Tweaks 1.5.0

Time

Resource usage

Resource Value
User CPU time 118.019 msec
System CPU time 14.750 msec
Total CPU time 132.769 msec
Elapsed time 826.576 msec
Context switches 25 voluntary, 1 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

Settings from _jointcommerce.settings

Setting Value
ABSOLUTE_URL_OVERRIDES {}
ACCOUNT_AUTHENTICATION_METHOD 'username_email'
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL 'directory/accounts/email-verification-sent/'
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL 'directory/accounts/email-verification-sent/'
ACCOUNT_EMAIL_CONFIRMATION_SUBJECT_TEMPLATE 'directory/accounts/emails/email_confirmation_subject.txt'
ACCOUNT_EMAIL_CONFIRMATION_TEMPLATE 'directory/accounts/email_confirmation_message.html'
ACCOUNT_EMAIL_REQUIRED True
ACCOUNT_EMAIL_SUBJECT_PREFIX 'JointCommerce - '
ACCOUNT_EMAIL_VERIFICATION 'mandatory'
ACCOUNT_LOGOUT_ON_GET True
ACCOUNT_UNIQUE_EMAIL True
ACCOUNT_USERNAME_REQUIRED True
ADD_REVERSION_ADMIN True
ADMINS []
ALLOWED_HOSTS ['*']
APPEND_SLASH True
AUTHENTICATION_BACKENDS ('accounts.backends.EmailBackend', 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend')
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL 'auth.User'
AWS_ACCESS_KEY_ID '********************'
AWS_DEFAULT_ACL None
AWS_IS_GZIPPED True
AWS_LOCATION 'static'
AWS_S3_CUSTOM_DOMAIN 'jointcommerce-files.s3-us-west-2.amazonaws.com'
AWS_S3_FILE_OVERWRITE False
AWS_SECRET_ACCESS_KEY '********************'
AWS_STORAGE_BUCKET_NAME 'jointcommerce-files'
BASE_DIR PosixPath('/app')
BROTLI_STATIC_COMPRESSION True
CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CELERY_BROKER_URL 'rediss://:pf32973e2c8a0f135fc026c27c5c9f4b77c00dee5a88513a5941d21777a952ed8@ec2-52-72-35-207.compute-1.amazonaws.com:19189?ssl_cert_reqs=CERT_NONE'
CELERY_RESULT_BACKEND 'rediss://:pf32973e2c8a0f135fc026c27c5c9f4b77c00dee5a88513a5941d21777a952ed8@ec2-52-72-35-207.compute-1.amazonaws.com:19189?ssl_cert_reqs=CERT_NONE'
CORS_ALLOW_ALL_ORIGINS True
CRISPY_ALLOWED_TEMPLATE_PACKS 'bootstrap5'
CRISPY_TEMPLATE_PACK 'bootstrap5'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE 'Lax'
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
CSVIMPORT_PARSER 'pandas'
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': 'ec2-3-233-72-102.compute-1.amazonaws.com', 'NAME': 'd11ihh4gmtue9f', 'OPTIONS': {'sslmode': 'require'}, 'PASSWORD': '********************', 'PORT': 5432, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'u4ui2r6da6daer'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATA_UPLOAD_MAX_NUMBER_FILES 100
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'SHOW_TOOLBAR_CALLBACK': <function <lambda> at 0x7fe9ae8e5a80>}
DEBUG_TOOLBAR_PANELS ['debug_toolbar.panels.history.HistoryPanel', 'debug_toolbar.panels.versions.VersionsPanel', 'debug_toolbar.panels.timer.TimerPanel', 'debug_toolbar.panels.settings.SettingsPanel', 'debug_toolbar.panels.headers.HeadersPanel', 'debug_toolbar.panels.request.RequestPanel', 'debug_toolbar.panels.sql.SQLPanel', 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 'debug_toolbar.panels.templates.TemplatesPanel', 'debug_toolbar.panels.cache.CachePanel', 'debug_toolbar.panels.signals.SignalsPanel', 'debug_toolbar.panels.logging.LoggingPanel', 'debug_toolbar.panels.redirects.RedirectsPanel', 'debug_toolbar.panels.profiling.ProfilingPanel']
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.BigAutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL 'admin@jointcommerce.com'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DISALLOWED_USER_AGENTS []
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'smtp.gmail.com'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER 'adops@jointcommerce.co'
EMAIL_PORT 587
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL False
EMAIL_USE_TLS True
ENVIRONMENT 'development'
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORMS_URLFIELD_ASSUME_HTTPS False
FORM_RENDERER 'django.forms.renderers.DjangoTemplates'
GZIP_MIDDLEWARE_EXCLUDE_CONTENT_TYPES ('application/json', 'text/html', 'text/xml', 'application/xml', 'application/xhtml+xml')
GZIP_STATIC_COMPRESSION True
IGNORABLE_404_URLS []
IMAGEKIT_CACHEFILE_DIR 'CACHE/images'
IMAGEKIT_CACHEFILE_NAMER 'imagekit.cachefiles.namers.hash'
IMAGEKIT_CACHE_BACKEND 'default'
IMAGEKIT_CACHE_PREFIX 'imagekit:'
IMAGEKIT_CACHE_TIMEOUT 300
IMAGEKIT_DEFAULT_CACHEFILE_BACKEND 'imagekit.cachefiles.backends.Simple'
IMAGEKIT_DEFAULT_CACHEFILE_STRATEGY 'imagekit.cachefiles.strategies.JustInTime'
IMAGEKIT_DEFAULT_FILE_STORAGE 'default'
IMAGEKIT_SPEC_CACHEFILE_NAMER 'imagekit.cachefiles.namers.source_name_as_path'
IMAGEKIT_USE_MEMCACHED_SAFE_CACHE_KEY '********************'
INSTALLED_APPS ['jazzmin', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django.contrib.sitemaps', 'django_summernote', 'django.contrib.humanize', 'django_quill', 'debug_toolbar', 'storages', 'corsheaders', 'crispy_forms', 'crispy_bootstrap5', 'widget_tweaks', 'mathfilters', 'bootstrap4', 'main', 'dispensaries.apps.DispensariesConfig', 'clients.apps.ClientsConfig', 'brands', 'blog', 'census', 'users.apps.UsersConfig', 'accounts', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.google', 'allauth.socialaccount.providers.facebook', 'gunicorn', 'imagekit', 'rawdata', 'reversion', 'reversion_compare', 'import_export', 'silk', 'api', 'rest_framework', 'rest_framework.authtoken', 'rest_framework_api_key', 'drf_spectacular', 'django_filters']
INTERNAL_IPS ['127.0.0.1']
JAZZMIN_SETTINGS {'changeform_format': 'horizontal_tabs', 'changeform_format_overrides': {'auth.group': 'vertical_tabs', 'auth.user': 'vertical_tabs'}, 'copyright': 'JointCommerce', 'custom_css': 'admin/css/admin_custom.css', 'custom_js': None, 'default_icon_children': 'fas fa-arrow-circle-right', 'default_icon_parents': 'fas fa-chevron-circle-right', 'icons': {'admin.LogEntry': 'fas fa-file', 'auth': 'fas fa-users-cog', 'auth.Group': 'fas fa-users', 'auth.user': 'fas fa-user', 'users.User': 'fas fa-user'}, 'navigation_expanded': True, 'related_modal_active': False, 'show_sidebar': True, 'show_ui_builder': True, 'site_brand': 'JointCommerce', 'site_header': 'JointCommerce', 'site_icon': 'images/favicon.png', 'site_logo': 'directory/img/favicon.ico', 'site_title': 'JointCommerce', 'topmenu_links': [{'name': 'JointCommerce', 'permissions': ['auth.view_user'], 'url': 'home'}, {'model': 'auth.User'}], 'use_fontawesome': True, 'user_avatar': None, 'welcome_sign': 'Welcome to the Admin End of JointCommerce'}
JAZZMIN_UI_TWEAKS {'body_small_text': False, 'brand_colour': 'btn-primary', 'brand_small_text': False, 'button_classes': {'danger': 'btn-danger', 'info': 'btn-info', 'primary': 'btn-primary', 'secondary': 'btn-secondary', 'success': 'btn-success', 'warning': 'btn-warning'}, 'footer_fixed': False, 'footer_small_text': False, 'layout_boxed': False, 'navbar_fixed': True, 'navbar_small_text': False, 'no_navbar_border': True, 'sidebar_disable_expand': False, 'sidebar_fixed': True, 'sidebar_nav_child_indent': False, 'sidebar_nav_compact_style': True, 'sidebar_nav_flat_style': False, 'sidebar_nav_legacy_style': False, 'sidebar_nav_small_text': False}
KT_THEME 'metronic'
KT_THEME_ASSETS {'css': ['dashboard/plugins/global/plugins.bundle.css', 'dashboard/css/style.bundle.css'], 'favicon': 'dashboard/media/logos/jointcommerce_logo_short.png', 'fonts': ['https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700'], 'js': ['dashboard/plugins/global/plugins.bundle.js', 'dashboard/js/scripts.bundle.js']}
KT_THEME_DIRECTION 'ltr'
KT_THEME_ICONS 'duotone'
KT_THEME_LAYOUT_DIR 'layout'
KT_THEME_MODE_DEFAULT 'light'
KT_THEME_MODE_SWITCH_ENABLED True
KT_THEME_VENDORS {'amcharts': {'js': ['https://cdn.amcharts.com/lib/5/index.js', 'https://cdn.amcharts.com/lib/5/xy.js', 'https://cdn.amcharts.com/lib/5/percent.js', 'https://cdn.amcharts.com/lib/5/radar.js', 'https://cdn.amcharts.com/lib/5/themes/Animated.js']}, 'amcharts-maps': {'js': ['https://cdn.amcharts.com/lib/5/index.js', 'https://cdn.amcharts.com/lib/5/map.js', 'https://cdn.amcharts.com/lib/5/geodata/worldLow.js', 'https://cdn.amcharts.com/lib/5/geodata/continentsLow.js', 'https://cdn.amcharts.com/lib/5/geodata/usaLow.js', 'https://cdn.amcharts.com/lib/5/geodata/worldTimeZonesLow.js', 'https://cdn.amcharts.com/lib/5/geodata/worldTimeZoneAreasLow.js', 'https://cdn.amcharts.com/lib/5/themes/Animated.js']}, 'amcharts-stock': {'js': ['https://cdn.amcharts.com/lib/5/index.js', 'https://cdn.amcharts.com/lib/5/xy.js', 'https://cdn.amcharts.com/lib/5/themes/Animated.js']}, 'bootstrap-select': {'css': ['dashboard/plugins/custom/bootstrap-select/bootstrap-select.bundle.css'], 'js': ['dashboard/plugins/custom/bootstrap-select/bootstrap-select.bundle.js']}, 'bootstrap5': {'css': ['https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css'], 'js': ['https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js']}, 'ckeditor-balloon': {'js': ['dashboard/plugins/custom/ckeditor/ckeditor-balloon.bundle.js']}, 'ckeditor-balloon-block': {'js': ['dashboard/plugins/custom/ckeditor/ckeditor-balloon-block.bundle.js']}, 'ckeditor-classic': {'js': ['dashboard/plugins/custom/ckeditor/ckeditor-classic.bundle.js']}, 'ckeditor-document': {'js': ['dashboard/plugins/custom/ckeditor/ckeditor-document.bundle.js']}, 'ckeditor-inline': {'js': ['dashboard/plugins/custom/ckeditor/ckeditor-inline.bundle.js']}, 'cookiealert': {'css': ['dashboard/plugins/custom/cookiealert/cookiealert.bundle.css'], 'js': ['dashboard/plugins/custom/cookiealert/cookiealert.bundle.js']}, 'cropper': {'css': ['dashboard/plugins/custom/cropper/cropper.bundle.css'], 'js': ['dashboard/plugins/custom/cropper/cropper.bundle.js']}, 'datatables': {'css': ['dashboard/plugins/custom/datatables/datatables.bundle.css'], 'js': ['dashboard/plugins/custom/datatables/datatables.bundle.js']}, 'draggable': {'js': ['dashboard/plugins/custom/draggable/draggable.bundle.js']}, 'flotcharts': {'js': ['dashboard/plugins/custom/flotcharts/flotcharts.bundle.js']}, 'formrepeater': {'js': ['dashboard/plugins/custom/formrepeater/formrepeater.bundle.js']}, 'fslightbox': {'js': ['dashboard/plugins/custom/fslightbox/fslightbox.bundle.js']}, 'fullcalendar': {'css': ['dashboard/plugins/custom/fullcalendar/fullcalendar.bundle.css'], 'js': ['dashboard/plugins/custom/fullcalendar/fullcalendar.bundle.js']}, 'google-jsapi': '********************', 'jkanban': {'css': ['dashboard/plugins/custom/jkanban/jkanban.bundle.css'], 'js': ['dashboard/plugins/custom/jkanban/jkanban.bundle.js']}, 'jstree': {'css': ['dashboard/plugins/custom/jstree/jstree.bundle.css'], 'js': ['dashboard/plugins/custom/jstree/jstree.bundle.js']}, 'leaflet': {'css': ['dashboard/plugins/custom/leaflet/leaflet.bundle.css'], 'js': ['dashboard/plugins/custom/leaflet/leaflet.bundle.js']}, 'prismjs': {'css': ['dashboard/plugins/custom/prismjs/prismjs.bundle.css'], 'js': ['dashboard/plugins/custom/prismjs/prismjs.bundle.js']}, 'tinymce': {'js': ['dashboard/plugins/custom/tinymce/tinymce.bundle.js']}, 'typedjs': {'js': ['dashboard/plugins/custom/typedjs/typedjs.bundle.js']}, 'vis-timeline': {'css': ['dashboard/plugins/custom/vis-timeline/vis-timeline.bundle.css'], 'js': ['dashboard/plugins/custom/vis-timeline/vis-timeline.bundle.js']}}
LANGUAGES [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ar-dz', 'Algerian Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('ckb', 'Central Kurdish (Sorani)'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('ig', 'Igbo'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('ky', 'Kyrgyz'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('ms', 'Malay'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('tg', 'Tajik'), ('th', 'Thai'), ('tk', 'Turkmen'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('ug', 'Uyghur'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('uz', 'Uzbek'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE 'en-us'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LOCALE_PATHS ['/app/locale']
LOGGING {'disable_existing_loggers': False, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S', 'format': '%(asctime)s [%(process)d] ' '[%(levelname)s] pathname=%(pathname)s ' 'lineno=%(lineno)s funcname=%(funcName)s ' '%(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'verbose', 'level': 'DEBUG'}, 'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}}, 'loggers': {'testlogger': {'handlers': ['console'], 'level': 'INFO'}}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/'
LOGIN_URL '/accounts/login/'
LOGOUT_REDIRECT_URL '/'
MANAGERS []
MAPBOX_ACCESS_TOKEN '********************'
MEDIA_ROOT '/app/media'
MEDIA_URL '/media/'
MESSAGES_STORAGE 'django.contrib.messages.storage.session.SessionStorage'
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS {10: 'alert-secondary', 20: 'alert-info', 25: 'alert-success', 30: 'alert-warning', 40: 'alert-danger'}
MIDDLEWARE ['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.middleware.gzip.GZipMiddleware', 'rawdata.middleware.BlockIPMiddleware', 'rawdata.middleware.RedirectSubdomainMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'allauth.account.middleware.AccountMiddleware', 'htmlmin.middleware.HtmlMinifyMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'silk.middleware.SilkyMiddleware']
MIGRATION_MODULES {}
MINIFY_STATIC True
MONTH_DAY_FORMAT 'F j'
NUMBER_GROUPING 0
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
PREPEND_WWW False
REST_FRAMEWORK {'DEFAULT_AUTHENTICATION_CLASSES': ['rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication', 'rest_framework_api_key.permissions.HasAPIKey'], 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', 'DEFAULT_THROTTLE_CLASSES': ['rest_framework.throttling.UserRateThrottle', 'rest_framework.throttling.AnonRateThrottle'], 'DEFAULT_THROTTLE_RATES': {'anon': '100/day', 'user': '1000/day'}}
REVERSION_COMPARE_FOREIGN_OBJECTS_AS_ID False
REVERSION_COMPARE_IGNORE_NOT_REGISTERED False
ROOT_URLCONF '_jointcommerce.urls'
SECRET_KEY '********************'
SECRET_KEY_FALLBACKS '********************'
SECURE_CONTENT_TYPE_NOSNIFF True
SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_PROXY_SSL_HEADER None
SECURE_REDIRECT_EXEMPT []
SECURE_REFERRER_POLICY 'same-origin'
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SERVER_EMAIL 'root@localhost'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE 'Lax'
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE '_jointcommerce.settings'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_ID 1
SOCIALACCOUNT_LOGIN_ON_GET True
SOCIALACCOUNT_PROVIDERS {'facebook': {'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 'EXCHANGE_TOKEN': '********************', 'FIELDS': ['id', 'first_name', 'last_name', 'middle_name', 'name', 'name_format', 'picture', 'short_name'], 'GRAPH_API_URL': '********************', 'INIT_PARAMS': {'cookie': True}, 'LOCALE_FUNC': <function <lambda> at 0x7fe9ad9d5300>, 'METHOD': 'oauth2', 'SCOPE': ['email', 'public_profile'], 'SDK_URL': '//connect.facebook.net/{locale}/sdk.js', 'VERIFIED_EMAIL': False, 'VERSION': 'v13.0'}, 'google': {'AUTH_PARAMS': {'access_type': 'online'}, 'SCOPE': ['profile', 'email']}}
SOCIALACCOUNT_QUERY_EMAIL True
SPECTACULAR_SETTINGS {'COMPONENTS': {'securitySchemes': {'BearerAuth': {'bearerFormat': 'JWT', 'description': 'JWT ' 'Authorization ' 'header ' 'using the ' 'Bearer ' 'scheme. ' 'Example: ' '"Authorization: ' 'Bearer ' '{token}"', 'scheme': 'bearer', 'type': 'http'}}}, 'COMPONENT_SPLIT_REQUEST': True, 'CONTACT': {'email': 'admin@jointcommerce.com'}, 'DESCRIPTION': 'API documentation for the JointCommerce project, allowing ' 'management of agencies, advertisers, campaign groups, and ' 'campaigns with date range filtering.', 'LICENSE': {'name': 'BSD License'}, 'SCHEMA_PATH_PREFIX': '/api/', 'SECURITY': [{'BearerAuth': []}], 'SERVERS': [{'description': 'Production Server', 'url': 'https://api.jointcommerce.com/v1'}], 'SERVE_INCLUDE_SCHEMA': False, 'TERMS_OF_SERVICE': 'https://app.jointcommerce.com/terms/', 'TITLE': 'JointCommerce API', 'VERSION': 'v1'}
STATICFILES_DIRS ['/app/static']
STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT '/app/staticfiles'
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'OPTIONS': {'builtins': ['django.templatetags.static', '_jointcommerce.templatetags.theme'], 'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', '_jointcommerce.context_processors.main_pages', '_jointcommerce.context_processors.agency_membership', '_jointcommerce.context_processors.google_analytics_env'], 'libraries': {'theme': '_jointcommerce.templatetags.theme'}}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'America/Los_Angeles'
USE_I18N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST False
USE_X_FORWARDED_PORT False
WSGI_APPLICATION '_jointcommerce.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Headers

Request headers

Key Value
Accept */*
Accept-Encoding gzip, br, zstd, deflate
Connection close
Connect-Time 0
Cookie => see Request panel
Host app.jointcommerce.com
Total-Route-Time 0
User-Agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Via 1.1 vegur
X-Forwarded-For 3.140.196.185
X-Forwarded-Port 443
X-Forwarded-Proto https
X-Request-Id bc04de1e-d1d5-4da6-8b2d-3f90f5dfb072
X-Request-Start 1726813462593

Response headers

Key Value
Content-Type text/html; charset=utf-8

WSGI environ

Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.

Key Value
PATH_INFO /accounts/signup/
QUERY_STRING next=%2Fdispensaries%2F562%2F
REMOTE_ADDR 10.1.25.98
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 38542
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE gunicorn/21.2.0

Request

View information

View function Arguments Keyword arguments URL name
accounts.views.view () {} accounts-signup

Cookies

Variable Value
'PHPSESSID' 'oqv6smdqdu92bbhpu5caoigdg2'

No session data

GET data

Variable Value
'next' '/dispensaries/562/'

No POST data

SQL queries from 1 connection

  • default 555.89 ms (14 queries including 2 similar )
Query Timeline Time (ms) Action
INSERT INTO "silk_request" ("id", "path", "query_params", "raw_body", "body", "method", "start_time", "view_name", "end_time", "time_taken", "encoded_headers", "meta_time", "meta_num_queries", "meta_time_spent_queries", "pyprofile", "prof_file", "num_sql_queries")
VALUES ('da89b381-d607-4496-a7b0-695bf743adec', '/accounts/signup/', '{"next": "/dispensaries/562/"}', '', '', 'GET', '2024-09-20T06:24:22.597091+00:00'::timestamptz, 'accounts-signup', NULL, NULL, '{"host": "app.jointcommerce.com", "connection": "close", "accept": "*/*", "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "cookie": "********************", "accept-encoding": "gzip, br, zstd, deflate", "x-request-id": "bc04de1e-d1d5-4da6-8b2d-3f90f5dfb072", "x-forwarded-for": "3.140.196.185", "x-forwarded-proto": "https", "x-forwarded-port": "443", "via": "1.1 vegur", "connect-time": "0", "x-request-start": "1726813462593", "total-route-time": "0"}', NULL, NULL, NULL, '', '', 0)
INSERT INTO "silk_request" ("id", "path", "query_params", "raw_body", "body", "method", "start_time", "view_name", "end_time", "time_taken", "encoded_headers", "meta_time", "meta_num_queries", "meta_time_spent_queries", "pyprofile", "prof_file", "num_sql_queries") VALUES ('da89b381-d607-4496-a7b0-695bf743adec', '/accounts/signup/', '{"next": "/dispensaries/562/"}', '', '', 'GET', '2024-09-20T06:24:22.597091+00:00'::timestamptz, 'accounts-signup', NULL, NULL, '{"host": "app.jointcommerce.com", "connection": "close", "accept": "*/*", "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "cookie": "********************", "accept-encoding": "gzip, br, zstd, deflate", "x-request-id": "bc04de1e-d1d5-4da6-8b2d-3f90f5dfb072", "x-forwarded-for": "3.140.196.185", "x-forwarded-proto": "https", "x-forwarded-port": "443", "via": "1.1 vegur", "connect-time": "0", "x-request-start": "1726813462593", "total-route-time": "0"}', NULL, NULL, NULL, '', '', 0)
19.11

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(70)
  self.process_request(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_request(120)
  request_model = RequestModelFactory(request).construct_request_model()

/app/.heroku/python/lib/python3.11/site-packages/silk/model_factory.py in construct_request_model(230)
  request_model = models.Request.objects.create(

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in save(203)
  super().save(*args, **kwargs)

SELECT "silk_request"."start_time"
  FROM "silk_request"
 ORDER BY "silk_request"."start_time" DESC
 LIMIT 1
OFFSET 9990
SELECT ••• FROM "silk_request" ORDER BY "silk_request"."start_time" DESC LIMIT 1 OFFSET 9990
378.27

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(70)
  self.process_request(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_request(120)
  request_model = RequestModelFactory(request).construct_request_model()

/app/.heroku/python/lib/python3.11/site-packages/silk/model_factory.py in construct_request_model(230)
  request_model = models.Request.objects.create(

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in save(204)
  Request.garbage_collect(force=False)

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in garbage_collect(173)
  time_cutoff = cls.objects.order_by(

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(100)
  return self._execute_sql(*args, **kwargs)

SELECT "django_site"."id",
       "django_site"."domain",
       "django_site"."name"
  FROM "django_site"
 WHERE "django_site"."id" = 1
 LIMIT 21
SELECT ••• FROM "django_site" WHERE "django_site"."id" = 1 LIMIT 21
31.07

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(171)
  return self._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py in provider_login_url(20)
  provider = adapter.get_provider(request, provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_provider(206)
  app = self.get_app(request, provider=provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_app(286)
  apps = self.list_apps(request, provider=provider, client_id=client_id)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in list_apps(233)
  db_apps = SocialApp.objects.on_site(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/models.py in on_site(29)
  site = get_current_site(request)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/shortcuts.py in get_current_site(16)
  return Site.objects.get_current(request)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py in get_current(59)
  return self._get_site_by_id(site_id)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py in _get_site_by_id(30)
  site = self.get(pk=site_id)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

77 </form>
78 <hr class="my-3 hr-text letter-spacing-2" data-content="OR">
79 <div class="d-grid gap-2">
80 <a href="{% provider_login_url 'google' %}" class="btn btn-google btn-social">
81 <i class="fa-2x fa-google fab btn-social-icon"></i>Connect <span class="d-none d-sm-inline">with Google</span>
82 </a>
83 </div>
84 <br class="my-4">

/app/templates/directory/accounts/signup.html

EXPLAIN SELECT "django_site"."id",
       "django_site"."domain",
       "django_site"."name"
  FROM "django_site"
 WHERE "django_site"."id" = 1
 LIMIT 21
EXPLAIN SELECT "django_site"."id", "django_site"."domain", "django_site"."name" FROM "django_site" WHERE "django_site"."id" = 1 LIMIT 21
5.86

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(171)
  return self._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py in provider_login_url(20)
  provider = adapter.get_provider(request, provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_provider(206)
  app = self.get_app(request, provider=provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_app(286)
  apps = self.list_apps(request, provider=provider, client_id=client_id)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in list_apps(233)
  db_apps = SocialApp.objects.on_site(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/models.py in on_site(29)
  site = get_current_site(request)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/shortcuts.py in get_current_site(16)
  return Site.objects.get_current(request)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py in get_current(59)
  return self._get_site_by_id(site_id)

/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py in _get_site_by_id(30)
  site = self.get(pk=site_id)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(96)
  query_dict['analysis'] = _explain_query(self.connection, q, params)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in _explain_query(58)
  cur.execute(prefixed_query, params)

77 </form>
78 <hr class="my-3 hr-text letter-spacing-2" data-content="OR">
79 <div class="d-grid gap-2">
80 <a href="{% provider_login_url 'google' %}" class="btn btn-google btn-social">
81 <i class="fa-2x fa-google fab btn-social-icon"></i>Connect <span class="d-none d-sm-inline">with Google</span>
82 </a>
83 </div>
84 <br class="my-4">

/app/templates/directory/accounts/signup.html

SELECT "socialaccount_socialapp"."id",
       "socialaccount_socialapp"."provider",
       "socialaccount_socialapp"."provider_id",
       "socialaccount_socialapp"."name",
       "socialaccount_socialapp"."client_id",
       "socialaccount_socialapp"."secret",
       "socialaccount_socialapp"."key",
       "socialaccount_socialapp"."settings"
  FROM "socialaccount_socialapp"
 INNER JOIN "socialaccount_socialapp_sites"
    ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id")
 WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = 'google' OR "socialaccount_socialapp"."provider_id" = 'google'))
SELECT ••• FROM "socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id") WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = 'google' OR "socialaccount_socialapp"."provider_id" = 'google'))
2.28

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(171)
  return self._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py in provider_login_url(20)
  provider = adapter.get_provider(request, provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_provider(206)
  app = self.get_app(request, provider=provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_app(286)
  apps = self.list_apps(request, provider=provider, client_id=client_id)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in list_apps(238)
  for app in db_apps:

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

77 </form>
78 <hr class="my-3 hr-text letter-spacing-2" data-content="OR">
79 <div class="d-grid gap-2">
80 <a href="{% provider_login_url 'google' %}" class="btn btn-google btn-social">
81 <i class="fa-2x fa-google fab btn-social-icon"></i>Connect <span class="d-none d-sm-inline">with Google</span>
82 </a>
83 </div>
84 <br class="my-4">

/app/templates/directory/accounts/signup.html

EXPLAIN SELECT "socialaccount_socialapp"."id",
       "socialaccount_socialapp"."provider",
       "socialaccount_socialapp"."provider_id",
       "socialaccount_socialapp"."name",
       "socialaccount_socialapp"."client_id",
       "socialaccount_socialapp"."secret",
       "socialaccount_socialapp"."key",
       "socialaccount_socialapp"."settings"
  FROM "socialaccount_socialapp"
 INNER JOIN "socialaccount_socialapp_sites"
    ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id")
 WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = 'google' OR "socialaccount_socialapp"."provider_id" = 'google'))
EXPLAIN SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", "socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", "socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", "socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM "socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id") WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = 'google' OR "socialaccount_socialapp"."provider_id" = 'google'))
22.75

Connection: default

Transaction status: Idle

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(72)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in render(114)
  self.content = self.rendered_content

/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py in rendered_content(92)
  return template.render(context, self._request)

/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(171)
  return self._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(159)
  return compiled_parent._render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py in instrumented_test_render(111)
  return self.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py in render(65)
  result = block.nodelist.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in <listcomp>(1000)
  return SafeString("".join([node.render_annotated(context) for node in self]))

/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py in render_annotated(961)
  return self.render(context)

/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py in render(237)
  output = self.func(*resolved_args, **resolved_kwargs)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py in provider_login_url(20)
  provider = adapter.get_provider(request, provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_provider(206)
  app = self.get_app(request, provider=provider)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in get_app(286)
  apps = self.list_apps(request, provider=provider, client_id=client_id)

/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py in list_apps(238)
  for app in db_apps:

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(96)
  query_dict['analysis'] = _explain_query(self.connection, q, params)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in _explain_query(58)
  cur.execute(prefixed_query, params)

77 </form>
78 <hr class="my-3 hr-text letter-spacing-2" data-content="OR">
79 <div class="d-grid gap-2">
80 <a href="{% provider_login_url 'google' %}" class="btn btn-google btn-social">
81 <i class="fa-2x fa-google fab btn-social-icon"></i>Connect <span class="d-none d-sm-inline">with Google</span>
82 </a>
83 </div>
84 <br class="my-4">

/app/templates/directory/accounts/signup.html

INSERT INTO "silk_response" ("id", "request_id", "status_code", "raw_body", "body", "encoded_headers")
VALUES ('89279ecf-b03d-4cca-9264-8ec4621da0c7', 'da89b381-d607-4496-a7b0-695bf743adec', 200, 'CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CiAgPGhlYWQ+CiAgICAKICAgIAogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImFsbCxmb2xsb3ciPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4iPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJKb2ludENvbW1lcmNlIj4KICAgIDxtZXRhIG5hbWU9Imdvb2dsZSIgY29udGVudD0ibm90cmFuc2xhdGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iSm9pbnRDb21tZXJjZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyI+CiAgICA8bWV0YSBuYW1lPSJkaXN0cmlidXRpb24iIGNvbnRlbnQ9Ikdsb2JhbCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJSZXBseS10byIgY29udGVudD0iYWRtaW5Aam9pbnRjb21tZXJjZS5jb20iPgogICAgPCEtLSBGYXZpY29uLS0+CiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L2ltZy9mYXZpY29uLmljbyI+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiIgLz4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW4tVVMiIGhyZWY9Imh0dHBzOi8vYXBwLmpvaW50Y29tbWVyY2UuY29tL2FjY291bnRzL3NpZ251cC8/bmV4dD0lMkZkaXNwZW5zYXJpZXMlMkY1NjIlMkYiIC8+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9IngtZGVmYXVsdCIgaHJlZj0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiIgLz4KICAgIAogICAgPCEtLSBXZWJzaXRlLWxldmVsIHNjaGVtYSAtLT4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgICAgewogICAgICAgICJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgICAgICAgIkB0eXBlIjogIldlYlNpdGUiLAogICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cuSm9pbnRDb21tZXJjZS5jb20vIiwKICAgICAgICAibmFtZSI6ICJKb2ludENvbW1lcmNlIC0gRmluZCBZb3VyIExvY2FsIERpc3BlbnNhcnkgQW5kIEJyYW5kIiwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmluZCB0aGUgYmVzdCBsb2NhbCBkaXNwZW5zYXJpZXMgYW5kIGJyYW5kcyBuZWFyIHlvdS4iLAogICAgICAgICJwdWJsaXNoZXIiOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAgICAgICAibmFtZSI6ICJKb2ludENvbW1lcmNlIiwKICAgICAgICAgICAgImxvZ28iOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJJbWFnZU9iamVjdCIsCiAgICAgICAgICAgICJ1cmwiOiAiL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC53ZWJwIgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKICAgIDwhLS0galF1ZXJ5LS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2pxdWVyeS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gQm9vdHN0cmFwIEpTIGJ1bmRsZSAtIEJvb3RzdHJhcCArIFBvcHBlckpTLS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2Jvb3RzdHJhcC9qcy9ib290c3RyYXAuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIE1hZ25pZmljIFBvcHVwIC0gTGlnaHRib3ggZm9yIHRoZSBnYWxsZXJ5LS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL21hZ25pZmljLXBvcHVwL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5taW4uanMiPjwvc2NyaXB0PgogICAgPHN2ZyBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAgIDxzeW1ib2wgaWQ9ImhlYXJ0LTEiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICA8cGF0aCBkPSJNMTIgMjEuMzVsLTEuNDUtMS4zMkM1LjQgMTUuMzYgMiAxMi4yOCAyIDguNSAyIDUuNDIgNC40MiAzIDcuNSAzYzEuNzQgMCAzLjQxIDEuMDEgNC41IDIuMDlDMTMuMDkgNC4wMSAxNC43NiAzIDE2LjUgMyAxOS41OCAzIDIyIDUuNDIgMjIgOC41YzAgMy43OC0zLjQgNi44Ni04LjU1IDExLjU0TDEyIDIxLjM1eiI+PC9wYXRoPgogICAgICAgIDwvc3ltYm9sPgogICAgPC9zdmc+CiAgICAKICAgIDx0aXRsZT5TaWduIFVwIC0gSm9pbnRDb21tZXJjZTwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU2lnbiB1cCB0byBKb2ludENvbW1lcmNlIHRvIHNhdmUgYW5kIHJldmlldyB5b3VyIGZhdm9yaXRlIGNhbm5hYmlzIGJyYW5kcyBhbmQgZGlzcGVuc2FyaWVzLiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ic2lnbiB1cCwgY2FubmFiaXMsIGRpc3BlbnNhcnksIGRpc3BlbnNhcmllcyI+CiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iU2lnbiBVcCAtIEpvaW50Q29tbWVyY2UiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJTaWduIHVwIHRvIEpvaW50Q29tbWVyY2UgdG8gc2F2ZSBhbmQgcmV2aWV3IHlvdXIgZmF2b3JpdGUgY2FubmFiaXMgYnJhbmRzIGFuZCBkaXNwZW5zYXJpZXMuIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC5wbmciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6d2lkdGgiIGNvbnRlbnQ9IjEyMDAiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iNjMwIj4KICAgIDwhLS0gVHdpdHRlciAtLT4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJMb2dpbiAtIEpvaW50Q29tbWVyY2UiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iU2lnbiB1cCB0byBKb2ludENvbW1lcmNlIHRvIHNhdmUgYW5kIHJldmlldyB5b3VyIGZhdm9yaXRlIGNhbm5hYmlzIGJyYW5kcyBhbmQgZGlzcGVuc2FyaWVzLiI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSIvc3RhdGljL2RpcmVjdG9yeS9pbWcvcGhvdG8vaG9tZXBhZ2Uvam9pbnRjb21tZXJjZS1iYWNrZ3JvdW5kLndlYnAiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJASm9pbnRDb21tZXJjZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNyZWF0b3IiIGNvbnRlbnQ9IkBKb2ludENvbW1lcmNlIj4KICAgIAoKICAgIAogICAgICAKICAgIAogICAgCgogICAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuNi4xL21hcGJveC1nbC5jc3MnIHJlbD0nc3R5bGVzaGVldCcgLz4KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvcGx1Z2lucy9tYXBib3gtZ2wtZ2VvY29kZXIvdjQuNy4wL21hcGJveC1nbC1nZW9jb2Rlci5jc3MnIHR5cGU9J3RleHQvY3NzJyAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VucGtnLmNvbS9zd2lwZXIvc3dpcGVyLWJ1bmRsZS5taW4uY3NzIi8+CiAgICA8IS0tIExlYWZsZXQgTWFwcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VucGtnLmNvbS9sZWFmbGV0QDEuNS4xL2Rpc3QvbGVhZmxldC5jc3MiIGludGVncml0eT0ic2hhNTEyLXh3RS9Bejl6cmpCSXBoQWNCYjNGNkpWcXhmNDYrQ0RMd2ZMTUhsb051NktFUUNBV2k2SGNEVWJlT2ZCSXB0Rjd0Y0N6dXNLRmpGdzJ5dXZFcERMOXdRPT0iIGNyb3Nzb3JpZ2luPSIiPgogICAgPCEtLSBQcmljZSBTbGlkZXIgU3R5bGVzaGVldHMgLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9ub3Vpc2xpZGVyL25vdWlzbGlkZXIuY3NzIj4KICAgIDwhLS0gR29vZ2xlIGZvbnRzIC0gUGxheWZhaXIgRGlzcGxheS0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTo0MDAsNDAwaSw3MDAiPgogICAgPCEtLSBHb29nbGUgZm9udHMgLSBQb3BwaW5zLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Qb3BwaW5zOjMwMCw0MDAsNDAwaSw3MDAiPgogICAgPCEtLSBzd2lwZXItLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvU3dpcGVyLzQuNC4xL2Nzcy9zd2lwZXIubWluLmNzcyI+CiAgICA8IS0tIE1hZ25pZ2ljIFBvcHVwLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9tYWduaWZpYy1wb3B1cC9tYWduaWZpYy1wb3B1cC5jc3MiPgogICAgPCEtLSB0aGVtZSBzdHlsZXNoZWV0LS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L2Nzcy9zdHlsZS5ncmVlbi5taW4uY3NzIiBpZD0idGhlbWUtc3R5bGVzaGVldCI+CiAgICA8IS0tIEN1c3RvbSBzdHlsZXNoZWV0IC0gZm9yIHlvdXIgY2hhbmdlcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3RhdGljL2RpcmVjdG9yeS9jc3MvY3VzdG9tLmNzcyI+CiAgICA8IS0tIEN1c3RvbSBzdHlsZXNoZWV0IC0gZm9yIHlvdXIgY2hhbmdlcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3RhdGljL2RpcmVjdG9yeS9jc3Mvc2VhcmNoLmNzcyI+CiAgICA8IS0tIEZhdmljb24tLT4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL2NhcnRvY2hyb21lLWxvZ28taWNvbi10cmFuc3BhcmVudC5wbmciPgogICAgPCEtLSBGb250IEF3ZXNvbWUgQ1NTLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vdXNlLmZvbnRhd2Vzb21lLmNvbS9yZWxlYXNlcy92NS44LjEvY3NzL2FsbC5jc3MiIGludGVncml0eT0ic2hhMzg0LTUwb0JVSEVtdnBRKzFsVzR5NTdQVEZtaENhWHAwTUw1ZDYwTTFNN3VIMitucVVpdnpJZWJobmRPSksyOGFudmYiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2ZzbGlnaHRib3gvaW5kZXguY3NzIj4KCiAgICAKICAgIAoKICA8L2hlYWQ+CiAgPGJvZHk+CiAgICAKICAgIAogICAgCiAgICAKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBweC0zIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWluLXZoLTEwMCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1sZy02IGNvbC14bC01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xMDAgcHktNSBweC1tZC01IHB4LXh4bC02IHBvc2l0aW9uLXJlbGF0aXZlIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLyI+PGltZyBjbGFzcz0iaW1nLWZsdWlkIG1iLTQiIHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL2pvaW50Y29tbWVyY2VfbG9nb19zaG9ydC5wbmciIGFsdD0iLi4uIiBzdHlsZT0ibWF4LXdpZHRoOiA0cmVtOyI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U2lnbiBVcCE8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1tdXRlZCI+U2lnbiB1cCBmb3IgeW91ciBmcmVlIGFjY291bnQgdG8gbWFyayB5b3VyIGZhdm9yaXRlIGxvY2F0aW9ucyBhbmQgc2VuZCByZXZpZXdzIG9mIHlvdXIgZXhwZXJpZW5jZS4gSm9pbiBKb2ludENvbW1lcmNlJ3MgY29tbXVuaXR5ITwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9hY2NvdW50cy9zaWdudXAvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3NyZm1pZGRsZXdhcmV0b2tlbiIgdmFsdWU9IlB3dlRNWmNkdlFqa2tiMmtieERLZzlxZTlzWHpzNGx0cmVZWWRYdUw4R1E1NFVsWmFZWWV3R0cyV3Q2akxUMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgbWItMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAogICAgPGRpdiBpZD0iZGl2X2lkX2VtYWlsIiBjbGFzcz0ibWItMyI+CiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICA8bGFiZWwKICAgICAgICAgICAgICAgIGZvcj0ibG9naW5Vc2VybmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBFbWFpbCBBZGRyZXNzPHNwYW4gY2xhc3M9ImFzdGVyaXNrRmllbGQiPio8L3NwYW4+CiAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgCgogICAgICAgIAoKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBuYW1lPSJlbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCBlbWFpbGlucHV0IiBwbGFjZWhvbGRlcj0ibmFtZUBhZGRyZXNzLmNvbSIgaWQ9ImxvZ2luVXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZCBkYXRhLW1zZz0iUGxlYXNlIGVudGVyIHlvdXIgZW1haWwiIG1heGxlbmd0aD0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAoKCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgPC9kaXY+CiAgICAKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBtYi0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCgogICAgCiAgICA8ZGl2IGlkPSJkaXZfaWRfdXNlcm5hbWUiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJ1c2VybmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBVc2VybmFtZTxzcGFuIGNsYXNzPSJhc3Rlcmlza0ZpZWxkIj4qPC9zcGFuPgogICAgICAgICAgICA8L2xhYmVsPgogICAgICAgIAoKICAgICAgICAKCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCB0ZXh0aW5wdXQiIHBsYWNlaG9sZGVyPSJVc2VybmFtZSIgaWQ9InVzZXJuYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIiBhdXRvZm9jdXM+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKCgoKCiAgICAKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9maXJzdF9uYW1lIiBjbGFzcz0ibWItMyI+CiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICA8bGFiZWwKICAgICAgICAgICAgICAgIGZvcj0iZmlyc3ROYW1lIiBjbGFzcz0iZm9ybS1sYWJlbCByZXF1aXJlZEZpZWxkIj4KICAgICAgICAgICAgICAgIEZpcnN0IE5hbWU8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RfbmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCB0ZXh0aW5wdXQiIHBsYWNlaG9sZGVyPSJGaXJzdCBOYW1lIiBpZD0iZmlyc3ROYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIGZpcnN0IG5hbWUiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKCgogICAgCgoKCgogICAgCgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICA8L2Rpdj4KICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9sYXN0X25hbWUiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJsYXN0TmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBMYXN0IE5hbWU8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibGFzdF9uYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIHRleHRpbnB1dCIgcGxhY2Vob2xkZXI9Ikxhc3QgTmFtZSIgaWQ9Imxhc3ROYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIGxhc3QgbmFtZSI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKCgoKCiAgICAKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9wYXNzd29yZDEiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJpZF9wYXNzd29yZDEiIGNsYXNzPSJmb3JtLWxhYmVsIHJlcXVpcmVkRmllbGQiPgogICAgICAgICAgICAgICAgUGFzc3dvcmQ8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkMSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIGNsYXNzPSJwYXNzd29yZGlucHV0IGZvcm0tY29udHJvbCIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iaWRfcGFzc3dvcmQxX2hlbHB0ZXh0IiBpZD0iaWRfcGFzc3dvcmQxIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAogICAgCiAgICAgICAgPGRpdiBpZD0iaWRfcGFzc3dvcmQxX2hlbHB0ZXh0IiBjbGFzcz0iZm9ybS10ZXh0Ij48dWw+PGxpPllvdXIgcGFzc3dvcmQgY2Fu4oCZdCBiZSB0b28gc2ltaWxhciB0byB5b3VyIG90aGVyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+PGxpPllvdXIgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0IGxlYXN0IDggY2hhcmFjdGVycy48L2xpPjxsaT5Zb3VyIHBhc3N3b3JkIGNhbuKAmXQgYmUgYSBjb21tb25seSB1c2VkIHBhc3N3b3JkLjwvbGk+PGxpPllvdXIgcGFzc3dvcmQgY2Fu4oCZdCBiZSBlbnRpcmVseSBudW1lcmljLjwvbGk+PC91bD48L2Rpdj4KICAgIAoKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgbWItMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAogICAgPGRpdiBpZD0iZGl2X2lkX3Bhc3N3b3JkMiIgY2xhc3M9Im1iLTMiPgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGxhYmVsCiAgICAgICAgICAgICAgICBmb3I9ImlkX3Bhc3N3b3JkMiIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBQYXNzd29yZCBjb25maXJtYXRpb248c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkMiIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIGNsYXNzPSJwYXNzd29yZGlucHV0IGZvcm0tY29udHJvbCIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iaWRfcGFzc3dvcmQyX2hlbHB0ZXh0IiBpZD0iaWRfcGFzc3dvcmQyIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAogICAgCiAgICAgICAgPGRpdiBpZD0iaWRfcGFzc3dvcmQyX2hlbHB0ZXh0IiBjbGFzcz0iZm9ybS10ZXh0Ij5FbnRlciB0aGUgc2FtZSBwYXNzd29yZCBhcyBiZWZvcmUsIGZvciB2ZXJpZmljYXRpb24uPC9kaXY+CiAgICAKCgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICA8L2Rpdj4KICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZ3JpZCBnYXAtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+U2lnbiBVcDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJteS0zIGhyLXRleHQgbGV0dGVyLXNwYWNpbmctMiIgZGF0YS1jb250ZW50PSJPUiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1ncmlkIGdhcC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2FjY291bnRzL2dvb2dsZS9sb2dpbi8/bmV4dD0lMkZkaXNwZW5zYXJpZXMlMkY1NjIlMkYiIGNsYXNzPSJidG4gYnRuLWdvb2dsZSBidG4tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYS0yeCBmYS1nb29nbGUgZmFiIGJ0bi1zb2NpYWwtaWNvbiI+PC9pPkNvbm5lY3QgPHNwYW4gY2xhc3M9ImQtbm9uZSBkLXNtLWlubGluZSI+d2l0aCBHb29nbGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9Im15LTQiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtbXV0ZWQiPkJ5IHNpZ25pbmcgdXAgeW91IGFncmVlIHRvIEpvaW50Q29tbWVyY2UncyA8YSBocmVmPSIvdGVybXMvIiB0YXJnZXQ9Il9ibGFuayI+VGVybXMgb2YgVXNlPC9hPiBhbmQgPGEgaHJlZj0iL3ByaXZhY3ktcG9saWN5LyIgdGFyZ2V0PSJfYmxhbmsiPlByaXZhY3kgUG9saWN5PC9hPi48L3A+CiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJteS00Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPjxzbWFsbCBjbGFzcz0idGV4dC1tdXRlZCB0ZXh0LWNlbnRlciI+SGF2ZSBhbiBhY2NvdW50IGFscmVhZHk/IDxhIGhyZWY9Ii9hY2NvdW50cy9sb2dpbi8iPlNpZ24gSW48L2E+PC9zbWFsbD48L3A+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNsb3NlLWFic29sdXRlIG1lLW1kLTUgbWUteGwtNiBwdC01IiBocmVmPSIvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3ZnLWljb24gdy0zcmVtIGgtM3JlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjbG9zZS0xIj4gPC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTYgY29sLXhsLTcgZC1ub25lIGQtbWQtYmxvY2siPgogICAgICAgICAgICAgICAgPCEtLSBJbWFnZS0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctY292ZXIgaC0xMDAgbWUtbjMiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC5wbmcpOyI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKCgogICAgCiAgICAKCiAgICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuNi4xL21hcGJveC1nbC5qcyc+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuNi4wLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvcGx1Z2lucy9tYXBib3gtZ2wtZ2VvY29kZXIvdjQuNy4wL21hcGJveC1nbC1nZW9jb2Rlci5taW4uanMnPjwvc2NyaXB0PgoKICAgIDwhLS0gSmF2YVNjcmlwdCBmaWxlcy0tPgogICAgPHNjcmlwdD4KICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCiAgICAgICAgLy8gICBJbmplY3QgU1ZHIFNwcml0ZSAtIAogICAgICAgIC8vICAgc2VlIG1vcmUgaGVyZSAKICAgICAgICAvLyAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWpheGluZy1zdmctc3ByaXRlLwogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwogICAgICAgIGZ1bmN0aW9uIGluamVjdFN2Z1Nwcml0ZShwYXRoKSB7CiAgICAgICAgICBmZXRjaChwYXRoKQogICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgewogICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAudGhlbihkYXRhID0+IHsKICAgICAgICAgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICAgICAgICBkaXYuY2xhc3NOYW1lID0gJ2Qtbm9uZSc7CiAgICAgICAgICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBkYXRhOwogICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShkaXYsIGRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSk7CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAuY2F0Y2goZSA9PiB7CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHRoZSBTVkcgc3ByaXRlOicsIGUpOwogICAgICAgICAgICAgIH0pOwogICAgICB9CiAgICAgIAogICAgICBpbmplY3RTdmdTcHJpdGUoIi9zdGF0aWMvZGlyZWN0b3J5L2ljb25zL29yaW9uLXN2Zy1zcHJpdGUuc3ZnIik7CiAgICAgICAgCiAgICAgIDwvc2NyaXB0PgogICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jaGFydC5qcyIgPjwvc2NyaXB0PgogICAgICA8IS0tIFNtb290aCBzY3JvbGwtLT4KICAgICAgPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9zbW9vdGgtc2Nyb2xsL3Ntb290aC1zY3JvbGwucG9seWZpbGxzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgIDwhLS0gQm9vdHN0cmFwIFNlbGVjdC0tPgogICAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2Jvb3RzdHJhcC1zZWxlY3QvanMvYm9vdHN0cmFwLXNlbGVjdC5taW4uanMiPjwvc2NyaXB0PgogICAgICA8IS0tIE9iamVjdCBGaXQgSW1hZ2VzIC0gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBvYmplY3QtZml0LS0+CiAgICAgIDxzY3JpcHQgc3JjPSIvc3RhdGljL2RpcmVjdG9yeS92ZW5kb3Ivb2JqZWN0LWZpdC1pbWFnZXMvb2ZpLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgIDwhLS0gU3dpcGVyIENhcm91c2VsIC0tPgogICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvU3dpcGVyLzQuNC4xL2pzL3N3aXBlci5taW4uanMiID48L3NjcmlwdD4KICAgICAgPCEtLSBJbmNsdWRlIFN3aXBlciBKUyAtLT4KICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL3N3aXBlci9zd2lwZXItYnVuZGxlLm1pbi5qcyIgPjwvc2NyaXB0PgogICAgICA8c2NyaXB0PnZhciBiYXNlUGF0aCA9ICcnPC9zY3JpcHQ+CiAgICAgIDwhLS0gTWFpbiBUaGVtZSBKUyBmaWxlICAgIC0tPgogICAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvanMvdGhlbWUuanMiPjwvc2NyaXB0PgoKICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIHZhciBtYXJrZXJQYXRoID0gIi9zdGF0aWMvZGlyZWN0b3J5L2ltZy9tYXJrZXIuc3ZnIjsKICAgICAgICB2YXIgbWFya2VyUGF0aEhpZ2hsaWdodCA9ICIvc3RhdGljL2RpcmVjdG9yeS9pbWcvbWFya2VyLWhvdmVyLnN2ZyI7CiAgICAgIDwvc2NyaXB0PgogICAgPC9zY3JpcHQ+CgogICAgCiAgICAKICAgIAoKPHNjcmlwdD4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbWFwYm94Z2wuYWNjZXNzVG9rZW4gPSAncGsuZXlKMUlqb2ljM1JsY0dobGJtcHZhVzUwWTI5dGJXVnlZMlVpTENKaElqb2lZMnhsWlhaa2VqQTNNRFUwYWpOMGNHMTJjVGR5YldsMmVDSjkudEhmYmlndk8zSFJoQUotVnlWSDktQSc7CgogICAgICAgIGZ1bmN0aW9uIHNldHVwU2VhcmNoRm9ybUludGVyYWN0aW9uKGZvcm1JZCwgbG9jYXRpb25JZCwgaGlkZGVuTGF0SWQsIGhpZGRlbkxuZ0lkLCBzdWdnZXN0aW9uc0lkKSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gLTE7CgogICAgICAgICAgICAkKGxvY2F0aW9uSWQpLm9uKCdpbnB1dCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHF1ZXJ5ID0gJCh0aGlzKS52YWwoKTsKICAgICAgICAgICAgICAgIHNlbGVjdGVkSW5kZXggPSAtMTsKICAgICAgICAgICAgICAgIGlmKHF1ZXJ5Lmxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGBodHRwczovL2FwaS5tYXBib3guY29tL2dlb2NvZGluZy92NS9tYXBib3gucGxhY2VzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KX0uanNvbmAsCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW46IG1hcGJveGdsLmFjY2Vzc1Rva2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRyeTogJ1VTJywKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0lkKS5lbXB0eSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5mZWF0dXJlcy5mb3JFYWNoKGZ1bmN0aW9uKGZlYXR1cmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSAkKGA8bGkgY2xhc3M9Imxpc3QtZ3JvdXAtaXRlbSIgZGF0YS1sYXQ9IiR7ZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXX0iIGRhdGEtbG5nPSIke2ZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF19Ij4ke2ZlYXR1cmUucGxhY2VfbmFtZX08L2xpPmApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuYXBwZW5kKGxpc3RJdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJBUEkgRXJyb3I6IiwgZXJyb3IpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKGxvY2F0aW9uSWQpLm9uKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHN1Z2dlc3Rpb25zID0gJChzdWdnZXN0aW9uc0lkICsgJyBsaScpOwogICAgICAgICAgICAgICAgaWYoZS5rZXlDb2RlID09PSA0MCkgeyAvLyBEb3duIGFycm93CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4ICsgMSkgJSBzdWdnZXN0aW9ucy5sZW5ndGg7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoZS5rZXlDb2RlID09PSAzOCkgeyAvLyBVcCBhcnJvdwogICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSW5kZXggPSAoc2VsZWN0ZWRJbmRleCAtIDEgKyBzdWdnZXN0aW9ucy5sZW5ndGgpICUgc3VnZ2VzdGlvbnMubGVuZ3RoOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmKGUua2V5Q29kZSA9PT0gMTMpIHsgLy8gRW50ZXIga2V5CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIGlmKHNlbGVjdGVkSW5kZXggPiAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRTdWdnZXN0aW9uID0gc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKHNlbGVjdGVkU3VnZ2VzdGlvbi50ZXh0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxhdElkKS52YWwoc2VsZWN0ZWRTdWdnZXN0aW9uLmRhdGEoJ2xhdCcpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChoaWRkZW5MbmdJZCkudmFsKHNlbGVjdGVkU3VnZ2VzdGlvbi5kYXRhKCdsbmcnKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7CiAgICAgICAgICAgICAgICBzdWdnZXN0aW9ucy5lcShzZWxlY3RlZEluZGV4KS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKHN1Z2dlc3Rpb25zSWQpLm9uKCdjbGljaycsICdsaScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgJChsb2NhdGlvbklkKS52YWwoJCh0aGlzKS50ZXh0KCkpOwogICAgICAgICAgICAgICAgJChoaWRkZW5MYXRJZCkudmFsKCQodGhpcykuZGF0YSgnbGF0JykpOwogICAgICAgICAgICAgICAgJChoaWRkZW5MbmdJZCkudmFsKCQodGhpcykuZGF0YSgnbG5nJykpOwogICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0lkKS5lbXB0eSgpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoZm9ybUlkKS5zdWJtaXQoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYoJChoaWRkZW5MYXRJZCkudmFsKCkgJiYgJChoaWRkZW5MbmdJZCkudmFsKCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybURhdGEgPSAkKHRoaXMpLnNlcmlhbGl6ZSgpOwogICAgICAgICAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICcvc2VhcmNoX3Jlc3VsdHMvJywgLy8gVXBkYXRlIHdpdGggdGhlIGFjdHVhbCBwYXRoIHRvIHlvdXIgdmlldwogICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3NlYXJjaFJlc3VsdHNDb250YWluZXInKS5odG1sKGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJFcnJvcjoiLCBlcnJvcik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYWxlcnQoJ1BsZWFzZSBzZWxlY3QgYSBsb2NhdGlvbiBmcm9tIHRoZSBzdWdnZXN0aW9ucy4nKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZmlsbFdpdGhDdXJyZW50TG9jYXRpb24obG9jYXRpb25JZCwgaGlkZGVuTGF0SWQsIGhpZGRlbkxuZ0lkKSB7CiAgICAgICAgICAgIGlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKICAgICAgICAgICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbGF0ID0gcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlOwogICAgICAgICAgICAgICAgICAgIHZhciBsbmcgPSBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlOwogICAgICAgICAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vZ2VvY29kaW5nL3Y1L21hcGJveC5wbGFjZXMvJHtsbmd9LCR7bGF0fS5qc29uYCwKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogbWFwYm94Z2wuYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5OiAnVVMnLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5mZWF0dXJlcyAmJiBkYXRhLmZlYXR1cmVzWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChsb2NhdGlvbklkKS52YWwoZGF0YS5mZWF0dXJlc1swXS5wbGFjZV9uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxhdElkKS52YWwobGF0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxuZ0lkKS52YWwobG5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiQVBJIEVycm9yOiIsIGVycm9yKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhbGVydCgiR2VvbG9jYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZChsb2NhdGlvbklkLCBoaWRkZW5MYXRJZCwgaGlkZGVuTG5nSWQsIGRlZmF1bHRMb2NhdGlvbiwgZGVmYXVsdExhdCwgZGVmYXVsdExuZywgdXNlQ3VycmVudExvY2F0aW9uID0gdHJ1ZSkgewogICAgICAgICAgICB2YXIgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTsKICAgICAgICAgICAgdmFyIGxvY2F0aW9uID0gc2VhcmNoUGFyYW1zLmdldCgnbG9jYXRpb24nKTsKICAgICAgICAgICAgdmFyIGxhdGl0dWRlID0gc2VhcmNoUGFyYW1zLmdldCgnbGF0aXR1ZGUnKTsKICAgICAgICAgICAgdmFyIGxvbmdpdHVkZSA9IHNlYXJjaFBhcmFtcy5nZXQoJ2xvbmdpdHVkZScpOwoKICAgICAgICAgICAgaWYgKCFsb2NhdGlvbiB8fCAhbGF0aXR1ZGUgfHwgIWxvbmdpdHVkZSkgewogICAgICAgICAgICAgICAgaWYgKHVzZUN1cnJlbnRMb2NhdGlvbikgewogICAgICAgICAgICAgICAgICAgIGZpbGxXaXRoQ3VycmVudExvY2F0aW9uKGxvY2F0aW9uSWQsIGhpZGRlbkxhdElkLCBoaWRkZW5MbmdJZCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKGRlZmF1bHRMb2NhdGlvbik7CiAgICAgICAgICAgICAgICAgICAgJChoaWRkZW5MYXRJZCkudmFsKGRlZmF1bHRMYXQpOwogICAgICAgICAgICAgICAgICAgICQoaGlkZGVuTG5nSWQpLnZhbChkZWZhdWx0TG5nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKGxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICQoaGlkZGVuTGF0SWQpLnZhbChsYXRpdHVkZSk7CiAgICAgICAgICAgICAgICAkKGhpZGRlbkxuZ0lkKS52YWwobG9uZ2l0dWRlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBjdXJyZW50IHBhZ2UgaXMgdGhlIHNlYXJjaCByZXN1bHRzIHBhZ2UKICAgICAgICB2YXIgaXNTZWFyY2hSZXN1bHRzUGFnZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmNsdWRlcygnc2VhcmNoX3Jlc3VsdHMnKTsKCiAgICAgICAgLy8gU2V0dXAgaW50ZXJhY3Rpb24gZm9yIGVhY2ggZm9ybQogICAgICAgIHNldHVwU2VhcmNoRm9ybUludGVyYWN0aW9uKCcjc2VhcmNoRm9ybTEnLCAnI2xvY2F0aW9uMScsICcjaGlkZGVuTGF0MScsICcjaGlkZGVuTG5nMScsICcjc3VnZ2VzdGlvbnMxJyk7CiAgICAgICAgc2V0dXBTZWFyY2hGb3JtSW50ZXJhY3Rpb24oJyNzZWFyY2hGb3JtMicsICcjbG9jYXRpb24yJywgJyNoaWRkZW5MYXQyJywgJyNoaWRkZW5MbmcyJywgJyNzdWdnZXN0aW9uczInKTsKCiAgICAgICAgJCgnLmZhLWNyb3NzaGFpcnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZmlsbFdpdGhDdXJyZW50TG9jYXRpb24oJyNsb2NhdGlvbjEnLCAnI2hpZGRlbkxhdDEnLCAnI2hpZGRlbkxuZzEnKTsKICAgICAgICAgICAgZmlsbFdpdGhDdXJyZW50TG9jYXRpb24oJyNsb2NhdGlvbjInLCAnI2hpZGRlbkxhdDInLCAnI2hpZGRlbkxuZzInKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gUHJlZmlsbCBzZWFyY2ggYm94IG9uIHBhZ2UgbG9hZAogICAgICAgIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZCgnI2xvY2F0aW9uMScsICcjaGlkZGVuTGF0MScsICcjaGlkZGVuTG5nMScsICdMb3MgQW5nZWxlcywgQ2FsaWZvcm5pYSwgVW5pdGVkIFN0YXRlcycsIDM0LjA1NDA3NywgLTExOC4yNDE2OCwgIWlzU2VhcmNoUmVzdWx0c1BhZ2UpOwogICAgICAgIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZCgnI2xvY2F0aW9uMicsICcjaGlkZGVuTGF0MicsICcjaGlkZGVuTG5nMicsICdMb3MgQW5nZWxlcywgQ2FsaWZvcm5pYSwgVW5pdGVkIFN0YXRlcycsIDM0LjA1NDA3NywgLTExOC4yNDE2OCwgIWlzU2VhcmNoUmVzdWx0c1BhZ2UpOwogICAgfSk7CiAgICAKPC9zY3JpcHQ+CiAgICAKPHNjcmlwdD4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgZnVuY3Rpb24gc2V0dXBCcmFuZFNlYXJjaEF1dG9jb21wbGV0ZShpbnB1dElkLCBzdWdnZXN0aW9uc0NvbnRhaW5lcklkKSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gLTE7IC8vIEluZGV4IHRvIHRyYWNrIHRoZSBjdXJyZW50IHNlbGVjdGlvbgogICAgCiAgICAgICAgICAgICQoaW5wdXRJZCkub24oJ2lucHV0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgcXVlcnkgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IC0xOyAvLyBSZXNldCB0aGUgc2VsZWN0aW9uIGluZGV4IG9uIG5ldyBpbnB1dAogICAgICAgICAgICAgICAgY29uc29sZS5sb2coIktleXByZXNzIGRldGVjdGVkLCBjdXJyZW50IGlucHV0OiIsIHF1ZXJ5KTsgLy8gRm9yIGRlYnVnZ2luZwogICAgCiAgICAgICAgICAgICAgICBpZihxdWVyeS5sZW5ndGggPiAyKSB7CiAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnL3NlYXJjaF9icmFuZHMvJywKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyB0ZXJtOiBxdWVyeSB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHN1Z2dlc3Rpb25zQ29udGFpbmVySWQpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhICYmIGRhdGEubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3RJdGVtID0gJChgPGxpIHRhYmluZGV4PSIwIiBjbGFzcz0ibGlzdC1ncm91cC1pdGVtIiBkYXRhLXZhbHVlPSIke2l0ZW0udmFsdWV9Ij4ke2l0ZW0ubGFiZWx9PC9saT5gKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coaXRlbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNDb250YWluZXJJZCkuYXBwZW5kKGxpc3RJdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiQVBJIEVycm9yOiIsIGVycm9yKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkKHN1Z2dlc3Rpb25zQ29udGFpbmVySWQpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLm9uKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHN1Z2dlc3Rpb25zID0gJChzdWdnZXN0aW9uc0NvbnRhaW5lcklkICsgJyBsaScpOwogICAgICAgICAgICAgICAgdmFyIG51bVN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnMubGVuZ3RoOwogICAgCiAgICAgICAgICAgICAgICBpZihlLmtleUNvZGUgPT09IDQwKSB7IC8vIERvd24gYXJyb3cga2V5CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4ICsgMSkgJSBudW1TdWdnZXN0aW9uczsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgdGhlIGN1cnNvciBmcm9tIG1vdmluZwogICAgICAgICAgICAgICAgfSBlbHNlIGlmKGUua2V5Q29kZSA9PT0gMzgpIHsgLy8gVXAgYXJyb3cga2V5CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4IC0gMSArIG51bVN1Z2dlc3Rpb25zKSAlIG51bVN1Z2dlc3Rpb25zOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCB0aGUgY3Vyc29yIGZyb20gbW92aW5nCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoZS5rZXlDb2RlID09PSAxMyAmJiBzZWxlY3RlZEluZGV4ID49IDApIHsgLy8gRW50ZXIga2V5CiAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCkuY2xpY2soKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZm9ybSBzdWJtaXNzaW9uCiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIHN1Z2dlc3Rpb25zLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpOwogICAgICAgICAgICAgICAgaWYoc2VsZWN0ZWRJbmRleCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCkuYWRkQ2xhc3MoJ3NlbGVjdGVkJykuZm9jdXMoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgc3VnZ2VzdGlvbnNDb250YWluZXJJZCArICcgbGknLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9ICQodGhpcykudGV4dCgpOwogICAgICAgICAgICAgICAgJChpbnB1dElkKS52YWwodmFsdWUpOwogICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0NvbnRhaW5lcklkKS5lbXB0eSgpOwogICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IC0xOyAvLyBSZXNldCB0aGUgc2VsZWN0aW9uIGluZGV4CiAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICQoaW5wdXRJZCkub24oJ2JsdXInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIERlbGF5IGNsZWFyaW5nIHRoZSBzdWdnZXN0aW9ucyB0byBhbGxvdyBjbGljayBldmVudCB0byBmaXJlCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNDb250YWluZXJJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIAogICAgICAgIHNldHVwQnJhbmRTZWFyY2hBdXRvY29tcGxldGUoJyNicmFuZF9zZWFyY2gnLCAnI3N1Z2dlc3Rpb25zMycpOwogICAgfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgJCgnLmNhcmQtZmF2LWljb24nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGhlYXJ0SWNvbiA9ICQodGhpcykuZmluZCgnLmhlYXJ0LWljb24nKTsKICAgICAgdmFyIGl0ZW1JZCA9ICQodGhpcykuZGF0YSgnaWQnKTsKICAgICAgdmFyIGJvb2ttYXJrVHlwZSA9ICQodGhpcykuZGF0YSgndHlwZScpOwogICAgICB2YXIgaXNCb29rbWFya2VkID0gJCh0aGlzKS5kYXRhKCdib29rbWFya2VkJykgPT09ICJUcnVlIjsKCiAgICAgICQuYWpheCh7CiAgICAgICAgdXJsOiAnL3RvZ2dsZV9ib29rbWFyay8nLAogICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICdjc3JmbWlkZGxld2FyZXRva2VuJzogJ1B3dlRNWmNkdlFqa2tiMmtieERLZzlxZTlzWHpzNGx0cmVZWWRYdUw4R1E1NFVsWmFZWWV3R0cyV3Q2akxUMTMnLAogICAgICAgICAgJ2l0ZW1faWQnOiBpdGVtSWQsCiAgICAgICAgICAndHlwZSc6IGJvb2ttYXJrVHlwZQogICAgICAgIH0sCiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgIGlmIChyZXNwb25zZS5pc19ib29rbWFya2VkKSB7CiAgICAgICAgICAgIGhlYXJ0SWNvbi5hZGRDbGFzcygnYm9va21hcmtlZCcpOwogICAgICAgICAgICBoZWFydEljb24ucGFyZW50KCkuZGF0YSgnYm9va21hcmtlZCcsICJUcnVlIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoZWFydEljb24ucmVtb3ZlQ2xhc3MoJ2Jvb2ttYXJrZWQnKTsKICAgICAgICAgICAgaGVhcnRJY29uLnBhcmVudCgpLmRhdGEoJ2Jvb2ttYXJrZWQnLCAiRmFsc2UiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSk7CiAgfSk7Cjwvc2NyaXB0PiAgICAgICAgCiAgICAKICAgIAoKICAgIAogICAgCjxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMy42LjAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2xlYWZsZXRAMS41LjEvZGlzdC9sZWFmbGV0LmpzIiBpbnRlZ3JpdHk9InNoYTUxMi1HZmZQTUYzUnZNZVl5YzFMV01IdEs4RWJQdjBpTlo4L29UdEhQeDkvY2MySUx4USt1OTA1cUl3ZHBVTGFxRGt5QktnT2FCNTdRVE1nN3p0ZzhKbTJPZz09IiBjcm9zc29yaWdpbj0iIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9vYmplY3QtZml0LWltYWdlcy9vZmkubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL1N3aXBlci80LjQuMS9qcy9zd2lwZXIubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L2pzL21hcC1sYXllcnMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvanMvbWFwLWNhdGVnb3J5LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L2pzL21hcC1kZXRhaWwuanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoZXZlbnQpID0+IHsKICAgICAgICAgIGNvbnN0IGFsZXJ0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hbGVydCcpOwogICAgICAgICAgCiAgICAgICAgICBhbGVydHMuZm9yRWFjaCgoYWxlcnQpID0+IHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgYWxlcnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOyAvLyBUcmlnZ2VycyBmYWRlLW91dCB0cmFuc2l0aW9uCiAgICAgICAgICAgICAgICAgIGFsZXJ0LmNsYXNzTGlzdC5hZGQoJ2ZhZGUnKTsKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbiB0byBmaW5pc2ggYmVmb3JlIHJlbW92aW5nIHRoZSBlbGVtZW50CiAgICAgICAgICAgICAgICAgIGFsZXJ0LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICBhbGVydC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgICB9KTsKICAgICAgfSk7CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4=', '', '{"Content-Type": "text/html; charset=utf-8"}')
INSERT INTO "silk_response" ("id", "request_id", "status_code", "raw_body", "body", "encoded_headers") VALUES ('89279ecf-b03d-4cca-9264-8ec4621da0c7', 'da89b381-d607-4496-a7b0-695bf743adec', 200, 'CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CiAgPGhlYWQ+CiAgICAKICAgIAogICAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIj4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+CiAgICA8bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9ImFsbCxmb2xsb3ciPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0iZW4iPgogICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJKb2ludENvbW1lcmNlIj4KICAgIDxtZXRhIG5hbWU9Imdvb2dsZSIgY29udGVudD0ibm90cmFuc2xhdGUiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnNpdGVfbmFtZSIgY29udGVudD0iSm9pbnRDb21tZXJjZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6bG9jYWxlIiBjb250ZW50PSJlbl9VUyI+CiAgICA8bWV0YSBuYW1lPSJkaXN0cmlidXRpb24iIGNvbnRlbnQ9Ikdsb2JhbCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJSZXBseS10byIgY29udGVudD0iYWRtaW5Aam9pbnRjb21tZXJjZS5jb20iPgogICAgPCEtLSBGYXZpY29uLS0+CiAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L2ltZy9mYXZpY29uLmljbyI+CiAgICA8bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiIgLz4KICAgIDxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmbGFuZz0iZW4tVVMiIGhyZWY9Imh0dHBzOi8vYXBwLmpvaW50Y29tbWVyY2UuY29tL2FjY291bnRzL3NpZ251cC8/bmV4dD0lMkZkaXNwZW5zYXJpZXMlMkY1NjIlMkYiIC8+CiAgICA8bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZmxhbmc9IngtZGVmYXVsdCIgaHJlZj0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiIgLz4KICAgIAogICAgPCEtLSBXZWJzaXRlLWxldmVsIHNjaGVtYSAtLT4KICAgIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgICAgICAgewogICAgICAgICJAY29udGV4dCI6ICJodHRwOi8vc2NoZW1hLm9yZyIsCiAgICAgICAgIkB0eXBlIjogIldlYlNpdGUiLAogICAgICAgICJ1cmwiOiAiaHR0cHM6Ly93d3cuSm9pbnRDb21tZXJjZS5jb20vIiwKICAgICAgICAibmFtZSI6ICJKb2ludENvbW1lcmNlIC0gRmluZCBZb3VyIExvY2FsIERpc3BlbnNhcnkgQW5kIEJyYW5kIiwKICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmluZCB0aGUgYmVzdCBsb2NhbCBkaXNwZW5zYXJpZXMgYW5kIGJyYW5kcyBuZWFyIHlvdS4iLAogICAgICAgICJwdWJsaXNoZXIiOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJPcmdhbml6YXRpb24iLAogICAgICAgICAgICAibmFtZSI6ICJKb2ludENvbW1lcmNlIiwKICAgICAgICAgICAgImxvZ28iOiB7CiAgICAgICAgICAgICJAdHlwZSI6ICJJbWFnZU9iamVjdCIsCiAgICAgICAgICAgICJ1cmwiOiAiL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC53ZWJwIgogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIH0KICAgIDwvc2NyaXB0PgoKICAgIDwhLS0galF1ZXJ5LS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2pxdWVyeS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDwhLS0gQm9vdHN0cmFwIEpTIGJ1bmRsZSAtIEJvb3RzdHJhcCArIFBvcHBlckpTLS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2Jvb3RzdHJhcC9qcy9ib290c3RyYXAuYnVuZGxlLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8IS0tIE1hZ25pZmljIFBvcHVwIC0gTGlnaHRib3ggZm9yIHRoZSBnYWxsZXJ5LS0+CiAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL21hZ25pZmljLXBvcHVwL2pxdWVyeS5tYWduaWZpYy1wb3B1cC5taW4uanMiPjwvc2NyaXB0PgogICAgPHN2ZyBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAgIDxzeW1ib2wgaWQ9ImhlYXJ0LTEiIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgICAgICAgICA8cGF0aCBkPSJNMTIgMjEuMzVsLTEuNDUtMS4zMkM1LjQgMTUuMzYgMiAxMi4yOCAyIDguNSAyIDUuNDIgNC40MiAzIDcuNSAzYzEuNzQgMCAzLjQxIDEuMDEgNC41IDIuMDlDMTMuMDkgNC4wMSAxNC43NiAzIDE2LjUgMyAxOS41OCAzIDIyIDUuNDIgMjIgOC41YzAgMy43OC0zLjQgNi44Ni04LjU1IDExLjU0TDEyIDIxLjM1eiI+PC9wYXRoPgogICAgICAgIDwvc3ltYm9sPgogICAgPC9zdmc+CiAgICAKICAgIDx0aXRsZT5TaWduIFVwIC0gSm9pbnRDb21tZXJjZTwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iU2lnbiB1cCB0byBKb2ludENvbW1lcmNlIHRvIHNhdmUgYW5kIHJldmlldyB5b3VyIGZhdm9yaXRlIGNhbm5hYmlzIGJyYW5kcyBhbmQgZGlzcGVuc2FyaWVzLiI+CiAgICA8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0ic2lnbiB1cCwgY2FubmFiaXMsIGRpc3BlbnNhcnksIGRpc3BlbnNhcmllcyI+CiAgICA8IS0tIE9wZW4gR3JhcGggLyBGYWNlYm9vayAtLT4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iU2lnbiBVcCAtIEpvaW50Q29tbWVyY2UiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJTaWduIHVwIHRvIEpvaW50Q29tbWVyY2UgdG8gc2F2ZSBhbmQgcmV2aWV3IHlvdXIgZmF2b3JpdGUgY2FubmFiaXMgYnJhbmRzIGFuZCBkaXNwZW5zYXJpZXMuIj4KICAgIDxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC5wbmciPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOnVybCIgY29udGVudD0iaHR0cHM6Ly9hcHAuam9pbnRjb21tZXJjZS5jb20vYWNjb3VudHMvc2lnbnVwLz9uZXh0PSUyRmRpc3BlbnNhcmllcyUyRjU2MiUyRiI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dHlwZSIgY29udGVudD0id2Vic2l0ZSI+CiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6d2lkdGgiIGNvbnRlbnQ9IjEyMDAiPgogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlOmhlaWdodCIgY29udGVudD0iNjMwIj4KICAgIDwhLS0gVHdpdHRlciAtLT4KICAgIDxtZXRhIG5hbWU9InR3aXR0ZXI6Y2FyZCIgY29udGVudD0ic3VtbWFyeV9sYXJnZV9pbWFnZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJMb2dpbiAtIEpvaW50Q29tbWVyY2UiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpkZXNjcmlwdGlvbiIgY29udGVudD0iU2lnbiB1cCB0byBKb2ludENvbW1lcmNlIHRvIHNhdmUgYW5kIHJldmlldyB5b3VyIGZhdm9yaXRlIGNhbm5hYmlzIGJyYW5kcyBhbmQgZGlzcGVuc2FyaWVzLiI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmltYWdlIiBjb250ZW50PSIvc3RhdGljL2RpcmVjdG9yeS9pbWcvcGhvdG8vaG9tZXBhZ2Uvam9pbnRjb21tZXJjZS1iYWNrZ3JvdW5kLndlYnAiPgogICAgPG1ldGEgbmFtZT0idHdpdHRlcjpzaXRlIiBjb250ZW50PSJASm9pbnRDb21tZXJjZSI+CiAgICA8bWV0YSBuYW1lPSJ0d2l0dGVyOmNyZWF0b3IiIGNvbnRlbnQ9IkBKb2ludENvbW1lcmNlIj4KICAgIAoKICAgIAogICAgICAKICAgIAogICAgCgogICAgPGxpbmsgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuNi4xL21hcGJveC1nbC5jc3MnIHJlbD0nc3R5bGVzaGVldCcgLz4KICAgIDxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaHJlZj0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvcGx1Z2lucy9tYXBib3gtZ2wtZ2VvY29kZXIvdjQuNy4wL21hcGJveC1nbC1nZW9jb2Rlci5jc3MnIHR5cGU9J3RleHQvY3NzJyAvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VucGtnLmNvbS9zd2lwZXIvc3dpcGVyLWJ1bmRsZS5taW4uY3NzIi8+CiAgICA8IS0tIExlYWZsZXQgTWFwcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VucGtnLmNvbS9sZWFmbGV0QDEuNS4xL2Rpc3QvbGVhZmxldC5jc3MiIGludGVncml0eT0ic2hhNTEyLXh3RS9Bejl6cmpCSXBoQWNCYjNGNkpWcXhmNDYrQ0RMd2ZMTUhsb051NktFUUNBV2k2SGNEVWJlT2ZCSXB0Rjd0Y0N6dXNLRmpGdzJ5dXZFcERMOXdRPT0iIGNyb3Nzb3JpZ2luPSIiPgogICAgPCEtLSBQcmljZSBTbGlkZXIgU3R5bGVzaGVldHMgLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9ub3Vpc2xpZGVyL25vdWlzbGlkZXIuY3NzIj4KICAgIDwhLS0gR29vZ2xlIGZvbnRzIC0gUGxheWZhaXIgRGlzcGxheS0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UGxheWZhaXIrRGlzcGxheTo0MDAsNDAwaSw3MDAiPgogICAgPCEtLSBHb29nbGUgZm9udHMgLSBQb3BwaW5zLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Qb3BwaW5zOjMwMCw0MDAsNDAwaSw3MDAiPgogICAgPCEtLSBzd2lwZXItLT4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvU3dpcGVyLzQuNC4xL2Nzcy9zd2lwZXIubWluLmNzcyI+CiAgICA8IS0tIE1hZ25pZ2ljIFBvcHVwLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9tYWduaWZpYy1wb3B1cC9tYWduaWZpYy1wb3B1cC5jc3MiPgogICAgPCEtLSB0aGVtZSBzdHlsZXNoZWV0LS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zdGF0aWMvZGlyZWN0b3J5L2Nzcy9zdHlsZS5ncmVlbi5taW4uY3NzIiBpZD0idGhlbWUtc3R5bGVzaGVldCI+CiAgICA8IS0tIEN1c3RvbSBzdHlsZXNoZWV0IC0gZm9yIHlvdXIgY2hhbmdlcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3RhdGljL2RpcmVjdG9yeS9jc3MvY3VzdG9tLmNzcyI+CiAgICA8IS0tIEN1c3RvbSBzdHlsZXNoZWV0IC0gZm9yIHlvdXIgY2hhbmdlcy0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvc3RhdGljL2RpcmVjdG9yeS9jc3Mvc2VhcmNoLmNzcyI+CiAgICA8IS0tIEZhdmljb24tLT4KICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL2NhcnRvY2hyb21lLWxvZ28taWNvbi10cmFuc3BhcmVudC5wbmciPgogICAgPCEtLSBGb250IEF3ZXNvbWUgQ1NTLS0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vdXNlLmZvbnRhd2Vzb21lLmNvbS9yZWxlYXNlcy92NS44LjEvY3NzL2FsbC5jc3MiIGludGVncml0eT0ic2hhMzg0LTUwb0JVSEVtdnBRKzFsVzR5NTdQVEZtaENhWHAwTUw1ZDYwTTFNN3VIMitucVVpdnpJZWJobmRPSksyOGFudmYiIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2ZzbGlnaHRib3gvaW5kZXguY3NzIj4KCiAgICAKICAgIAoKICA8L2hlYWQ+CiAgPGJvZHk+CiAgICAKICAgIAogICAgCiAgICAKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBweC0zIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgbWluLXZoLTEwMCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1sZy02IGNvbC14bC01IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idy0xMDAgcHktNSBweC1tZC01IHB4LXh4bC02IHBvc2l0aW9uLXJlbGF0aXZlIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYi00Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iLyI+PGltZyBjbGFzcz0iaW1nLWZsdWlkIG1iLTQiIHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvaW1nL2pvaW50Y29tbWVyY2VfbG9nb19zaG9ydC5wbmciIGFsdD0iLi4uIiBzdHlsZT0ibWF4LXdpZHRoOiA0cmVtOyI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+U2lnbiBVcCE8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1tdXRlZCI+U2lnbiB1cCBmb3IgeW91ciBmcmVlIGFjY291bnQgdG8gbWFyayB5b3VyIGZhdm9yaXRlIGxvY2F0aW9ucyBhbmQgc2VuZCByZXZpZXdzIG9mIHlvdXIgZXhwZXJpZW5jZS4gSm9pbiBKb2ludENvbW1lcmNlJ3MgY29tbXVuaXR5ITwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9hY2NvdW50cy9zaWdudXAvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY3NyZm1pZGRsZXdhcmV0b2tlbiIgdmFsdWU9IlB3dlRNWmNkdlFqa2tiMmtieERLZzlxZTlzWHpzNGx0cmVZWWRYdUw4R1E1NFVsWmFZWWV3R0cyV3Q2akxUMTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgbWItMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAogICAgPGRpdiBpZD0iZGl2X2lkX2VtYWlsIiBjbGFzcz0ibWItMyI+CiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICA8bGFiZWwKICAgICAgICAgICAgICAgIGZvcj0ibG9naW5Vc2VybmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBFbWFpbCBBZGRyZXNzPHNwYW4gY2xhc3M9ImFzdGVyaXNrRmllbGQiPio8L3NwYW4+CiAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgCgogICAgICAgIAoKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImVtYWlsIiBuYW1lPSJlbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCBlbWFpbGlucHV0IiBwbGFjZWhvbGRlcj0ibmFtZUBhZGRyZXNzLmNvbSIgaWQ9ImxvZ2luVXNlcm5hbWUiIGF1dG9jb21wbGV0ZT0ib2ZmIiByZXF1aXJlZCBkYXRhLW1zZz0iUGxlYXNlIGVudGVyIHlvdXIgZW1haWwiIG1heGxlbmd0aD0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAoKCgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgPC9kaXY+CiAgICAKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiBtYi0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCgogICAgCiAgICA8ZGl2IGlkPSJkaXZfaWRfdXNlcm5hbWUiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJ1c2VybmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBVc2VybmFtZTxzcGFuIGNsYXNzPSJhc3Rlcmlza0ZpZWxkIj4qPC9zcGFuPgogICAgICAgICAgICA8L2xhYmVsPgogICAgICAgIAoKICAgICAgICAKCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ1c2VybmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCB0ZXh0aW5wdXQiIHBsYWNlaG9sZGVyPSJVc2VybmFtZSIgaWQ9InVzZXJuYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIiBhdXRvZm9jdXM+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKCgoKCiAgICAKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9maXJzdF9uYW1lIiBjbGFzcz0ibWItMyI+CiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICA8bGFiZWwKICAgICAgICAgICAgICAgIGZvcj0iZmlyc3ROYW1lIiBjbGFzcz0iZm9ybS1sYWJlbCByZXF1aXJlZEZpZWxkIj4KICAgICAgICAgICAgICAgIEZpcnN0IE5hbWU8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlyc3RfbmFtZSIgY2xhc3M9ImZvcm0tY29udHJvbCB0ZXh0aW5wdXQiIHBsYWNlaG9sZGVyPSJGaXJzdCBOYW1lIiBpZD0iZmlyc3ROYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIGZpcnN0IG5hbWUiPgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKCgogICAgCgoKCgogICAgCgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICA8L2Rpdj4KICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9sYXN0X25hbWUiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJsYXN0TmFtZSIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBMYXN0IE5hbWU8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ibGFzdF9uYW1lIiBjbGFzcz0iZm9ybS1jb250cm9sIHRleHRpbnB1dCIgcGxhY2Vob2xkZXI9Ikxhc3QgTmFtZSIgaWQ9Imxhc3ROYW1lIiBhdXRvY29tcGxldGU9Im9mZiIgcmVxdWlyZWQgZGF0YS1tc2c9IlBsZWFzZSBlbnRlciB5b3VyIGxhc3QgbmFtZSI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKCgoKCiAgICAKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKCiAgICAKICAgIDxkaXYgaWQ9ImRpdl9pZF9wYXNzd29yZDEiIGNsYXNzPSJtYi0zIj4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbAogICAgICAgICAgICAgICAgZm9yPSJpZF9wYXNzd29yZDEiIGNsYXNzPSJmb3JtLWxhYmVsIHJlcXVpcmVkRmllbGQiPgogICAgICAgICAgICAgICAgUGFzc3dvcmQ8c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkMSIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIGNsYXNzPSJwYXNzd29yZGlucHV0IGZvcm0tY29udHJvbCIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iaWRfcGFzc3dvcmQxX2hlbHB0ZXh0IiBpZD0iaWRfcGFzc3dvcmQxIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAogICAgCiAgICAgICAgPGRpdiBpZD0iaWRfcGFzc3dvcmQxX2hlbHB0ZXh0IiBjbGFzcz0iZm9ybS10ZXh0Ij48dWw+PGxpPllvdXIgcGFzc3dvcmQgY2Fu4oCZdCBiZSB0b28gc2ltaWxhciB0byB5b3VyIG90aGVyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+PGxpPllvdXIgcGFzc3dvcmQgbXVzdCBjb250YWluIGF0IGxlYXN0IDggY2hhcmFjdGVycy48L2xpPjxsaT5Zb3VyIHBhc3N3b3JkIGNhbuKAmXQgYmUgYSBjb21tb25seSB1c2VkIHBhc3N3b3JkLjwvbGk+PGxpPllvdXIgcGFzc3dvcmQgY2Fu4oCZdCBiZSBlbnRpcmVseSBudW1lcmljLjwvbGk+PC91bD48L2Rpdj4KICAgIAoKCgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgIDwvZGl2PgogICAgCgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgbWItMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAogICAgPGRpdiBpZD0iZGl2X2lkX3Bhc3N3b3JkMiIgY2xhc3M9Im1iLTMiPgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGxhYmVsCiAgICAgICAgICAgICAgICBmb3I9ImlkX3Bhc3N3b3JkMiIgY2xhc3M9ImZvcm0tbGFiZWwgcmVxdWlyZWRGaWVsZCI+CiAgICAgICAgICAgICAgICBQYXNzd29yZCBjb25maXJtYXRpb248c3BhbiBjbGFzcz0iYXN0ZXJpc2tGaWVsZCI+Kjwvc3Bhbj4KICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAKCiAgICAgICAgCgogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkMiIgYXV0b2NvbXBsZXRlPSJuZXctcGFzc3dvcmQiIGNsYXNzPSJwYXNzd29yZGlucHV0IGZvcm0tY29udHJvbCIgcmVxdWlyZWQgYXJpYS1kZXNjcmliZWRieT0iaWRfcGFzc3dvcmQyX2hlbHB0ZXh0IiBpZD0iaWRfcGFzc3dvcmQyIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCgoKICAgIAoKCgoKICAgIAogICAgCiAgICAgICAgPGRpdiBpZD0iaWRfcGFzc3dvcmQyX2hlbHB0ZXh0IiBjbGFzcz0iZm9ybS10ZXh0Ij5FbnRlciB0aGUgc2FtZSBwYXNzd29yZCBhcyBiZWZvcmUsIGZvciB2ZXJpZmljYXRpb24uPC9kaXY+CiAgICAKCgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICA8L2Rpdj4KICAgIAoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZ3JpZCBnYXAtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSI+U2lnbiBVcDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJteS0zIGhyLXRleHQgbGV0dGVyLXNwYWNpbmctMiIgZGF0YS1jb250ZW50PSJPUiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZC1ncmlkIGdhcC0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL2FjY291bnRzL2dvb2dsZS9sb2dpbi8/bmV4dD0lMkZkaXNwZW5zYXJpZXMlMkY1NjIlMkYiIGNsYXNzPSJidG4gYnRuLWdvb2dsZSBidG4tc29jaWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYS0yeCBmYS1nb29nbGUgZmFiIGJ0bi1zb2NpYWwtaWNvbiI+PC9pPkNvbm5lY3QgPHNwYW4gY2xhc3M9ImQtbm9uZSBkLXNtLWlubGluZSI+d2l0aCBHb29nbGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9Im15LTQiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtbXV0ZWQiPkJ5IHNpZ25pbmcgdXAgeW91IGFncmVlIHRvIEpvaW50Q29tbWVyY2UncyA8YSBocmVmPSIvdGVybXMvIiB0YXJnZXQ9Il9ibGFuayI+VGVybXMgb2YgVXNlPC9hPiBhbmQgPGEgaHJlZj0iL3ByaXZhY3ktcG9saWN5LyIgdGFyZ2V0PSJfYmxhbmsiPlByaXZhY3kgUG9saWN5PC9hPi48L3A+CiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPSJteS00Ij4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1jZW50ZXIiPjxzbWFsbCBjbGFzcz0idGV4dC1tdXRlZCB0ZXh0LWNlbnRlciI+SGF2ZSBhbiBhY2NvdW50IGFscmVhZHk/IDxhIGhyZWY9Ii9hY2NvdW50cy9sb2dpbi8iPlNpZ24gSW48L2E+PC9zbWFsbD48L3A+CiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNsb3NlLWFic29sdXRlIG1lLW1kLTUgbWUteGwtNiBwdC01IiBocmVmPSIvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3ZnLWljb24gdy0zcmVtIGgtM3JlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNjbG9zZS0xIj4gPC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQgY29sLWxnLTYgY29sLXhsLTcgZC1ub25lIGQtbWQtYmxvY2siPgogICAgICAgICAgICAgICAgPCEtLSBJbWFnZS0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctY292ZXIgaC0xMDAgbWUtbjMiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3N0YXRpYy9kaXJlY3RvcnkvaW1nL3Bob3RvL2hvbWVwYWdlL2pvaW50Y29tbWVyY2UtYmFja2dyb3VuZC5wbmcpOyI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKCgogICAgCiAgICAKCiAgICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvdjIuNi4xL21hcGJveC1nbC5qcyc+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20vanF1ZXJ5LTMuNi4wLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0naHR0cHM6Ly9hcGkubWFwYm94LmNvbS9tYXBib3gtZ2wtanMvcGx1Z2lucy9tYXBib3gtZ2wtZ2VvY29kZXIvdjQuNy4wL21hcGJveC1nbC1nZW9jb2Rlci5taW4uanMnPjwvc2NyaXB0PgoKICAgIDwhLS0gSmF2YVNjcmlwdCBmaWxlcy0tPgogICAgPHNjcmlwdD4KICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vCiAgICAgICAgLy8gICBJbmplY3QgU1ZHIFNwcml0ZSAtIAogICAgICAgIC8vICAgc2VlIG1vcmUgaGVyZSAKICAgICAgICAvLyAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYWpheGluZy1zdmctc3ByaXRlLwogICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvLwogICAgICAgIGZ1bmN0aW9uIGluamVjdFN2Z1Nwcml0ZShwYXRoKSB7CiAgICAgICAgICBmZXRjaChwYXRoKQogICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgewogICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAudGhlbihkYXRhID0+IHsKICAgICAgICAgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICAgICAgICBkaXYuY2xhc3NOYW1lID0gJ2Qtbm9uZSc7CiAgICAgICAgICAgICAgICAgIGRpdi5pbm5lckhUTUwgPSBkYXRhOwogICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShkaXYsIGRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1swXSk7CiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAuY2F0Y2goZSA9PiB7CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHRoZSBTVkcgc3ByaXRlOicsIGUpOwogICAgICAgICAgICAgIH0pOwogICAgICB9CiAgICAgIAogICAgICBpbmplY3RTdmdTcHJpdGUoIi9zdGF0aWMvZGlyZWN0b3J5L2ljb25zL29yaW9uLXN2Zy1zcHJpdGUuc3ZnIik7CiAgICAgICAgCiAgICAgIDwvc2NyaXB0PgogICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jaGFydC5qcyIgPjwvc2NyaXB0PgogICAgICA8IS0tIFNtb290aCBzY3JvbGwtLT4KICAgICAgPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9zbW9vdGgtc2Nyb2xsL3Ntb290aC1zY3JvbGwucG9seWZpbGxzLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgIDwhLS0gQm9vdHN0cmFwIFNlbGVjdC0tPgogICAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvdmVuZG9yL2Jvb3RzdHJhcC1zZWxlY3QvanMvYm9vdHN0cmFwLXNlbGVjdC5taW4uanMiPjwvc2NyaXB0PgogICAgICA8IS0tIE9iamVjdCBGaXQgSW1hZ2VzIC0gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBvYmplY3QtZml0LS0+CiAgICAgIDxzY3JpcHQgc3JjPSIvc3RhdGljL2RpcmVjdG9yeS92ZW5kb3Ivb2JqZWN0LWZpdC1pbWFnZXMvb2ZpLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICAgIDwhLS0gU3dpcGVyIENhcm91c2VsIC0tPgogICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvU3dpcGVyLzQuNC4xL2pzL3N3aXBlci5taW4uanMiID48L3NjcmlwdD4KICAgICAgPCEtLSBJbmNsdWRlIFN3aXBlciBKUyAtLT4KICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL3N3aXBlci9zd2lwZXItYnVuZGxlLm1pbi5qcyIgPjwvc2NyaXB0PgogICAgICA8c2NyaXB0PnZhciBiYXNlUGF0aCA9ICcnPC9zY3JpcHQ+CiAgICAgIDwhLS0gTWFpbiBUaGVtZSBKUyBmaWxlICAgIC0tPgogICAgICA8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvanMvdGhlbWUuanMiPjwvc2NyaXB0PgoKICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIHZhciBtYXJrZXJQYXRoID0gIi9zdGF0aWMvZGlyZWN0b3J5L2ltZy9tYXJrZXIuc3ZnIjsKICAgICAgICB2YXIgbWFya2VyUGF0aEhpZ2hsaWdodCA9ICIvc3RhdGljL2RpcmVjdG9yeS9pbWcvbWFya2VyLWhvdmVyLnN2ZyI7CiAgICAgIDwvc2NyaXB0PgogICAgPC9zY3JpcHQ+CgogICAgCiAgICAKICAgIAoKPHNjcmlwdD4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgbWFwYm94Z2wuYWNjZXNzVG9rZW4gPSAncGsuZXlKMUlqb2ljM1JsY0dobGJtcHZhVzUwWTI5dGJXVnlZMlVpTENKaElqb2lZMnhsWlhaa2VqQTNNRFUwYWpOMGNHMTJjVGR5YldsMmVDSjkudEhmYmlndk8zSFJoQUotVnlWSDktQSc7CgogICAgICAgIGZ1bmN0aW9uIHNldHVwU2VhcmNoRm9ybUludGVyYWN0aW9uKGZvcm1JZCwgbG9jYXRpb25JZCwgaGlkZGVuTGF0SWQsIGhpZGRlbkxuZ0lkLCBzdWdnZXN0aW9uc0lkKSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gLTE7CgogICAgICAgICAgICAkKGxvY2F0aW9uSWQpLm9uKCdpbnB1dCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgdmFyIHF1ZXJ5ID0gJCh0aGlzKS52YWwoKTsKICAgICAgICAgICAgICAgIHNlbGVjdGVkSW5kZXggPSAtMTsKICAgICAgICAgICAgICAgIGlmKHF1ZXJ5Lmxlbmd0aCA+IDIpIHsKICAgICAgICAgICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGBodHRwczovL2FwaS5tYXBib3guY29tL2dlb2NvZGluZy92NS9tYXBib3gucGxhY2VzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KX0uanNvbmAsCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NfdG9rZW46IG1hcGJveGdsLmFjY2Vzc1Rva2VuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnRyeTogJ1VTJywKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0lkKS5lbXB0eSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5mZWF0dXJlcy5mb3JFYWNoKGZ1bmN0aW9uKGZlYXR1cmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdEl0ZW0gPSAkKGA8bGkgY2xhc3M9Imxpc3QtZ3JvdXAtaXRlbSIgZGF0YS1sYXQ9IiR7ZmVhdHVyZS5nZW9tZXRyeS5jb29yZGluYXRlc1sxXX0iIGRhdGEtbG5nPSIke2ZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF19Ij4ke2ZlYXR1cmUucGxhY2VfbmFtZX08L2xpPmApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuYXBwZW5kKGxpc3RJdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJBUEkgRXJyb3I6IiwgZXJyb3IpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKGxvY2F0aW9uSWQpLm9uKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHN1Z2dlc3Rpb25zID0gJChzdWdnZXN0aW9uc0lkICsgJyBsaScpOwogICAgICAgICAgICAgICAgaWYoZS5rZXlDb2RlID09PSA0MCkgeyAvLyBEb3duIGFycm93CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4ICsgMSkgJSBzdWdnZXN0aW9ucy5sZW5ndGg7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoZS5rZXlDb2RlID09PSAzOCkgeyAvLyBVcCBhcnJvdwogICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSW5kZXggPSAoc2VsZWN0ZWRJbmRleCAtIDEgKyBzdWdnZXN0aW9ucy5sZW5ndGgpICUgc3VnZ2VzdGlvbnMubGVuZ3RoOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmKGUua2V5Q29kZSA9PT0gMTMpIHsgLy8gRW50ZXIga2V5CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgICAgICAgIGlmKHNlbGVjdGVkSW5kZXggPiAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRTdWdnZXN0aW9uID0gc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCk7CiAgICAgICAgICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKHNlbGVjdGVkU3VnZ2VzdGlvbi50ZXh0KCkpOwogICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxhdElkKS52YWwoc2VsZWN0ZWRTdWdnZXN0aW9uLmRhdGEoJ2xhdCcpKTsKICAgICAgICAgICAgICAgICAgICAgICAgJChoaWRkZW5MbmdJZCkudmFsKHNlbGVjdGVkU3VnZ2VzdGlvbi5kYXRhKCdsbmcnKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7CiAgICAgICAgICAgICAgICBzdWdnZXN0aW9ucy5lcShzZWxlY3RlZEluZGV4KS5hZGRDbGFzcygnc2VsZWN0ZWQnKTsKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKHN1Z2dlc3Rpb25zSWQpLm9uKCdjbGljaycsICdsaScsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgJChsb2NhdGlvbklkKS52YWwoJCh0aGlzKS50ZXh0KCkpOwogICAgICAgICAgICAgICAgJChoaWRkZW5MYXRJZCkudmFsKCQodGhpcykuZGF0YSgnbGF0JykpOwogICAgICAgICAgICAgICAgJChoaWRkZW5MbmdJZCkudmFsKCQodGhpcykuZGF0YSgnbG5nJykpOwogICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0lkKS5lbXB0eSgpOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICQoZm9ybUlkKS5zdWJtaXQoZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgaWYoJChoaWRkZW5MYXRJZCkudmFsKCkgJiYgJChoaWRkZW5MbmdJZCkudmFsKCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZm9ybURhdGEgPSAkKHRoaXMpLnNlcmlhbGl6ZSgpOwogICAgICAgICAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdHRVQnLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICcvc2VhcmNoX3Jlc3VsdHMvJywgLy8gVXBkYXRlIHdpdGggdGhlIGFjdHVhbCBwYXRoIHRvIHlvdXIgdmlldwogICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBmb3JtRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI3NlYXJjaFJlc3VsdHNDb250YWluZXInKS5odG1sKGRhdGEpOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJFcnJvcjoiLCBlcnJvcik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYWxlcnQoJ1BsZWFzZSBzZWxlY3QgYSBsb2NhdGlvbiBmcm9tIHRoZSBzdWdnZXN0aW9ucy4nKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gZmlsbFdpdGhDdXJyZW50TG9jYXRpb24obG9jYXRpb25JZCwgaGlkZGVuTGF0SWQsIGhpZGRlbkxuZ0lkKSB7CiAgICAgICAgICAgIGlmIChuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pIHsKICAgICAgICAgICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24oZnVuY3Rpb24ocG9zaXRpb24pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgbGF0ID0gcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlOwogICAgICAgICAgICAgICAgICAgIHZhciBsbmcgPSBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlOwogICAgICAgICAgICAgICAgICAgICQuYWpheCh7CiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vZ2VvY29kaW5nL3Y1L21hcGJveC5wbGFjZXMvJHtsbmd9LCR7bGF0fS5qc29uYCwKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogbWFwYm94Z2wuYWNjZXNzVG9rZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5OiAnVVMnLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5mZWF0dXJlcyAmJiBkYXRhLmZlYXR1cmVzWzBdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChsb2NhdGlvbklkKS52YWwoZGF0YS5mZWF0dXJlc1swXS5wbGFjZV9uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxhdElkKS52YWwobGF0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGhpZGRlbkxuZ0lkKS52YWwobG5nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiQVBJIEVycm9yOiIsIGVycm9yKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhbGVydCgiR2VvbG9jYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZChsb2NhdGlvbklkLCBoaWRkZW5MYXRJZCwgaGlkZGVuTG5nSWQsIGRlZmF1bHRMb2NhdGlvbiwgZGVmYXVsdExhdCwgZGVmYXVsdExuZywgdXNlQ3VycmVudExvY2F0aW9uID0gdHJ1ZSkgewogICAgICAgICAgICB2YXIgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTsKICAgICAgICAgICAgdmFyIGxvY2F0aW9uID0gc2VhcmNoUGFyYW1zLmdldCgnbG9jYXRpb24nKTsKICAgICAgICAgICAgdmFyIGxhdGl0dWRlID0gc2VhcmNoUGFyYW1zLmdldCgnbGF0aXR1ZGUnKTsKICAgICAgICAgICAgdmFyIGxvbmdpdHVkZSA9IHNlYXJjaFBhcmFtcy5nZXQoJ2xvbmdpdHVkZScpOwoKICAgICAgICAgICAgaWYgKCFsb2NhdGlvbiB8fCAhbGF0aXR1ZGUgfHwgIWxvbmdpdHVkZSkgewogICAgICAgICAgICAgICAgaWYgKHVzZUN1cnJlbnRMb2NhdGlvbikgewogICAgICAgICAgICAgICAgICAgIGZpbGxXaXRoQ3VycmVudExvY2F0aW9uKGxvY2F0aW9uSWQsIGhpZGRlbkxhdElkLCBoaWRkZW5MbmdJZCk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKGRlZmF1bHRMb2NhdGlvbik7CiAgICAgICAgICAgICAgICAgICAgJChoaWRkZW5MYXRJZCkudmFsKGRlZmF1bHRMYXQpOwogICAgICAgICAgICAgICAgICAgICQoaGlkZGVuTG5nSWQpLnZhbChkZWZhdWx0TG5nKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICQobG9jYXRpb25JZCkudmFsKGxvY2F0aW9uKTsKICAgICAgICAgICAgICAgICQoaGlkZGVuTGF0SWQpLnZhbChsYXRpdHVkZSk7CiAgICAgICAgICAgICAgICAkKGhpZGRlbkxuZ0lkKS52YWwobG9uZ2l0dWRlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBjdXJyZW50IHBhZ2UgaXMgdGhlIHNlYXJjaCByZXN1bHRzIHBhZ2UKICAgICAgICB2YXIgaXNTZWFyY2hSZXN1bHRzUGFnZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmNsdWRlcygnc2VhcmNoX3Jlc3VsdHMnKTsKCiAgICAgICAgLy8gU2V0dXAgaW50ZXJhY3Rpb24gZm9yIGVhY2ggZm9ybQogICAgICAgIHNldHVwU2VhcmNoRm9ybUludGVyYWN0aW9uKCcjc2VhcmNoRm9ybTEnLCAnI2xvY2F0aW9uMScsICcjaGlkZGVuTGF0MScsICcjaGlkZGVuTG5nMScsICcjc3VnZ2VzdGlvbnMxJyk7CiAgICAgICAgc2V0dXBTZWFyY2hGb3JtSW50ZXJhY3Rpb24oJyNzZWFyY2hGb3JtMicsICcjbG9jYXRpb24yJywgJyNoaWRkZW5MYXQyJywgJyNoaWRkZW5MbmcyJywgJyNzdWdnZXN0aW9uczInKTsKCiAgICAgICAgJCgnLmZhLWNyb3NzaGFpcnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgZmlsbFdpdGhDdXJyZW50TG9jYXRpb24oJyNsb2NhdGlvbjEnLCAnI2hpZGRlbkxhdDEnLCAnI2hpZGRlbkxuZzEnKTsKICAgICAgICAgICAgZmlsbFdpdGhDdXJyZW50TG9jYXRpb24oJyNsb2NhdGlvbjInLCAnI2hpZGRlbkxhdDInLCAnI2hpZGRlbkxuZzInKTsKICAgICAgICB9KTsKCiAgICAgICAgLy8gUHJlZmlsbCBzZWFyY2ggYm94IG9uIHBhZ2UgbG9hZAogICAgICAgIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZCgnI2xvY2F0aW9uMScsICcjaGlkZGVuTGF0MScsICcjaGlkZGVuTG5nMScsICdMb3MgQW5nZWxlcywgQ2FsaWZvcm5pYSwgVW5pdGVkIFN0YXRlcycsIDM0LjA1NDA3NywgLTExOC4yNDE2OCwgIWlzU2VhcmNoUmVzdWx0c1BhZ2UpOwogICAgICAgIHByZWZpbGxTZWFyY2hCb3hJZk5lZWRlZCgnI2xvY2F0aW9uMicsICcjaGlkZGVuTGF0MicsICcjaGlkZGVuTG5nMicsICdMb3MgQW5nZWxlcywgQ2FsaWZvcm5pYSwgVW5pdGVkIFN0YXRlcycsIDM0LjA1NDA3NywgLTExOC4yNDE2OCwgIWlzU2VhcmNoUmVzdWx0c1BhZ2UpOwogICAgfSk7CiAgICAKPC9zY3JpcHQ+CiAgICAKPHNjcmlwdD4KICAgICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgICAgICAgZnVuY3Rpb24gc2V0dXBCcmFuZFNlYXJjaEF1dG9jb21wbGV0ZShpbnB1dElkLCBzdWdnZXN0aW9uc0NvbnRhaW5lcklkKSB7CiAgICAgICAgICAgIHZhciBzZWxlY3RlZEluZGV4ID0gLTE7IC8vIEluZGV4IHRvIHRyYWNrIHRoZSBjdXJyZW50IHNlbGVjdGlvbgogICAgCiAgICAgICAgICAgICQoaW5wdXRJZCkub24oJ2lucHV0JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB2YXIgcXVlcnkgPSAkKHRoaXMpLnZhbCgpOwogICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IC0xOyAvLyBSZXNldCB0aGUgc2VsZWN0aW9uIGluZGV4IG9uIG5ldyBpbnB1dAogICAgICAgICAgICAgICAgY29uc29sZS5sb2coIktleXByZXNzIGRldGVjdGVkLCBjdXJyZW50IGlucHV0OiIsIHF1ZXJ5KTsgLy8gRm9yIGRlYnVnZ2luZwogICAgCiAgICAgICAgICAgICAgICBpZihxdWVyeS5sZW5ndGggPiAyKSB7CiAgICAgICAgICAgICAgICAgICAgJC5hamF4KHsKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnL3NlYXJjaF9icmFuZHMvJywKICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyB0ZXJtOiBxdWVyeSB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHN1Z2dlc3Rpb25zQ29udGFpbmVySWQpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihkYXRhICYmIGRhdGEubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpc3RJdGVtID0gJChgPGxpIHRhYmluZGV4PSIwIiBjbGFzcz0ibGlzdC1ncm91cC1pdGVtIiBkYXRhLXZhbHVlPSIke2l0ZW0udmFsdWV9Ij4ke2l0ZW0ubGFiZWx9PC9saT5gKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coaXRlbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNDb250YWluZXJJZCkuYXBwZW5kKGxpc3RJdGVtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGVycm9yKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiQVBJIEVycm9yOiIsIGVycm9yKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkKHN1Z2dlc3Rpb25zQ29udGFpbmVySWQpLmVtcHR5KCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pLm9uKCdrZXlkb3duJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgdmFyIHN1Z2dlc3Rpb25zID0gJChzdWdnZXN0aW9uc0NvbnRhaW5lcklkICsgJyBsaScpOwogICAgICAgICAgICAgICAgdmFyIG51bVN1Z2dlc3Rpb25zID0gc3VnZ2VzdGlvbnMubGVuZ3RoOwogICAgCiAgICAgICAgICAgICAgICBpZihlLmtleUNvZGUgPT09IDQwKSB7IC8vIERvd24gYXJyb3cga2V5CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4ICsgMSkgJSBudW1TdWdnZXN0aW9uczsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgdGhlIGN1cnNvciBmcm9tIG1vdmluZwogICAgICAgICAgICAgICAgfSBlbHNlIGlmKGUua2V5Q29kZSA9PT0gMzgpIHsgLy8gVXAgYXJyb3cga2V5CiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IChzZWxlY3RlZEluZGV4IC0gMSArIG51bVN1Z2dlc3Rpb25zKSAlIG51bVN1Z2dlc3Rpb25zOwogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCB0aGUgY3Vyc29yIGZyb20gbW92aW5nCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYoZS5rZXlDb2RlID09PSAxMyAmJiBzZWxlY3RlZEluZGV4ID49IDApIHsgLy8gRW50ZXIga2V5CiAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCkuY2xpY2soKTsKICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZm9ybSBzdWJtaXNzaW9uCiAgICAgICAgICAgICAgICB9CiAgICAKICAgICAgICAgICAgICAgIHN1Z2dlc3Rpb25zLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpOwogICAgICAgICAgICAgICAgaWYoc2VsZWN0ZWRJbmRleCA+PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdGlvbnMuZXEoc2VsZWN0ZWRJbmRleCkuYWRkQ2xhc3MoJ3NlbGVjdGVkJykuZm9jdXMoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAKICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgc3VnZ2VzdGlvbnNDb250YWluZXJJZCArICcgbGknLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9ICQodGhpcykudGV4dCgpOwogICAgICAgICAgICAgICAgJChpbnB1dElkKS52YWwodmFsdWUpOwogICAgICAgICAgICAgICAgJChzdWdnZXN0aW9uc0NvbnRhaW5lcklkKS5lbXB0eSgpOwogICAgICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IC0xOyAvLyBSZXNldCB0aGUgc2VsZWN0aW9uIGluZGV4CiAgICAgICAgICAgIH0pOwogICAgCiAgICAgICAgICAgICQoaW5wdXRJZCkub24oJ2JsdXInLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIC8vIERlbGF5IGNsZWFyaW5nIHRoZSBzdWdnZXN0aW9ucyB0byBhbGxvdyBjbGljayBldmVudCB0byBmaXJlCiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICQoc3VnZ2VzdGlvbnNDb250YWluZXJJZCkuZW1wdHkoKTsKICAgICAgICAgICAgICAgIH0sIDIwMCk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgIAogICAgICAgIHNldHVwQnJhbmRTZWFyY2hBdXRvY29tcGxldGUoJyNicmFuZF9zZWFyY2gnLCAnI3N1Z2dlc3Rpb25zMycpOwogICAgfSk7Cjwvc2NyaXB0Pgo8c2NyaXB0PgogICQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgewogICAgJCgnLmNhcmQtZmF2LWljb24nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKICAgICAgdmFyIGhlYXJ0SWNvbiA9ICQodGhpcykuZmluZCgnLmhlYXJ0LWljb24nKTsKICAgICAgdmFyIGl0ZW1JZCA9ICQodGhpcykuZGF0YSgnaWQnKTsKICAgICAgdmFyIGJvb2ttYXJrVHlwZSA9ICQodGhpcykuZGF0YSgndHlwZScpOwogICAgICB2YXIgaXNCb29rbWFya2VkID0gJCh0aGlzKS5kYXRhKCdib29rbWFya2VkJykgPT09ICJUcnVlIjsKCiAgICAgICQuYWpheCh7CiAgICAgICAgdXJsOiAnL3RvZ2dsZV9ib29rbWFyay8nLAogICAgICAgIG1ldGhvZDogJ1BPU1QnLAogICAgICAgIGRhdGE6IHsKICAgICAgICAgICdjc3JmbWlkZGxld2FyZXRva2VuJzogJ1B3dlRNWmNkdlFqa2tiMmtieERLZzlxZTlzWHpzNGx0cmVZWWRYdUw4R1E1NFVsWmFZWWV3R0cyV3Q2akxUMTMnLAogICAgICAgICAgJ2l0ZW1faWQnOiBpdGVtSWQsCiAgICAgICAgICAndHlwZSc6IGJvb2ttYXJrVHlwZQogICAgICAgIH0sCiAgICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzcG9uc2UpIHsKICAgICAgICAgIGlmIChyZXNwb25zZS5pc19ib29rbWFya2VkKSB7CiAgICAgICAgICAgIGhlYXJ0SWNvbi5hZGRDbGFzcygnYm9va21hcmtlZCcpOwogICAgICAgICAgICBoZWFydEljb24ucGFyZW50KCkuZGF0YSgnYm9va21hcmtlZCcsICJUcnVlIik7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoZWFydEljb24ucmVtb3ZlQ2xhc3MoJ2Jvb2ttYXJrZWQnKTsKICAgICAgICAgICAgaGVhcnRJY29uLnBhcmVudCgpLmRhdGEoJ2Jvb2ttYXJrZWQnLCAiRmFsc2UiKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSk7CiAgfSk7Cjwvc2NyaXB0PiAgICAgICAgCiAgICAKICAgIAoKICAgIAogICAgCjxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMy42LjAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL2xlYWZsZXRAMS41LjEvZGlzdC9sZWFmbGV0LmpzIiBpbnRlZ3JpdHk9InNoYTUxMi1HZmZQTUYzUnZNZVl5YzFMV01IdEs4RWJQdjBpTlo4L29UdEhQeDkvY2MySUx4USt1OTA1cUl3ZHBVTGFxRGt5QktnT2FCNTdRVE1nN3p0ZzhKbTJPZz09IiBjcm9zc29yaWdpbj0iIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L3ZlbmRvci9vYmplY3QtZml0LWltYWdlcy9vZmkubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL1N3aXBlci80LjQuMS9qcy9zd2lwZXIubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L2pzL21hcC1sYXllcnMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iL3N0YXRpYy9kaXJlY3RvcnkvanMvbWFwLWNhdGVnb3J5LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9Ii9zdGF0aWMvZGlyZWN0b3J5L2pzL21hcC1kZXRhaWwuanMiPjwvc2NyaXB0PgoKICAgIDxzY3JpcHQ+CiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoZXZlbnQpID0+IHsKICAgICAgICAgIGNvbnN0IGFsZXJ0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hbGVydCcpOwogICAgICAgICAgCiAgICAgICAgICBhbGVydHMuZm9yRWFjaCgoYWxlcnQpID0+IHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgICAgYWxlcnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpOyAvLyBUcmlnZ2VycyBmYWRlLW91dCB0cmFuc2l0aW9uCiAgICAgICAgICAgICAgICAgIGFsZXJ0LmNsYXNzTGlzdC5hZGQoJ2ZhZGUnKTsKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIC8vIFdhaXQgZm9yIHRoZSBDU1MgdHJhbnNpdGlvbiB0byBmaW5pc2ggYmVmb3JlIHJlbW92aW5nIHRoZSBlbGVtZW50CiAgICAgICAgICAgICAgICAgIGFsZXJ0LmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICBhbGVydC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgICB9KTsKICAgICAgfSk7CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4=', '', '{"Content-Type": "text/html; charset=utf-8"}')
26.44

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(131)
  ResponseModelFactory(response).construct_response_model()

/app/.heroku/python/lib/python3.11/site-packages/silk/model_factory.py in construct_response_model(322)
  silky_response.save()

SAVEPOINT "s140641677437824_x6"SAVEPOINT "s140641677437824_x6"
5.03

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(167)
  models.SQLQuery.objects.bulk_create(sql_queries)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(80)
  with self._recreate_cm():

/app/.heroku/python/lib/python3.11/site-packages/django/utils/asyncio.py in inner(26)
  return func(*args, **kwargs)

UPDATE "silk_request"
   SET "num_sql_queries" = 1
 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
UPDATE "silk_request" SET "num_sql_queries" = 1 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
2 similar queries.
3.23

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(167)
  models.SQLQuery.objects.bulk_create(sql_queries)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in bulk_create(246)
  obj.prepare_save()

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in prepare_save(326)
  self.request.save(update_fields=['num_sql_queries'])

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in save(203)
  super().save(*args, **kwargs)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

UPDATE "silk_request"
   SET "num_sql_queries" = 2
 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
UPDATE "silk_request" SET "num_sql_queries" = 2 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
2 similar queries.
13.68

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(167)
  models.SQLQuery.objects.bulk_create(sql_queries)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in bulk_create(246)
  obj.prepare_save()

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in prepare_save(326)
  self.request.save(update_fields=['num_sql_queries'])

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in save(203)
  super().save(*args, **kwargs)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

INSERT INTO "silk_sqlquery" ("query", "start_time", "end_time", "time_taken", "identifier", "request_id", "traceback", "analysis")
VALUES ('SELECT "django_site"."id", "django_site"."domain", "django_site"."name" FROM "django_site" WHERE "django_site"."id" = 1 LIMIT 21', '2024-09-20T06:24:23.152716+00:00'::timestamptz, '2024-09-20T06:24:23.191113+00:00'::timestamptz, 38.397, 1, 'da89b381-d607-4496-a7b0-695bf743adec', ' File "/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py", line 82, in execute_sql tb = ''''.join(reversed(traceback.format_stack())) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__ results = compiler.execute_sql( File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 382, in __len__ self._fetch_all() File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 645, in get num = len(clone) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py", line 30, in _get_site_by_id site = self.get(pk=site_id) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py", line 59, in get_current return self._get_site_by_id(site_id) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/shortcuts.py", line 16, in get_current_site return Site.objects.get_current(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/models.py", line 29, in on_site site = get_current_site(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 233, in list_apps db_apps = SocialApp.objects.on_site(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 286, in get_app apps = self.list_apps(request, provider=provider, client_id=client_id) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 206, in get_provider app = self.get_app(request, provider=provider) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py", line 20, in provider_login_url provider = adapter.get_provider(request, provider) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py", line 237, in render output = self.func(*resolved_args, **resolved_kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 65, in render result = block.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 159, in render return compiled_parent._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 171, in render return self._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content return template.render(context, self._request) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 114, in render self.content = self.rendered_content File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response response = response.render() File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py", line 72, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) [Previous line repeated 1 more time] File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/staticfiles.py", line 114, in process_request response = super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/headers.py", line 46, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/timer.py", line 65, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/middleware.py", line 58, in __call__ response = toolbar.process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py", line 36, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py", line 14, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py", line 56, in __call__ result = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 23, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 57, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py", line 124, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/wsgi.py", line 124, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 178, in handle_request respiter = self.wsgi(environ, resp.start_response) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 135, in handle self.handle_request(listener, req, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 32, in accept self.handle(listener, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 70, in run_for_one self.accept(listener) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 126, in run self.run_for_one(timeout) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py", line 142, in init_process self.run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker worker.init_process() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 642, in spawn_workers self.spawn_worker() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 571, in manage_workers self.spawn_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 202, in run self.manage_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 72, in run Arbiter(self).run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 236, in run super().run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 67, in run WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() File "/app/.heroku/python/bin/gunicorn", line 8, in <module> sys.exit(run()) ', 'Limit (cost=0.00..1.00 rows=1 width=340) -> Seq Scan on django_site (cost=0.00..1.00 rows=1 width=340) Filter: (id = 1)'), ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", "socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", "socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", "socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM "socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id") WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = google OR "socialaccount_socialapp"."provider_id" = google))', '2024-09-20T06:24:23.199264+00:00'::timestamptz, '2024-09-20T06:24:23.202482+00:00'::timestamptz, 3.218, 2, 'da89b381-d607-4496-a7b0-695bf743adec', ' File "/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py", line 82, in execute_sql tb = ''''.join(reversed(traceback.format_stack())) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__ results = compiler.execute_sql( File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 400, in __iter__ self._fetch_all() File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 238, in list_apps for app in db_apps: File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 286, in get_app apps = self.list_apps(request, provider=provider, client_id=client_id) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 206, in get_provider app = self.get_app(request, provider=provider) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py", line 20, in provider_login_url provider = adapter.get_provider(request, provider) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py", line 237, in render output = self.func(*resolved_args, **resolved_kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 65, in render result = block.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 159, in render return compiled_parent._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 171, in render return self._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content return template.render(context, self._request) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 114, in render self.content = self.rendered_content File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response response = response.render() File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py", line 72, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) [Previous line repeated 1 more time] File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/staticfiles.py", line 114, in process_request response = super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/headers.py", line 46, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/timer.py", line 65, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/middleware.py", line 58, in __call__ response = toolbar.process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py", line 36, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py", line 14, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py", line 56, in __call__ result = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 23, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 57, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py", line 124, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/wsgi.py", line 124, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 178, in handle_request respiter = self.wsgi(environ, resp.start_response) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 135, in handle self.handle_request(listener, req, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 32, in accept self.handle(listener, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 70, in run_for_one self.accept(listener) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 126, in run self.run_for_one(timeout) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py", line 142, in init_process self.run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker worker.init_process() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 642, in spawn_workers self.spawn_worker() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 571, in manage_workers self.spawn_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 202, in run self.manage_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 72, in run Arbiter(self).run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 236, in run super().run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 67, in run WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() File "/app/.heroku/python/bin/gunicorn", line 8, in <module> sys.exit(run()) ', 'Nested Loop (cost=0.00..2.02 rows=1 width=1830) Join Filter: (socialaccount_socialapp.id = socialaccount_socialapp_sites.socialapp_id) -> Seq Scan on socialaccount_socialapp_sites (cost=0.00..1.01 rows=1 width=4) Filter: (site_id = 1) -> Seq Scan on socialaccount_socialapp (cost=0.00..1.01 rows=2 width=1830) Filter: (((provider)::text = ''google''::text) OR ((provider_id)::text = ''google''::text))') RETURNING "silk_sqlquery"."id"
INSERT INTO "silk_sqlquery" ("query", "start_time", "end_time", "time_taken", "identifier", "request_id", "traceback", "analysis") VALUES ('SELECT "django_site"."id", "django_site"."domain", "django_site"."name" FROM "django_site" WHERE "django_site"."id" = 1 LIMIT 21', '2024-09-20T06:24:23.152716+00:00'::timestamptz, '2024-09-20T06:24:23.191113+00:00'::timestamptz, 38.397, 1, 'da89b381-d607-4496-a7b0-695bf743adec', ' File "/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py", line 82, in execute_sql tb = ''''.join(reversed(traceback.format_stack())) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__ results = compiler.execute_sql( File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 382, in __len__ self._fetch_all() File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 645, in get num = len(clone) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/manager.py", line 87, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py", line 30, in _get_site_by_id site = self.get(pk=site_id) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/models.py", line 59, in get_current return self._get_site_by_id(site_id) File "/app/.heroku/python/lib/python3.11/site-packages/django/contrib/sites/shortcuts.py", line 16, in get_current_site return Site.objects.get_current(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/models.py", line 29, in on_site site = get_current_site(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 233, in list_apps db_apps = SocialApp.objects.on_site(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 286, in get_app apps = self.list_apps(request, provider=provider, client_id=client_id) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 206, in get_provider app = self.get_app(request, provider=provider) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py", line 20, in provider_login_url provider = adapter.get_provider(request, provider) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py", line 237, in render output = self.func(*resolved_args, **resolved_kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 65, in render result = block.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 159, in render return compiled_parent._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 171, in render return self._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content return template.render(context, self._request) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 114, in render self.content = self.rendered_content File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response response = response.render() File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py", line 72, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) [Previous line repeated 1 more time] File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/staticfiles.py", line 114, in process_request response = super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/headers.py", line 46, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/timer.py", line 65, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/middleware.py", line 58, in __call__ response = toolbar.process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py", line 36, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py", line 14, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py", line 56, in __call__ result = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 23, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 57, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py", line 124, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/wsgi.py", line 124, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 178, in handle_request respiter = self.wsgi(environ, resp.start_response) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 135, in handle self.handle_request(listener, req, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 32, in accept self.handle(listener, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 70, in run_for_one self.accept(listener) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 126, in run self.run_for_one(timeout) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py", line 142, in init_process self.run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker worker.init_process() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 642, in spawn_workers self.spawn_worker() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 571, in manage_workers self.spawn_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 202, in run self.manage_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 72, in run Arbiter(self).run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 236, in run super().run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 67, in run WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() File "/app/.heroku/python/bin/gunicorn", line 8, in <module> sys.exit(run()) ', 'Limit (cost=0.00..1.00 rows=1 width=340) -> Seq Scan on django_site (cost=0.00..1.00 rows=1 width=340) Filter: (id = 1)'), ('SELECT "socialaccount_socialapp"."id", "socialaccount_socialapp"."provider", "socialaccount_socialapp"."provider_id", "socialaccount_socialapp"."name", "socialaccount_socialapp"."client_id", "socialaccount_socialapp"."secret", "socialaccount_socialapp"."key", "socialaccount_socialapp"."settings" FROM "socialaccount_socialapp" INNER JOIN "socialaccount_socialapp_sites" ON ("socialaccount_socialapp"."id" = "socialaccount_socialapp_sites"."socialapp_id") WHERE ("socialaccount_socialapp_sites"."site_id" = 1 AND ("socialaccount_socialapp"."provider" = google OR "socialaccount_socialapp"."provider_id" = google))', '2024-09-20T06:24:23.199264+00:00'::timestamptz, '2024-09-20T06:24:23.202482+00:00'::timestamptz, 3.218, 2, 'da89b381-d607-4496-a7b0-695bf743adec', ' File "/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py", line 82, in execute_sql tb = ''''.join(reversed(traceback.format_stack())) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 91, in __iter__ results = compiler.execute_sql( File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 1928, in _fetch_all self._result_cache = list(self._iterable_class(self)) File "/app/.heroku/python/lib/python3.11/site-packages/django/db/models/query.py", line 400, in __iter__ self._fetch_all() File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 238, in list_apps for app in db_apps: File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 286, in get_app apps = self.list_apps(request, provider=provider, client_id=client_id) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/adapter.py", line 206, in get_provider app = self.get_app(request, provider=provider) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/templatetags/socialaccount.py", line 20, in provider_login_url provider = adapter.get_provider(request, provider) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/library.py", line 237, in render output = self.func(*resolved_args, **resolved_kwargs) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 65, in render result = block.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/loader_tags.py", line 159, in render return compiled_parent._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in <listcomp> return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 1000, in render return SafeString("".join([node.render_annotated(context) for node in self])) File "/app/.heroku/python/lib/python3.11/site-packages/django/test/utils.py", line 111, in instrumented_test_render return self.nodelist.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/base.py", line 171, in render return self._render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 92, in rendered_content return template.render(context, self._request) File "/app/.heroku/python/lib/python3.11/site-packages/django/template/response.py", line 114, in render self.content = self.rendered_content File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 220, in _get_response response = response.render() File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py", line 72, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) [Previous line repeated 1 more time] File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/staticfiles.py", line 114, in process_request response = super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/headers.py", line 46, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/timer.py", line 65, in process_request return super().process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/panels/__init__.py", line 204, in process_request return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/middleware.py", line 58, in __call__ response = toolbar.process_request(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py", line 36, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py", line 14, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py", line 56, in __call__ result = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 23, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/rawdata/middleware.py", line 57, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py", line 124, in __call__ return self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/utils/deprecation.py", line 134, in __call__ response = response or self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/base.py", line 140, in get_response response = self._middleware_chain(request) File "/app/.heroku/python/lib/python3.11/site-packages/django/core/handlers/wsgi.py", line 124, in __call__ response = self.get_response(request) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 178, in handle_request respiter = self.wsgi(environ, resp.start_response) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 135, in handle self.handle_request(listener, req, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 32, in accept self.handle(listener, client, addr) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 70, in run_for_one self.accept(listener) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py", line 126, in run self.run_for_one(timeout) File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py", line 142, in init_process self.run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker worker.init_process() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 642, in spawn_workers self.spawn_worker() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 571, in manage_workers self.spawn_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py", line 202, in run self.manage_workers() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 72, in run Arbiter(self).run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py", line 236, in run super().run() File "/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 67, in run WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run() File "/app/.heroku/python/bin/gunicorn", line 8, in <module> sys.exit(run()) ', 'Nested Loop (cost=0.00..2.02 rows=1 width=1830) Join Filter: (socialaccount_socialapp.id = socialaccount_socialapp_sites.socialapp_id) -> Seq Scan on socialaccount_socialapp_sites (cost=0.00..1.01 rows=1 width=4) Filter: (site_id = 1) -> Seq Scan on socialaccount_socialapp (cost=0.00..1.01 rows=2 width=1830) Filter: (((provider)::text = ''google''::text) OR ((provider_id)::text = ''google''::text))') RETURNING "silk_sqlquery"."id"
9.08

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(167)
  models.SQLQuery.objects.bulk_create(sql_queries)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in bulk_create(248)
  return super().bulk_create(*args, **kwargs)

RELEASE SAVEPOINT "s140641677437824_x6"RELEASE SAVEPOINT "s140641677437824_x6"
34.00

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(167)
  models.SQLQuery.objects.bulk_create(sql_queries)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(80)
  with self._recreate_cm():

/app/.heroku/python/lib/python3.11/site-packages/django/utils/asyncio.py in inner(26)
  return func(*args, **kwargs)

SELECT "silk_sqlquery"."id",
       "silk_sqlquery"."query",
       "silk_sqlquery"."start_time",
       "silk_sqlquery"."end_time",
       "silk_sqlquery"."time_taken",
       "silk_sqlquery"."identifier",
       "silk_sqlquery"."request_id",
       "silk_sqlquery"."traceback",
       "silk_sqlquery"."analysis"
  FROM "silk_sqlquery"
 WHERE "silk_sqlquery"."request_id" = 'da89b381-d607-4496-a7b0-695bf743adec'
SELECT ••• FROM "silk_sqlquery" WHERE "silk_sqlquery"."request_id" = 'da89b381-d607-4496-a7b0-695bf743adec'
3.49

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(133)
  collector.finalise()

/app/.heroku/python/lib/python3.11/site-packages/silk/collector.py in finalise(169)
  for sql_query in sql_queries.all():

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

UPDATE "silk_request"
   SET "path" = '/accounts/signup/',
       "query_params" = '{"next": "/dispensaries/562/"}',
       "raw_body" = '',
       "body" = '',
       "method" = 'GET',
       "start_time" = '2024-09-20T06:24:22.597091+00:00'::timestamptz,
       "view_name" = 'accounts-signup',
       "end_time" = '2024-09-20T06:24:23.255703+00:00'::timestamptz,
       "time_taken" = 658.612,
       "encoded_headers" = '{"host": "app.jointcommerce.com", "connection": "close", "accept": "*/*", "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "cookie": "********************", "accept-encoding": "gzip, br, zstd, deflate", "x-request-id": "bc04de1e-d1d5-4da6-8b2d-3f90f5dfb072", "x-forwarded-for": "3.140.196.185", "x-forwarded-proto": "https", "x-forwarded-port": "443", "via": "1.1 vegur", "connect-time": "0", "x-request-start": "1726813462593", "total-route-time": "0"}',
       "meta_time" = NULL,
       "meta_num_queries" = NULL,
       "meta_time_spent_queries" = NULL,
       "pyprofile" = '',
       "prof_file" = '',
       "num_sql_queries" = 2
 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
UPDATE "silk_request" SET "path" = '/accounts/signup/', "query_params" = '{"next": "/dispensaries/562/"}', "raw_body" = '', "body" = '', "method" = 'GET', "start_time" = '2024-09-20T06:24:22.597091+00:00'::timestamptz, "view_name" = 'accounts-signup', "end_time" = '2024-09-20T06:24:23.255703+00:00'::timestamptz, "time_taken" = 658.612, "encoded_headers" = '{"host": "app.jointcommerce.com", "connection": "close", "accept": "*/*", "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)", "cookie": "********************", "accept-encoding": "gzip, br, zstd, deflate", "x-request-id": "bc04de1e-d1d5-4da6-8b2d-3f90f5dfb072", "x-forwarded-for": "3.140.196.185", "x-forwarded-proto": "https", "x-forwarded-port": "443", "via": "1.1 vegur", "connect-time": "0", "x-request-start": "1726813462593", "total-route-time": "0"}', "meta_time" = NULL, "meta_num_queries" = NULL, "meta_time_spent_queries" = NULL, "pyprofile" = '', "prof_file" = '', "num_sql_queries" = 2 WHERE "silk_request"."id" = 'da89b381-d607-4496-a7b0-695bf743adec'
1.59

Connection: default

Transaction status: In transaction

/app/.heroku/python/bin/gunicorn in <module>(8)
  sys.exit(run())

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py in run(67)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(236)
  super().run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in run(202)
  self.manage_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in manage_workers(571)
  self.spawn_workers()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_workers(642)
  self.spawn_worker()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/arbiter.py in spawn_worker(609)
  worker.init_process()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/base.py in init_process(142)
  self.run()

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run(126)
  self.run_for_one(timeout)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in run_for_one(70)
  self.accept(listener)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in accept(32)
  self.handle(listener, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle(135)
  self.handle_request(listener, req, client, addr)

/app/.heroku/python/lib/python3.11/site-packages/gunicorn/workers/sync.py in handle_request(178)
  respiter = self.wsgi(environ, resp.start_response)

/app/.heroku/python/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(57)
  return self.get_response(request)

/app/rawdata/middleware.py in __call__(23)
  return self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/corsheaders/middleware.py in __call__(56)
  result = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/allauth/account/middleware.py in __call__(14)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/htmlmin/middleware.py in __call__(36)
  response = self.get_response(request)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in __call__(74)
  response = self.process_response(request, response)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in process_response(151)
  self._process_response(request, response)

/app/.heroku/python/lib/python3.11/contextlib.py in inner(81)
  return func(*args, **kwds)

/app/.heroku/python/lib/python3.11/site-packages/silk/middleware.py in _process_response(144)
  silk_request.save()

/app/.heroku/python/lib/python3.11/site-packages/silk/models.py in save(203)
  super().save(*args, **kwargs)

/app/.heroku/python/lib/python3.11/site-packages/silk/sql.py in execute_sql(89)
  return self._execute_sql(*args, **kwargs)

Static files (400 found, 26 used)

Static file path

  1. /app/static

Static file apps

  1. jazzmin
  2. django.contrib.admin
  3. django_summernote
  4. django_quill
  5. debug_toolbar
  6. allauth.socialaccount.providers.facebook
  7. reversion_compare
  8. import_export
  9. silk
  10. rest_framework

Static files

directory/img/favicon.ico
None
directory/img/photo/homepage/jointcommerce-background.webp
None
directory/vendor/jquery/jquery.min.js
None
directory/vendor/bootstrap/js/bootstrap.bundle.min.js
None
directory/vendor/magnific-popup/jquery.magnific-popup.min.js
None
directory/img/photo/homepage/jointcommerce-background.png
None
directory/img/photo/homepage/jointcommerce-background.webp
None
directory/vendor/nouislider/nouislider.css
None
directory/vendor/magnific-popup/magnific-popup.css
None
directory/css/style.green.min.css
None
directory/css/custom.css
None
directory/css/search.css
None
directory/img/cartochrome-logo-icon-transparent.png
None
directory/img/jointcommerce_logo_short.png
None
directory/img/photo/homepage/jointcommerce-background.png
None
directory/icons/orion-svg-sprite.svg
None
directory/vendor/smooth-scroll/smooth-scroll.polyfills.min.js
None
directory/vendor/bootstrap-select/js/bootstrap-select.min.js
None
directory/vendor/object-fit-images/ofi.min.js
None
directory/js/theme.js
None
directory/img/marker.svg
None
directory/img/marker-hover.svg
None
directory/vendor/object-fit-images/ofi.min.js
None
directory/js/map-layers.js
None
directory/js/map-category.js
None
directory/js/map-detail.js
None

django.contrib.staticfiles.finders.AppDirectoriesFinder (400 files)

Path Location
vendor/adminlte/img/AdminLTELogo.png /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/img/AdminLTELogo.png
vendor/adminlte/img/icons.png /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/img/icons.png
vendor/adminlte/img/user2-160x160.jpg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/img/user2-160x160.jpg
vendor/adminlte/js/adminlte.min.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/js/adminlte.min.js
vendor/adminlte/js/adminlte.min.js.map /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/js/adminlte.min.js.map
vendor/adminlte/css/adminlte.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/css/adminlte.min.css
vendor/adminlte/css/adminlte.min.css.map /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/adminlte/css/adminlte.min.css.map
vendor/fontawesome-free/webfonts/fa-solid-900.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-solid-900.svg
vendor/fontawesome-free/webfonts/fa-solid-900.woff2 /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff2
vendor/fontawesome-free/webfonts/fa-solid-900.eot /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-solid-900.eot
vendor/fontawesome-free/webfonts/fa-brands-400.ttf /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-brands-400.ttf
vendor/fontawesome-free/webfonts/fa-regular-400.woff /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff
vendor/fontawesome-free/webfonts/fa-solid-900.woff /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-solid-900.woff
vendor/fontawesome-free/webfonts/fa-brands-400.woff /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff
vendor/fontawesome-free/webfonts/fa-regular-400.woff2 /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-regular-400.woff2
vendor/fontawesome-free/webfonts/fa-regular-400.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-regular-400.svg
vendor/fontawesome-free/webfonts/fa-brands-400.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-brands-400.svg
vendor/fontawesome-free/webfonts/fa-brands-400.woff2 /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-brands-400.woff2
vendor/fontawesome-free/webfonts/fa-brands-400.eot /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-brands-400.eot
vendor/fontawesome-free/webfonts/fa-regular-400.ttf /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-regular-400.ttf
vendor/fontawesome-free/webfonts/fa-regular-400.eot /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-regular-400.eot
vendor/fontawesome-free/webfonts/fa-solid-900.ttf /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/webfonts/fa-solid-900.ttf
vendor/fontawesome-free/css/all.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/fontawesome-free/css/all.min.css
vendor/select2/js/select2.min.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/select2/js/select2.min.js
vendor/select2/css/select2.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/select2/css/select2.min.css
vendor/bootstrap/js/bootstrap.min.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootstrap/js/bootstrap.min.js
vendor/bootstrap/js/bootstrap.min.js.map /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootstrap/js/bootstrap.min.js.map
vendor/bootswatch/journal/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/journal/bootstrap.min.css
vendor/bootswatch/lux/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/lux/bootstrap.min.css
vendor/bootswatch/default/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/default/bootstrap.min.css
vendor/bootswatch/sandstone/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/sandstone/bootstrap.min.css
vendor/bootswatch/pulse/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/pulse/bootstrap.min.css
vendor/bootswatch/spacelab/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/spacelab/bootstrap.min.css
vendor/bootswatch/united/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/united/bootstrap.min.css
vendor/bootswatch/litera/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/litera/bootstrap.min.css
vendor/bootswatch/yeti/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/yeti/bootstrap.min.css
vendor/bootswatch/cerulean/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/cerulean/bootstrap.min.css
vendor/bootswatch/minty/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/minty/bootstrap.min.css
vendor/bootswatch/cyborg/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/cyborg/bootstrap.min.css
vendor/bootswatch/lumen/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/lumen/bootstrap.min.css
vendor/bootswatch/sketchy/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/sketchy/bootstrap.min.css
vendor/bootswatch/materia/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/materia/bootstrap.min.css
vendor/bootswatch/darkly/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/darkly/bootstrap.min.css
vendor/bootswatch/solar/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/solar/bootstrap.min.css
vendor/bootswatch/simplex/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/simplex/bootstrap.min.css
vendor/bootswatch/slate/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/slate/bootstrap.min.css
vendor/bootswatch/flatly/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/flatly/bootstrap.min.css
vendor/bootswatch/cosmo/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/cosmo/bootstrap.min.css
vendor/bootswatch/superhero/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/vendor/bootswatch/superhero/bootstrap.min.css
admin/js/cancel.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/admin/js/cancel.js
admin/js/popup_response.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/admin/js/popup_response.js
jazzmin/img/calendar-icons.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/calendar-icons.svg
jazzmin/img/icon-calendar.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/icon-calendar.svg
jazzmin/img/selector-icons.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/selector-icons.svg
jazzmin/img/default.jpg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/default.jpg
jazzmin/img/icon-changelink.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/icon-changelink.svg
jazzmin/img/default-log.svg /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/img/default-log.svg
jazzmin/plugins/bootstrap-show-modal/bootstrap-show-modal.min.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/plugins/bootstrap-show-modal/bootstrap-show-modal.min.js
jazzmin/js/ui-builder.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/js/ui-builder.js
jazzmin/js/change_form.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/js/change_form.js
jazzmin/js/main.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/js/main.js
jazzmin/js/related-modal.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/js/related-modal.js
jazzmin/js/change_list.js /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/js/change_list.js
jazzmin/css/main.css /app/.heroku/python/lib/python3.11/site-packages/jazzmin/static/jazzmin/css/main.css
admin/img/inline-delete.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/calendar-icons.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/icon-unknown-alt.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/search.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/README.txt /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/LICENSE /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-viewlink.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/icon-deletelink.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/icon-hidelink.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-hidelink.svg
admin/img/tooltag-arrowright.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/icon-calendar.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/selector-icons.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/icon-clock.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/sorting-icons.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/icon-yes.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/icon-unknown.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/icon-changelink.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/icon-alert.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/tooltag-add.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/icon-no.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/icon-addlink.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/gis/move_vertex_off.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/img/gis/move_vertex_on.svg /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/js/jquery.init.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/urlify.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/cancel.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/theme.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/theme.js
admin/js/nav_sidebar.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/SelectBox.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/change_form.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/filters.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/filters.js
admin/js/prepopulate_init.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/autocomplete.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/calendar.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/core.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/collapse.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/collapse.js
admin/js/popup_response.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectFilter2.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/inlines.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/actions.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/prepopulate.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/vendor/jquery/LICENSE.txt /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
admin/js/vendor/jquery/jquery.min.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/jquery.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/select2/LICENSE.md /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/select2.full.min.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/select2.full.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
admin/js/vendor/select2/i18n/it.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/de.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/th.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/lt.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/tr.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/mk.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/sv.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/sr.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/en.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/ka.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/bg.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/uk.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/fr.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/cs.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/ps.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/ko.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/pt.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/af.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/fa.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js
admin/js/vendor/select2/i18n/ms.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/ru.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/ro.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/is.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/el.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/ne.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/js/vendor/select2/i18n/ja.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/sk.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/et.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/fi.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/sr-Cyrl.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
admin/js/vendor/select2/i18n/bs.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/he.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/es.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/id.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/ca.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/dsb.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/az.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/nl.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/select2/i18n/ar.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/sl.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/eu.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/hi.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/tk.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/hu.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/hr.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/km.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/da.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/lv.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
admin/js/vendor/select2/i18n/hsb.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/pl.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/hy.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/zh-CN.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js
admin/js/vendor/select2/i18n/nb.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/sq.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/select2/i18n/vi.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/pt-BR.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
admin/js/vendor/select2/i18n/zh-TW.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js
admin/js/vendor/select2/i18n/gl.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/bn.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/xregexp/xregexp.min.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/xregexp/LICENSE.txt /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/admin/DateTimeShortcuts.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/css/forms.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/dark_mode.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dark_mode.css
admin/css/dashboard.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/rtl.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/login.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/autocomplete.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/base.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/responsive.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/responsive_rtl.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/nav_sidebar.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/widgets.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/changelists.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/vendor/select2/select2.min.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
admin/css/vendor/select2/LICENSE-SELECT2.md /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/css/vendor/select2/select2.css /app/.heroku/python/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
.DS_Store /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/.DS_Store
summernote/ResizeSensor.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/ResizeSensor.js
summernote/summernote.min.css /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote.min.css
summernote/SOURCE /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/SOURCE
summernote/summernote-bs4.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-bs4.min.js
summernote/summernote.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote.min.js
summernote/summernote-bs4.min.css /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-bs4.min.css
summernote/jquery.ui.widget.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/jquery.ui.widget.js
summernote/jquery.fileupload.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/jquery.fileupload.js
summernote/django_summernote.css /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/django_summernote.css
summernote/summernote-bs5.min.css /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-bs5.min.css
summernote/.DS_Store /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/.DS_Store
summernote/summernote.png /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote.png
summernote/summernote-lite.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-lite.min.js
summernote/jquery.iframe-transport.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/jquery.iframe-transport.js
summernote/summernote-lite.min.css /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-lite.min.css
summernote/summernote-bs5.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/summernote-bs5.min.js
summernote/font/summernote.ttf /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/font/summernote.ttf
summernote/font/summernote.hash /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/font/summernote.hash
summernote/font/summernote.woff /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/font/summernote.woff
summernote/font/summernote.eot /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/font/summernote.eot
summernote/font/summernote.woff2 /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/font/summernote.woff2
summernote/lang/summernote-it-IT.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-it-IT.min.js
summernote/lang/summernote-ru-RU.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ru-RU.min.js
summernote/lang/summernote-mn-MN.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-mn-MN.min.js
summernote/lang/summernote-sk-SK.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-sk-SK.min.js
summernote/lang/summernote-uz-UZ.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-uz-UZ.min.js
summernote/lang/summernote-th-TH.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-th-TH.min.js
summernote/lang/summernote-pt-BR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-pt-BR.min.js
summernote/lang/summernote-en-US.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-en-US.min.js
summernote/lang/summernote-lt-LT.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-lt-LT.min.js
summernote/lang/summernote-ja-JP.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ja-JP.min.js
summernote/lang/summernote-sl-SI.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-sl-SI.min.js
summernote/lang/summernote-hu-HU.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-hu-HU.min.js
summernote/lang/summernote-he-IL.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-he-IL.min.js
summernote/lang/summernote-id-ID.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-id-ID.min.js
summernote/lang/summernote-ko-KR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ko-KR.min.js
summernote/lang/summernote-pl-PL.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-pl-PL.min.js
summernote/lang/summernote-az-AZ.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-az-AZ.min.js
summernote/lang/summernote-de-DE.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-de-DE.min.js
summernote/lang/summernote-hr-HR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-hr-HR.min.js
summernote/lang/summernote-gl-ES.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-gl-ES.min.js
summernote/lang/summernote-sv-SE.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-sv-SE.min.js
summernote/lang/summernote-zh-CN.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-zh-CN.min.js
summernote/lang/summernote-uk-UA.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-uk-UA.min.js
summernote/lang/summernote-ro-RO.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ro-RO.min.js
summernote/lang/summernote-de-CH.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-de-CH.min.js
summernote/lang/summernote-da-DK.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-da-DK.min.js
summernote/lang/summernote-es-ES.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-es-ES.min.js
summernote/lang/summernote-sr-RS-Latin.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-sr-RS-Latin.min.js
summernote/lang/summernote-es-EU.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-es-EU.min.js
summernote/lang/summernote-fa-IR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-fa-IR.min.js
summernote/lang/summernote-fi-FI.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-fi-FI.min.js
summernote/lang/summernote-fr-FR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-fr-FR.min.js
summernote/lang/summernote-zh-TW.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-zh-TW.min.js
summernote/lang/summernote-el-GR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-el-GR.min.js
summernote/lang/summernote-ta-IN.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ta-IN.min.js
summernote/lang/summernote-vi-VN.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-vi-VN.min.js
summernote/lang/summernote-lt-LV.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-lt-LV.min.js
summernote/lang/summernote-sr-RS.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-sr-RS.min.js
summernote/lang/summernote-ca-ES.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ca-ES.min.js
summernote/lang/summernote-bn-BD.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-bn-BD.min.js
summernote/lang/summernote-ar-AR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-ar-AR.min.js
summernote/lang/summernote-cs-CZ.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-cs-CZ.min.js
summernote/lang/summernote-nl-NL.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-nl-NL.min.js
summernote/lang/summernote-tr-TR.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-tr-TR.min.js
summernote/lang/summernote-bg-BG.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-bg-BG.min.js
summernote/lang/summernote-nb-NO.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-nb-NO.min.js
summernote/lang/summernote-pt-PT.min.js /app/.heroku/python/lib/python3.11/site-packages/django_summernote/static/summernote/lang/summernote-pt-PT.min.js
.DS_Store /app/.heroku/python/lib/python3.11/site-packages/django_quill/static/.DS_Store
django_quill/django_quill.js /app/.heroku/python/lib/python3.11/site-packages/django_quill/static/django_quill/django_quill.js
django_quill/django_quill.css /app/.heroku/python/lib/python3.11/site-packages/django_quill/static/django_quill/django_quill.css
debug_toolbar/js/redirect.js /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js
debug_toolbar/js/history.js /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/utils.js /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
debug_toolbar/js/timer.js /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/toolbar.js /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/css/print.css /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css
debug_toolbar/css/toolbar.css /app/.heroku/python/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
facebook/js/fbconnect.js /app/.heroku/python/lib/python3.11/site-packages/allauth/socialaccount/providers/facebook/static/facebook/js/fbconnect.js
reversion_compare.css /app/.heroku/python/lib/python3.11/site-packages/reversion_compare/static/reversion_compare.css
import_export/export.css /app/.heroku/python/lib/python3.11/site-packages/import_export/static/import_export/export.css
import_export/import.css /app/.heroku/python/lib/python3.11/site-packages/import_export/static/import_export/import.css
import_export/guess_format.js /app/.heroku/python/lib/python3.11/site-packages/import_export/static/import_export/guess_format.js
import_export/export_selectable_fields.js /app/.heroku/python/lib/python3.11/site-packages/import_export/static/import_export/export_selectable_fields.js
silk/filter2.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/filter2.png
silk/favicon-32x32.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/favicon-32x32.png
silk/filter.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/filter.png
silk/favicon-16x16.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/favicon-16x16.png
silk/lib/bootstrap-datetimepicker.min.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-datetimepicker.min.js
silk/lib/bootstrap-theme.min.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-theme.min.css
silk/lib/viz-lite.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/viz-lite.js
silk/lib/jquery-3.6.0.min.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/jquery-3.6.0.min.js
silk/lib/svg-pan-zoom.min.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/svg-pan-zoom.min.js
silk/lib/bootstrap.min.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap.min.js
silk/lib/jquery.datetimepicker.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/jquery.datetimepicker.css
silk/lib/jquery.datetimepicker.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/jquery.datetimepicker.js
silk/lib/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap.min.css
silk/lib/jquery-ui-1.13.1.min.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/jquery-ui-1.13.1.min.js
silk/lib/jquery-ui-1.13.1.min.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/jquery-ui-1.13.1.min.css
silk/lib/bootstrap-datetimepicker.min.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/bootstrap-datetimepicker.min.css
silk/lib/sortable.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/sortable.js
silk/lib/highlight/highlight.pack.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/highlight/highlight.pack.js
silk/lib/highlight/foundation.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/highlight/foundation.css
silk/lib/images/ui-bg_diagonals-thick_20_666666_40x40.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_diagonals-thick_20_666666_40x40.png
silk/lib/images/ui-bg_diagonals-thick_18_b81900_40x40.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_diagonals-thick_18_b81900_40x40.png
silk/lib/images/ui-icons_444444_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_444444_256x240.png
silk/lib/images/ui-icons_555555_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_555555_256x240.png
silk/lib/images/ui-bg_glass_100_fdf5ce_1x400.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_100_fdf5ce_1x400.png
silk/lib/images/animated-overlay.gif /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/animated-overlay.gif
silk/lib/images/ui-icons_222222_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_222222_256x240.png
silk/lib/images/ui-bg_glass_100_f6f6f6_1x400.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_100_f6f6f6_1x400.png
silk/lib/images/ui-bg_highlight-soft_100_eeeeee_1x100.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
silk/lib/images/ui-bg_highlight-soft_75_ffe45c_1x100.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
silk/lib/images/ui-icons_cc0000_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_cc0000_256x240.png
silk/lib/images/ui-bg_gloss-wave_35_f6a828_500x100.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_gloss-wave_35_f6a828_500x100.png
silk/lib/images/ui-icons_228ef1_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_228ef1_256x240.png
silk/lib/images/ui-icons_777620_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_777620_256x240.png
silk/lib/images/ui-icons_ffd27a_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ffd27a_256x240.png
silk/lib/images/ui-bg_glass_65_ffffff_1x400.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_glass_65_ffffff_1x400.png
silk/lib/images/ui-icons_ffffff_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ffffff_256x240.png
silk/lib/images/ui-bg_flat_10_000000_40x100.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-bg_flat_10_000000_40x100.png
silk/lib/images/ui-icons_777777_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_777777_256x240.png
silk/lib/images/ui-icons_ef8c08_256x240.png /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/lib/images/ui-icons_ef8c08_256x240.png
silk/fonts/glyphicons-halflings-regular.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.woff
silk/fonts/glyphicons-halflings-regular.svg /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.svg
silk/fonts/glyphicons-halflings-regular.ttf /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.ttf
silk/fonts/glyphicons-halflings-regular.woff2 /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.woff2
silk/fonts/glyphicons-halflings-regular.eot /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/glyphicons-halflings-regular.eot
silk/fonts/fantasque/FantasqueSansMono-Regular.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-Regular.woff
silk/fonts/fantasque/FantasqueSansMono-Bold.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-Bold.woff
silk/fonts/fantasque/FantasqueSansMono-BoldItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-BoldItalic.woff
silk/fonts/fantasque/FantasqueSansMono-RegItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fantasque/FantasqueSansMono-RegItalic.woff
silk/fonts/fira/FiraSans-LightItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-LightItalic.woff
silk/fonts/fira/FiraSans-BoldItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-BoldItalic.woff
silk/fonts/fira/FiraSans-Bold.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Bold.woff
silk/fonts/fira/FiraSans-Medium.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Medium.woff
silk/fonts/fira/FiraSans-RegularItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-RegularItalic.woff
silk/fonts/fira/FiraSans-Light.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Light.woff
silk/fonts/fira/FiraSans-Regular.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-Regular.woff
silk/fonts/fira/FiraSans-MediumItalic.woff /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/fonts/fira/FiraSans-MediumItalic.woff
silk/js/pages/requests.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/requests.js
silk/js/pages/summary.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/summary.js
silk/js/pages/request.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/request.js
silk/js/pages/clear_db.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/clear_db.js
silk/js/pages/profile_detail.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/profile_detail.js
silk/js/pages/raw.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/raw.js
silk/js/pages/root_base.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/root_base.js
silk/js/pages/sql_detail.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/sql_detail.js
silk/js/pages/profiling.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/profiling.js
silk/js/pages/base.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/base.js
silk/js/pages/detail_base.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/pages/detail_base.js
silk/js/components/filters.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/components/filters.js
silk/js/components/cell.js /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/js/components/cell.js
silk/css/pages/sql_detail.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/sql_detail.css
silk/css/pages/sql.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/sql.css
silk/css/pages/profiling.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/profiling.css
silk/css/pages/summary.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/summary.css
silk/css/pages/base.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/base.css
silk/css/pages/detail_base.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/detail_base.css
silk/css/pages/raw.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/raw.css
silk/css/pages/profile_detail.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/profile_detail.css
silk/css/pages/cprofile.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/cprofile.css
silk/css/pages/requests.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/requests.css
silk/css/pages/root_base.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/root_base.css
silk/css/pages/clear_db.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/clear_db.css
silk/css/pages/request.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/pages/request.css
silk/css/components/heading.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/heading.css
silk/css/components/summary.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/summary.css
silk/css/components/colors.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/colors.css
silk/css/components/numeric.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/numeric.css
silk/css/components/fonts.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/fonts.css
silk/css/components/row.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/row.css
silk/css/components/cell.css /app/.heroku/python/lib/python3.11/site-packages/silk/static/silk/css/components/cell.css
rest_framework/docs/img/grid.png /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/img/grid.png
rest_framework/docs/img/favicon.ico /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/img/favicon.ico
rest_framework/docs/js/highlight.pack.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/highlight.pack.js
rest_framework/docs/js/jquery.json-view.min.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/jquery.json-view.min.js
rest_framework/docs/js/api.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/js/api.js
rest_framework/docs/css/jquery.json-view.min.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/jquery.json-view.min.css
rest_framework/docs/css/highlight.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/highlight.css
rest_framework/docs/css/base.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/docs/css/base.css
rest_framework/img/glyphicons-halflings-white.png /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/glyphicons-halflings-white.png
rest_framework/img/grid.png /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/grid.png
rest_framework/img/glyphicons-halflings.png /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/img/glyphicons-halflings.png
rest_framework/fonts/glyphicons-halflings-regular.woff /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.woff
rest_framework/fonts/fontawesome-webfont.woff /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.woff
rest_framework/fonts/glyphicons-halflings-regular.svg /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.svg
rest_framework/fonts/fontawesome-webfont.eot /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.eot
rest_framework/fonts/glyphicons-halflings-regular.ttf /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.ttf
rest_framework/fonts/fontawesome-webfont.ttf /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.ttf
rest_framework/fonts/fontawesome-webfont.svg /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/fontawesome-webfont.svg
rest_framework/fonts/glyphicons-halflings-regular.woff2 /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.woff2
rest_framework/fonts/glyphicons-halflings-regular.eot /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/fonts/glyphicons-halflings-regular.eot
rest_framework/js/ajax-form.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/ajax-form.js
rest_framework/js/prettify-min.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/prettify-min.js
rest_framework/js/default.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/default.js
rest_framework/js/bootstrap.min.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/bootstrap.min.js
rest_framework/js/csrf.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/csrf.js
rest_framework/js/jquery-3.7.1.min.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/jquery-3.7.1.min.js
rest_framework/js/load-ajax-form.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/load-ajax-form.js
rest_framework/js/coreapi-0.1.1.js /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/js/coreapi-0.1.1.js
rest_framework/css/bootstrap-theme.min.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-theme.min.css
rest_framework/css/default.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/default.css
rest_framework/css/bootstrap-tweaks.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-tweaks.css
rest_framework/css/bootstrap.min.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap.min.css
rest_framework/css/font-awesome-4.0.3.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/font-awesome-4.0.3.css
rest_framework/css/bootstrap.min.css.map /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap.min.css.map
rest_framework/css/bootstrap-theme.min.css.map /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/bootstrap-theme.min.css.map
rest_framework/css/prettify.css /app/.heroku/python/lib/python3.11/site-packages/rest_framework/static/rest_framework/css/prettify.css

Templates (30 rendered)

Template path

  1. /app/templates

Templates

directory/accounts/signup.html
/app/templates/directory/accounts/signup.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>}
directory/accounts/base.html
/app/templates/directory/accounts/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>}
directory/partials/head.html
/app/templates/directory/partials/head.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>} {'block': <Block Node: head. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression "'directory/partials/head.html'">>, <TextNode: '\n '>, <Block Node: meta. Contents: [<TextNode: '\n '>]>, <TextNode: '\n '>]>}
directory/partials/css.html
/app/templates/directory/partials/css.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>} {'block': <Block Node: css. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression "'directory/partials/css.html'">>, <TextNode: '\n '>]>}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425510>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425510>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425510>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425510>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425c90>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425c90>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425c90>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe992425c90>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b850>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b850>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b850>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b850>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924a19d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924a19d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924a19d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924a19d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924643d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924643d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924643d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe9924643d0>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/field.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/field.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b410>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text_and_errors.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text_and_errors.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b410>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/field_errors_block.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/field_errors_block.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b410>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
bootstrap5/layout/help_text.html
/app/.heroku/python/lib/python3.11/site-packages/crispy_bootstrap5/templates/bootstrap5/layout/help_text.html
Toggle context {'False': False, 'None': None, 'True': True} {'field': <django.forms.boundfield.BoundField object at 0x7fe99244b410>, 'field_class': '', 'form_show_errors': True, 'form_show_labels': True, 'label_class': ''}
directory/partials/javascript.html
/app/templates/directory/partials/javascript.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>} {'block': <Block Node: javascript. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression "'directory/partials/javascript.html'">>, <TextNode: '\n '>]>}
directory/partials/javascript_end.html
/app/templates/directory/partials/javascript_end.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'ENVIRONMENT': 'development', 'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>, 'is_agency_member': False, 'main_pages': '<<queryset of main.MainPage>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>), 'request': '<<request>>', 'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>} {'form': <SignUpForm bound=False, valid=Unknown, fields=(email;first_name;last_name;username;password1;password2)>, 'view': <accounts.views.SignUpView object at 0x7fe9924db590>} {'block': <Block Node: javascript_end. Contents: [<TextNode: '\n '>, <IncludeNode: template=<FilterExpression "'directory/partials/javascript_end.html'">>, <TextNode: '\n '>]>}

Context processors

django.template.context_processors.csrf
Toggle context {'csrf_token': <SimpleLazyObject: 'PwvTMZcdvQjkkb2kbxDKg9qe9sXzs4ltreYYdXuL8GQ54UlZaYYewGG2Wt6jLT13'>}
django.template.context_processors.debug
Toggle context {}
django.template.context_processors.request
Toggle context {'request': <WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>}
django.contrib.auth.context_processors.auth
Toggle context {'user': <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>, 'perms': PermWrapper(<SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x7fe9924280d0>>)}
django.contrib.messages.context_processors.messages
Toggle context {'messages': <FallbackStorage: request=<WSGIRequest: GET '/accounts/signup/?next=%2Fdispensaries%2F562%2F'>>, 'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30, 'ERROR': 40}}
_jointcommerce.context_processors.main_pages
Toggle context {'main_pages': <QuerySet []>}
_jointcommerce.context_processors.agency_membership
Toggle context {'is_agency_member': False}
_jointcommerce.context_processors.google_analytics_env
Toggle context {'ENVIRONMENT': 'development'}

Cache calls from 1 backend

Summary

Total calls Total time Cache hits Cache misses
0 0 ms 0 0

Commands

add get set get_or_set touch delete clear get_many set_many delete_many has_key incr decr incr_version decr_version
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Signals

Signal Receivers
class_prepared
connection_created
got_request_exception
m2m_changed
post_delete delete_associated_periods, handle_traffic_delete
post_init ModelSignalRouter.post_init_receiver
post_migrate create_permissions, create_contenttypes, create_default_site
post_save ModelSignalRouter.post_save_receiver, update_dow_cdn, update_dow_ccdn, update_dow, create_campaign_group_period, update_campaign_group_period_dates, update_campaign_group_period_end_date, create_user_profile, save_user_profile, handle_traffic_post_save
pre_delete clear_site_cache
pre_init
pre_migrate inject_rename_contenttypes_operations
pre_save clear_site_cache, handle_traffic_pre_save, detect_location_change
request_finished close_caches, close_old_connections, reset_urlconf
request_started reset_queries, close_old_connections
setting_changed reset_cache, clear_cache_handlers, update_installed_apps, update_connections_time_zone, clear_routers_cache, reset_template_engines, storages_changed, clear_serializers_cache, language_changed, localize_settings_changed, file_storage_changed, complex_setting_changed, root_urlconf_changed, static_storage_changed, static_finders_changed, auth_password_validators_changed, user_model_swapped, update_toolbar_config, Settings.change_setting, reset_hashers, FileSystemStorage._clear_cached_properties, ProfilerResultStorage._clear_cached_properties, update_level_tags, clear_caches, reload_api_settings, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, FileSystemStorage._clear_cached_properties, StaticFilesStorage._clear_cached_properties