File: /home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/core/cjs/hub.js.map
{"version":3,"file":"hub.js","sources":["../../src/hub.ts"],"sourcesContent":["/* eslint-disable max-lines */\nimport type {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n Session,\n SessionContext,\n Severity,\n SeverityLevel,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport { consoleSandbox, dateTimestampInSeconds, getGlobalSingleton, GLOBAL_OBJ, logger, uuid4 } from '@sentry/utils';\n\nimport { DEFAULT_ENVIRONMENT } from './constants';\nimport { Scope } from './scope';\nimport { closeSession, makeSession, updateSession } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\nexport interface RunWithAsyncContextOptions {\n /** Whether to reuse an existing async context if one exists. Defaults to false. */\n reuseExisting?: boolean;\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Strategy used to track async context.\n */\nexport interface AsyncContextStrategy {\n /**\n * Gets the current async context. Returns undefined if there is no current async context.\n */\n getCurrentHub: () => Hub | undefined;\n /**\n * Runs the supplied callback in its own async context.\n */\n runWithAsyncContext<T>(callback: () => T, options: RunWithAsyncContextOptions): T;\n}\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n client?: Client;\n scope: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: {\n hub?: Hub;\n acs?: AsyncContextStrategy;\n /**\n * Extra Hub properties injected by various SDKs\n */\n integrations?: Integration[];\n extensions?: {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this._stack = [{ scope }];\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient<C extends Client>(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n public captureException(exception: unknown, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error('Sentry syntheticException');\n this._withClient((client, scope) => {\n client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(\n message: string,\n // eslint-disable-next-line deprecation/deprecation\n level?: Severity | SeverityLevel,\n hint?: EventHint,\n ): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n const syntheticException = new Error(message);\n this._withClient((client, scope) => {\n client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId,\n },\n scope,\n );\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (!event.type) {\n this._lastEventId = eventId;\n }\n\n this._withClient((client, scope) => {\n client.captureEvent(event, { ...hint, event_id: eventId }, scope);\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!client) return;\n\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n if (client.emit) {\n client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n }\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n this.getScope().setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n this.getScope().setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n this.getScope().setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n this.getScope().setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n this.getScope().setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n this.getScope().setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration<T extends Integration>(integration: IntegrationClass<T>): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n __DEBUG_BUILD__ && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n const result = this._callExtensionMethod<Transaction>('startTransaction', context, customSamplingContext);\n\n if (__DEBUG_BUILD__ && !result) {\n const client = this.getClient();\n if (!client) {\n // eslint-disable-next-line no-console\n console.warn(\n \"Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'\",\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n`);\n }\n }\n\n return result;\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(endSession: boolean = false): void {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const layer = this.getStackTop();\n const scope = layer.scope;\n const session = scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n scope.setSession();\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n const { scope, client } = this.getStackTop();\n const { release, environment = DEFAULT_ENVIRONMENT } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n user: scope.getUser(),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n\n return session;\n }\n\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n public shouldSendDefaultPii(): boolean {\n const client = this.getClient();\n const options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n\n /**\n * Sends the current Session on the scope\n */\n private _sendSessionUpdate(): void {\n const { scope, client } = this.getStackTop();\n\n const session = scope.getSession();\n if (session && client && client.captureSession) {\n client.captureSession(session);\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n private _withClient(callback: (client: Client, scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (client) {\n callback(client, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod<T>(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n __DEBUG_BUILD__ && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return GLOBAL_OBJ;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n const hub = registry.__SENTRY__.acs.getCurrentHub();\n\n if (hub) {\n return hub;\n }\n }\n\n // Return hub that lives on a global object\n return getGlobalHub(registry);\n}\n\nfunction getGlobalHub(registry: Carrier = getMainCarrier()): Hub {\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * If the carrier does not contain a hub, a new hub is created with the global hub client and scope.\n */\nexport function ensureHubOnCarrier(carrier: Carrier, parent: Hub = getGlobalHub()): void {\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(carrier) || getHubFromCarrier(carrier).isOlderThan(API_VERSION)) {\n const globalHubTopStack = parent.getStackTop();\n setHubOnCarrier(carrier, new Hub(globalHubTopStack.client, Scope.clone(globalHubTopStack.scope)));\n }\n}\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nexport function setAsyncContextStrategy(strategy: AsyncContextStrategy | undefined): void {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n registry.__SENTRY__ = registry.__SENTRY__ || {};\n registry.__SENTRY__.acs = strategy;\n}\n\n/**\n * Runs the supplied callback in its own async context. Async Context strategies are defined per SDK.\n *\n * @param callback The callback to run in its own async context\n * @param options Options to pass to the async context strategy\n * @returns The result of the callback\n */\nexport function runWithAsyncContext<T>(callback: () => T, options: RunWithAsyncContextOptions = {}): T {\n const registry = getMainCarrier();\n\n if (registry.__SENTRY__ && registry.__SENTRY__.acs) {\n return registry.__SENTRY__.acs.runWithAsyncContext(callback, options);\n }\n\n // if there was no strategy, fallback to just calling the callback\n return callback();\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n return getGlobalSingleton<Hub>('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n"],"names":["scope","Scope","uuid4","dateTimestampInSeconds","consoleSandbox","logger","session","closeSession","DEFAULT_ENVIRONMENT","GLOBAL_OBJ","makeSession","updateSession","getGlobalSingleton"],"mappings":";;;;;;;AA4BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,WAAA,GAAA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA,MAAA,mBAAA,GAAA,GAAA,CAAA;;AAoDA;AACA;AACA;AACA,MAAA,GAAA,EAAA;AACA;;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAA,WAAA,CAAA,MAAA,EAAAA,OAAA,GAAA,IAAAC,WAAA,EAAA,IAAA,QAAA,GAAA,WAAA,EAAA,CAAA,IAAA,CAAA,QAAA,GAAA,QAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA,GAAA,CAAA,SAAAD,OAAA,EAAA,CAAA,CAAA;AACA,IAAA,IAAA,MAAA,EAAA;AACA,MAAA,IAAA,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,WAAA,CAAA,OAAA,EAAA;AACA,IAAA,OAAA,IAAA,CAAA,QAAA,GAAA,OAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,UAAA,CAAA,MAAA,EAAA;AACA,IAAA,MAAA,GAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,GAAA,CAAA,MAAA,GAAA,MAAA,CAAA;AACA,IAAA,IAAA,MAAA,IAAA,MAAA,CAAA,iBAAA,EAAA;AACA,MAAA,MAAA,CAAA,iBAAA,EAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,SAAA,GAAA;AACA;AACA,IAAA,MAAAA,OAAA,GAAAC,WAAA,CAAA,KAAA,CAAA,IAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,IAAA,CAAA;AACA,MAAA,MAAA,EAAA,IAAA,CAAA,SAAA,EAAA;AACA,aAAAD,OAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAA,OAAAA,OAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,QAAA,GAAA;AACA,IAAA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,MAAA,IAAA,CAAA,EAAA,OAAA,KAAA,CAAA;AACA,IAAA,OAAA,CAAA,CAAA,IAAA,CAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,SAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,KAAA,GAAA,IAAA,CAAA,SAAA,EAAA,CAAA;AACA,IAAA,IAAA;AACA,MAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAA,SAAA;AACA,MAAA,IAAA,CAAA,QAAA,EAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,SAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,WAAA,EAAA,CAAA,MAAA,EAAA;AACA,GAAA;AACA;AACA;AACA,GAAA,QAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,WAAA,EAAA,CAAA,KAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,GAAA,QAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,MAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,GAAA,WAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,gBAAA,CAAA,SAAA,EAAA,IAAA,EAAA;AACA,IAAA,MAAA,OAAA,IAAA,IAAA,CAAA,YAAA,GAAA,IAAA,IAAA,IAAA,CAAA,QAAA,GAAA,IAAA,CAAA,QAAA,GAAAE,WAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,IAAA,KAAA,CAAA,2BAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,CAAA,CAAA,MAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,CAAA,gBAAA;AACA,QAAA,SAAA;AACA,QAAA;AACA,UAAA,iBAAA,EAAA,SAAA;AACA,UAAA,kBAAA;AACA,UAAA,GAAA,IAAA;AACA,UAAA,QAAA,EAAA,OAAA;AACA,SAAA;AACA,QAAA,KAAA;AACA,OAAA,CAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAA,OAAA,OAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,cAAA;AACA,IAAA,OAAA;AACA;AACA,IAAA,KAAA;AACA,IAAA,IAAA;AACA,IAAA;AACA,IAAA,MAAA,OAAA,IAAA,IAAA,CAAA,YAAA,GAAA,IAAA,IAAA,IAAA,CAAA,QAAA,GAAA,IAAA,CAAA,QAAA,GAAAA,WAAA,EAAA,CAAA,CAAA;AACA,IAAA,MAAA,kBAAA,GAAA,IAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,CAAA,CAAA,MAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,CAAA,cAAA;AACA,QAAA,OAAA;AACA,QAAA,KAAA;AACA,QAAA;AACA,UAAA,iBAAA,EAAA,OAAA;AACA,UAAA,kBAAA;AACA,UAAA,GAAA,IAAA;AACA,UAAA,QAAA,EAAA,OAAA;AACA,SAAA;AACA,QAAA,KAAA;AACA,OAAA,CAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAA,OAAA,OAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,YAAA,CAAA,KAAA,EAAA,IAAA,EAAA;AACA,IAAA,MAAA,OAAA,GAAA,IAAA,IAAA,IAAA,CAAA,QAAA,GAAA,IAAA,CAAA,QAAA,GAAAA,WAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,CAAA,IAAA,EAAA;AACA,MAAA,IAAA,CAAA,YAAA,GAAA,OAAA,CAAA;AACA,KAAA;AACA;AACA,IAAA,IAAA,CAAA,WAAA,CAAA,CAAA,MAAA,EAAA,KAAA,KAAA;AACA,MAAA,MAAA,CAAA,YAAA,CAAA,KAAA,EAAA,EAAA,GAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AACA,KAAA,CAAA,CAAA;AACA,IAAA,OAAA,OAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,WAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,YAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,aAAA,CAAA,UAAA,EAAA,IAAA,EAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA;AACA,IAAA,IAAA,CAAA,MAAA,EAAA,OAAA;AACA;AACA,IAAA,MAAA,EAAA,gBAAA,GAAA,IAAA,EAAA,cAAA,GAAA,mBAAA,EAAA;AACA,MAAA,CAAA,MAAA,CAAA,UAAA,IAAA,MAAA,CAAA,UAAA,EAAA,KAAA,EAAA,CAAA;AACA;AACA,IAAA,IAAA,cAAA,IAAA,CAAA,EAAA,OAAA;AACA;AACA,IAAA,MAAA,SAAA,GAAAC,4BAAA,EAAA,CAAA;AACA,IAAA,MAAA,gBAAA,GAAA,EAAA,SAAA,EAAA,GAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA,eAAA,GAAA,gBAAA;AACA,SAAAC,oBAAA,CAAA,MAAA,gBAAA,CAAA,gBAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,gBAAA,CAAA;AACA;AACA,IAAA,IAAA,eAAA,KAAA,IAAA,EAAA,OAAA;AACA;AACA,IAAA,IAAA,MAAA,CAAA,IAAA,EAAA;AACA,MAAA,MAAA,CAAA,IAAA,CAAA,qBAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;AACA,KAAA;AACA;AACA,IAAA,KAAA,CAAA,aAAA,CAAA,eAAA,EAAA,cAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,OAAA,CAAA,IAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,OAAA,CAAA,IAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,SAAA,CAAA,MAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,SAAA,CAAA,MAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,MAAA,CAAA,GAAA,EAAA,KAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,MAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,QAAA,CAAA,GAAA,EAAA,KAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,QAAA,CAAA,GAAA,EAAA,KAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAA,UAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AACA,IAAA,IAAA,CAAA,QAAA,EAAA,CAAA,UAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,cAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,IAAA,MAAA,EAAA;AACA,MAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,GAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AACA,IAAA,IAAA;AACA,MAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AACA,KAAA,SAAA;AACA,MAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,cAAA,CAAA,WAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,SAAA,EAAA,CAAA;AACA,IAAA,IAAA,CAAA,MAAA,EAAA,OAAA,IAAA,CAAA;AACA,IAAA,IAAA;AACA,MAAA,OAAA,MAAA,CAAA,cAAA,CAAA,WAAA,CAAA,CAAA;AACA,KAAA,CAAA,OAAA,GAAA,EAAA;AACA,MAAA,CAAA,OAAA,gBAAA,KAAA,WAAA,IAAA,gBAAA,KAAAC,YAAA,CAAA,IAAA,CAAA,CAAA,4BAAA,EAAA,WAAA,CAAA,EAAA,CAAA,qBAAA,CAAA,CAAA,CAAA;AACA,MAAA,OAAA,IAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,gBAAA,CAAA,OAAA,EAAA,qBAAA,EAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,oBAAA,CAAA,kBAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,CAAA;AACA;AACA,IAAA,IAAA,iEAAA,CAAA,MAAA,EAAA;AACA,MAAA,MAAA,MAAA,GAAA,IAAA,CAAA,SAAA,EAAA,CAAA;AACA,MAAA,IAAA,CAAA,MAAA,EAAA;AACA;AACA,QAAA,OAAA,CAAA,IAAA;AACA,UAAA,8GAAA;AACA,SAAA,CAAA;AACA,OAAA,MAAA;AACA;AACA,QAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA;AACA;AACA,CAAA,CAAA,CAAA;AACA,OAAA;AACA,KAAA;AACA;AACA,IAAA,OAAA,MAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,YAAA,GAAA;AACA,IAAA,OAAA,IAAA,CAAA,oBAAA,CAAA,cAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,cAAA,CAAA,UAAA,GAAA,KAAA,EAAA;AACA;AACA,IAAA,IAAA,UAAA,EAAA;AACA,MAAA,OAAA,IAAA,CAAA,UAAA,EAAA,CAAA;AACA,KAAA;AACA;AACA;AACA,IAAA,IAAA,CAAA,kBAAA,EAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,UAAA,GAAA;AACA,IAAA,MAAA,KAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,KAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AACA,IAAA,MAAAC,SAAA,GAAA,KAAA,CAAA,UAAA,EAAA,CAAA;AACA,IAAA,IAAAA,SAAA,EAAA;AACA,MAAAC,oBAAA,CAAAD,SAAA,CAAA,CAAA;AACA,KAAA;AACA,IAAA,IAAA,CAAA,kBAAA,EAAA,CAAA;AACA;AACA;AACA,IAAA,KAAA,CAAA,UAAA,EAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,YAAA,CAAA,OAAA,EAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,OAAA,EAAA,WAAA,GAAAE,6BAAA,EAAA,GAAA,CAAA,MAAA,IAAA,MAAA,CAAA,UAAA,EAAA,KAAA,EAAA,CAAA;AACA;AACA;AACA,IAAA,MAAA,EAAA,SAAA,EAAA,GAAAC,gBAAA,CAAA,SAAA,IAAA,EAAA,CAAA;AACA;AACA,IAAA,MAAAH,SAAA,GAAAI,mBAAA,CAAA;AACA,MAAA,OAAA;AACA,MAAA,WAAA;AACA,MAAA,IAAA,EAAA,KAAA,CAAA,OAAA,EAAA;AACA,MAAA,IAAA,SAAA,IAAA,EAAA,SAAA,EAAA,CAAA;AACA,MAAA,GAAA,OAAA;AACA,KAAA,CAAA,CAAA;AACA;AACA;AACA,IAAA,MAAA,cAAA,GAAA,KAAA,CAAA,UAAA,IAAA,KAAA,CAAA,UAAA,EAAA,CAAA;AACA,IAAA,IAAA,cAAA,IAAA,cAAA,CAAA,MAAA,KAAA,IAAA,EAAA;AACA,MAAAC,qBAAA,CAAA,cAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,CAAA;AACA,KAAA;AACA,IAAA,IAAA,CAAA,UAAA,EAAA,CAAA;AACA;AACA;AACA,IAAA,KAAA,CAAA,UAAA,CAAAL,SAAA,CAAA,CAAA;AACA;AACA,IAAA,OAAAA,SAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA;AACA,GAAA,oBAAA,GAAA;AACA,IAAA,MAAA,MAAA,GAAA,IAAA,CAAA,SAAA,EAAA,CAAA;AACA,IAAA,MAAA,OAAA,GAAA,MAAA,IAAA,MAAA,CAAA,UAAA,EAAA,CAAA;AACA,IAAA,OAAA,OAAA,CAAA,OAAA,IAAA,OAAA,CAAA,cAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA,GAAA,kBAAA,GAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA;AACA,IAAA,MAAA,OAAA,GAAA,KAAA,CAAA,UAAA,EAAA,CAAA;AACA,IAAA,IAAA,OAAA,IAAA,MAAA,IAAA,MAAA,CAAA,cAAA,EAAA;AACA,MAAA,MAAA,CAAA,cAAA,CAAA,OAAA,CAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAA,WAAA,CAAA,QAAA,EAAA;AACA,IAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,IAAA,MAAA,EAAA;AACA,MAAA,QAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAA,oBAAA,CAAA,MAAA,EAAA,GAAA,IAAA,EAAA;AACA,IAAA,MAAA,OAAA,GAAA,cAAA,EAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,OAAA,CAAA,UAAA,CAAA;AACA,IAAA,IAAA,MAAA,IAAA,MAAA,CAAA,UAAA,IAAA,OAAA,MAAA,CAAA,UAAA,CAAA,MAAA,CAAA,KAAA,UAAA,EAAA;AACA,MAAA,OAAA,MAAA,CAAA,UAAA,CAAA,MAAA,CAAA,CAAA,KAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACA,KAAA;AACA,IAAA,CAAA,OAAA,gBAAA,KAAA,WAAA,IAAA,gBAAA,KAAAD,YAAA,CAAA,IAAA,CAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,kCAAA,CAAA,CAAA,CAAA;AACA,GAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,cAAA,GAAA;AACA,EAAAI,gBAAA,CAAA,UAAA,GAAAA,gBAAA,CAAA,UAAA,IAAA;AACA,IAAA,UAAA,EAAA,EAAA;AACA,IAAA,GAAA,EAAA,SAAA;AACA,GAAA,CAAA;AACA,EAAA,OAAAA,gBAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,QAAA,CAAA,GAAA,EAAA;AACA,EAAA,MAAA,QAAA,GAAA,cAAA,EAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,iBAAA,CAAA,QAAA,CAAA,CAAA;AACA,EAAA,eAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA;AACA,EAAA,OAAA,MAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,aAAA,GAAA;AACA;AACA,EAAA,MAAA,QAAA,GAAA,cAAA,EAAA,CAAA;AACA;AACA,EAAA,IAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,EAAA;AACA,IAAA,MAAA,GAAA,GAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,aAAA,EAAA,CAAA;AACA;AACA,IAAA,IAAA,GAAA,EAAA;AACA,MAAA,OAAA,GAAA,CAAA;AACA,KAAA;AACA,GAAA;AACA;AACA;AACA,EAAA,OAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA,SAAA,YAAA,CAAA,QAAA,GAAA,cAAA,EAAA,EAAA;AACA;AACA,EAAA,IAAA,CAAA,eAAA,CAAA,QAAA,CAAA,IAAA,iBAAA,CAAA,QAAA,CAAA,CAAA,WAAA,CAAA,WAAA,CAAA,EAAA;AACA,IAAA,eAAA,CAAA,QAAA,EAAA,IAAA,GAAA,EAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,EAAA,OAAA,iBAAA,CAAA,QAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,kBAAA,CAAA,OAAA,EAAA,MAAA,GAAA,YAAA,EAAA,EAAA;AACA;AACA,EAAA,IAAA,CAAA,eAAA,CAAA,OAAA,CAAA,IAAA,iBAAA,CAAA,OAAA,CAAA,CAAA,WAAA,CAAA,WAAA,CAAA,EAAA;AACA,IAAA,MAAA,iBAAA,GAAA,MAAA,CAAA,WAAA,EAAA,CAAA;AACA,IAAA,eAAA,CAAA,OAAA,EAAA,IAAA,GAAA,CAAA,iBAAA,CAAA,MAAA,EAAAR,WAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACA,GAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,uBAAA,CAAA,QAAA,EAAA;AACA;AACA,EAAA,MAAA,QAAA,GAAA,cAAA,EAAA,CAAA;AACA,EAAA,QAAA,CAAA,UAAA,GAAA,QAAA,CAAA,UAAA,IAAA,EAAA,CAAA;AACA,EAAA,QAAA,CAAA,UAAA,CAAA,GAAA,GAAA,QAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,mBAAA,CAAA,QAAA,EAAA,OAAA,GAAA,EAAA,EAAA;AACA,EAAA,MAAA,QAAA,GAAA,cAAA,EAAA,CAAA;AACA;AACA,EAAA,IAAA,QAAA,CAAA,UAAA,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,EAAA;AACA,IAAA,OAAA,QAAA,CAAA,UAAA,CAAA,GAAA,CAAA,mBAAA,CAAA,QAAA,EAAA,OAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA;AACA,EAAA,OAAA,QAAA,EAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,eAAA,CAAA,OAAA,EAAA;AACA,EAAA,OAAA,CAAA,EAAA,OAAA,IAAA,OAAA,CAAA,UAAA,IAAA,OAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,iBAAA,CAAA,OAAA,EAAA;AACA,EAAA,OAAAW,wBAAA,CAAA,KAAA,EAAA,MAAA,IAAA,GAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,eAAA,CAAA,OAAA,EAAA,GAAA,EAAA;AACA,EAAA,IAAA,CAAA,OAAA,EAAA,OAAA,KAAA,CAAA;AACA,EAAA,MAAA,UAAA,IAAA,OAAA,CAAA,UAAA,GAAA,OAAA,CAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AACA,EAAA,UAAA,CAAA,GAAA,GAAA,GAAA,CAAA;AACA,EAAA,OAAA,IAAA,CAAA;AACA;;;;;;;;;;;;;"}