@atproto/oauth-provider-ui 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authorization-page-RSTGg3iW.js +20 -0
- package/dist/authorization-page-RSTGg3iW.js.map +1 -0
- package/dist/bundle-manifest.json +189 -189
- package/dist/error-page-QY8FHhOr.js +2 -0
- package/dist/{error-page-bXZoutM3.js.map → error-page-QY8FHhOr.js.map} +1 -1
- package/dist/{error-view-DUrzON7u.js → error-view-3rFNXZAL.js} +14 -14
- package/dist/error-view-3rFNXZAL.js.map +1 -0
- package/dist/error-view-D2nJsHXB.css +1 -0
- package/dist/messages-1IrU-_Vi.js +2 -0
- package/dist/messages-1IrU-_Vi.js.map +1 -0
- package/dist/messages-4v1Nam8h.js +2 -0
- package/dist/messages-4v1Nam8h.js.map +1 -0
- package/dist/messages-B75WrZJr.js +2 -0
- package/dist/messages-B75WrZJr.js.map +1 -0
- package/dist/messages-B8A3W5Ul.js +2 -0
- package/dist/messages-B8A3W5Ul.js.map +1 -0
- package/dist/messages-BA3akJZw.js +2 -0
- package/dist/messages-BA3akJZw.js.map +1 -0
- package/dist/messages-BP45_OWC.js +2 -0
- package/dist/messages-BP45_OWC.js.map +1 -0
- package/dist/messages-Bv09cv32.js +2 -0
- package/dist/messages-Bv09cv32.js.map +1 -0
- package/dist/messages-BvEGsymN.js +2 -0
- package/dist/messages-BvEGsymN.js.map +1 -0
- package/dist/messages-Bzgnq5Tk.js +2 -0
- package/dist/messages-Bzgnq5Tk.js.map +1 -0
- package/dist/messages-C0z-SNig.js +2 -0
- package/dist/messages-C0z-SNig.js.map +1 -0
- package/dist/messages-C5LyUDEz.js +2 -0
- package/dist/messages-C5LyUDEz.js.map +1 -0
- package/dist/messages-C7tVmlQS.js +2 -0
- package/dist/messages-C7tVmlQS.js.map +1 -0
- package/dist/messages-CS8z4ihZ.js +2 -0
- package/dist/messages-CS8z4ihZ.js.map +1 -0
- package/dist/messages-CcR-3cp2.js +2 -0
- package/dist/messages-CcR-3cp2.js.map +1 -0
- package/dist/messages-CoHfWL1D.js +2 -0
- package/dist/messages-CoHfWL1D.js.map +1 -0
- package/dist/messages-Cro0v3rI.js +2 -0
- package/dist/messages-Cro0v3rI.js.map +1 -0
- package/dist/messages-CwE3gAfq.js +2 -0
- package/dist/messages-CwE3gAfq.js.map +1 -0
- package/dist/messages-CwJv_fQs.js +2 -0
- package/dist/messages-CwJv_fQs.js.map +1 -0
- package/dist/messages-Czj9Py78.js +2 -0
- package/dist/messages-Czj9Py78.js.map +1 -0
- package/dist/messages-D6WiBBde.js +2 -0
- package/dist/messages-D6WiBBde.js.map +1 -0
- package/dist/messages-D9auq5jB.js +2 -0
- package/dist/messages-D9auq5jB.js.map +1 -0
- package/dist/messages-DAMzu2TX.js +2 -0
- package/dist/messages-DAMzu2TX.js.map +1 -0
- package/dist/messages-DH4DM5Sn.js +2 -0
- package/dist/messages-DH4DM5Sn.js.map +1 -0
- package/dist/messages-DJc1APbG.js +2 -0
- package/dist/messages-DJc1APbG.js.map +1 -0
- package/dist/messages-DLhyuCf_.js +2 -0
- package/dist/messages-DLhyuCf_.js.map +1 -0
- package/dist/messages-DV36V9jH.js +2 -0
- package/dist/messages-DV36V9jH.js.map +1 -0
- package/dist/messages-DiYwcD9u.js +2 -0
- package/dist/messages-DiYwcD9u.js.map +1 -0
- package/dist/messages-DqYJdZHM.js +2 -0
- package/dist/messages-DqYJdZHM.js.map +1 -0
- package/dist/messages-KnJQiomY.js +2 -0
- package/dist/messages-KnJQiomY.js.map +1 -0
- package/dist/messages-MTSVfqk-.js +2 -0
- package/dist/messages-MTSVfqk-.js.map +1 -0
- package/dist/messages-P9tooA-S.js +2 -0
- package/dist/messages-P9tooA-S.js.map +1 -0
- package/dist/messages-V2Gis-Rz.js +2 -0
- package/dist/messages-V2Gis-Rz.js.map +1 -0
- package/dist/messages-eQS9zEPK.js +2 -0
- package/dist/messages-eQS9zEPK.js.map +1 -0
- package/dist/messages-lD5uWYft.js +2 -0
- package/dist/messages-lD5uWYft.js.map +1 -0
- package/dist/messages-pb2Vb2bd.js +2 -0
- package/dist/messages-pb2Vb2bd.js.map +1 -0
- package/hydration-data.d.ts +5 -0
- package/package.json +4 -4
- package/dist/authorization-page-CyAyumVs.js +0 -20
- package/dist/authorization-page-CyAyumVs.js.map +0 -1
- package/dist/error-page-bXZoutM3.js +0 -2
- package/dist/error-view-DS5XiOpj.css +0 -1
- package/dist/error-view-DUrzON7u.js.map +0 -1
- package/dist/messages-B3rpZGRv.js +0 -2
- package/dist/messages-B3rpZGRv.js.map +0 -1
- package/dist/messages-B9X0j8I-.js +0 -2
- package/dist/messages-B9X0j8I-.js.map +0 -1
- package/dist/messages-BTVVmEh0.js +0 -2
- package/dist/messages-BTVVmEh0.js.map +0 -1
- package/dist/messages-BU0V4pCU.js +0 -2
- package/dist/messages-BU0V4pCU.js.map +0 -1
- package/dist/messages-BVuHMC2H.js +0 -2
- package/dist/messages-BVuHMC2H.js.map +0 -1
- package/dist/messages-BWIrapH2.js +0 -2
- package/dist/messages-BWIrapH2.js.map +0 -1
- package/dist/messages-BchLDXfj.js +0 -2
- package/dist/messages-BchLDXfj.js.map +0 -1
- package/dist/messages-Bpn7N6Qi.js +0 -2
- package/dist/messages-Bpn7N6Qi.js.map +0 -1
- package/dist/messages-BpnG_OYK.js +0 -2
- package/dist/messages-BpnG_OYK.js.map +0 -1
- package/dist/messages-BqJMElJo.js +0 -2
- package/dist/messages-BqJMElJo.js.map +0 -1
- package/dist/messages-C-gMn814.js +0 -2
- package/dist/messages-C-gMn814.js.map +0 -1
- package/dist/messages-C23FBKvv.js +0 -2
- package/dist/messages-C23FBKvv.js.map +0 -1
- package/dist/messages-CBDyjrHs.js +0 -2
- package/dist/messages-CBDyjrHs.js.map +0 -1
- package/dist/messages-CL1b1U_L.js +0 -2
- package/dist/messages-CL1b1U_L.js.map +0 -1
- package/dist/messages-CMy_HzIQ.js +0 -2
- package/dist/messages-CMy_HzIQ.js.map +0 -1
- package/dist/messages-CPrpE1ht.js +0 -2
- package/dist/messages-CPrpE1ht.js.map +0 -1
- package/dist/messages-CRutWsk7.js +0 -2
- package/dist/messages-CRutWsk7.js.map +0 -1
- package/dist/messages-CYtED4Sl.js +0 -2
- package/dist/messages-CYtED4Sl.js.map +0 -1
- package/dist/messages-CoD97dui.js +0 -2
- package/dist/messages-CoD97dui.js.map +0 -1
- package/dist/messages-CxrCz47I.js +0 -2
- package/dist/messages-CxrCz47I.js.map +0 -1
- package/dist/messages-D01bKxJo.js +0 -2
- package/dist/messages-D01bKxJo.js.map +0 -1
- package/dist/messages-D6LNmbor.js +0 -2
- package/dist/messages-D6LNmbor.js.map +0 -1
- package/dist/messages-D8Mnxu0P.js +0 -2
- package/dist/messages-D8Mnxu0P.js.map +0 -1
- package/dist/messages-D8g_Q9Hi.js +0 -2
- package/dist/messages-D8g_Q9Hi.js.map +0 -1
- package/dist/messages-DGfWp-BE.js +0 -2
- package/dist/messages-DGfWp-BE.js.map +0 -1
- package/dist/messages-DLWRixZ5.js +0 -2
- package/dist/messages-DLWRixZ5.js.map +0 -1
- package/dist/messages-D_nGiw5n.js +0 -2
- package/dist/messages-D_nGiw5n.js.map +0 -1
- package/dist/messages-DnFVO4qs.js +0 -2
- package/dist/messages-DnFVO4qs.js.map +0 -1
- package/dist/messages-NrUhYP3Q.js +0 -2
- package/dist/messages-NrUhYP3Q.js.map +0 -1
- package/dist/messages-X3YF0HQt.js +0 -2
- package/dist/messages-X3YF0HQt.js.map +0 -1
- package/dist/messages-Xg8v1JKA.js +0 -2
- package/dist/messages-Xg8v1JKA.js.map +0 -1
- package/dist/messages-YsFhIwiE.js +0 -2
- package/dist/messages-YsFhIwiE.js.map +0 -1
- package/dist/messages-bj1o1IOU.js +0 -2
- package/dist/messages-bj1o1IOU.js.map +0 -1
- package/dist/messages-d81ppd39.js +0 -2
- package/dist/messages-d81ppd39.js.map +0 -1
- package/dist/messages-wGM5sIcq.js +0 -2
- package/dist/messages-wGM5sIcq.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-page-CyAyumVs.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@5.0.0_react@19.0.0/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../src/components/layouts/layout-title-page.tsx","../src/lib/util.ts","../src/hooks/use-api.ts","../src/hooks/use-bound-dispatch.ts","../src/components/utils/client-image.tsx","../src/components/forms/button.tsx","../src/hooks/use-click-outside.ts","../src/hooks/use-escape-key.ts","../src/components/utils/description-card.tsx","../../oauth-scopes/dist/scope-missing-error.js","../../oauth-scopes/dist/lib/util.js","../../oauth-scopes/dist/syntax.js","../../oauth-scopes/dist/parser.js","../../oauth-scopes/dist/resources/account-scope.js","../../oauth-scopes/dist/lib/mime.js","../../oauth-scopes/dist/resources/blob-scope.js","../../oauth-scopes/dist/resources/identity-scope.js","../../oauth-scopes/dist/lib/nsid.js","../../oauth-scopes/dist/resources/repo-scope.js","../../oauth-scopes/dist/lib/did.js","../../oauth-scopes/dist/resources/rpc-scope.js","../../oauth-scopes/dist/utilities.js","../../oauth-scopes/dist/scopes-set.js","../../oauth-scopes/dist/permission-set.js","../../oauth-scopes/dist/permission-set-transition.js","../../oauth-scopes/dist/index.js","../src/components/forms/checkbox.tsx","../src/components/utils/scope-description.tsx","../src/components/forms/form-card.tsx","../src/components/utils/account-identifier.tsx","../src/lib/oauth-client.ts","../src/components/utils/url-viewer.tsx","../src/components/utils/client-name.tsx","../src/views/authorize/consent/consent-form.tsx","../src/views/authorize/consent/consent-view.tsx","../src/components/forms/fieldset.tsx","../src/hooks/use-async-action.ts","../src/components/forms/form-card-async.tsx","../src/lib/password.ts","../src/components/utils/password-strength-label.tsx","../src/components/utils/password-strength-meter.tsx","../src/lib/ref.ts","../src/components/forms/button-toggle-visibility.tsx","../src/components/forms/input-container.tsx","../src/components/forms/input-text.tsx","../src/components/forms/input-password.tsx","../src/components/forms/input-new-password.tsx","../src/components/forms/input-token.tsx","../src/views/authorize/reset-password/reset-password-confirm-form.tsx","../src/components/forms/input-email-address.tsx","../src/views/authorize/reset-password/reset-password-request-form.tsx","../src/views/authorize/reset-password/reset-password-view.tsx","../src/components/forms/input-checkbox.tsx","../src/views/authorize/sign-in/sign-in-form.tsx","../src/components/utils/account-image.tsx","../src/views/authorize/sign-in/sign-in-picker.tsx","../src/views/authorize/sign-in/sign-in-view.tsx","../src/hooks/use-stepper.ts","../src/components/forms/wizard-card.tsx","../src/components/utils/help-card.tsx","../src/views/authorize/sign-up/sign-up-account-form.tsx","../src/views/authorize/sign-up/sign-up-disclaimer.tsx","../src/views/authorize/sign-up/sign-up-handle-form.tsx","../../../../node_modules/.pnpm/@babel+runtime@7.22.10/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/.pnpm/@babel+runtime@7.22.10/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/.pnpm/@babel+runtime@7.22.10/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../../node_modules/.pnpm/@hcaptcha+loader@1.2.4/node_modules/@hcaptcha/loader/dist/index.mjs","../../../../node_modules/.pnpm/@hcaptcha+react-hcaptcha@1.11.2_react-dom@19.0.0_react@19.0.0/node_modules/@hcaptcha/react-hcaptcha/dist/esm/utils.js","../../../../node_modules/.pnpm/@hcaptcha+react-hcaptcha@1.11.2_react-dom@19.0.0_react@19.0.0/node_modules/@hcaptcha/react-hcaptcha/dist/esm/constants.js","../../../../node_modules/.pnpm/@hcaptcha+react-hcaptcha@1.11.2_react-dom@19.0.0_react@19.0.0/node_modules/@hcaptcha/react-hcaptcha/dist/esm/index.js","../src/hooks/use-browser-color-scheme.ts","../src/views/authorize/sign-up/sign-up-hcaptcha-form.tsx","../src/views/authorize/sign-up/sign-up-view.tsx","../src/views/authorize/welcome/welcome-view.tsx","../src/views/authorize/authorize-view.tsx","../src/authorization-page.tsx"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { clsx } from 'clsx'\nimport { JSX, ReactNode } from 'react'\nimport type { CustomizationData } from '@atproto/oauth-provider-api'\nimport { Override } from '../../lib/util.ts'\nimport { LocaleSelector } from '../../locales/locale-selector.tsx'\n\nexport type LayoutTitlePageProps = Override<\n JSX.IntrinsicElements['div'],\n {\n customizationData?: CustomizationData\n title?: ReactNode\n htmlTitle?: string\n subtitle?: ReactNode\n }\n>\n\nexport function LayoutTitlePage({\n customizationData,\n title,\n subtitle,\n htmlTitle = typeof title === 'string' ? title : undefined,\n\n // div\n className,\n children,\n ...props\n}: LayoutTitlePageProps) {\n return (\n <div\n {...props}\n className={clsx(\n className,\n 'flex flex-col items-center',\n 'md:flex md:flex-row md:items-center md:justify-stretch',\n 'min-w-screen min-h-screen',\n 'bg-white text-slate-900',\n 'dark:bg-slate-900 dark:text-slate-100',\n )}\n >\n {htmlTitle && <title>{htmlTitle}</title>}\n\n <div\n className={clsx(\n 'px-6 pt-4',\n 'w-full',\n 'md:max-w-lg',\n 'flex flex-row items-start',\n 'md:flex-col md:items-end',\n 'md:self-stretch',\n 'md:max-w-fix md:w-1/2 md:p-4',\n 'md:text-right',\n 'md:dark:border-r md:dark:border-slate-700',\n 'md:bg-slate-100 md:dark:bg-slate-800',\n )}\n >\n <div className=\"grid grow content-center md:justify-items-end\">\n {title && (\n <h1\n key=\"title\"\n className=\"text-primary text-xl font-semibold md:my-4 md:text-2xl lg:text-5xl\"\n >\n {title}\n </h1>\n )}\n\n {subtitle && (\n <p\n key=\"subtitle\"\n className=\"hidden max-w-xs text-slate-600 md:block dark:text-slate-400\"\n >\n {subtitle}\n </p>\n )}\n </div>\n\n <LocaleSelector key=\"localeSelector\" className=\"m-1 md:m-2\" />\n </div>\n\n <main className=\"w-full p-6 md:max-w-3xl md:px-12\">{children}</main>\n </div>\n )\n}\n","export function upsert<T>(\n arr: undefined | readonly T[],\n item: T,\n predicate: (value: T, index: number, obj: readonly T[]) => boolean,\n): T[] {\n if (!arr) return [item]\n const idx = arr.findIndex(predicate)\n return idx === -1\n ? [...arr, item]\n : [...arr.slice(0, idx), item, ...arr.slice(idx + 1)]\n}\n\nexport type Simplify<T> = { [K in keyof T]: T[K] } & NonNullable<unknown>\nexport type Override<T, U> = Simplify<Omit<T, keyof U> & U>\n","import { useLingui } from '@lingui/react/macro'\nimport { useCallback, useState } from 'react'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport type {\n Account,\n ConfirmResetPasswordInput,\n InitiatePasswordResetInput,\n Session,\n SignInInput,\n SignUpInput,\n VerifyHandleAvailabilityInput,\n} from '@atproto/oauth-provider-api'\nimport { Api, UnknownRequestUriError } from '../lib/api.ts'\nimport { upsert } from '../lib/util.ts'\n\n/**\n * Any function wrapped with this helper will automatically show the error\n * boundary when an `UnknownRequestUriError` is thrown. This typically happens\n * in development, or if the user left its browser session open for a (very)\n * long time.\n *\n * @note Requires an error boundary to be present in the component tree.\n */\nfunction useSafeCallback<F extends (...a: any) => any>(fn: F, deps: unknown[]) {\n const { showBoundary } = useErrorBoundary<UnknownRequestUriError>()\n\n return useCallback(\n async (...args: Parameters<F>): Promise<Awaited<ReturnType<F>>> => {\n try {\n return await fn(...args)\n } catch (error) {\n if (error instanceof UnknownRequestUriError) showBoundary(error)\n throw error\n }\n },\n deps.concat(showBoundary),\n )\n}\n\nexport type SessionWithToken = Session & {\n ephemeralToken?: string\n}\n\nexport function useApi({\n sessions: sessionsInit = [],\n onRedirected,\n}: {\n sessions?: readonly Session[]\n onRedirected?: () => void\n}) {\n const [api] = useState(() => new Api())\n const [sessions, setSessions] =\n useState<readonly SessionWithToken[]>(sessionsInit)\n\n const { i18n } = useLingui()\n const { locale } = i18n\n\n const selectSub = useCallback(\n (sub: string | null) => {\n setSessions((sessions) =>\n sub === (sessions.find((s) => s.selected)?.account.sub || null)\n ? sessions\n : sessions.map((s) => ({ ...s, selected: s.account.sub === sub })),\n )\n },\n [setSessions],\n )\n\n const upsertSession = useCallback(\n ({\n account,\n ephemeralToken,\n // The server will tell us if the user needs to consent to the\n // authorization. Defaults to true in case of sign-ups\n consentRequired = true,\n // When a new session is inserted, assume that the user intends to use\n // it, and therefore, it is selected by default.\n selected = true,\n // When a new session is inserted, it is assumed that the user just\n // created the session, and therefore, login is not required.\n loginRequired = false,\n }: { account: Account } & Partial<SessionWithToken>) => {\n const session: SessionWithToken = {\n account,\n ephemeralToken,\n selected,\n loginRequired,\n consentRequired,\n }\n\n setSessions((sessions) =>\n upsert(sessions, session, (s) => s.account.sub === account.sub).map(\n // Make sure to de-select any other selected session (if selected is\n // true)\n (s) =>\n !selected || s === session || !s.selected\n ? s\n : { ...s, selected: false },\n ),\n )\n },\n [setSessions],\n )\n\n const performRedirect = useCallback(\n (url: string | URL) => {\n // @TODO At this point, the request cannot be accepted/rejected anymore.\n // We should probably change the app's state to something that indicates\n // that in order to improve UX in case the user comes back to the app.\n // This is currently ensured by the backend (through back-forward cache\n // busting) but handling it here would provide a better UX.\n\n window.location.href = String(url)\n if (onRedirected) setTimeout(onRedirected)\n },\n [onRedirected],\n )\n\n const doSignIn = useSafeCallback(\n async (data: Omit<SignInInput, 'locale'>, signal?: AbortSignal) => {\n const response = await api.fetch(\n 'POST',\n '/sign-in',\n { ...data, locale },\n { signal },\n )\n upsertSession(response)\n },\n [api, locale, upsertSession],\n )\n\n const doInitiatePasswordReset = useSafeCallback(\n async (\n data: Omit<InitiatePasswordResetInput, 'locale'>,\n signal?: AbortSignal,\n ) => {\n await api.fetch(\n 'POST',\n '/reset-password-request',\n { ...data, locale },\n { signal },\n )\n },\n [api, locale],\n )\n\n const doConfirmResetPassword = useSafeCallback(\n async (data: ConfirmResetPasswordInput, signal?: AbortSignal) => {\n await api.fetch('POST', '/reset-password-confirm', data, { signal })\n },\n [api],\n )\n\n const doValidateNewHandle = useSafeCallback(\n async (data: VerifyHandleAvailabilityInput, signal?: AbortSignal) => {\n await api.fetch('POST', '/verify-handle-availability', data, { signal })\n },\n [api],\n )\n\n const doSignUp = useSafeCallback(\n async (data: Omit<SignUpInput, 'locale'>, signal?: AbortSignal) => {\n const response = await api.fetch(\n 'POST',\n '/sign-up',\n { ...data, locale },\n { signal },\n )\n upsertSession(response)\n },\n [api, locale, upsertSession],\n )\n\n const doConsent = useSafeCallback(\n async (sub: string, scope?: string) => {\n // If \"remember me\" was unchecked, we need to use the ephemeral token to\n // authenticate the request.\n const bearer = sessions.find((s) => s.account.sub === sub)?.ephemeralToken\n const { url } = await api.fetch(\n 'POST',\n '/consent',\n { sub, scope },\n { bearer },\n )\n performRedirect(url)\n },\n [api, sessions, performRedirect],\n )\n\n const doReject = useSafeCallback(async () => {\n const { url } = await api.fetch('POST', '/reject', {})\n performRedirect(url)\n }, [api, performRedirect])\n\n return {\n sessions,\n selectSub,\n\n doSignIn,\n doInitiatePasswordReset,\n doConfirmResetPassword,\n doValidateNewHandle,\n doSignUp,\n doConsent,\n doReject,\n }\n}\n","import { Dispatch, useCallback } from 'react'\n\nexport function useBoundDispatch<A>(dispatch: Dispatch<A>, value: A) {\n return useCallback(() => dispatch(value), [dispatch, value])\n}\n","import { useEffect, useState } from 'react'\nimport type { OAuthClientMetadata } from '@atproto/oauth-types'\nimport { CircleInfoIcon } from './icons'\n\nexport type ClientImageProps = {\n clientId: string\n clientMetadata: OAuthClientMetadata\n clientTrusted: boolean\n}\n\nexport function ClientImage({\n clientId,\n clientMetadata,\n clientTrusted,\n}: ClientImageProps) {\n const [errored, setErrored] = useState(false)\n\n const src = clientTrusted ? clientMetadata.logo_uri : undefined\n const alt = clientMetadata.client_name || clientId\n\n useEffect(() => {\n setErrored(false)\n }, [src])\n\n return src && !errored ? (\n <img\n aria-hidden\n src={src}\n alt={alt}\n className=\"-ml-1 size-8\"\n onError={() => setErrored(true)}\n />\n ) : (\n <div\n aria-hidden\n className=\"bg-primary flex size-8 items-center justify-center overflow-hidden rounded-full text-white\"\n >\n <CircleInfoIcon className=\"size-4\" />\n </div>\n )\n}\n","import { clsx } from 'clsx'\nimport { JSX } from 'react'\nimport { Override } from '../../lib/util.ts'\n\nexport type ButtonProps = Override<\n JSX.IntrinsicElements['button'],\n {\n color?: 'primary' | 'grey'\n loading?: boolean\n transparent?: boolean\n shape?: 'padded' | 'rounded' | 'circle'\n }\n>\n\nexport function Button({\n color = 'grey',\n transparent = false,\n loading = undefined,\n shape = 'rounded',\n\n // button\n children,\n className,\n type = 'button',\n role = 'Button',\n disabled = false,\n ...props\n}: ButtonProps) {\n const actionable = type === 'submit' || props.onClick != null\n\n return (\n <button\n role={role}\n type={type}\n disabled={disabled || loading === true}\n tabIndex={props?.tabIndex ?? (actionable ? 0 : -1)}\n {...props}\n className={clsx(\n 'touch-manipulation overflow-hidden',\n 'truncate tracking-wide',\n actionable ? 'cursor-pointer' : null,\n shape === 'circle' ? 'rounded-full' : 'rounded-md',\n shape === 'circle' ? 'size-8' : null,\n shape === 'rounded'\n ? 'px-6 py-2'\n : shape === 'padded'\n ? 'p-2'\n : undefined,\n 'focus:outline-none focus:ring-2',\n 'transition duration-300 ease-in-out',\n color === 'primary'\n ? clsx(\n 'accent-slate-100',\n 'focus:ring-primary focus:ring-offset-1 focus:ring-offset-white dark:focus:ring-offset-black',\n transparent\n ? 'text-primary bg-transparent'\n : 'bg-primary text-primary-contrast',\n )\n : color === 'grey'\n ? clsx(\n 'accent-primary',\n 'focus:ring-slate-300 dark:focus:ring-slate-500',\n 'text-slate-600 dark:text-slate-300',\n 'hover:bg-gray-200 dark:hover:bg-gray-700',\n transparent ? 'bg-transparent' : 'bg-gray-100 dark:bg-gray-800',\n )\n : undefined,\n 'disabled:opacity-50',\n className,\n )}\n >\n {children}\n </button>\n )\n}\n","import { RefObject, useEffect } from 'react'\n\nexport function useClickOutside(\n ref: RefObject<HTMLElement | null>,\n handler: (event: MouseEvent) => void,\n) {\n useEffect(() => {\n const listener = (event: MouseEvent) => {\n if (\n !event.defaultPrevented &&\n ref.current &&\n !ref.current.contains(event.target as Node)\n ) {\n handler(event)\n }\n }\n\n document.addEventListener('mousedown', listener)\n return () => {\n document.removeEventListener('mousedown', listener)\n }\n }, [ref, handler])\n}\n","import { useEffect } from 'react'\n\nexport function useEscapeKey(callback: () => void) {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n callback()\n }\n }\n\n useEffect(() => {\n window.addEventListener('keydown', handleKeyDown)\n return () => {\n window.removeEventListener('keydown', handleKeyDown)\n }\n }, [callback])\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { HTMLAttributes, ReactNode, useCallback, useRef, useState } from 'react'\nimport { Button } from '#/components/forms/button.tsx'\nimport { useClickOutside } from '#/hooks/use-click-outside'\nimport { useEscapeKey } from '#/hooks/use-escape-key'\nimport { useRandomString } from '#/hooks/use-random-string.ts'\nimport { Override } from '#/lib/util.ts'\nimport { Admonition } from './admonition'\n\nexport type DescriptionCardProps = Override<\n HTMLAttributes<HTMLDivElement>,\n {\n hint?: string\n image: ReactNode\n title?: ReactNode\n description?: ReactNode\n append?: ReactNode\n }\n>\n\nexport function DescriptionCard({\n hint,\n image,\n title,\n description,\n append,\n\n // HTMLDivElement\n className,\n children,\n ...attrs\n}: DescriptionCardProps) {\n const { t } = useLingui()\n const [open, setOpen] = useState(false)\n const close = useCallback(() => setOpen(false), [])\n\n const ref = useRef<HTMLDivElement>(null)\n useEscapeKey(close)\n useClickOutside(ref, close)\n\n const hasChildren = children != null\n const detailsDivId = useRandomString('details-card-')\n\n return (\n <div ref={ref} className={className} {...attrs}>\n <div className={`flex items-center justify-start gap-2`}>\n <div\n className=\"ml-2 flex w-8 flex-grow-0 items-center justify-center\"\n aria-hidden\n >\n {image}\n </div>\n <div\n className={`flex flex-1 flex-col`}\n aria-describedby={hasChildren ? detailsDivId : undefined}\n >\n {title && <h3>{title}</h3>}\n {description && <p className=\"text-sm\">{description}</p>}\n </div>\n {append && (\n <div className=\"flex shrink-0 grow-0 items-center justify-center\">\n {append}\n </div>\n )}\n {hasChildren && (\n <Button\n onClick={(event) => {\n if (!event.defaultPrevented) {\n event.preventDefault()\n setOpen((prev) => !prev)\n }\n }}\n shape=\"circle\"\n title={hint ?? t`Toggle details`}\n aria-expanded={open}\n aria-label={open ? t`Collapse details` : hint ?? t`Expand details`}\n aria-haspopup=\"true\"\n aria-controls={detailsDivId}\n >\n ?\n </Button>\n )}\n </div>\n {hasChildren && (\n <Admonition\n className=\"mt-4\"\n hidden={!open}\n id={detailsDivId}\n aria-hidden={!open}\n >\n {children}\n </Admonition>\n )}\n </div>\n )\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeMissingError = void 0;\nclass ScopeMissingError extends Error {\n get statusCode() {\n return this.status;\n }\n constructor(scope) {\n super(`Missing required scope \"${scope}\"`);\n Object.defineProperty(this, \"scope\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: scope\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ScopeMissingError'\n });\n // compatibility layer with http-errors package. The goal if to make\n // isHttpError(new ScopeMissingError) return true.\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 403\n });\n Object.defineProperty(this, \"expose\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: true\n });\n }\n}\nexports.ScopeMissingError = ScopeMissingError;\n//# sourceMappingURL=scope-missing-error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.minIdx = minIdx;\nexports.toRecord = toRecord;\nfunction minIdx(a, b) {\n if (a === -1)\n return b;\n if (b === -1)\n return a;\n return Math.min(a, b);\n}\nfunction toRecord(iterable) {\n const record = Object.create(null);\n for (const [key, value] of iterable) {\n if (Object.hasOwn(record, key)) {\n record[key].push(value);\n }\n else {\n record[key] = [value];\n }\n }\n return record;\n}\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ALLOWED_SCOPE_CHARS = exports.ResourceSyntax = void 0;\nexports.isScopeForResource = isScopeForResource;\nexports.formatScope = formatScope;\nexports.encodeScope = encodeScope;\nexports.encodeScopeComponent = encodeScopeComponent;\nexports.normalizeScopeComponent = normalizeScopeComponent;\nconst util_1 = require(\"./lib/util\");\n/**\n * Allows to quickly check if a scope is for a specific resource.\n */\nfunction isScopeForResource(scope, resource) {\n if (!scope.startsWith(resource))\n return false;\n if (scope.length === resource.length)\n return true;\n const nextCharCode = scope.charCodeAt(resource.length);\n return nextCharCode === 0x3a /* : */ || nextCharCode === 0x3f; /* ? */\n}\n/**\n * Utility class to parse and interpret the resource scope syntax used in\n * atproto oauth scopes.\n * The syntax is defined as follows:\n * ```nbf\n * scope := resource [':' positional] ['?' params]\n * params := param ['&' param]*\n * param := name '=' value\n * ```\n * Where \"positional\" can be used as short-hand (i.e. not used in combination\n * with) for a specific parameter.\n */\nclass ResourceSyntax {\n constructor(resource, positional, params) {\n Object.defineProperty(this, \"resource\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: resource\n });\n Object.defineProperty(this, \"positional\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: positional\n });\n Object.defineProperty(this, \"params\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: params\n });\n }\n is(resource) {\n return this.resource === resource;\n }\n containsParamsOtherThan(allowedParam) {\n const { params } = this;\n if (params) {\n for (const key of params.keys()) {\n if (!allowedParam.includes(key))\n return true;\n }\n }\n return false;\n }\n /**\n * Retrieve the value of a parameter that only allows a single value. If the\n * parameter is not found, it will return `undefined`. If the syntax is\n * incorrect (i.e. the parameter has multiple values), it will return `null`.\n */\n getSingle(name, isPositional = false) {\n const { params } = this;\n const values = params != null && params.has(name)\n ? params.getAll(name)\n : undefined;\n if (!values) {\n // No named parameter found, use positional parameter\n if (isPositional)\n return this.positional;\n return undefined;\n }\n if (values.length !== 1) {\n // Single value expected\n return null;\n }\n if (isPositional && this.positional !== undefined) {\n // Positional parameter cannot be used with named parameters\n return null;\n }\n return values[0];\n }\n getMulti(name, isPositional = false) {\n const { params } = this;\n const values = params != null && params.has(name)\n ? params.getAll(name)\n : undefined;\n if (!values) {\n // No named parameter found, use positional parameter\n if (isPositional && this.positional !== undefined) {\n return [this.positional];\n }\n return undefined;\n }\n if (isPositional && this.positional !== undefined) {\n // @NOTE we *could* return [this.positional, ...values] here but the\n // atproto scope syntax forbids use of both positional and named\n // parameters.\n return null;\n }\n return values;\n }\n toString() {\n return encodeScope(this.resource, this.positional, this.params);\n }\n toJSON() {\n return {\n resource: this.resource,\n positional: this.positional,\n params: this.params?.size ? (0, util_1.toRecord)(this.params) : undefined,\n };\n }\n static fromString(scope) {\n const paramIdx = scope.indexOf('?');\n const colonIdx = scope.indexOf(':');\n const resourceEnd = (0, util_1.minIdx)(paramIdx, colonIdx);\n const resource = (resourceEnd !== -1 ? scope.slice(0, resourceEnd) : scope);\n const positional = colonIdx !== -1\n ? // There is a positional parameter, extract it\n paramIdx === -1\n ? decodeURIComponent(scope.slice(colonIdx + 1))\n : colonIdx < paramIdx\n ? decodeURIComponent(scope.slice(colonIdx + 1, paramIdx))\n : undefined\n : undefined;\n const params = paramIdx !== -1 // There is a query string\n ? paramIdx === scope.length - 1\n ? undefined // The query string is empty\n : new URLSearchParams(scope.slice(paramIdx + 1))\n : undefined;\n return new ResourceSyntax(resource, positional, params);\n }\n}\nexports.ResourceSyntax = ResourceSyntax;\n/**\n * Format a scope string for a resource with parameters\n * as a positional parameter, if possible (if it has only one value).\n * @param resource - The resource name (e.g. `rpc`, `repo`, etc.)\n * @param inputParams - The list of parameters.\n * @param positionalName - The name of the parameter that should be used as\n * positional parameter.\n */\nfunction formatScope(resource, inputParams, positionalName) {\n const queryParams = new URLSearchParams();\n let positionalValue = undefined;\n for (const [name, value] of inputParams) {\n if (value === undefined)\n continue;\n const setPositional = name === positionalName && positionalValue === undefined;\n if (typeof value === 'string') {\n if (setPositional) {\n positionalValue = value;\n }\n else {\n queryParams.append(name, value);\n }\n }\n else {\n // value is \"readonly [string, ...string[]]\"\n if (value.length === 0) {\n // This should never happen (because \"value\" is supposed to be a\n // non-empty array). Because some scope default to \"*\" (allow\n // everything) when a parameter is not specified, we'd rather be safe\n // here.\n throw new Error(`Invalid scope: parameter \"${name}\" cannot be an empty array`);\n }\n else if (setPositional && value.length === 1) {\n positionalValue = value[0];\n }\n else {\n for (const v of value) {\n queryParams.append(name, v);\n }\n }\n }\n }\n // Fool-proof: If the input iterable defines multiple times the same\n // positional parameter (name), and it ended up being used as both positional\n // and query param, move the positional value to the query params.\n if (positionalValue !== undefined && queryParams.has(positionalName)) {\n queryParams.append(positionalName, positionalValue);\n positionalValue = undefined;\n }\n return encodeScope(resource, positionalValue, queryParams);\n}\nfunction encodeScope(resource, positional, params) {\n let scope = resource;\n if (positional !== undefined) {\n scope += `:${encodeScopeComponent(positional)}`;\n }\n if (params?.size) {\n scope += `?${normalizeScopeComponent(params.toString())}`;\n }\n return scope;\n}\n/**\n * Set of characters that are allowed in scope components without encoding. This\n * is used to normalize scope components.\n */\nexports.ALLOWED_SCOPE_CHARS = new Set(\n// @NOTE This list must not contain \"?\" or \"&\" as it would interfere with\n// query string parsing.\n[':', '/', '+', ',', '@', '%']);\nfunction encodeScopeComponent(value) {\n return normalizeScopeComponent(encodeURIComponent(value));\n}\nconst NORMALIZABLE_CHARS_MAP = new Map(Array.from(exports.ALLOWED_SCOPE_CHARS, (c) => [encodeURIComponent(c), c]).filter(([encoded, c]) => \n// Make sure that any char added to ALLOWED_SCOPE_CHARS that is a char\n// that indeed needs encoding. Also, the normalizeScopeComponent only\n// supports three-character percent-encoded sequences.\nencoded !== c && encoded.length === 3 && encoded.startsWith('%')));\n/**\n * Assumes a properly url-encoded string.\n */\nfunction normalizeScopeComponent(value) {\n // No need to read the last two characters since percent encoded characters\n // are always three characters long.\n let end = value.length - 2;\n for (let i = 0; i < end; i++) {\n // Check if the character is a percent-encoded character\n if (value.charCodeAt(i) === 0x25 /* % */) {\n // Read the next encoded char. Current version only supports\n // three-character percent-encoded sequences.\n const encodedChar = value.slice(i, i + 3);\n // Check if the encoded character is in the normalization map\n const normalizedChar = NORMALIZABLE_CHARS_MAP.get(encodedChar);\n if (normalizedChar) {\n // Replace the encoded character with its normalized version\n value = `${value.slice(0, i)}${normalizedChar}${value.slice(i + encodedChar.length)}`;\n // Adjust index to account for the length change\n i += normalizedChar.length - 1;\n // Adjust end index since we replaced encoded char with normalized char\n end -= encodedChar.length - normalizedChar.length;\n }\n }\n }\n return value;\n}\n//# sourceMappingURL=syntax.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parser = void 0;\nexports.knownValuesValidator = knownValuesValidator;\nconst syntax_js_1 = require(\"./syntax.js\");\nclass Parser {\n constructor(resource, schema, positionalName) {\n Object.defineProperty(this, \"resource\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: resource\n });\n Object.defineProperty(this, \"schema\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: schema\n });\n Object.defineProperty(this, \"positionalName\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: positionalName\n });\n Object.defineProperty(this, \"schemaKeys\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.schemaKeys = Object.keys(schema);\n }\n format(values) {\n // Build params\n const params = [];\n for (const key of this.schemaKeys) {\n const value = values[key];\n // Ignore undefined values\n if (value === undefined)\n continue;\n const schema = this.schema[key];\n // @TODO: when the value is an array, we could remove duplicates\n // Normalize the value if a normalization function is provided\n const normalized = schema.normalize\n ? schema.normalize(value)\n : value;\n // Ignore values that are equal to the default value\n if (!schema.required) {\n if (schema.default === normalized)\n continue;\n if (schema.multiple &&\n schema.default &&\n arrayParamEquals(schema.default, normalized)) {\n continue;\n }\n }\n params.push([key, normalized]);\n }\n return (0, syntax_js_1.formatScope)(this.resource, params, this.positionalName);\n }\n parse(syntax) {\n if (!syntax.is(this.resource))\n return null;\n if (syntax.containsParamsOtherThan(this.schemaKeys))\n return null;\n const result = Object.create(null);\n for (const key of this.schemaKeys) {\n const definition = this.schema[key];\n const value = definition.multiple\n ? syntax.getMulti(key, key === this.positionalName)\n : syntax.getSingle(key, key === this.positionalName);\n if (value === null)\n return null; // Value is not valid\n if (value === undefined && definition.required)\n return null;\n if (value !== undefined && definition.validate) {\n if (definition.multiple) {\n if (!value.every(definition.validate)) {\n return null;\n }\n }\n else {\n if (!definition.validate(value)) {\n return null;\n }\n }\n }\n result[key] = value ?? definition.default;\n }\n return result;\n }\n parseString(scope) {\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.parse(syntax);\n }\n}\nexports.Parser = Parser;\n/**\n * Two param arrays are considered equal if they contain the same values,\n * regardless of the order and duplicates.\n * @param a - The first array to compare.\n * @param b - The second array to compare.\n */\nfunction arrayParamEquals(a, b) {\n for (const item of a)\n if (!b.includes(item))\n return false;\n for (const item of b)\n if (!a.includes(item))\n return false;\n return true;\n}\nfunction knownValuesValidator(values) {\n const set = new Set(values);\n return (value) => set.has(value);\n}\n//# sourceMappingURL=parser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AccountScope = exports.accountParser = void 0;\nconst parser_js_1 = require(\"../parser.js\");\nconst syntax_js_1 = require(\"../syntax.js\");\nconst ACCOUNT_ATTRIBUTES = Object.freeze(['email', 'repo', 'status']);\nconst ACCOUNT_ACTIONS = Object.freeze(['read', 'manage']);\nexports.accountParser = new parser_js_1.Parser('account', {\n attr: {\n multiple: false,\n required: true,\n validate: (0, parser_js_1.knownValuesValidator)(ACCOUNT_ATTRIBUTES),\n },\n action: {\n multiple: false,\n required: false,\n validate: (0, parser_js_1.knownValuesValidator)(ACCOUNT_ACTIONS),\n default: 'read',\n },\n}, 'attr');\nclass AccountScope {\n constructor(attr, action) {\n Object.defineProperty(this, \"attr\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: attr\n });\n Object.defineProperty(this, \"action\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: action\n });\n }\n matches(options) {\n return (this.attr === options.attr &&\n (this.action === 'manage' || this.action === options.action));\n }\n toString() {\n return exports.accountParser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeForResource)(scope, 'account'))\n return null;\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = exports.accountParser.parse(syntax);\n if (!result)\n return null;\n return new AccountScope(result.attr, result.action);\n }\n static scopeNeededFor(options) {\n return exports.accountParser.format(options);\n }\n}\nexports.AccountScope = AccountScope;\n//# sourceMappingURL=account-scope.js.map","\"use strict\";\n// @TODO Refactor in shared location for use with other @atproto packages\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMime = isMime;\nexports.isAccept = isAccept;\nexports.matchesAccept = matchesAccept;\nexports.matchesAnyAccept = matchesAnyAccept;\nfunction isStringSlashString(value) {\n const slashIndex = value.indexOf('/');\n if (slashIndex === -1)\n return false; // Missing slash\n if (slashIndex === 0)\n return false; // No leading part before the slash\n if (slashIndex === value.length - 1)\n return false; // No trailing part after the slash\n if (value.includes('/', slashIndex + 1))\n return false; // More than one slash\n if (value.includes(' '))\n return false; // Spaces are not allowed\n return true;\n}\nfunction isMime(value) {\n return isStringSlashString(value) && !value.includes('*');\n}\nfunction isAccept(value) {\n if (value === '*/*')\n return true; // Fast path for the most common case\n if (!isStringSlashString(value))\n return false;\n return !value.includes('*') || value.endsWith('/*');\n}\n/**\n * @note \"unsafe\" in that it does not check if either {@link accept} or\n * {@link mime} are actually valid values (and could, therefore, lead to false\n * positives if forged values are used).\n */\nfunction matchesAcceptUnsafe(accept, mime) {\n if (accept === '*/*') {\n return true;\n }\n if (accept.endsWith('/*')) {\n return mime.startsWith(accept.slice(0, -1));\n }\n return accept === mime;\n}\nfunction matchesAccept(accept, mime) {\n return isMime(mime) && matchesAcceptUnsafe(accept, mime);\n}\n/**\n * @note \"unsafe\" in that it does not check if either {@link accept} or\n * {@link mime} are actually valid values (and could, therefore, lead to false\n * positives if forged values are used).\n */\nfunction matchesAnyAcceptUnsafe(acceptable, mime) {\n for (const accept of acceptable) {\n if (matchesAcceptUnsafe(accept, mime)) {\n return true;\n }\n }\n return false;\n}\nfunction matchesAnyAccept(acceptable, mime) {\n return isMime(mime) && matchesAnyAcceptUnsafe(acceptable, mime);\n}\n//# sourceMappingURL=mime.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BlobScope = exports.blobParser = exports.DEFAULT_ACCEPT = void 0;\nconst mime_js_1 = require(\"../lib/mime.js\");\nconst parser_js_1 = require(\"../parser.js\");\nconst syntax_js_1 = require(\"../syntax.js\");\nexports.DEFAULT_ACCEPT = Object.freeze(['*/*']);\nexports.blobParser = new parser_js_1.Parser('blob', {\n accept: {\n multiple: true,\n required: true,\n validate: mime_js_1.isAccept,\n normalize: (value) => {\n // Returns a more concise representation of the accept values.\n if (value.includes('*/*'))\n return exports.DEFAULT_ACCEPT;\n return value.map(toLowerCase).filter(isNonRedundant);\n },\n },\n}, 'accept');\nclass BlobScope {\n constructor(accept) {\n Object.defineProperty(this, \"accept\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: accept\n });\n }\n matches(options) {\n return (0, mime_js_1.matchesAnyAccept)(this.accept, options.mime);\n }\n toString() {\n return exports.blobParser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeForResource)(scope, 'blob'))\n return null;\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = exports.blobParser.parse(syntax);\n if (!result)\n return null;\n return new BlobScope(result.accept);\n }\n static scopeNeededFor(options) {\n return exports.blobParser.format({\n accept: [options.mime],\n });\n }\n}\nexports.BlobScope = BlobScope;\nfunction toLowerCase(value) {\n return value.toLowerCase();\n}\nfunction isNonRedundant(value, index, arr) {\n if (value.endsWith('/*')) {\n // assuming the array contains unique element, wildcards cannot be redundant\n // with one another ('image/*' is not redundant with 'text/*')\n return true;\n }\n const base = value.split('/', 1)[0];\n if (arr.includes(`${base}/*`)) {\n // If another value in the array is a wildcard for the same base, we can\n // skip this one as it is redundant. e.g. if the array contains 'image/png'\n // and 'image/*', we can skip 'image/png' because 'image/*' already covers\n // it.\n return false;\n }\n return true;\n}\n//# sourceMappingURL=blob-scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdentityScope = exports.identityParser = void 0;\nconst parser_js_1 = require(\"../parser.js\");\nconst syntax_js_1 = require(\"../syntax.js\");\nconst IDENTITY_ATTRIBUTES = Object.freeze(['handle', '*']);\nexports.identityParser = new parser_js_1.Parser('identity', {\n attr: {\n multiple: false,\n required: true,\n validate: (0, parser_js_1.knownValuesValidator)(IDENTITY_ATTRIBUTES),\n },\n}, 'attr');\nclass IdentityScope {\n constructor(attr) {\n Object.defineProperty(this, \"attr\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: attr\n });\n }\n matches(options) {\n return this.attr === '*' || this.attr === options.attr;\n }\n toString() {\n return exports.identityParser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeForResource)(scope, 'identity'))\n return null;\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = exports.identityParser.parse(syntax);\n if (!result)\n return null;\n return new IdentityScope(result.attr);\n }\n static scopeNeededFor(options) {\n return exports.identityParser.format(options);\n }\n}\nexports.IdentityScope = IdentityScope;\n//# sourceMappingURL=identity-scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNSID = void 0;\nconst isNSID = (value) => value.includes('.') &&\n !value.includes(' ') &&\n !value.startsWith('.') &&\n !value.endsWith('.');\nexports.isNSID = isNSID;\n//# sourceMappingURL=nsid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RepoScope = exports.repoParser = exports.isRepoAction = void 0;\nconst nsid_js_1 = require(\"../lib/nsid.js\");\nconst parser_js_1 = require(\"../parser.js\");\nconst syntax_js_1 = require(\"../syntax.js\");\nconst REPO_ACTIONS = Object.freeze(['create', 'update', 'delete']);\nexports.isRepoAction = (0, parser_js_1.knownValuesValidator)(REPO_ACTIONS);\nexports.repoParser = new parser_js_1.Parser('repo', {\n collection: {\n multiple: true,\n required: true,\n validate: (value) => value === '*' || (0, nsid_js_1.isNSID)(value),\n normalize: (value) => {\n if (value.length > 1 && value.includes('*'))\n return ['*'];\n return value;\n },\n },\n action: {\n multiple: true,\n required: false,\n validate: exports.isRepoAction,\n default: REPO_ACTIONS,\n },\n}, 'collection');\nclass RepoScope {\n constructor(collection, action) {\n Object.defineProperty(this, \"collection\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: collection\n });\n Object.defineProperty(this, \"action\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: action\n });\n }\n get allowsAnyCollection() {\n return this.collection.includes('*');\n }\n matches({ action, collection }) {\n return (this.action.includes(action) &&\n (this.allowsAnyCollection ||\n this.collection.includes(collection)));\n }\n toString() {\n // Normalize (compress, de-dupe, sort)\n return exports.repoParser.format({\n collection: this.allowsAnyCollection\n ? ['*']\n : this.collection.length > 1\n ? [...new Set(this.collection)].sort()\n : this.collection,\n action: this.action === REPO_ACTIONS\n ? REPO_ACTIONS // No need to filter if the default was used\n : REPO_ACTIONS.filter(includedIn, this.action),\n });\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeForResource)(scope, 'repo'))\n return null;\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = exports.repoParser.parse(syntax);\n if (!result)\n return null;\n return new RepoScope(result.collection, result.action);\n }\n static scopeNeededFor(options) {\n return exports.repoParser.format({\n collection: [options.collection],\n action: [options.action],\n });\n }\n}\nexports.RepoScope = RepoScope;\n/**\n * Special utility function to be used as predicate for array methods like\n * `Array.prototype.includes`, etc. When used as predicate, it expects that\n * the array method is called with a `thisArg` that is a readonly array of\n * the same type as the `value` parameter.\n */\nfunction includedIn(value) {\n return this.includes(value);\n}\n//# sourceMappingURL=repo-scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isDIDLike = void 0;\nconst isDIDLike = (value) => value.startsWith('did:');\nexports.isDIDLike = isDIDLike;\n//# sourceMappingURL=did.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RpcScope = exports.rpcParser = void 0;\nconst did_js_1 = require(\"../lib/did.js\");\nconst nsid_js_1 = require(\"../lib/nsid.js\");\nconst parser_js_1 = require(\"../parser.js\");\nconst syntax_js_1 = require(\"../syntax.js\");\nconst validateLxmParam = (value) => value === '*' || (0, nsid_js_1.isNSID)(value);\nconst validateAudParam = (value) => value === '*' || (0, did_js_1.isDIDLike)(value);\nexports.rpcParser = new parser_js_1.Parser('rpc', {\n lxm: {\n multiple: true,\n required: true,\n validate: validateLxmParam,\n },\n aud: {\n multiple: false,\n required: true,\n validate: validateAudParam,\n },\n}, 'lxm');\nclass RpcScope {\n constructor(aud, lxm) {\n Object.defineProperty(this, \"aud\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: aud\n });\n Object.defineProperty(this, \"lxm\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lxm\n });\n }\n matches(options) {\n const { aud, lxm } = this;\n return ((aud === '*' || aud === options.aud) &&\n (lxm.includes('*') || lxm.includes(options.lxm)));\n }\n toString() {\n const { lxm, aud } = this;\n return exports.rpcParser.format({\n aud,\n lxm: lxm.includes('*')\n ? ['*']\n : [...new Set(lxm)].sort(),\n });\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeForResource)(scope, 'rpc'))\n return null;\n const syntax = syntax_js_1.ResourceSyntax.fromString(scope);\n return this.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = exports.rpcParser.parse(syntax);\n if (!result)\n return null;\n // rpc:*?aud=* is forbidden\n if (result.aud === '*' && result.lxm.includes('*'))\n return null;\n return new RpcScope(result.aud, result.lxm);\n }\n static scopeNeededFor(options) {\n return exports.rpcParser.format({\n aud: options.aud,\n lxm: [options.lxm],\n });\n }\n}\nexports.RpcScope = RpcScope;\n//# sourceMappingURL=rpc-scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isValidAtprotoOauthScope = isValidAtprotoOauthScope;\nexports.parseScope = parseScope;\nexports.scopeNeededFor = scopeNeededFor;\nexports.scopeMatches = scopeMatches;\nconst account_scope_js_1 = require(\"./resources/account-scope.js\");\nconst blob_scope_js_1 = require(\"./resources/blob-scope.js\");\nconst identity_scope_js_1 = require(\"./resources/identity-scope.js\");\nconst repo_scope_js_1 = require(\"./resources/repo-scope.js\");\nconst rpc_scope_js_1 = require(\"./resources/rpc-scope.js\");\nconst syntax_js_1 = require(\"./syntax.js\");\nfunction isValidAtprotoOauthScope(value) {\n if (value === 'atproto')\n return true;\n if (value === 'transition:email')\n return true;\n if (value === 'transition:generic')\n return true;\n if (value === 'transition:chat.bsky')\n return true;\n const syntax = syntax_js_1.ResourceSyntax.fromString(value);\n if (syntax.resource === 'repo') {\n return repo_scope_js_1.RepoScope.fromSyntax(syntax) != null;\n }\n else if (syntax.resource === 'rpc') {\n return rpc_scope_js_1.RpcScope.fromSyntax(syntax) != null;\n }\n else if (syntax.resource === 'account') {\n return account_scope_js_1.AccountScope.fromSyntax(syntax) != null;\n }\n else if (syntax.resource === 'identity') {\n return identity_scope_js_1.IdentityScope.fromSyntax(syntax) != null;\n }\n else if (syntax.resource === 'blob') {\n return blob_scope_js_1.BlobScope.fromSyntax(syntax) != null;\n }\n return false;\n}\nfunction parseScope(string) {\n const syntax = syntax_js_1.ResourceSyntax.fromString(string);\n if (syntax.is('account'))\n return account_scope_js_1.AccountScope.fromSyntax(syntax);\n if (syntax.is('identity'))\n return identity_scope_js_1.IdentityScope.fromSyntax(syntax);\n if (syntax.is('repo'))\n return repo_scope_js_1.RepoScope.fromSyntax(syntax);\n if (syntax.is('rpc'))\n return rpc_scope_js_1.RpcScope.fromSyntax(syntax);\n if (syntax.is('blob'))\n return blob_scope_js_1.BlobScope.fromSyntax(syntax);\n return null;\n}\nfunction scopeNeededFor(resource, options) {\n switch (resource) {\n case 'account':\n return account_scope_js_1.AccountScope.scopeNeededFor(options);\n case 'identity':\n return identity_scope_js_1.IdentityScope.scopeNeededFor(options);\n case 'repo':\n return repo_scope_js_1.RepoScope.scopeNeededFor(options);\n case 'rpc':\n return rpc_scope_js_1.RpcScope.scopeNeededFor(options);\n case 'blob':\n return blob_scope_js_1.BlobScope.scopeNeededFor(options);\n }\n}\nfunction scopeMatches(scope, resource, options) {\n // Optimization: Do not try parsing the scope if it does not match the\n // resource prefix.\n if (!(0, syntax_js_1.isScopeForResource)(scope, resource))\n return false;\n // @NOTE we might want to cache the parsed scopes though, in practice, a\n // single scope is unlikely to be parsed multiple times during a single\n // request.\n if (resource === 'rpc') {\n const rpcScope = rpc_scope_js_1.RpcScope.fromString(scope);\n if (rpcScope?.matches(options)) {\n return true;\n }\n }\n else if (resource === 'account') {\n const accountScope = account_scope_js_1.AccountScope.fromString(scope);\n if (accountScope?.matches(options)) {\n return true;\n }\n }\n else if (resource === 'identity') {\n const identityScope = identity_scope_js_1.IdentityScope.fromString(scope);\n if (identityScope?.matches(options)) {\n return true;\n }\n }\n else if (resource === 'repo') {\n const repoScope = repo_scope_js_1.RepoScope.fromString(scope);\n if (repoScope?.matches(options)) {\n return true;\n }\n }\n else if (resource === 'blob') {\n const blobScope = blob_scope_js_1.BlobScope.fromString(scope);\n if (blobScope?.matches(options)) {\n return true;\n }\n }\n return false;\n}\n//# sourceMappingURL=utilities.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopesSet = exports.ScopeMissingError = void 0;\nconst scope_missing_error_js_1 = require(\"./scope-missing-error.js\");\nObject.defineProperty(exports, \"ScopeMissingError\", { enumerable: true, get: function () { return scope_missing_error_js_1.ScopeMissingError; } });\nconst utilities_js_1 = require(\"./utilities.js\");\n/**\n * Utility class to manage a set of scopes and check if they match specific\n * options for a given resource.\n */\nclass ScopesSet extends Set {\n /**\n * Check if the container has a scope that matches the given options for a\n * specific resource.\n */\n matches(resource, options) {\n for (const scope of this) {\n if ((0, utilities_js_1.scopeMatches)(scope, resource, options))\n return true;\n }\n return false;\n }\n assert(resource, options) {\n if (!this.matches(resource, options)) {\n const scope = (0, utilities_js_1.scopeNeededFor)(resource, options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n some(fn) {\n for (const scope of this)\n if (fn(scope))\n return true;\n return false;\n }\n every(fn) {\n for (const scope of this)\n if (!fn(scope))\n return false;\n return true;\n }\n *filter(fn) {\n for (const scope of this)\n if (fn(scope))\n yield scope;\n }\n *map(fn) {\n for (const scope of this)\n yield fn(scope);\n }\n static fromString(string) {\n return new ScopesSet(string?.split(' '));\n }\n}\nexports.ScopesSet = ScopesSet;\n//# sourceMappingURL=scopes-set.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PermissionSet = void 0;\nconst account_scope_js_1 = require(\"./resources/account-scope.js\");\nconst blob_scope_js_1 = require(\"./resources/blob-scope.js\");\nconst identity_scope_js_1 = require(\"./resources/identity-scope.js\");\nconst repo_scope_js_1 = require(\"./resources/repo-scope.js\");\nconst rpc_scope_js_1 = require(\"./resources/rpc-scope.js\");\nconst scope_missing_error_js_1 = require(\"./scope-missing-error.js\");\nconst scopes_set_js_1 = require(\"./scopes-set.js\");\nclass PermissionSet {\n constructor(scopes) {\n Object.defineProperty(this, \"scopes\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.scopes = new scopes_set_js_1.ScopesSet(typeof scopes === 'string' ? scopes.split(' ') : scopes);\n }\n allowsAccount(options) {\n return this.scopes.matches('account', options);\n }\n assertAccount(options) {\n if (!this.allowsAccount(options)) {\n const scope = account_scope_js_1.AccountScope.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n allowsIdentity(options) {\n return this.scopes.matches('identity', options);\n }\n assertIdentity(options) {\n if (!this.allowsIdentity(options)) {\n const scope = identity_scope_js_1.IdentityScope.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n allowsBlob(options) {\n return this.scopes.matches('blob', options);\n }\n assertBlob(options) {\n if (!this.allowsBlob(options)) {\n const scope = blob_scope_js_1.BlobScope.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n allowsRepo(options) {\n return this.scopes.matches('repo', options);\n }\n assertRepo(options) {\n if (!this.allowsRepo(options)) {\n const scope = repo_scope_js_1.RepoScope.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n allowsRpc(options) {\n return this.scopes.matches('rpc', options);\n }\n assertRpc(options) {\n if (!this.allowsRpc(options)) {\n const scope = rpc_scope_js_1.RpcScope.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n}\nexports.PermissionSet = PermissionSet;\n//# sourceMappingURL=permission-set.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PermissionSetTransition = void 0;\nconst permission_set_js_1 = require(\"./permission-set.js\");\n/**\n * Overrides the default permission set to allow transitional scopes to be used\n * in place of the generic scopes.\n */\nclass PermissionSetTransition extends permission_set_js_1.PermissionSet {\n get hasTransitionGeneric() {\n return this.scopes.has('transition:generic');\n }\n get hasTransitionEmail() {\n return this.scopes.has('transition:email');\n }\n get hasTransitionChatBsky() {\n return this.scopes.has('transition:chat.bsky');\n }\n allowsAccount(options) {\n if (options.attr === 'email' &&\n options.action === 'read' &&\n this.hasTransitionEmail) {\n return true;\n }\n return super.allowsAccount(options);\n }\n allowsBlob(options) {\n if (this.hasTransitionGeneric) {\n return true;\n }\n return super.allowsBlob(options);\n }\n allowsRepo(options) {\n if (this.hasTransitionGeneric) {\n return true;\n }\n return super.allowsRepo(options);\n }\n allowsRpc(options) {\n const { lxm } = options;\n if (this.hasTransitionGeneric && lxm === '*') {\n return true;\n }\n if (this.hasTransitionGeneric && !lxm.startsWith('chat.bsky.')) {\n return true;\n }\n if (this.hasTransitionChatBsky && lxm.startsWith('chat.bsky.')) {\n return true;\n }\n return super.allowsRpc(options);\n }\n}\nexports.PermissionSetTransition = PermissionSetTransition;\n//# sourceMappingURL=permission-set-transition.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./scope-missing-error.js\"), exports);\n__exportStar(require(\"./permission-set.js\"), exports);\n__exportStar(require(\"./permission-set-transition.js\"), exports);\n__exportStar(require(\"./scopes-set.js\"), exports);\n__exportStar(require(\"./parser.js\"), exports);\n__exportStar(require(\"./syntax.js\"), exports);\n__exportStar(require(\"./utilities.js\"), exports);\n__exportStar(require(\"./resources/account-scope.js\"), exports);\n__exportStar(require(\"./resources/blob-scope.js\"), exports);\n__exportStar(require(\"./resources/identity-scope.js\"), exports);\n__exportStar(require(\"./resources/repo-scope.js\"), exports);\n__exportStar(require(\"./resources/rpc-scope.js\"), exports);\n__exportStar(require(\"./lib/mime.js\"), exports);\n__exportStar(require(\"./lib/did.js\"), exports);\n__exportStar(require(\"./lib/nsid.js\"), exports);\n//# sourceMappingURL=index.js.map","import { clsx } from 'clsx'\nimport { ClassAttributes, InputHTMLAttributes, forwardRef } from 'react'\nimport { Override } from '#/lib/util.ts'\n\nexport type CheckboxProps = Override<\n InputHTMLAttributes<HTMLInputElement> & ClassAttributes<HTMLInputElement>,\n {\n type?: never\n invalid?: boolean\n }\n>\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n ({ className, invalid, disabled, ...props }, ref) => {\n return (\n <input\n {...props}\n type=\"checkbox\"\n ref={ref}\n disabled={disabled}\n className={clsx([\n 'block size-4 rounded-md border-2 focus:shadow-sm focus:outline-none',\n 'border-contrast-200 focus:border-primary-500 focus:bg-contrast-25 dark:focus:bg-contrast-50 focus:shadow-primary-600/30',\n invalid &&\n 'border-error-300 text-error-900 placeholder-error-300 focus:border-error-500',\n disabled && 'bg-contrast-50 text-contrast-500 cursor-not-allowed',\n className,\n ])}\n />\n )\n },\n)\n\nCheckbox.displayName = 'Checkbox'\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { HTMLAttributes, useMemo } from 'react'\nimport { Override } from '#/lib/util'\nimport {\n BlobScope,\n DIDLike,\n NSID,\n PermissionSetTransition,\n RepoScope,\n RpcScope,\n} from '@atproto/oauth-scopes'\nimport { Checkbox } from '../forms/checkbox'\nimport { Admonition, AdmonitionProps } from './admonition'\nimport { DescriptionCard } from './description-card'\nimport {\n AccountOutlinedIcon,\n AtSymbolIcon,\n AuthenticateIcon,\n ButterflyIcon,\n ChatIcon,\n CheckMarkIcon,\n EmailIcon,\n ImageIcon,\n NewspaperIcon,\n PaperPlaneIcon,\n VideoClipIcon,\n} from './icons'\n\nexport type ScopeDescriptionProps = Override<\n React.HTMLAttributes<HTMLDivElement>,\n {\n clientTrusted?: boolean\n clientFirstParty?: boolean\n scope?: string\n\n allowEmail?: boolean\n onAllowEmail?: (allowed: boolean) => void\n }\n>\n\nexport function ScopeDescription({\n scope,\n clientTrusted = false,\n clientFirstParty = false,\n allowEmail,\n onAllowEmail,\n\n // div\n className = '',\n ...attrs\n}: ScopeDescriptionProps) {\n const permissions = useMemo(() => new PermissionSetTransition(scope), [scope])\n const showFineGrainedPermissions =\n !useHasOnlyBlueskySpecificScopes(permissions)\n\n if (permissions.scopes.size === 0) return null\n if (permissions.scopes.size === 1 && permissions.scopes.has('atproto')) {\n return null\n }\n\n return (\n <div className={`flex flex-col gap-2 ${className}`} {...attrs} role=\"list\">\n <EmailPermissions\n permissions={permissions}\n allowEmail={allowEmail}\n onAllowEmail={onAllowEmail}\n />\n <IdentityPermissions permissions={permissions} />\n <AccountPermissions permissions={permissions} />\n\n {/* Bluesky business logic specific scopes */}\n <BlueskyAppviewPermissions permissions={permissions} />\n <BlueskyChatPermissions permissions={permissions} />\n\n {showFineGrainedPermissions && (\n <>\n <BlobPermissions permissions={permissions} />\n <RepoPermissions permissions={permissions} />\n <RpcMethodsDetails permissions={permissions} />\n </>\n )}\n\n {(!clientFirstParty || !clientTrusted) && (\n <IdentityWarning className=\"mt-2\" permissions={permissions} />\n )}\n </div>\n )\n}\n\nfunction IdentityWarning({\n permissions,\n\n // Admonition\n type = 'alert',\n prominent = true,\n ...props\n}: {\n permissions: PermissionSetTransition\n} & AdmonitionProps) {\n const hasFullIdentityAccess = useMemo(() => {\n return permissions.allowsIdentity({ attr: '*' })\n }, [permissions])\n\n if (hasFullIdentityAccess) {\n return (\n <Admonition {...props} type={type} prominent={prominent}>\n <Trans>\n The application is asking for full control over your network identity,\n meaning that it could <b>permanently break</b>, or even <b>steal</b>,\n your account. Only grant this permission to applications you really\n trust.\n </Trans>\n </Admonition>\n )\n }\n\n return null\n}\n\nfunction EmailPermissions({\n permissions,\n allowEmail,\n onAllowEmail,\n}: {\n permissions: PermissionSetTransition\n allowEmail?: boolean\n onAllowEmail?: (allowed: boolean) => void\n}) {\n const { t } = useLingui()\n\n const allowedAction = useMemo(() => {\n return (['manage', 'read'] as const).find((action) =>\n permissions.allowsAccount({ attr: 'email', action }),\n )\n }, [permissions])\n\n if (allowedAction) {\n return (\n <label className={onAllowEmail ? 'cursor-pointer' : undefined}>\n <DescriptionCard\n role=\"listitem\"\n image={<EmailIcon className=\"size-6\" />}\n title={t`Email`}\n description={\n allowedAction === 'manage' ? (\n <Trans>Read and update your account's email address</Trans>\n ) : (\n <Trans>Read your account's email address</Trans>\n )\n }\n append={\n onAllowEmail && (\n <Checkbox\n className=\"m-2\"\n checked={allowEmail}\n onChange={(e) => onAllowEmail(e.target.checked)}\n />\n )\n }\n />\n </label>\n )\n }\n\n return null\n}\n\n// @TODO This could be displayed as a \"detail\" of the repo scope (if present)\nfunction BlobPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n const hasRepoScope = useMemo(() => {\n return (\n permissions.hasTransitionGeneric ||\n permissions.scopes.some((s) => RepoScope.fromString(s) != null)\n )\n }, [permissions])\n\n const blobScopes = useMemo(() => {\n if (permissions.hasTransitionGeneric) {\n return [new BlobScope(['*/*'])]\n }\n return Array.from(\n permissions.scopes.map((v) => BlobScope.fromString(v)),\n ).filter((v) => v != null)\n }, [permissions])\n\n const types = useMemo(() => {\n const allowsAny = blobScopes.some((s) => s.accept.includes('*/*'))\n const types = {\n images: allowsAny,\n videos: allowsAny,\n audio: allowsAny,\n other: allowsAny,\n }\n if (!allowsAny) {\n for (const scope of blobScopes) {\n for (const a of scope.accept) {\n if (a.startsWith('image/')) {\n types.images = true\n } else if (a.startsWith('video/')) {\n types.videos = true\n } else if (a.startsWith('audio/')) {\n types.audio = true\n } else {\n types.other = true\n }\n }\n }\n }\n return types\n }, [blobScopes])\n\n if (!hasRepoScope) return null\n if (blobScopes.length === 0) return null\n\n if (types.images && !types.videos && !types.audio && !types.other) {\n // Special case: only images\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<ImageIcon className=\"size-6\" />}\n title={t`Storage`}\n description={t`Upload images`}\n />\n )\n }\n\n if (!types.images && types.videos && !types.audio && !types.other) {\n // Special case: only videos\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<VideoClipIcon className=\"size-6\" />}\n title={t`Storage`}\n description={t`Upload videos`}\n />\n )\n }\n\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<PaperPlaneIcon className=\"size-6\" />}\n title={t`Storage`}\n description={t`Upload files`}\n />\n )\n}\n\nfunction AccountPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n // @NOTE \"account:email\" already covered by EmailPermissions\n // @NOTE \"account:repo?action=manage\" already covered by RepoPermissions\n\n if (permissions.allowsAccount({ attr: 'status', action: 'manage' })) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<AccountOutlinedIcon className=\"size-6\" />}\n title={t`Account`}\n description={t`Temporarily activate or deactivate your account`}\n />\n )\n }\n\n return null\n}\n\n/**\n * A hook that returns true if, and only if, there is at least one repo or rpc\n * scope that is used by the Bluesky app, and if every repo and rpc scope are\n * used by the Bluesky app.\n */\nfunction useHasOnlyBlueskySpecificScopes(permissions: PermissionSetTransition) {\n return useMemo(() => {\n if (permissions.allowsAccount({ attr: 'repo', action: 'manage' })) {\n return false\n }\n\n let foundOne = false\n\n for (const s of permissions.scopes) {\n const rpc = RpcScope.fromString(s)\n if (rpc) {\n foundOne = true\n if (isOfficialBlueskyAppviewServiceId(rpc.aud)) continue\n if (rpc.lxm.every(isBlueskySpecificNsid)) continue\n return false\n }\n\n const repo = RepoScope.fromString(s)\n if (repo) {\n foundOne = true\n if (repo.collection.every(isBlueskySpecificNsid)) continue\n return false\n }\n }\n\n return foundOne\n }, [permissions])\n}\n\nfunction BlueskyAppviewPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const hasBskyAppRepo = useMemo(() => {\n return permissions.scopes.some(scopeEnablesBskyAppRepo)\n }, [permissions])\n\n const hasBskyAppRpc = useMemo(() => {\n return permissions.scopes.some(scopeEnablesPrivateBskyAppMethods)\n }, [permissions])\n\n if (hasBskyAppRepo || hasBskyAppRpc) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<ButterflyIcon className=\"size-6\" />}\n title={'Bluesky'}\n description={\n hasBskyAppRepo && hasBskyAppRpc ? (\n <Trans>\n Manage your profile, posts, likes and follows as well as read your\n private preferences\n </Trans>\n ) : (\n <Trans>Manage your profile, posts, likes and follows</Trans>\n )\n }\n />\n )\n }\n\n return null\n}\n\nfunction BlueskyChatPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n const enablesChat = useMemo(() => {\n return (\n permissions.hasTransitionChatBsky ||\n permissions.scopes.some(scopeEnablesChat)\n )\n }, [permissions])\n\n if (enablesChat) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<ChatIcon className=\"size-6\" />}\n title={t`Chat`}\n description={t`Read and send messages`}\n />\n )\n }\n\n return null\n}\n\nfunction IdentityPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n const attr = useMemo(() => {\n if (permissions.allowsIdentity({ attr: '*' })) {\n return '*' as const\n }\n\n if (permissions.allowsIdentity({ attr: 'handle' })) {\n return 'handle' as const\n }\n\n return null\n }, [permissions])\n\n if (attr) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<AtSymbolIcon className=\"h-6\" />}\n title={t`Identity`}\n description={\n attr === '*' ? (\n <Trans>\n Manage your <b>full identity</b> including your <b>@handle</b>\n </Trans>\n ) : (\n <Trans>\n Change your <b>@handle</b>\n </Trans>\n )\n }\n />\n )\n }\n\n return null\n}\n\nfunction RpcMethodsDetails({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n if (permissions.hasTransitionGeneric) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<AuthenticateIcon className=\"size-6\" />}\n title={t`Authenticate`}\n description={\n <Trans>\n Perform authenticated actions towards <b>any service</b> on your\n behalf\n </Trans>\n }\n >\n <p>\n <RpcDescription />\n </p>\n </DescriptionCard>\n )\n }\n\n if (permissions.scopes.some((s) => RpcScope.fromString(s) != null)) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<AuthenticateIcon className=\"size-6\" />}\n title={t`Authenticate`}\n description={t`Perform actions on your behalf`}\n >\n <p>\n <RpcDescription />\n </p>\n <p className=\"mt-1\">\n <Trans>\n The application requests the permissions necessary to perform, on\n your behalf, the following actions:\n </Trans>\n </p>\n <RpcMethodsTable className=\"mt-2\" permissions={permissions} />\n </DescriptionCard>\n )\n }\n\n return null\n}\n\nfunction RpcDescription() {\n return (\n <Trans>\n The ATProto network uses an authentication mechanism that allows to\n uniquely identify users when communicating with external services. This is\n typically used to retrieve or update data linked to your account, such as\n feed or moderation content.\n </Trans>\n )\n}\n\ntype RpcMethodsTableProps = Override<\n HTMLAttributes<HTMLTableElement>,\n {\n permissions: PermissionSetTransition\n children?: never\n }\n>\nfunction RpcMethodsTable({\n permissions,\n className = '',\n ...attrs\n}: RpcMethodsTableProps) {\n const { t } = useLingui()\n\n const audLxmsEntries = useMemo(() => {\n const map = new Map<'*' | DIDLike, Set<'*' | NSID>>()\n\n for (const s of permissions.scopes) {\n const parsed = RpcScope.fromString(s)\n if (!parsed) continue\n\n let set = map.get(parsed.aud)\n if (!set) map.set(parsed.aud, (set = new Set()))\n for (const lxm of parsed.lxm) set.add(lxm)\n }\n\n return Array.from(map.entries())\n .sort(([a], [b]) => a.localeCompare(b))\n .map(\n ([aud, lxms]) =>\n [aud, Array.from(lxms).sort((a, b) => a.localeCompare(b))] as const,\n )\n }, [permissions])\n\n return (\n <table className={`w-full table-auto ${className}`} {...attrs}>\n <thead>\n <tr className=\"text-sm\">\n <th className=\"text-left font-normal\">{t`Service`}</th>\n <th className=\"text-left font-normal\">{t`Methods`}</th>\n </tr>\n </thead>\n <tbody>\n {audLxmsEntries.map(([aud, lxms]) => (\n <tr key={aud} className=\"text-sm\">\n <td className=\"align-top text-slate-500\">\n {aud === '*' ? <em>{t`Any service`}</em> : <code>{aud}</code>}\n </td>\n <td className=\"text-slate-500\">\n {lxms.includes('*') ? (\n <em>{t`Any method`}</em>\n ) : (\n lxms.map((lxm) => (\n <code className=\"block\" key={lxm}>\n {lxm}\n </code>\n ))\n )}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n\nfunction RepoPermissions({\n permissions,\n}: {\n permissions: PermissionSetTransition\n}) {\n const { t } = useLingui()\n\n if (\n permissions.hasTransitionGeneric ||\n permissions.allowsAccount({ attr: 'repo', action: 'manage' }) ||\n (permissions.allowsRepo({ collection: '*', action: 'create' }) &&\n permissions.allowsRepo({ collection: '*', action: 'delete' }) &&\n permissions.allowsRepo({ collection: '*', action: 'update' }))\n ) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<NewspaperIcon className=\"size-6\" />}\n title={t`Repository`}\n description={t`Create, update, and delete any public record`}\n >\n <p>\n <RepoDescription />\n </p>\n <p className=\"mt-1\">\n <Trans>\n The application is asking to be able to create, update, and delete\n <b>any data</b> from your repository.\n </Trans>\n </p>\n </DescriptionCard>\n )\n }\n\n if (permissions.scopes.some((s) => RepoScope.fromString(s) != null)) {\n return (\n <DescriptionCard\n role=\"listitem\"\n image={<NewspaperIcon className=\"size-6\" />}\n title={t`Repository`}\n description={t`Publish changes`}\n >\n <p>\n <RepoDescription />\n </p>\n <p className=\"mt-1\">\n <Trans>\n The application wants to be able to perform the following actions on\n your repository:\n </Trans>\n </p>\n <RepoTable className=\"mt-2\" permissions={permissions} />\n </DescriptionCard>\n )\n }\n\n return null\n}\n\nfunction RepoDescription() {\n return (\n <Trans>\n Your repository contains all the data publicly available on the ATProto\n network, such as Bluesky posts, likes, and follows. It also contains data\n created through other apps you've signed into using this account.\n </Trans>\n )\n}\n\ntype RepoTableProps = Override<\n HTMLAttributes<HTMLTableElement>,\n {\n permissions: PermissionSetTransition\n children?: never\n }\n>\nfunction RepoTable({ permissions, className, ...attrs }: RepoTableProps) {\n const { t } = useLingui()\n\n const nsidActions = useMemo(() => {\n const map = new Map<\n '*' | NSID,\n {\n create: boolean\n update: boolean\n delete: boolean\n }\n >()\n\n for (const s of permissions.scopes) {\n const parsed = RepoScope.fromString(s)\n if (!parsed) continue\n\n for (const nsid of parsed.collection) {\n if (map.has(nsid)) {\n const actions = map.get(nsid)!\n for (const action of parsed.action) actions[action] = true\n } else {\n map.set(nsid, {\n create: parsed.action.includes('create'),\n update: parsed.action.includes('update'),\n delete: parsed.action.includes('delete'),\n })\n }\n }\n }\n\n return map\n }, [permissions])\n\n const starActions = nsidActions.get('*')\n\n const nsidActionsEntries = useMemo(() => {\n return Array.from(nsidActions.entries()).sort(([a], [b]) =>\n a.localeCompare(b),\n )\n }, [nsidActions])\n\n return (\n <table className={`w-full table-auto text-left ${className}`} {...attrs}>\n <thead>\n <tr className=\"text-sm\">\n <th className=\"font-normal\">{t`Collection`}</th>\n <th className=\"text-center font-normal\">{t`Create`}</th>\n <th className=\"text-center font-normal\">{t`Update`}</th>\n <th className=\"text-center font-normal\">{t`Delete`}</th>\n </tr>\n </thead>\n <tbody>\n {nsidActionsEntries.map(([nsid, actions]) => (\n <tr key={nsid} className=\"text-sm\">\n <td className=\"text-slate-500\">\n {nsid === '*' ? (\n <em>{t`Any collection`}</em>\n ) : (\n <code>{nsid}</code>\n )}\n </td>\n <td className=\"text-center\">\n {starActions?.create || actions.create ? (\n <CheckMarkIcon className=\"inline-block size-4\" />\n ) : null}\n </td>\n <td className=\"text-center\">\n {starActions?.update || actions.update ? (\n <CheckMarkIcon className=\"inline-block size-4\" />\n ) : null}\n </td>\n <td className=\"text-center\">\n {starActions?.delete || actions.delete ? (\n <CheckMarkIcon className=\"inline-block size-4\" />\n ) : null}\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n )\n}\n\n// UTILS\n\nfunction isOfficialBlueskyAppviewServiceId(aud: string): boolean {\n return aud === 'did:web:bsky.app#bsky_appview'\n}\n\nfunction isBskyAppNsid(nsid: string): nsid is `app.bsky.${string}` {\n return nsid.startsWith('app.bsky.')\n}\nfunction isBskyChatNsid(nsid: string): nsid is `chat.bsky.${string}` {\n return nsid.startsWith('chat.bsky.')\n}\n\nfunction scopeEnablesChat(scope: string): boolean {\n if (scope === 'transition:chat.bsky') return true\n const rpc = RpcScope.fromString(scope)\n if (!rpc) return false\n // Official Bluesky chat is not hosted by the appview service\n if (isOfficialBlueskyAppviewServiceId(rpc.aud)) return false\n return rpc.lxm.includes('*') || rpc.lxm.some(isBskyChatNsid)\n}\n\nfunction isBlueskySpecificNsid(nsid: NSID | '*'): boolean {\n return nsid === '*'\n ? false\n : nsid === 'com.atproto.moderation.createReport' ||\n isBskyAppNsid(nsid) ||\n isBskyChatNsid(nsid)\n}\n\nfunction scopeEnablesBskyAppRepo(scope: string): boolean {\n if (scope === 'transition:generic') return true\n const repo = RepoScope.fromString(scope)\n if (!repo) return false\n return (\n repo.collection.includes('*') || repo.collection.some(isBlueskySpecificNsid)\n )\n}\n\nfunction scopeEnablesPrivateBskyAppMethods(scope: string): boolean {\n if (scope === 'transition:generic') return true\n const rpc = RpcScope.fromString(scope)\n if (!rpc) return false\n return (\n rpc.lxm.includes('app.bsky.actor.getPreferences') ||\n rpc.lxm.includes('app.bsky.graph.block') ||\n rpc.lxm.includes('app.bsky.graph.muteActor') ||\n rpc.lxm.includes('app.bsky.graph.muteActorList') ||\n rpc.lxm.includes('app.bsky.graph.muteThread') ||\n rpc.lxm.includes('app.bsky.graph.unmuteActor') ||\n rpc.lxm.includes('app.bsky.graph.unmuteActorList') ||\n rpc.lxm.includes('app.bsky.graph.unmuteThread') ||\n rpc.lxm.includes('app.bsky.graph.getMutes') ||\n rpc.lxm.includes('*')\n )\n}\n","import { JSX, ReactNode } from 'react'\nimport { Override } from '../../lib/util.ts'\n\nexport type FormCardProps = Override<\n JSX.IntrinsicElements['form'],\n {\n disabled?: boolean\n append?: ReactNode\n prepend?: ReactNode\n cancel?: ReactNode\n actions?: ReactNode\n }\n>\n\nexport function FormCard({\n actions,\n cancel,\n append,\n children,\n prepend,\n disabled,\n\n // form\n inert = disabled,\n ...props\n}: FormCardProps) {\n return (\n <form {...props} inert={inert} className=\"flex flex-col gap-4\">\n {prepend && <div key=\"prepend\">{prepend}</div>}\n\n <div key=\"children\" className=\"space-y-4\">\n {children}\n </div>\n\n {append && <div key=\"append\">{append}</div>}\n\n {(actions || cancel) && (\n <div\n key=\"buttons\"\n className=\"flex flex-row-reverse flex-wrap items-center justify-end space-x-2 space-x-reverse\"\n >\n {actions}\n <div className=\"flex-auto\" />\n {cancel}\n </div>\n )}\n </form>\n )\n}\n","import { JSX } from 'react'\nimport type { Account } from '@atproto/oauth-provider-api'\nimport { Override } from '../../lib/util.ts'\n\nexport type AccountIdentifierProps = Override<\n Omit<JSX.IntrinsicElements['b'], 'children'>,\n {\n account: Account\n }\n>\n\nexport function AccountIdentifier({\n account,\n\n // b\n ...props\n}: AccountIdentifierProps) {\n return (\n <b {...props}>\n {account.preferred_username || account.email || account.sub}\n </b>\n )\n}\n","export type { OAuthClientMetadata } from '@atproto/oauth-types'\n\n// @NOTE: not importing these from @atproto/oauth-types here because 1) we don't\n// need to validate here and 2) we prefer not to import un-necessary code to\n// improve bundle size (~100k impact)\nexport const isOAuthClientIdLoopback = (clientId: string) =>\n clientId.startsWith('http://')\nexport const isConventionalOAuthClientId = (clientId: string) => {\n try {\n const url = new URL(clientId)\n return (\n url.protocol === 'https:' &&\n url.pathname === '/oauth-client-metadata.json' &&\n !url.port &&\n !url.search\n )\n } catch {\n return false\n }\n}\n","import { JSX, useMemo } from 'react'\nimport { Override } from '../../lib/util.ts'\n\nexport type UrlPartRenderingOptions = {\n faded?: boolean\n bold?: boolean\n}\n\nexport type UrlRendererProps = {\n url: string | URL\n proto?: boolean | UrlPartRenderingOptions\n host?: boolean | UrlPartRenderingOptions\n path?: boolean | UrlPartRenderingOptions\n query?: boolean | UrlPartRenderingOptions\n hash?: boolean | UrlPartRenderingOptions\n as?: string\n}\n\nexport function UrlViewer<As extends keyof JSX.IntrinsicElements = 'span'>({\n url,\n proto = false,\n host = true,\n path = false,\n query = false,\n hash = false,\n as: As = 'span',\n\n // Element\n ...props\n}: Override<JSX.IntrinsicElements[As], UrlRendererProps>) {\n const urlObj = useMemo(() => (url instanceof URL ? url : new URL(url)), [url])\n\n return (\n <As {...props}>\n {proto && (\n <UrlPartViewer\n value={`${urlObj.protocol}//`}\n {...(proto === true ? null : proto)}\n />\n )}\n {host && (\n <UrlPartViewer\n value={urlObj.host}\n {...(host === true ? { faded: false, bold: true } : host)}\n />\n )}\n {path && (\n <UrlPartViewer\n value={urlObj.pathname}\n {...(path === true ? null : path)}\n />\n )}\n {query && (\n <UrlPartViewer\n value={urlObj.search}\n {...(query === true ? null : query)}\n />\n )}\n {hash && (\n <UrlPartViewer value={urlObj.hash} {...(hash === true ? null : hash)} />\n )}\n </As>\n )\n}\n\nfunction UrlPartViewer({\n value,\n faded = true,\n bold = false,\n}: { value: string } & UrlPartRenderingOptions) {\n const Comp = bold ? 'b' : 'span'\n return <Comp className={faded ? 'opacity-50' : ''}>{value}</Comp>\n}\n","import { Trans } from '@lingui/react/macro'\nimport { JSX, useMemo } from 'react'\nimport {\n OAuthClientMetadata,\n isConventionalOAuthClientId,\n} from '#/lib/oauth-client.ts'\nimport { Override } from '../../lib/util.ts'\nimport { UrlViewer } from './url-viewer.tsx'\n\nexport type ClientNameProps = Override<\n Omit<JSX.IntrinsicElements['span'], 'children'>,\n {\n clientId: string\n clientMetadata: OAuthClientMetadata\n clientTrusted: boolean\n }\n>\n\nexport function ClientName({\n clientId,\n clientMetadata,\n clientTrusted,\n\n // span\n ...attrs\n}: ClientNameProps) {\n const url = useMemo(() => {\n try {\n return new URL(clientId)\n } catch {\n return null\n }\n }, [clientId])\n\n if (clientTrusted && clientMetadata.client_name) {\n return <span {...attrs}>{clientMetadata.client_name}</span>\n }\n\n // @NOTE: not using isOAuthClientIdLoopback & isOAuthClientIdDiscoverable from\n // @atproto/oauth-types here because 1) we don't need to validate here and 2)\n // we prefer not to import un-necessary code to improve bundle size.\n\n if (url?.protocol === 'http:') {\n return (\n <span {...attrs}>\n <Trans>An application on your device</Trans>\n </span>\n )\n }\n\n if (url?.protocol === 'https:') {\n // Only display the url details if the client id does not follow our\n // convention.\n const simplifiedView = isConventionalOAuthClientId(clientId)\n\n return (\n <UrlViewer\n {...attrs}\n url={url}\n proto={!simplifiedView}\n host={true}\n path={!simplifiedView}\n query={!simplifiedView}\n hash={false}\n />\n )\n }\n\n return <span {...attrs}>{clientId}</span>\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode, useState } from 'react'\nimport { ClientImage } from '#/components/utils/client-image.tsx'\nimport { DescriptionCard } from '#/components/utils/description-card.tsx'\nimport { ScopeDescription } from '#/components/utils/scope-description.tsx'\nimport type { Account } from '@atproto/oauth-provider-api'\nimport { AccountScope } from '@atproto/oauth-scopes'\nimport type { OAuthClientMetadata } from '@atproto/oauth-types'\nimport { Button } from '../../../components/forms/button.tsx'\nimport {\n FormCard,\n FormCardProps,\n} from '../../../components/forms/form-card.tsx'\nimport { AccountIdentifier } from '../../../components/utils/account-identifier.tsx'\nimport { ClientName } from '../../../components/utils/client-name.tsx'\nimport { Override } from '../../../lib/util.ts'\n\nexport type ConsentFormProps = Override<\n Omit<FormCardProps, 'onSubmit' | 'cancel' | 'actions' | 'children'>,\n {\n clientId: string\n clientMetadata: OAuthClientMetadata\n clientTrusted: boolean\n clientFirstParty: boolean\n\n account: Account\n scope?: string\n\n onConsent: (scope?: string) => void\n consentLabel?: ReactNode\n\n onReject: () => void\n rejectLabel?: ReactNode\n\n onBack?: () => void\n backLabel?: ReactNode\n }\n>\n\nfunction isTransitionScope(scope: string): scope is `transition:${string}` {\n return scope.startsWith('transition:')\n}\n\nfunction isAccountEmailScope(scope: string): boolean {\n const parsed = AccountScope.fromString(scope)\n if (!parsed) return false\n return parsed.matches({ attr: 'email', action: 'read' })\n}\n\nfunction stripAccountEmailScope(scope?: string): string | undefined {\n return scope\n ?.split(' ')\n .filter((s) => !isAccountEmailScope(s))\n .join(' ')\n}\n\nexport function ConsentForm({\n clientId,\n clientMetadata,\n clientTrusted,\n clientFirstParty,\n\n account,\n scope,\n\n onConsent,\n consentLabel,\n\n onReject,\n rejectLabel,\n\n onBack,\n backLabel,\n\n // FormCardProps\n ...props\n}: ConsentFormProps) {\n const { t } = useLingui()\n const [allowEmail, setAllowEmail] = useState(true)\n\n // Require the granular scope system to be able to unset the `account:email`\n // scope.\n const canUnsetEmail = !scope?.split(' ').some(isTransitionScope)\n\n return (\n <FormCard\n {...props}\n onSubmit={(event) => {\n event.preventDefault()\n const acceptedScope =\n canUnsetEmail && !allowEmail ? stripAccountEmailScope(scope) : scope\n onConsent(acceptedScope)\n }}\n cancel={\n onBack && (\n <Button onClick={onBack}>{backLabel || <Trans>Back</Trans>}</Button>\n )\n }\n actions={\n <>\n <Button type=\"submit\" color=\"primary\">\n {consentLabel || <Trans>Authorize</Trans>}\n </Button>\n\n <Button onClick={onReject}>\n {rejectLabel || <Trans>Deny access</Trans>}\n </Button>\n </>\n }\n >\n <DescriptionCard\n image={\n <ClientImage\n clientId={clientId}\n clientMetadata={clientMetadata}\n clientTrusted={clientTrusted}\n />\n }\n title={\n <ClientName\n clientId={clientId}\n clientMetadata={clientMetadata}\n clientTrusted={clientTrusted}\n />\n }\n description={\n !scope || scope === 'atproto' ? (\n <Trans>\n wants to uniquely identify you through your{' '}\n <AccountIdentifier account={account} /> account\n </Trans>\n ) : (\n <Trans>\n wants to access your <AccountIdentifier account={account} />{' '}\n account\n </Trans>\n )\n }\n hint={t`Technical details`}\n >\n {scope ? (\n <>\n <p>\n <Trans>\n This application is requesting the following list of technical\n permissions, summarized hereafter:\n </Trans>\n </p>\n <ul className=\"mt-2\">\n {scope.split(' ').map((scope) => (\n <li key={scope}>\n <code>{scope}</code>\n </li>\n ))}\n </ul>\n </>\n ) : null}\n </DescriptionCard>\n\n <ScopeDescription\n scope={scope}\n clientTrusted={clientTrusted}\n clientFirstParty={clientFirstParty}\n allowEmail={canUnsetEmail ? allowEmail : true}\n onAllowEmail={canUnsetEmail ? setAllowEmail : undefined}\n />\n\n <p>\n <Trans>\n By clicking <b>{consentLabel || <Trans>Authorize</Trans>}</b>, you\n will grant this application access to your account in accordance with\n its{' '}\n <a\n role=\"link\"\n href={clientMetadata.tos_uri}\n rel=\"nofollow noopener\"\n target=\"_blank\"\n className={\n clientMetadata.tos_uri ? 'text-primary underline' : undefined\n }\n >\n <Trans>terms of service</Trans>\n </a>\n {' and '}\n <a\n role=\"link\"\n href={clientMetadata.policy_uri}\n rel=\"nofollow noopener\"\n target=\"_blank\"\n className={\n clientMetadata.policy_uri ? 'text-primary underline' : undefined\n }\n >\n <Trans>privacy policy</Trans>\n </a>\n .\n </Trans>\n </p>\n </FormCard>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport type { Account } from '@atproto/oauth-provider-api'\nimport type { OAuthClientMetadata } from '@atproto/oauth-types'\nimport {\n LayoutTitlePage,\n LayoutTitlePageProps,\n} from '../../../components/layouts/layout-title-page.tsx'\nimport { Override } from '../../../lib/util.ts'\nimport { ConsentForm } from './consent-form.tsx'\n\nexport type ConsentViewProps = Override<\n LayoutTitlePageProps,\n {\n clientId: string\n clientMetadata: OAuthClientMetadata\n clientTrusted: boolean\n clientFirstParty: boolean\n\n account: Account\n scope?: string\n\n onConsent: (scope?: string) => void\n onReject: () => void\n onBack?: () => void\n }\n>\n\nexport function ConsentView({\n clientId,\n clientMetadata,\n clientTrusted,\n clientFirstParty,\n account,\n scope,\n onConsent,\n onReject,\n onBack,\n\n // LayoutTitlePage\n title,\n subtitle = (\n <Trans>\n Grant access to your{' '}\n <b className=\"text-slate-800 dark:text-slate-200\">\n {account.preferred_username || account.email || account.sub}\n </b>{' '}\n account\n </Trans>\n ),\n ...props\n}: ConsentViewProps) {\n const { t } = useLingui()\n\n return (\n <LayoutTitlePage\n {...props}\n title={title ?? t`Authorize`}\n subtitle={subtitle}\n >\n <ConsentForm\n clientId={clientId}\n clientMetadata={clientMetadata}\n clientTrusted={clientTrusted}\n clientFirstParty={clientFirstParty}\n account={account}\n scope={scope}\n onBack={onBack}\n onConsent={onConsent}\n onReject={onReject}\n />\n </LayoutTitlePage>\n )\n}\n","import { JSX, ReactNode, createContext, useMemo } from 'react'\nimport { useRandomString } from '../../hooks/use-random-string.ts'\nimport { Override } from '../../lib/util.ts'\n\nexport type FieldsetContextValue = {\n disabled: boolean\n labelId?: string\n}\n\nexport const FieldsetContext = createContext<FieldsetContextValue>({\n disabled: false,\n})\nFieldsetContext.displayName = 'FieldsetContext'\n\nexport type FieldsetCardProps = Override<\n Omit<JSX.IntrinsicElements['fieldset'], 'aria-labelledby'>,\n {\n label?: ReactNode\n }\n>\n\nexport function Fieldset({\n label,\n children,\n disabled,\n ...props\n}: FieldsetCardProps) {\n const labelId = useRandomString({ prefix: 'fieldset-' })\n\n const contextValue = useMemo(\n () => ({\n disabled: disabled ?? false,\n labelId: label ? labelId : undefined,\n }),\n [disabled, label, labelId],\n )\n\n return (\n <fieldset {...props} aria-labelledby={labelId} disabled={disabled}>\n {label && (\n <legend\n id={labelId}\n key=\"title\"\n className=\"mb-1 text-sm font-medium text-slate-600 dark:text-slate-400\"\n >\n {label}\n </legend>\n )}\n\n <div className=\"flex flex-col space-y-4\">\n <FieldsetContext value={contextValue}>{children}</FieldsetContext>\n </div>\n </fieldset>\n )\n}\n","import {\n ForwardedRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react'\n\nexport type AsyncActionController = {\n reset: () => void\n}\n\nexport type UseAsyncActionOptions = {\n ref?: ForwardedRef<AsyncActionController>\n onLoading?: (loading: boolean) => void\n onError?: (error: Error | undefined) => void\n}\n\nexport function useAsyncAction(\n fn: (signal: AbortSignal) => void | PromiseLike<void>,\n { ref, onLoading, onError }: UseAsyncActionOptions = {},\n) {\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<Error | undefined>()\n\n const doSetError = useCallback(\n (error: Error | undefined) => {\n setError(error)\n onError?.(error)\n },\n [onError],\n )\n\n const doSetLoading = useCallback(\n (loading: boolean) => {\n setLoading(loading)\n onLoading?.(loading)\n },\n [onLoading],\n )\n\n const controllerRef = useRef<AbortController>(null)\n\n const resetRef = useRef<() => void>(null)\n useEffect(() => {\n resetRef.current = () => {\n controllerRef.current?.abort()\n controllerRef.current = null\n doSetError(undefined)\n doSetLoading(false)\n }\n return () => {\n resetRef.current = null\n }\n }, [doSetError, doSetLoading])\n\n useImperativeHandle(\n ref,\n (): AsyncActionController => ({\n reset: () => resetRef.current?.(),\n }),\n [],\n )\n\n // Cancel pending action when unmounted\n useEffect(() => {\n return () => {\n controllerRef.current?.abort()\n controllerRef.current = null\n }\n }, [])\n\n const run = useCallback(async (): Promise<void> => {\n // Cancel previous run\n controllerRef.current?.abort()\n\n doSetLoading(true)\n doSetError(undefined)\n\n const controller = new AbortController()\n const { signal } = controller\n\n controllerRef.current = controller\n\n try {\n await fn(signal)\n } catch (err) {\n if (controller === controllerRef.current) {\n doSetError(err instanceof Error ? err : new Error(String(err)))\n } else {\n if (!isAbortReason(signal, err)) {\n console.warn('Async action error after abort', err)\n }\n }\n } finally {\n if (controller === controllerRef.current) {\n controllerRef.current = null\n doSetLoading(false)\n }\n\n controller.abort()\n }\n }, [fn, doSetLoading, doSetError])\n\n return {\n loading,\n error,\n run,\n }\n}\n\nfunction isAbortReason(signal: AbortSignal, err: unknown): boolean {\n return (\n signal.aborted &&\n (signal.reason === err ||\n signal.reason === err?.['cause'] ||\n (err instanceof DOMException && err.name === 'AbortError'))\n )\n}\n","import { Trans } from '@lingui/react/macro'\nimport { FormEvent, ReactNode, useCallback } from 'react'\nimport {\n UseAsyncActionOptions,\n useAsyncAction,\n} from '../../hooks/use-async-action.ts'\nimport { Override } from '../../lib/util.ts'\nimport { ErrorCard } from '../utils/error-card.tsx'\nimport { Button } from './button.tsx'\nimport { FormCard, FormCardProps } from './form-card.tsx'\n\nexport type { AsyncActionController } from '../../hooks/use-async-action.ts'\n\nexport type ErrorRender = (data: { error: Error }) => ReactNode\nexport const errorRenderDefault: ErrorRender = ({ error }) => (\n <ErrorCard error={error} />\n)\n\nexport type FormCardAsyncProps = Override<\n Override<\n Omit<FormCardProps, 'cancel' | 'actions' | 'prepend'>,\n Pick<UseAsyncActionOptions, 'ref' | 'onLoading' | 'onError'>\n >,\n {\n invalid?: boolean\n disabled?: boolean\n\n onSubmit: (signal: AbortSignal) => void | PromiseLike<void>\n submitLabel?: ReactNode\n\n onCancel?: () => void\n cancelLabel?: ReactNode\n\n errorRender?: ErrorRender\n }\n>\n\nexport function FormCardAsync({\n invalid,\n disabled,\n\n onSubmit,\n submitLabel,\n\n onCancel = undefined,\n cancelLabel,\n\n errorRender = errorRenderDefault,\n\n // UseAsyncActionOptions\n ref,\n onLoading,\n onError,\n\n // FormCardProps\n children,\n ...props\n}: FormCardAsyncProps) {\n const { run, loading, error } = useAsyncAction(onSubmit, {\n ref,\n onError,\n onLoading,\n })\n\n const doSubmit = useCallback(\n (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault()\n\n if (!event.currentTarget.reportValidity()) return\n\n if (!disabled && !invalid) void run()\n },\n [disabled, invalid, run],\n )\n\n return (\n <FormCard\n {...props}\n onSubmit={doSubmit}\n disabled={disabled || loading}\n prepend={error != null ? errorRender({ error }) : undefined}\n cancel={\n onCancel && (\n <Button onClick={onCancel}>\n {cancelLabel || <Trans>Cancel</Trans>}\n </Button>\n )\n }\n actions={\n <Button\n color=\"primary\"\n type=\"submit\"\n loading={loading}\n disabled={disabled}\n >\n {submitLabel || <Trans>Submit</Trans>}\n </Button>\n }\n >\n {children}\n </FormCard>\n )\n}\n","export const MIN_PASSWORD_LENGTH = 8\n\nconst EMOJI =\n /(\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff])/\nconst UPPER = /[A-Z]/\nconst LOWER = /[a-z]/\nconst DEC = /[0-9]/\nconst SPECIAL = /[^a-zA-Z0-9]/\n\nexport enum PasswordStrength {\n weak = 1,\n moderate = 2,\n strong = 3,\n extra = 4,\n}\n\nexport function getPasswordStrength(pwd: string): PasswordStrength {\n if (pwd.length < MIN_PASSWORD_LENGTH) {\n return PasswordStrength.weak\n }\n\n // Very long passwords\n if (pwd.length >= MIN_PASSWORD_LENGTH + 12) {\n return PasswordStrength.extra\n }\n\n // Long passwords\n if (pwd.length >= MIN_PASSWORD_LENGTH + 8) {\n if (matches(pwd, [SPECIAL])) {\n return PasswordStrength.extra\n }\n if (matches(pwd, [UPPER, LOWER, DEC], 2)) {\n return PasswordStrength.extra\n }\n return PasswordStrength.strong\n }\n\n // Emojis make passwords strong\n if (pwd.length >= MIN_PASSWORD_LENGTH) {\n if (matches(pwd, [EMOJI])) {\n return PasswordStrength.strong\n }\n }\n\n // Pretty long passwords\n if (pwd.length >= MIN_PASSWORD_LENGTH + 6) {\n if (matches(pwd, [SPECIAL])) {\n return PasswordStrength.strong\n }\n if (matches(pwd, [UPPER, LOWER, DEC], 2)) {\n return PasswordStrength.strong\n }\n // Only 1 type of alpha-num characters\n return PasswordStrength.moderate\n }\n\n // Longish password\n if (pwd.length >= MIN_PASSWORD_LENGTH + 4) {\n if (matches(pwd, [SPECIAL])) {\n return PasswordStrength.moderate\n }\n if (matches(pwd, [UPPER, LOWER, DEC], 2)) {\n return PasswordStrength.moderate\n }\n\n // Only 1 type of alpha-num characters\n return PasswordStrength.weak\n }\n\n // Short password (8-11 characters)\n if (pwd.length >= MIN_PASSWORD_LENGTH) {\n if (matches(pwd, [SPECIAL])) {\n return PasswordStrength.moderate\n }\n if (matches(pwd, [UPPER, LOWER, DEC])) {\n return PasswordStrength.moderate\n }\n }\n\n return PasswordStrength.weak\n}\n\nfunction matches(\n pwd: string,\n regexps: RegExp[],\n regexpsCountToMatch: number = regexps.length,\n): boolean {\n if (regexpsCountToMatch < 1 || regexpsCountToMatch > regexps.length) {\n throw new TypeError('Invalid regexpsCountToMatch')\n }\n for (const regexp of regexps) {\n if (regexp.test(pwd)) {\n regexpsCountToMatch--\n if (regexpsCountToMatch === 0) return true\n }\n }\n return false\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { JSX } from 'react'\nimport { PasswordStrength, getPasswordStrength } from '../../lib/password.ts'\nimport { Override } from '../../lib/util.ts'\n\nexport type PasswordStrengthLabelProps = Override<\n Omit<JSX.IntrinsicElements['span'], 'children' | 'aria-label'>,\n {\n password: string\n }\n>\n\nexport function PasswordStrengthLabel({\n password,\n\n // span\n ...props\n}: PasswordStrengthLabelProps) {\n const { t } = useLingui()\n const strength = getPasswordStrength(password)\n\n return (\n <span {...props} aria-label={t`Password strength`}>\n {strength === PasswordStrength.extra ? (\n <Trans>Extra</Trans>\n ) : strength === PasswordStrength.strong ? (\n <Trans>Strong</Trans>\n ) : strength === PasswordStrength.moderate ? (\n <Trans>Moderate</Trans>\n ) : password ? (\n <Trans>Weak</Trans>\n ) : (\n <Trans>Missing</Trans>\n )}\n </span>\n )\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { clsx } from 'clsx'\nimport { JSX } from 'react'\nimport { PasswordStrength, getPasswordStrength } from '../../lib/password.ts'\nimport { Override } from '../../lib/util.ts'\n\nexport type PasswordStrengthMeterProps = Override<\n Omit<\n JSX.IntrinsicElements['div'],\n | 'children'\n | 'role'\n | 'aria-label'\n | 'aria-valuemin'\n | 'aria-valuemax'\n | 'aria-valuenow'\n >,\n {\n password: string\n }\n>\n\nexport function PasswordStrengthMeter({\n password,\n\n // div\n className,\n ...props\n}: PasswordStrengthMeterProps) {\n const { t } = useLingui()\n const strength = password ? getPasswordStrength(password) : 0\n\n const colorBg = 'bg-gray-300 dark:bg-slate-500'\n const color =\n strength === PasswordStrength.extra || strength === PasswordStrength.strong\n ? 'bg-success'\n : strength === PasswordStrength.moderate\n ? 'bg-warning'\n : 'bg-error'\n\n return (\n <div\n {...props}\n className={clsx('flex h-1 w-full space-x-2', className)}\n role=\"meter\"\n aria-label={t`Password strength indicator`}\n aria-valuemin={0}\n aria-valuemax={PasswordStrength.extra}\n aria-valuenow={strength}\n >\n {Array.from({ length: 4 }, (_, i) => (\n <div\n key={i}\n className={`h-1 w-1/4 rounded-sm ${strength > i ? color : colorBg}`}\n />\n ))}\n </div>\n )\n}\n","import { ForwardedRef } from 'react'\n\nexport function updateRef<T>(ref: ForwardedRef<T>, value: T | null) {\n if (typeof ref === 'function') {\n ref(value)\n } else if (ref) {\n ref.current = value\n }\n}\n\nexport function mergeRefs<T>(refs: readonly (ForwardedRef<T> | undefined)[]) {\n return (value: T | null) => {\n for (const ref of refs) {\n if (ref) updateRef(ref, value)\n }\n }\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { Override } from '../../lib/util.ts'\nimport { EyeIcon, EyeSlashIcon } from '../utils/icons.tsx'\nimport { Button, ButtonProps } from './button.tsx'\n\nexport type ButtonToggleVisibilityProps = Override<\n Omit<ButtonProps, 'aria-label' | 'square'>,\n {\n visible: boolean\n toggleVisible: () => void\n }\n>\n\n/**\n * Generic button to toggle visibility of an item (e.g. password).\n */\nexport function ButtonToggleVisibility({\n visible,\n toggleVisible,\n\n // button\n onClick,\n ...props\n}: ButtonToggleVisibilityProps) {\n const { t } = useLingui()\n return (\n <Button\n {...props}\n shape=\"padded\"\n onClick={(event) => {\n onClick?.(event)\n if (!event.defaultPrevented) toggleVisible()\n }}\n aria-label={visible ? t`Hide` : t`Make visible`}\n >\n {visible ? (\n <EyeIcon className=\"w-5\" aria-hidden />\n ) : (\n <EyeSlashIcon className=\"w-5\" aria-hidden />\n )}\n </Button>\n )\n}\n","import { clsx } from 'clsx'\nimport { JSX, ReactNode, useState } from 'react'\nimport { Override } from '../../lib/util.ts'\n\nexport type InputContainerProps = Override<\n JSX.IntrinsicElements['div'],\n {\n icon: ReactNode\n append?: ReactNode\n bellow?: ReactNode\n }\n>\n\nexport function InputContainer({\n icon,\n append,\n bellow,\n\n // div\n className,\n children,\n onFocus,\n onBlur,\n ...props\n}: InputContainerProps) {\n const [hasFocus, setHasFocus] = useState(false)\n\n return (\n <div\n {...props}\n onFocus={(event) => {\n onFocus?.(event)\n if (!event.defaultPrevented) setHasFocus(true)\n }}\n onBlur={(event) => {\n onBlur?.(event)\n if (!event.defaultPrevented) setHasFocus(false)\n }}\n className={clsx(\n // Layout\n 'min-h-12',\n 'max-w-full',\n 'overflow-hidden',\n // Border\n 'rounded-lg',\n className,\n )}\n >\n <div\n className={clsx(\n // Layout\n 'px-1',\n 'min-h-12 w-full',\n 'flex items-center justify-stretch',\n // Border\n 'rounded-lg',\n bellow ? 'rounded-bl-none rounded-br-none' : undefined,\n 'outline-hidden',\n 'border-2 border-solid border-transparent',\n 'focus:border-primary has-focus:border-primary',\n 'hover:border-gray-400 hover:focus:border-gray-400',\n 'dark:hover:border-gray-500 dark:hover:focus:border-gray-500',\n // Background\n 'has-focus:bg-slate-200 bg-gray-100 focus:bg-slate-200',\n 'dark:has-focus:bg-slate-700 dark:bg-slate-800 dark:focus:bg-slate-700',\n // Font\n 'text-slate-600 dark:text-slate-300',\n 'accent-primary',\n )}\n >\n {icon && (\n <div\n className={clsx(\n 'flex shrink-0 grow-0 items-center justify-center',\n 'mx-1',\n hasFocus ? 'text-primary' : 'text-slate-500',\n )}\n >\n {icon}\n </div>\n )}\n\n {children}\n\n <div className=\"ml-1 flex shrink-0 grow-0 items-center\">{append}</div>\n </div>\n {bellow && (\n <div\n className={clsx(\n // Layout\n 'space-x-2 px-3 py-2',\n 'flex flex-row items-center gap-1',\n // Border\n 'rounded-br-2 rounded-bl-2',\n // Background\n 'bg-gray-200 dark:bg-slate-700',\n // Font\n 'text-gray-700 dark:text-gray-300',\n 'text-sm italic',\n )}\n >\n {bellow}\n </div>\n )}\n </div>\n )\n}\n","import { clsx } from 'clsx'\nimport { JSX, ReactNode, useContext, useRef } from 'react'\nimport { mergeRefs } from '../../lib/ref.ts'\nimport { Override } from '../../lib/util.ts'\nimport { FieldsetContext } from './fieldset.tsx'\nimport { InputContainer } from './input-container.tsx'\n\nexport type InputTextProps = Override<\n Omit<JSX.IntrinsicElements['input'], 'children'>,\n {\n icon?: ReactNode\n append?: ReactNode\n bellow?: ReactNode\n className?: string\n }\n>\n\nexport function InputText({\n icon,\n append,\n bellow,\n className,\n\n // input\n onFocus,\n onBlur,\n ref,\n disabled,\n title,\n 'aria-label': ariaLabel = title,\n 'aria-labelledby': ariaLabelledBy,\n placeholder = ariaLabel,\n ...props\n}: InputTextProps) {\n const ctx = useContext(FieldsetContext)\n\n const inputRef = useRef<HTMLInputElement>(null)\n const focusedRef = useRef(false) // ref instead of state to avoid re-renders\n\n return (\n <InputContainer\n icon={icon}\n append={append}\n bellow={bellow}\n className={clsx('cursor-text', className)}\n tabIndex={-1}\n onClick={(event) => {\n if (inputRef.current !== event.target) {\n event.preventDefault()\n event.stopPropagation()\n inputRef.current?.focus()\n }\n }}\n onMouseDown={(event) => {\n if (focusedRef.current && event.target !== inputRef.current) {\n // Prevent \"blur\" event from firing when clicking outside the input\n event.preventDefault()\n event.stopPropagation()\n }\n }}\n >\n <input\n {...props}\n disabled={disabled ?? ctx.disabled}\n title={title}\n placeholder={placeholder}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? ctx.labelId}\n ref={mergeRefs([ref, inputRef])}\n className=\"outline-hidden w-full text-ellipsis bg-transparent bg-clip-padding text-base text-inherit dark:placeholder-gray-500\"\n onFocus={(event) => {\n onFocus?.(event)\n if (!event.defaultPrevented) focusedRef.current = true\n }}\n onBlur={(event) => {\n onBlur?.(event)\n if (!event.defaultPrevented) focusedRef.current = false\n }}\n />\n </InputContainer>\n )\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { ChangeEvent, useCallback, useRef, useState } from 'react'\nimport { mergeRefs } from '../../lib/ref.ts'\nimport { Override } from '../../lib/util.ts'\nimport { LockIcon } from '../utils/icons.tsx'\nimport { ButtonToggleVisibility } from './button-toggle-visibility.tsx'\nimport { InputText, InputTextProps } from './input-text.tsx'\n\nexport type InputPasswordProps = Override<\n Omit<InputTextProps, 'type' | 'children'>,\n {\n autoHide?: boolean\n }\n>\n\nexport function InputPassword({\n autoHide = true,\n\n // InputTextProps\n onBlur,\n onChange,\n append,\n autoComplete = 'current-password',\n icon = <LockIcon className=\"w-5\" />,\n value,\n defaultValue = value,\n ref,\n title,\n dir = 'auto',\n autoCapitalize = 'none',\n autoCorrect = 'off',\n spellCheck = 'false',\n ...props\n}: InputPasswordProps) {\n const { t } = useLingui()\n const inputRef = useRef<HTMLInputElement>(null)\n const [visible, setVisible] = useState<boolean>(false)\n const [password, setPassword] = useState<string>(\n typeof defaultValue === 'string' ? defaultValue : '',\n )\n\n const doChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n onChange?.(event)\n setPassword(event.target.value)\n },\n [onChange],\n )\n\n return (\n <InputText\n {...props}\n title={title ?? t`Password`}\n ref={mergeRefs([ref, inputRef])}\n dir={dir}\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n spellCheck={spellCheck}\n icon={icon}\n onBlur={\n autoHide\n ? (event) => {\n onBlur?.(event)\n if (!event.defaultPrevented) setVisible(false)\n }\n : onBlur\n }\n value={password}\n onChange={doChange}\n type={visible ? 'text' : 'password'}\n autoComplete={autoComplete}\n append={\n <>\n <ButtonToggleVisibility\n className=\"m-1\"\n visible={visible}\n toggleVisible={() => {\n setVisible((prev) => !prev)\n inputRef.current?.focus()\n }}\n />\n {append}\n </>\n }\n />\n )\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { ChangeEvent, useCallback, useState } from 'react'\nimport { MIN_PASSWORD_LENGTH } from '../../lib/password.ts'\nimport { Override } from '../../lib/util.ts'\nimport { PasswordStrengthLabel } from '../utils/password-strength-label.tsx'\nimport { PasswordStrengthMeter } from '../utils/password-strength-meter.tsx'\nimport { InputPassword, InputPasswordProps } from './input-password.tsx'\n\nexport type InputNewPasswordProps = Override<\n Omit<InputPasswordProps, 'value' | 'defaultValue'>,\n {\n password?: string\n onPassword?: (password: undefined | string) => void\n }\n>\n\nexport function InputNewPassword({\n password: passwordInit = '',\n onPassword,\n\n // InputPasswordProps\n onChange,\n autoComplete = 'new-password',\n minLength = MIN_PASSWORD_LENGTH,\n ...props\n}: InputNewPasswordProps) {\n const { t } = useLingui()\n const [password, setPassword] = useState<string>(passwordInit)\n\n const doChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { value } = event.target\n onChange?.(event)\n if (event.defaultPrevented) return\n setPassword(value)\n onPassword?.(event.target.validity.valid ? value : undefined)\n },\n [onChange, onPassword],\n )\n\n return (\n <InputPassword\n {...props}\n placeholder={t`Enter a password`}\n aria-label={t`Enter your new password`}\n title={t`Password with at least ${MIN_PASSWORD_LENGTH} characters`}\n minLength={minLength}\n onChange={doChange}\n value={password}\n autoComplete={autoComplete}\n bellow={\n <>\n <PasswordStrengthMeter password={password} />\n <PasswordStrengthLabel\n className=\"grow-1 min-w-max text-xs text-gray-500 dark:text-gray-400\"\n password={password}\n />\n </>\n }\n />\n )\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { ChangeEvent, useState } from 'react'\nimport { Override } from '../../lib/util.ts'\nimport { TokenIcon } from '../utils/icons.tsx'\nimport { InputText, InputTextProps } from './input-text.tsx'\n\nexport type InputTokenProps = Override<\n Omit<\n InputTextProps,\n | 'type'\n | 'pattern'\n | 'autoCapitalize'\n | 'autoCorrect'\n | 'autoComplete'\n | 'spellCheck'\n | 'minLength'\n | 'maxLength'\n | 'placeholder'\n | 'dir'\n >,\n {\n example?: string\n onToken?: (code: string | null) => void\n }\n>\n\nexport const OTP_CODE_EXAMPLE = 'XXXXX-XXXXX'\n\nexport function InputToken({\n example = OTP_CODE_EXAMPLE,\n onToken,\n\n // InputTextProps\n icon = <TokenIcon className=\"w-5\" />,\n title = example,\n onChange,\n value,\n defaultValue = value,\n ...props\n}: InputTokenProps) {\n const { t } = useLingui()\n const [token, setToken] = useState<string>(\n typeof defaultValue === 'string' ? defaultValue : '',\n )\n\n return (\n <InputText\n {...props}\n type=\"text\"\n autoCapitalize=\"characters\"\n autoCorrect=\"off\"\n autoComplete=\"one-time-code\"\n spellCheck=\"false\"\n minLength={11}\n maxLength={11}\n dir=\"auto\"\n icon={icon}\n pattern=\"^[A-Z2-7]{5}-[A-Z2-7]{5}$\"\n placeholder={t`Looks like ${example}`}\n title={title}\n value={token}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n const { value, selectionEnd, selectionStart } = event.currentTarget\n\n const fixedValue = fix(value)\n\n event.currentTarget.value = fixedValue\n\n // Move the cursor back where it was relative to the original value\n const pos = selectionEnd ?? selectionStart\n if (pos != null) {\n const fixedSlicedValue = fix(value.slice(0, pos))\n event.currentTarget.selectionStart =\n event.currentTarget.selectionEnd = fixedSlicedValue.length\n }\n\n setToken(fixedValue)\n onChange?.(event)\n\n if (!event.isDefaultPrevented()) {\n onToken?.(fixedValue.length === 11 ? fixedValue : null)\n }\n }}\n />\n )\n}\n\nfunction fix(value: string) {\n const normalized = value.toUpperCase().replaceAll(/[^A-Z2-7]/g, '')\n\n if (normalized.length <= 5) return normalized\n\n return `${normalized.slice(0, 5)}-${normalized.slice(5, 10)}`\n}\n","import { Trans } from '@lingui/react/macro'\nimport { useRef, useState } from 'react'\nimport { Fieldset } from '../../../components/forms/fieldset.tsx'\nimport {\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { InputNewPassword } from '../../../components/forms/input-new-password.tsx'\nimport { InputToken } from '../../../components/forms/input-token.tsx'\nimport { Admonition } from '../../../components/utils/admonition.tsx'\nimport { useRandomString } from '../../../hooks/use-random-string.ts'\nimport { Override } from '../../../lib/util.ts'\n\nexport type ResetPasswordConfirmFormProps = Override<\n FormCardAsyncProps,\n {\n onSubmit: (\n data: {\n token: string\n password: string\n },\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n\n tokenPattern?: string\n tokenFormat?: string\n tokenParseValue?: (value: string) => string | false\n }\n>\n\nexport function ResetPasswordConfirmForm({\n onSubmit,\n\n // FormCardAsyncProps\n invalid,\n ...props\n}: ResetPasswordConfirmFormProps) {\n const tokenAriaId = useRandomString({ prefix: 'reset-pwd-email-' })\n const passwordRef = useRef<HTMLInputElement>(null)\n\n const [token, setToken] = useState<string | null>(null)\n const [password, setPassword] = useState<string | undefined>(undefined)\n\n return (\n <FormCardAsync\n {...props}\n onSubmit={(signal) => {\n if (token && password) return onSubmit({ token, password }, signal)\n }}\n invalid={invalid || !token || !password}\n >\n <Admonition id={tokenAriaId} type=\"status\">\n <Trans>\n You will receive an email with a \"reset code\". Enter that code here\n then enter your new password.\n </Trans>\n </Admonition>\n\n <Fieldset label={<Trans>Reset code</Trans>}>\n <InputToken\n name=\"code\"\n aria-labelledby={tokenAriaId}\n enterKeyHint=\"next\"\n required\n autoFocus={true}\n onToken={(token) => {\n setToken(token)\n // Auto-focus next field when token is complete\n if (token) passwordRef.current?.focus()\n }}\n />\n </Fieldset>\n\n <Fieldset label={<Trans>New password</Trans>}>\n <InputNewPassword\n ref={passwordRef}\n name=\"password\"\n enterKeyHint=\"done\"\n required\n password={password}\n onPassword={setPassword}\n />\n </Fieldset>\n </FormCardAsync>\n )\n}\n","import { useLingui } from '@lingui/react/macro'\nimport { ChangeEvent, useCallback, useState } from 'react'\nimport { Override } from '../../lib/util.ts'\nimport { AtSymbolIcon } from '../utils/icons.tsx'\nimport { InputText, InputTextProps } from './input-text.tsx'\n\nexport type InputEmailAddressProps = Override<\n Omit<InputTextProps, 'type'>,\n {\n onEmail?: (email: string | undefined) => void\n }\n>\n\nexport function InputEmailAddress({\n onEmail,\n\n // InputTextProps\n autoCapitalize = 'none',\n autoComplete = 'email',\n autoCorrect = 'off',\n dir = 'auto',\n icon = <AtSymbolIcon className=\"w-5\" />,\n onBlur,\n onChange,\n pattern = '^[^@]+@[^@]+\\\\.[^@]+$',\n spellCheck = 'false',\n value,\n defaultValue = value,\n title,\n ...props\n}: InputEmailAddressProps) {\n const { t } = useLingui()\n const [email, setEmail] = useState<string>(\n typeof defaultValue === 'string' ? defaultValue : '',\n )\n\n const doChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const email = event.target.value.toLowerCase()\n\n setEmail(email)\n onChange?.(event)\n onEmail?.(event.target.validity.valid ? email : undefined)\n },\n [onChange, onEmail],\n )\n\n return (\n <InputText\n {...props}\n title={title ?? t`Email address`}\n type=\"email\"\n autoCapitalize={autoCapitalize}\n autoCorrect={autoCorrect}\n dir={dir}\n spellCheck={spellCheck}\n icon={icon}\n pattern={pattern}\n autoComplete={autoComplete}\n value={email}\n onChange={doChange}\n onBlur={onBlur}\n />\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { useCallback, useRef, useState } from 'react'\nimport { Fieldset } from '../../../components/forms/fieldset.tsx'\nimport {\n AsyncActionController,\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { InputEmailAddress } from '../../../components/forms/input-email-address.tsx'\nimport { Admonition } from '../../../components/utils/admonition.tsx'\nimport { useRandomString } from '../../../hooks/use-random-string.ts'\nimport { mergeRefs } from '../../../lib/ref.ts'\nimport { Override } from '../../../lib/util.ts'\n\nexport type ResetPasswordRequestFormProps = Override<\n Omit<FormCardAsyncProps, 'children'>,\n {\n emailDefault?: string\n onSubmit: (\n data: { email: string },\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n }\n>\n\nexport function ResetPasswordRequestForm({\n emailDefault,\n onSubmit,\n\n // FormCardAsyncProps\n invalid,\n ref,\n ...props\n}: ResetPasswordRequestFormProps) {\n const { t } = useLingui()\n const emailAriaId = useRandomString({ prefix: 'reset-pwd-email-' })\n const [email, setEmail] = useState(emailDefault)\n\n const ctrlRef = useRef<AsyncActionController>(null)\n\n const doSubmit = useCallback(\n (signal: AbortSignal) => {\n if (email) return onSubmit({ email }, signal)\n },\n [email, onSubmit],\n )\n\n return (\n <FormCardAsync\n {...props}\n ref={mergeRefs([ref, ctrlRef])}\n invalid={invalid || !email}\n onSubmit={doSubmit}\n >\n <Fieldset label={<Trans>Email address</Trans>}>\n <InputEmailAddress\n name=\"email\"\n placeholder={t`Enter your email address`}\n aria-labelledby={emailAriaId}\n title={t`Email address`}\n required\n autoFocus={true}\n value={email}\n onEmail={(email) => {\n ctrlRef.current?.reset()\n setEmail(email)\n }}\n />\n <Admonition type=\"status\" id={emailAriaId}>\n <Trans>\n Enter the email you used to create your account. We'll send you a\n \"reset code\" so you can set a new password.\n </Trans>\n </Admonition>\n </Fieldset>\n </FormCardAsync>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { useState } from 'react'\nimport { Button } from '../../../components/forms/button.tsx'\nimport {\n LayoutTitlePage,\n LayoutTitlePageProps,\n} from '../../../components/layouts/layout-title-page.tsx'\nimport { Override } from '../../../lib/util.ts'\nimport { ResetPasswordConfirmForm } from './reset-password-confirm-form.tsx'\nimport { ResetPasswordRequestForm } from './reset-password-request-form.tsx'\n\nexport type ResetPasswordViewProps = Override<\n LayoutTitlePageProps,\n {\n emailDefault?: string\n onresetPasswordRequest: (\n data: { email: string },\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n onResetPasswordConfirm: (\n data: {\n token: string\n password: string\n },\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n onBack: () => void\n }\n>\n\nenum View {\n RequestReset,\n ConfirmReset,\n PasswordUpdated,\n}\n\nexport function ResetPasswordView({\n emailDefault,\n onresetPasswordRequest,\n onResetPasswordConfirm,\n onBack,\n\n // LayoutTitlePage\n ...props\n}: ResetPasswordViewProps) {\n const { t } = useLingui()\n const [view, setView] = useState<View>(View.RequestReset)\n\n if (view === View.RequestReset) {\n return (\n <LayoutTitlePage\n {...props}\n title={props.title || t`Forgot Password`}\n subtitle={\n props.subtitle || <Trans>Let's get your password reset!</Trans>\n }\n >\n <ResetPasswordRequestForm\n emailDefault={emailDefault}\n submitLabel={<Trans>Next</Trans>}\n onSubmit={async (data, signal) => {\n await onresetPasswordRequest(data, signal)\n if (!signal.aborted) setView(View.ConfirmReset)\n }}\n cancelLabel={<Trans>Back</Trans>}\n onCancel={onBack}\n />\n <hr className=\"my-5 border-gray-300 dark:border-gray-700\" />\n <center>\n <Button transparent onClick={() => setView(View.ConfirmReset)}>\n <Trans>Already have a code?</Trans>\n </Button>\n </center>\n </LayoutTitlePage>\n )\n }\n\n if (view === View.ConfirmReset) {\n return (\n <LayoutTitlePage\n {...props}\n title={props.title || t`Reset Password`}\n subtitle={\n props.subtitle || (\n <Trans>Enter the code you received to reset your password.</Trans>\n )\n }\n >\n <ResetPasswordConfirmForm\n submitLabel={<Trans>Next</Trans>}\n onSubmit={async (data, signal) => {\n await onResetPasswordConfirm(data, signal)\n if (!signal.aborted) setView(View.PasswordUpdated)\n }}\n cancelLabel={<Trans>Back</Trans>}\n onCancel={onBack}\n />\n </LayoutTitlePage>\n )\n }\n\n if (view === View.PasswordUpdated) {\n return (\n <LayoutTitlePage\n {...props}\n title={props.title || t`Password Updated`}\n subtitle={\n props.subtitle || <Trans>Your password has been updated!</Trans>\n }\n >\n <center>\n <h2 className=\"pb-2 text-xl font-bold\">\n <Trans>Password updated!</Trans>\n </h2>\n <p className=\"pb-4\">\n <Trans>You can now sign in with your new password.</Trans>\n </p>\n <Button color=\"primary\" onClick={onBack}>\n <Trans>Okay</Trans>\n </Button>\n </center>\n </LayoutTitlePage>\n )\n }\n\n throw new Error(`Invalid view: ${view}`)\n}\n","import { clsx } from 'clsx'\nimport { JSX, ReactNode, useContext, useRef } from 'react'\nimport { useRandomString } from '../../hooks/use-random-string.ts'\nimport { mergeRefs } from '../../lib/ref.ts'\nimport { Override } from '../../lib/util.ts'\nimport { Checkbox } from './checkbox.tsx'\nimport { FieldsetContext } from './fieldset.tsx'\nimport { InputContainer } from './input-container.tsx'\n\nexport type InputCheckboxProps = Override<\n Omit<JSX.IntrinsicElements['input'], 'className' | 'type' | 'children'>,\n {\n className?: string\n children?: ReactNode\n }\n>\n\nexport function InputCheckbox({\n className,\n children,\n\n // input\n id,\n ref,\n disabled,\n title,\n 'aria-label': ariaLabel = title,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n}: InputCheckboxProps) {\n const htmlFor = useRandomString('input-checkbox-')\n const labelRef = useRef<HTMLLabelElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const ctx = useContext(FieldsetContext)\n\n const inputId = id ?? htmlFor\n\n return (\n <InputContainer\n className={clsx('cursor-pointer', className)}\n icon={\n <Checkbox\n {...props}\n disabled={disabled ?? ctx.disabled}\n title={title}\n aria-label={ariaLabel}\n aria-labelledby={\n children\n ? // Prefer the local \"<label>\" element (through \"htmlFor\") over the wrapping \"<fieldset>\" to describe the checkbox.\n undefined\n : ariaLabelledBy ?? ctx.labelId\n }\n ref={mergeRefs([ref, inputRef])}\n id={inputId}\n className=\"accent-primary outline-hidden\"\n />\n }\n tabIndex={-1}\n onClick={({ target }) => {\n // Native behavior of clicking the label should toggle the checkbox.\n if (target === labelRef.current) return\n if (target === inputRef.current) return\n\n inputRef.current?.click()\n }}\n >\n {children && (\n <label\n ref={labelRef}\n htmlFor={inputId}\n className=\"block w-full cursor-pointer select-none leading-[1.6]\"\n >\n {children}\n </label>\n )}\n </InputContainer>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode, useCallback, useRef, useState } from 'react'\nimport { Button } from '../../../components/forms/button.tsx'\nimport { Fieldset } from '../../../components/forms/fieldset.tsx'\nimport {\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { InputCheckbox } from '../../../components/forms/input-checkbox.tsx'\nimport { InputPassword } from '../../../components/forms/input-password.tsx'\nimport { InputText } from '../../../components/forms/input-text.tsx'\nimport { InputToken } from '../../../components/forms/input-token.tsx'\nimport { Admonition } from '../../../components/utils/admonition.tsx'\nimport { AtSymbolIcon } from '../../../components/utils/icons.tsx'\nimport { AsyncActionController } from '../../../hooks/use-async-action.ts'\nimport {\n InvalidCredentialsError,\n SecondAuthenticationFactorRequiredError,\n} from '../../../lib/api.ts'\nimport { mergeRefs } from '../../../lib/ref.ts'\nimport { Override } from '../../../lib/util.ts'\n\nexport type SignInFormOutput = {\n username: string\n password: string\n remember?: boolean\n}\n\nexport type SignInFormProps = Override<\n Omit<FormCardAsyncProps, 'append' | 'onCancel'>,\n {\n usernameDefault?: string\n usernameReadonly?: boolean\n rememberDefault?: boolean\n\n onBack?: () => void\n backLabel?: ReactNode\n onForgotPassword?: (emailHint?: string) => void\n onSubmit: (\n credentials: SignInFormOutput,\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n }\n>\n\nexport function SignInForm({\n usernameDefault = '',\n usernameReadonly = false,\n rememberDefault = false,\n\n onSubmit,\n onBack,\n backLabel,\n onForgotPassword,\n\n // FormCardAsync\n ref,\n invalid,\n children,\n ...props\n}: SignInFormProps) {\n const { t } = useLingui()\n\n const [username, setUsername] = useState<string>(usernameDefault)\n const [password, setPassword] = useState<string>('')\n const [remember, setRemember] = useState<boolean>(rememberDefault)\n const [otp, setOtp] = useState<string | null>(null)\n\n const [secondFactor, setSecondFactor] =\n useState<null | SecondAuthenticationFactorRequiredError>(null)\n\n const [loading, setLoading] = useState(false)\n\n const formRef = useRef<AsyncActionController>(null)\n\n const clearSecondFactor = useCallback(() => {\n setOtp(null)\n setSecondFactor(null)\n }, [setOtp, setSecondFactor])\n\n const resetState = useCallback(() => {\n clearSecondFactor()\n formRef.current?.reset()\n }, [clearSecondFactor, formRef])\n\n const doSubmit = useCallback(\n async (signal: AbortSignal) => {\n try {\n await onSubmit(\n {\n username,\n password,\n remember,\n ...(secondFactor ? { [secondFactor.type]: otp } : {}),\n },\n signal,\n )\n } catch (err) {\n if (signal.aborted) {\n // If the action was aborted, ignore the error\n return\n }\n\n if (err instanceof SecondAuthenticationFactorRequiredError) {\n setSecondFactor(err)\n\n // Do not re-throw 2FA required error to prevent the form from from\n // displaying it. Instead, we handle the error by showing the second\n // factor form.\n return\n }\n\n if (err instanceof InvalidCredentialsError) {\n // If the username/password are not valid, clear the second factor\n // as valid credentials are a pre-requisite for 2FA.\n clearSecondFactor()\n }\n\n // Any thrown err will be displayed through the form's errorRender\n throw err\n }\n },\n [username, password, remember, secondFactor, otp, onSubmit],\n )\n\n return (\n <FormCardAsync\n {...props}\n ref={mergeRefs([ref, formRef])}\n onLoading={setLoading}\n onCancel={onBack}\n cancelLabel={backLabel ?? t`Back`}\n append={children}\n invalid={\n invalid || !username || !password || (secondFactor != null && !otp)\n }\n submitLabel={\n secondFactor ? (\n <Trans context=\"verb\">Confirm</Trans>\n ) : (\n <Trans context=\"verb\">Sign in</Trans>\n )\n }\n onSubmit={doSubmit}\n >\n <Fieldset disabled={loading} label={<Trans>Identifier</Trans>}>\n <InputText\n icon={<AtSymbolIcon className=\"w-5\" />}\n name=\"username\"\n type=\"text\"\n title={t`Username or email address`}\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n autoComplete=\"username\"\n spellCheck=\"false\"\n dir=\"auto\"\n enterKeyHint=\"next\"\n required\n readOnly={usernameReadonly}\n disabled={usernameReadonly}\n autoFocus={!usernameReadonly}\n value={username}\n onChange={(event) => {\n resetState()\n setUsername(event.target.value)\n }}\n />\n </Fieldset>\n\n <Fieldset disabled={loading} label={<Trans>Password</Trans>}>\n <InputPassword\n name=\"password\"\n onChange={(event) => {\n resetState()\n setPassword(event.target.value)\n }}\n append={\n onForgotPassword && (\n <Button\n className=\"text-sm\"\n type=\"button\"\n onClick={() => {\n onForgotPassword(\n username?.includes('@') ? username : undefined,\n )\n }}\n aria-label={t`Reset your password`}\n >\n <Trans>Forgot?</Trans>\n </Button>\n )\n }\n enterKeyHint={secondFactor ? 'next' : 'done'}\n disabled={loading}\n autoFocus={usernameReadonly}\n required\n />\n </Fieldset>\n\n <Admonition role=\"alert\" title={<Trans>Warning</Trans>}>\n <Trans>\n Please verify the domain name of the website before entering your\n password. Never enter your password on a domain you do not trust.\n </Trans>\n </Admonition>\n\n <InputCheckbox\n name=\"remember\"\n title={t`Remember this account on this device`}\n enterKeyHint={secondFactor ? 'next' : 'done'}\n checked={remember}\n onChange={(event) => setRemember(event.target.checked)}\n >\n <Trans>Remember this account on this device</Trans>\n </InputCheckbox>\n\n {secondFactor && (\n <Fieldset\n key=\"2fa\"\n disabled={loading}\n label={<Trans>2FA Confirmation</Trans>}\n >\n <div>\n <InputToken\n title={t`Confirmation code`}\n enterKeyHint=\"done\"\n required\n autoFocus={true}\n value={otp ?? ''}\n onToken={setOtp}\n />\n\n <p className=\"text-sm text-slate-600 dark:text-slate-400\">\n <Trans>\n Check your {secondFactor.hint} email for a login code and enter\n it here.\n </Trans>\n </p>\n </div>\n </Fieldset>\n )}\n </FormCardAsync>\n )\n}\n","import { useEffect, useState } from 'react'\nimport { AccountIcon } from './icons.tsx'\n\nexport type AccountIconProps = {\n src?: string\n alt: string\n}\n\nexport function AccountImage({ src, alt }: AccountIconProps) {\n const [errored, setErrored] = useState(false)\n\n useEffect(() => {\n setErrored(false)\n }, [src])\n\n return src && !errored ? (\n <img\n aria-hidden\n src={src}\n alt={alt}\n className=\"-ml-1 h-6 w-6 rounded-full\"\n onError={() => setErrored(true)}\n />\n ) : (\n <div\n aria-hidden\n className=\"bg-primary border-primary h-6 w-6 overflow-hidden rounded-full border-2 border-solid text-white\"\n >\n <AccountIcon className=\"-mx-1 -mb-1\" />\n </div>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode } from 'react'\nimport type { Account } from '@atproto/oauth-provider-api'\nimport { Button } from '../../../components/forms/button.tsx'\nimport {\n FormCard,\n FormCardProps,\n} from '../../../components/forms/form-card.tsx'\nimport { InputContainer } from '../../../components/forms/input-container.tsx'\nimport { AccountImage } from '../../../components/utils/account-image.tsx'\nimport {\n AtSymbolIcon,\n ChevronRightIcon,\n} from '../../../components/utils/icons.tsx'\nimport { Override } from '../../../lib/util.ts'\n\nexport type SignInPickerProps = Override<\n Omit<FormCardProps, 'cancel' | 'actions' | 'append'>,\n {\n accounts: readonly Account[]\n\n onAccount: (account: Account) => void\n onOther?: () => void\n onBack?: () => void\n onSignUp?: () => void\n\n backLabel?: ReactNode\n }\n>\n\nexport function SignInPicker({\n accounts,\n\n onAccount,\n onOther = undefined,\n onBack,\n onSignUp,\n\n backLabel,\n\n // FormCard\n children,\n ...props\n}: SignInPickerProps) {\n const { t } = useLingui()\n return (\n <FormCard\n {...props}\n append={children}\n actions={\n onSignUp && (\n <Button onClick={onSignUp} color=\"primary\" transparent>\n <Trans>Sign up</Trans>\n </Button>\n )\n }\n cancel={\n onBack && (\n <Button onClick={onBack}>{backLabel || <Trans>Back</Trans>}</Button>\n )\n }\n >\n <p className=\"text-sm font-medium text-slate-600 dark:text-slate-400\">\n <Trans>Sign in as...</Trans>\n </p>\n\n {accounts.map((account) => (\n <InputContainer\n tabIndex={0}\n key={account.sub}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') {\n onAccount(account)\n }\n }}\n onClick={() => onAccount(account)}\n role=\"button\"\n aria-label={t`Sign in as ${account.name}`}\n icon={<AccountImage src={account.picture} alt={t`Avatar`} />}\n append={<ChevronRightIcon aria-hidden className=\"h-4\" />}\n className=\"cursor-pointer\"\n >\n <span className=\"flex flex-wrap items-center\">\n {account.name && (\n <span className=\"mr-2 truncate font-medium\" arial-label={t`Name`}>\n {account.name}\n </span>\n )}\n\n <span\n className=\"truncate text-sm text-neutral-500 dark:text-neutral-400\"\n arial-label={t`Identifier`}\n >\n {account.preferred_username || account.email || account.sub}\n </span>\n </span>\n </InputContainer>\n ))}\n\n {onOther && (\n <InputContainer\n key=\"other\"\n tabIndex={0}\n onKeyDown={(event) => {\n if (event.key === 'Enter' || event.key === ' ') onOther()\n }}\n onClick={onOther}\n aria-label={t`Login to account that is not listed`}\n role=\"button\"\n append={<ChevronRightIcon aria-hidden className=\"h-4\" />}\n icon={<AtSymbolIcon aria-hidden className=\"h-4\" />}\n className=\"cursor-pointer\"\n >\n <span className=\"truncate text-slate-700 dark:text-slate-400\">\n <Trans>Another account</Trans>\n </span>\n </InputContainer>\n )}\n </FormCard>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\nimport type { Session } from '@atproto/oauth-provider-api'\nimport {\n LayoutTitlePage,\n LayoutTitlePageProps,\n} from '../../../components/layouts/layout-title-page.tsx'\nimport { Override } from '../../../lib/util.ts'\nimport { SignInForm, SignInFormOutput } from './sign-in-form.tsx'\nimport { SignInPicker } from './sign-in-picker.tsx'\n\nexport type SignInViewProps = Override<\n LayoutTitlePageProps,\n {\n sessions: readonly Session[]\n selectSub: (sub: string | null) => void\n loginHint?: string\n\n onSignIn: (\n credentials: SignInFormOutput,\n signal: AbortSignal,\n ) => void | PromiseLike<void>\n onSignUp?: () => void\n onForgotPassword?: (emailHint?: string) => void\n onBack?: () => void\n backLabel?: ReactNode\n }\n>\n\nexport function SignInView({\n loginHint,\n sessions,\n selectSub,\n\n onSignIn,\n onSignUp,\n onForgotPassword,\n onBack,\n backLabel,\n\n // LayoutTitlePage\n title,\n subtitle,\n ...props\n}: SignInViewProps) {\n const { t } = useLingui()\n const session = useMemo(() => sessions.find((s) => s.selected), [sessions])\n const clearSession = useCallback(() => selectSub(null), [selectSub])\n const accounts = useMemo(() => sessions.map((s) => s.account), [sessions])\n const [showSignInForm, setShowSignInForm] = useState(sessions.length === 0)\n\n title ??= t({ message: 'Sign in', context: 'noun' })\n\n useEffect(() => {\n // Make sure the \"back\" action shows the account picker instead of the\n // sign-in form (since the account was added to the list of current\n // sessions).\n if (session) setShowSignInForm(false)\n }, [session])\n\n if (session) {\n // All set (parent view will handle the redirect)\n if (!session.loginRequired) return null\n\n return (\n <LayoutTitlePage\n {...props}\n title={title}\n subtitle={subtitle ?? <Trans>Confirm your password to continue</Trans>}\n >\n <SignInForm\n onSubmit={onSignIn}\n onForgotPassword={onForgotPassword}\n onBack={clearSession}\n usernameDefault={\n session.account.preferred_username || session.account.sub\n }\n usernameReadonly={true}\n rememberDefault={true}\n />\n </LayoutTitlePage>\n )\n }\n\n if (loginHint) {\n return (\n <LayoutTitlePage\n {...props}\n title={title}\n subtitle={subtitle ?? <Trans>Enter your password</Trans>}\n >\n <SignInForm\n onSubmit={onSignIn}\n onForgotPassword={onForgotPassword}\n onBack={onBack}\n backLabel={backLabel}\n usernameDefault={loginHint}\n usernameReadonly={true}\n />\n </LayoutTitlePage>\n )\n }\n\n if (sessions.length === 0) {\n return (\n <LayoutTitlePage\n {...props}\n title={title}\n subtitle={subtitle ?? <Trans>Enter your username and password</Trans>}\n >\n <SignInForm\n onSubmit={onSignIn}\n onForgotPassword={onForgotPassword}\n onBack={onBack}\n backLabel={backLabel}\n />\n </LayoutTitlePage>\n )\n }\n\n if (showSignInForm) {\n return (\n <LayoutTitlePage\n {...props}\n title={title}\n subtitle={subtitle ?? <Trans>Enter your username and password</Trans>}\n >\n <SignInForm\n onSubmit={onSignIn}\n onForgotPassword={onForgotPassword}\n onBack={() => setShowSignInForm(false)}\n />\n </LayoutTitlePage>\n )\n }\n\n return (\n <LayoutTitlePage\n {...props}\n title={title}\n subtitle={subtitle ?? <Trans>Select from an existing account</Trans>}\n >\n <SignInPicker\n accounts={accounts}\n onAccount={(a) => selectSub(a.sub)}\n onOther={() => setShowSignInForm(true)}\n onBack={onBack}\n backLabel={backLabel}\n onSignUp={onSignUp}\n />\n </LayoutTitlePage>\n )\n}\n","import { useCallback, useEffect, useState } from 'react'\n\nexport type DisabledStep = false | null | undefined\nexport type Step = {\n invalid: boolean\n}\n\nconst isEnabled = <S extends Step | DisabledStep>(\n s: S,\n): s is S extends DisabledStep ? never : S => s != null && s !== false\nconst isRequired = <S extends Step | DisabledStep>(\n s: S,\n): s is S extends DisabledStep ? never : S & { invalid: true } =>\n isEnabled(s) && s.invalid === true\nconst isCompleted = <S extends Step | DisabledStep>(\n s: S,\n): s is S extends DisabledStep ? S : S & { invalid: false } =>\n !isEnabled(s) || s.invalid === false\n\nexport function useStepper<const S extends Step>(\n steps: readonly (S | DisabledStep)[],\n) {\n const firstIdx = steps.findIndex(isEnabled)\n const lastIdx = steps.findLastIndex(isEnabled)\n const requiredIdx = steps.findIndex(isRequired)\n\n const [currentIdx, setCurrentIdx] = useState<number>(firstIdx)\n\n const to = useCallback(\n (idx: number) => {\n if (idx !== -1 && steps[idx]) {\n setCurrentIdx(idx)\n return true\n } else {\n return false\n }\n },\n [steps.map(isEnabled).join()],\n )\n\n const prevIdx = steps.findLastIndex((s, i) => isEnabled(s) && i < currentIdx)\n const nextIdx = steps.findIndex((s, i) => isEnabled(s) && i > currentIdx)\n\n const toFirst = useCallback(() => to(firstIdx), [to, firstIdx])\n const toLast = useCallback(() => to(lastIdx), [to, lastIdx])\n const toPrev = useCallback(() => to(prevIdx), [to, prevIdx])\n const toNext = useCallback(() => to(nextIdx), [to, nextIdx])\n const toRequired = useCallback(() => to(requiredIdx), [to, requiredIdx])\n\n // Step number in user friendly terms (accounting for disabled steps)\n const currentPosition =\n currentIdx +\n // use \"1 indexed position\" (for user friendliness):\n 1 +\n // Adjust the position by counting the number of disabled steps before the\n // current step (if any):\n steps.reduce(\n (acc, s, i) => (i >= currentIdx || isEnabled(s) ? acc : acc - 1),\n 0,\n )\n\n const count = steps.filter(isEnabled).length\n const completed = steps.every(isCompleted)\n\n const current =\n currentIdx === -1 || !steps[currentIdx] ? undefined : steps[currentIdx]\n\n // Fool-proof (reset current step in case the current step becomes disabled)\n const broken = currentIdx === -1\n useEffect(() => {\n if (broken) toFirst()\n }, [broken])\n\n return {\n current,\n currentPosition,\n count,\n completed,\n atFirst: currentPosition === 1,\n atLast: currentPosition === count,\n toFirst,\n toLast,\n toPrev,\n toNext,\n toRequired,\n }\n}\n","import { Trans } from '@lingui/react/macro'\nimport { clsx } from 'clsx'\nimport { JSX, ReactNode, useCallback } from 'react'\nimport { DisabledStep, Step, useStepper } from '../../hooks/use-stepper.ts'\nimport { Override } from '../../lib/util.ts'\n\nexport type DoneFn = (...a: any) => unknown\n\nexport type WizardRenderProps<TDone extends DoneFn> = {\n /**\n * Indicates wether the render function being invoked corresponds to the step\n * currently active. The steps titles could, for example, be rendered in a\n * list of links, where the current step is highlighted (based on `current`).\n *\n * Another use for this is to render the next/previous steps in order to\n * provide animated transitions between steps. In this case, `current` would\n * be used to disable any form interaction with the form transitioning in/out.\n */\n current: boolean\n invalid: boolean\n\n prev?: () => void\n prevLabel: ReactNode\n\n // On the last step, the \"next()\" function will actually be the done function\n next: (() => void) | TDone\n nextLabel: ReactNode\n}\n\nexport type WizardRenderFn<TDone extends DoneFn> = (\n data: WizardRenderProps<TDone>,\n) => ReactNode\n\nexport type WizardStep<TDone extends DoneFn> = Step & {\n titleRender?: WizardRenderFn<TDone>\n contentRender: WizardRenderFn<TDone>\n}\n\nexport type WizardCardProps<TDone extends DoneFn> = Override<\n Omit<JSX.IntrinsicElements['div'], 'children'>,\n {\n prevLabel?: ReactNode\n nextLabel?: ReactNode\n\n onBack?: () => void\n backLabel?: ReactNode\n\n onDone: TDone\n doneLabel?: ReactNode\n\n steps: readonly (WizardStep<TDone> | DisabledStep)[]\n }\n>\n\nexport function WizardCard<TDone extends DoneFn>({\n prevLabel,\n nextLabel,\n\n onBack,\n backLabel,\n\n onDone,\n doneLabel,\n\n steps,\n className,\n\n ...props\n}: WizardCardProps<TDone>) {\n const {\n atFirst,\n atLast,\n count,\n current,\n currentPosition,\n completed,\n toNext,\n toPrev,\n toRequired,\n } = useStepper(steps)\n\n // Memoized to avoid re-renders in child (rendered) components\n const onNext = useCallback(() => {\n // If already at last step, go to the first incomplete (required) step\n if (!toNext()) toRequired()\n }, [toNext, toRequired])\n\n const data: WizardRenderProps<TDone> = {\n // The current UI only displays the current title & content.\n current: true,\n invalid: current ? current.invalid : false,\n\n prevLabel: (atFirst && backLabel) || prevLabel || <Trans>Back</Trans>,\n prev: atFirst ? onBack : toPrev,\n\n nextLabel: (atLast && doneLabel) || nextLabel || <Trans>Next</Trans>,\n next: atLast && completed ? onDone : onNext,\n }\n\n const stepTitle = current?.titleRender?.(data)\n const stepContent = current?.contentRender?.(data)\n\n return (\n <div className={clsx(className, 'flex flex-col')} {...props}>\n <p className=\"text-slate-500 dark:text-slate-400\">\n <Trans>\n Step {currentPosition} of {count}\n </Trans>\n </p>\n\n {stepTitle && <h2 className=\"mb-4 text-xl font-medium\">{stepTitle}</h2>}\n\n {stepContent}\n </div>\n )\n}\n","import { Trans } from '@lingui/react/macro'\nimport { clsx } from 'clsx'\nimport { JSX } from 'react'\nimport type { LinkDefinition } from '@atproto/oauth-provider-api'\nimport { Override } from '../../lib/util.ts'\n\nexport type HelpCardProps = Override<\n Omit<JSX.IntrinsicElements['p'], 'children'>,\n {\n links?: readonly LinkDefinition[]\n }\n>\n\nexport function HelpCard({\n links,\n\n className,\n ...props\n}: HelpCardProps) {\n const helpLink = links?.find((l) => l.rel === 'help')\n\n if (!helpLink) return null\n\n return (\n <p\n {...props}\n className={clsx(\n 'rounded-md bg-slate-100 p-3 text-sm text-slate-800 dark:bg-slate-800 dark:text-slate-400',\n className,\n )}\n >\n <Trans>\n Having trouble?{' '}\n <a\n role=\"link\"\n href={helpLink.href}\n rel={helpLink.rel}\n target=\"_blank\"\n className=\"text-primary\"\n >\n <Trans>Contact support</Trans>\n </a>\n </Trans>\n </p>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode, useEffect, useMemo, useRef, useState } from 'react'\nimport { Fieldset } from '../../../components/forms/fieldset.tsx'\nimport {\n AsyncActionController,\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { InputEmailAddress } from '../../../components/forms/input-email-address.tsx'\nimport { InputNewPassword } from '../../../components/forms/input-new-password.tsx'\nimport { InputText } from '../../../components/forms/input-text.tsx'\nimport { TokenIcon } from '../../../components/utils/icons.tsx'\nimport { mergeRefs } from '../../../lib/ref.ts'\nimport { Override } from '../../../lib/util.ts'\n\nexport type SignUpAccountFormOutput = {\n email: string\n password: string\n inviteCode?: string\n}\n\nexport type SignUpAccountFormProps = Override<\n Omit<\n FormCardAsyncProps,\n 'append' | 'onCancel' | 'onSubmit' | 'submitLabel' | 'cancelLabel'\n >,\n {\n inviteCodeRequired?: boolean\n\n credentials?: SignUpAccountFormOutput\n onCredentials?: (credentials?: SignUpAccountFormOutput) => void\n\n onNext: (signal: AbortSignal) => void | PromiseLike<void>\n nextLabel?: ReactNode\n\n onPrev?: () => void\n prevLabel?: ReactNode\n }\n>\n\nexport function SignUpAccountForm({\n inviteCodeRequired = true,\n\n credentials: creds,\n onCredentials,\n\n onNext,\n nextLabel,\n\n onPrev,\n prevLabel,\n\n // FormCardAsyncProps\n children,\n ref,\n invalid,\n ...props\n}: SignUpAccountFormProps) {\n const { t } = useLingui()\n\n const [email, setEmail] = useState(creds?.email)\n const [password, setPassword] = useState(creds?.password)\n const [inviteCode, setInviteCode] = useState(creds?.inviteCode)\n\n const formRef = useRef<AsyncActionController>(null)\n const resetForm = () => formRef.current?.reset()\n\n const credentials = useMemo(\n () =>\n email && password && (!inviteCodeRequired || inviteCode)\n ? {\n email,\n password,\n inviteCode: inviteCodeRequired ? inviteCode : undefined,\n }\n : undefined,\n [email, password, inviteCode, inviteCodeRequired],\n )\n\n useEffect(() => {\n onCredentials?.(credentials)\n }, [credentials, onCredentials])\n\n return (\n <FormCardAsync\n {...props}\n ref={mergeRefs([ref, formRef])}\n invalid={invalid || !credentials}\n onCancel={onPrev}\n cancelLabel={prevLabel}\n onSubmit={onNext}\n submitLabel={nextLabel}\n append={children}\n >\n {inviteCodeRequired && (\n <Fieldset label={<Trans>Invite code</Trans>}>\n <InputText\n icon={<TokenIcon className=\"w-5\" />}\n autoFocus\n name=\"inviteCode\"\n title={t`Invite code`}\n placeholder={t`example-com-xxxxx-xxxxx`}\n required\n value={inviteCode || ''}\n onChange={(event) => {\n setInviteCode(event.target.value || undefined)\n resetForm()\n }}\n enterKeyHint=\"next\"\n />\n </Fieldset>\n )}\n\n <Fieldset label={<Trans>Email</Trans>}>\n <InputEmailAddress\n autoFocus={!inviteCodeRequired}\n name=\"email\"\n enterKeyHint=\"next\"\n required\n defaultValue={email}\n onEmail={(email) => {\n setEmail(email)\n resetForm()\n }}\n />\n </Fieldset>\n\n <Fieldset label={<Trans>Password</Trans>}>\n <InputNewPassword\n name=\"password\"\n enterKeyHint=\"next\"\n required\n password={password}\n onPassword={(value) => {\n setPassword(value)\n resetForm()\n }}\n />\n </Fieldset>\n </FormCardAsync>\n )\n}\n","import { Trans } from '@lingui/react/macro'\nimport { clsx } from 'clsx'\nimport { JSX } from 'react'\nimport type { LinkDefinition } from '@atproto/oauth-provider-api'\nimport { LinkAnchor } from '../../../components/utils/link-anchor.tsx'\nimport { Override } from '../../../lib/util.ts'\n\nexport type SignUpDisclaimerProps = Override<\n Omit<JSX.IntrinsicElements['p'], 'children'>,\n {\n links?: readonly LinkDefinition[]\n }\n>\n\nexport function SignUpDisclaimer({\n links,\n\n // p\n className,\n ...attrs\n}: SignUpDisclaimerProps) {\n const tosLink = links?.find((l) => l.rel === 'terms-of-service')\n const ppLink = links?.find((l) => l.rel === 'privacy-policy')\n\n return (\n <p\n className={clsx('text-sm text-slate-500 dark:text-slate-400', className)}\n {...attrs}\n >\n <Trans>\n By creating an account you agree to the{' '}\n {tosLink ? (\n <LinkAnchor className=\"text-primary underline\" link={tosLink}>\n <Trans>Terms of Service</Trans>\n </LinkAnchor>\n ) : (\n <Trans>Terms of Service</Trans>\n )}\n {' and the '}\n {ppLink ? (\n <LinkAnchor className=\"text-primary underline\" link={ppLink}>\n <Trans>Privacy Policy</Trans>\n </LinkAnchor>\n ) : (\n <Trans>Privacy Policy</Trans>\n )}{' '}\n of this service.\n </Trans>\n </p>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { clsx } from 'clsx'\nimport { JSX, ReactNode, useCallback, useEffect, useRef, useState } from 'react'\nimport {\n AsyncActionController,\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { InputText } from '../../../components/forms/input-text.tsx'\nimport { Admonition } from '../../../components/utils/admonition.tsx'\nimport {\n AtSymbolIcon,\n CheckMarkIcon,\n XMarkIcon,\n} from '../../../components/utils/icons.tsx'\nimport { mergeRefs } from '../../../lib/ref.ts'\nimport { Override } from '../../../lib/util.ts'\n\n/**\n * Spec limit is 63, but in practice, we've limited it to 18 in our implementations.\n *\n * @see {@link https://atproto.com/specs/handle | ATProto Handle Spec}\n */\nconst MAX_LENGTH = 18\n\n/**\n * Spec limit is 1, but in practice, we've targeted at least 3 characters in handles.\n *\n * @see {@link https://atproto.com/specs/handle | ATProto Handle Spec}\n */\nconst MIN_LENGTH = 3\n\n/**\n * Spec limit is 253, but in practice, we've targeted 30 characters in handles.\n *\n * @see {@link https://atproto.com/specs/handle | ATProto Handle Spec}\n */\nconst MAX_FULL_LENGTH = 30\n\ntype ValidDomain = `.${string}`\nconst isValidDomain = (domain: string): domain is ValidDomain =>\n // Ignore domains that are so long that they would make the handle smaller\n // than MIN_LENGTH characters\n MIN_LENGTH + domain.length <= MAX_FULL_LENGTH &&\n // Basic validation here\n domain.startsWith('.') &&\n !domain.endsWith('.')\n\nfunction useSegmentValidator(domain: ValidDomain) {\n const minLen = MIN_LENGTH\n const maxLen = Math.min(MAX_LENGTH, MAX_FULL_LENGTH - domain.length)\n\n const validateSegment = useCallback(\n (segment: string) => {\n const validLength = segment.length >= minLen && segment.length <= maxLen\n const validCharset = /^[a-z0-9][a-z0-9-]+[a-z0-9]$/g.test(segment)\n\n return { validLength, validCharset, valid: validLength && validCharset }\n },\n [maxLen, minLen],\n )\n\n return {\n minLength: minLen,\n maxLength: maxLen,\n validateSegment,\n }\n}\n\nexport type SignUpHandleFormProps = Override<\n Omit<\n FormCardAsyncProps,\n 'append' | 'onCancel' | 'cancelLabel' | 'onSubmit' | 'submitLabel'\n >,\n {\n domains: string[]\n\n onNext: (signal: AbortSignal) => void | PromiseLike<void>\n nextLabel?: ReactNode\n\n onPrev?: () => void\n prevLabel?: ReactNode\n\n handle?: string\n onHandle?: (handle: string | undefined) => void\n }\n>\n\nexport function SignUpHandleForm({\n domains: availableDomains,\n\n onNext,\n nextLabel,\n\n onPrev,\n prevLabel,\n\n handle: handleInit,\n onHandle,\n\n // FormCardProps\n invalid,\n children,\n ref,\n ...props\n}: SignUpHandleFormProps) {\n const { t } = useLingui()\n const domains = availableDomains.filter(isValidDomain)\n\n const formRef = useRef<AsyncActionController>(null)\n\n const [domainIdx, setDomainIdx] = useState(() => {\n const idx = domains.findIndex((d) => handleInit?.endsWith(d))\n return idx === -1 ? 0 : idx\n })\n const [segment, setSegment] = useState(() => handleInit?.split('.')[0] || '')\n\n // Automatically update the domain index when the list length changes\n useEffect(() => {\n setDomainIdx((v) => Math.min(v, domains.length - 1))\n }, [domains.length])\n\n const domain: ValidDomain | null = domains[domainIdx] || domains[0] || null\n\n const { minLength, maxLength, validateSegment } = useSegmentValidator(domain)\n\n const validity = validateSegment(segment)\n const handle = domain && validity.valid ? `${segment}${domain}` : undefined\n useEffect(() => {\n // Whenever the user changes the handle, abort any pending form action\n formRef.current?.reset()\n onHandle?.(handle)\n }, [onHandle, handle])\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n const preview = `@${segment}${domain}`\n\n return (\n <FormCardAsync\n {...props}\n ref={mergeRefs([ref, formRef])}\n onCancel={onPrev}\n cancelLabel={prevLabel}\n onSubmit={onNext}\n submitLabel={nextLabel}\n invalid={invalid || !handle}\n append={children}\n >\n <div>\n <ValidationMessage hasValue={!!segment} valid={validity.validLength}>\n <Trans>\n Between {minLength} and {maxLength} characters\n </Trans>\n </ValidationMessage>\n <ValidationMessage hasValue={!!segment} valid={validity.validCharset}>\n <Trans>Only letters, numbers, and hyphens</Trans>\n </ValidationMessage>\n </div>\n\n <InputText\n ref={inputRef}\n icon={<AtSymbolIcon className=\"w-5\" />}\n name=\"handle\"\n type=\"text\"\n title={t`Type your desired username`}\n pattern=\"[a-z0-9][a-z0-9\\-]+[a-z0-9]\"\n minLength={minLength}\n maxLength={maxLength}\n autoCapitalize=\"none\"\n autoCorrect=\"off\"\n autoComplete=\"off\"\n dir=\"auto\"\n enterKeyHint=\"done\"\n autoFocus\n required\n value={segment}\n onChange={(event) => {\n const segment = event.target.value.toLowerCase()\n\n // Ensure the input is always lowercase\n const selectionStart = event.target.selectionStart\n const selectionEnd = event.target.selectionEnd\n event.target.value = segment\n event.target.setSelectionRange(selectionStart, selectionEnd)\n\n setSegment(segment)\n }}\n append={\n // @TODO refactor this to a separate component\n domains.length > 1 && (\n <select\n onClick={(event) => event.stopPropagation()}\n onMouseDown={(event) => event.stopPropagation()}\n value={domainIdx}\n aria-label={t`Select domain`}\n onChange={(event) => {\n setDomainIdx(Number(event.target.value))\n inputRef.current?.focus()\n }}\n className={clsx(\n 'block w-full',\n 'text-sm',\n 'rounded-lg p-2',\n 'bg-white dark:bg-slate-600',\n )}\n >\n {domains.map((domain, idx) => (\n <option key={domain} value={idx}>\n {domain}\n </option>\n ))}\n </select>\n )\n }\n bellow={\n <Trans>\n Your full username will be:{' '}\n {segment.length ? (\n <strong className=\"text-gray-800 dark:text-gray-200\">\n {preview}\n </strong>\n ) : (\n <span\n aria-hidden\n className=\"w-24 rounded-md bg-gray-300 p-2 dark:bg-slate-600\"\n />\n )}\n </Trans>\n }\n />\n\n <Admonition type=\"status\">\n <Trans>\n You can change this username to any domain name you control after your\n account is set up.\n </Trans>\n </Admonition>\n </FormCardAsync>\n )\n}\n\ntype ValidationMessageProps = JSX.IntrinsicElements['div'] & {\n valid: boolean\n hasValue: boolean\n}\n\nfunction ValidationMessage({\n valid,\n hasValue,\n\n // div\n children,\n className,\n ...props\n}: ValidationMessageProps) {\n const { t } = useLingui()\n return (\n <div\n {...props}\n className={clsx('flex flex-row items-center gap-2', className)}\n >\n {hasValue ? (\n <>\n {valid ? (\n <CheckMarkIcon\n className=\"text-success inline-block h-4 w-4\"\n title={t`Valid`}\n />\n ) : (\n <XMarkIcon\n className=\"text-error inline-block h-4 w-4\"\n title={t`Invalid`}\n />\n )}\n </>\n ) : (\n <div aria-hidden className=\"flex h-4 w-4 items-center justify-center\">\n <div className=\"h-2 w-2 rounded-full bg-gray-300 dark:bg-slate-600\" />\n </div>\n )}\n <div className=\"text-sm\">{children}</div>\n </div>\n )\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","var ir=Object.defineProperty,Ki=Object.defineProperties;var Ji=Object.getOwnPropertyDescriptors;var ht=Object.getOwnPropertySymbols;var or=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable;var rr=(t,e,n)=>e in t?ir(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,u=(t,e)=>{for(var n in e||(e={}))or.call(e,n)&&rr(t,n,e[n]);if(ht)for(var n of ht(e))sr.call(e,n)&&rr(t,n,e[n]);return t},h=(t,e)=>Ki(t,Ji(e));var ar=(t,e)=>{var n={};for(var r in t)or.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&ht)for(var r of ht(t))e.indexOf(r)<0&&sr.call(t,r)&&(n[r]=t[r]);return n};var cr=(t,e)=>{for(var n in e)ir(t,n,{get:e[n],enumerable:!0})};var ze=(t,e,n)=>new Promise((r,i)=>{var o=c=>{try{a(n.next(c))}catch(d){i(d)}},s=c=>{try{a(n.throw(c))}catch(d){i(d)}},a=c=>c.done?r(c.value):Promise.resolve(c.value).then(o,s);a((n=n.apply(t,e)).next())});function ur(t){return Object.entries(t).filter(([,e])=>e||e===!1).map(([e,n])=>`${encodeURIComponent(e)}=${encodeURIComponent(String(n))}`).join(\"&\")}function gt(t){let e=t&&t.ownerDocument||document,n=e.defaultView||e.parentWindow||window;return{document:e,window:n}}function Et(t){return t||document.head}var dr=\"hCaptcha-script\",xe=\"hCaptchaOnLoad\",Ve=\"script-error\";var he=\"@hCaptcha/loader\";var fr=Object.prototype.toString;function Xe(t){switch(fr.call(t)){case\"[object Error]\":case\"[object Exception]\":case\"[object DOMException]\":return!0;default:return U(t,Error)}}function Ne(t,e){return fr.call(t)===`[object ${e}]`}function De(t){return Ne(t,\"ErrorEvent\")}function St(t){return Ne(t,\"DOMError\")}function rn(t){return Ne(t,\"DOMException\")}function w(t){return Ne(t,\"String\")}function Ie(t){return t===null||typeof t!=\"object\"&&typeof t!=\"function\"}function L(t){return Ne(t,\"Object\")}function ge(t){return typeof Event!=\"undefined\"&&U(t,Event)}function on(t){return typeof Element!=\"undefined\"&&U(t,Element)}function sn(t){return Ne(t,\"RegExp\")}function Ee(t){return!!(t&&t.then&&typeof t.then==\"function\")}function an(t){return L(t)&&\"nativeEvent\"in t&&\"preventDefault\"in t&&\"stopPropagation\"in t}function Ke(t){return typeof t==\"number\"&&t!==t}function U(t,e){try{return t instanceof e}catch(n){return!1}}function Je(t){return!!(typeof t==\"object\"&&t!==null&&(t.__isVue||t._isVue))}function z(t,e=0){return typeof t!=\"string\"||e===0||t.length<=e?t:`${t.slice(0,e)}...`}function yt(t,e){if(!Array.isArray(t))return\"\";let n=[];for(let r=0;r<t.length;r++){let i=t[r];try{Je(i)?n.push(\"[VueViewModel]\"):n.push(String(i))}catch(o){n.push(\"[value cannot be serialized]\")}}return n.join(e)}function pr(t,e,n=!1){return w(t)?sn(e)?e.test(t):w(e)?n?t===e:t.includes(e):!1:!1}function ue(t,e=[],n=!1){return e.some(r=>pr(t,r,n))}function un(t,e,n=250,r,i,o,s){if(!o.exception||!o.exception.values||!s||!U(s.originalException,Error))return;let a=o.exception.values.length>0?o.exception.values[o.exception.values.length-1]:void 0;a&&(o.exception.values=Qi(cn(t,e,i,s.originalException,r,o.exception.values,a,0),n))}function cn(t,e,n,r,i,o,s,a){if(o.length>=n+1)return o;let c=[...o];if(U(r[i],Error)){lr(s,a);let d=t(e,r[i]),l=c.length;_r(d,i,l,a),c=cn(t,e,n,r[i],i,[d,...c],d,l)}return Array.isArray(r.errors)&&r.errors.forEach((d,l)=>{if(U(d,Error)){lr(s,a);let p=t(e,d),_=c.length;_r(p,`errors[${l}]`,_,a),c=cn(t,e,n,d,i,[p,...c],p,_)}}),c}function lr(t,e){t.mechanism=t.mechanism||{type:\"generic\",handled:!0},t.mechanism=h(u({},t.mechanism),{is_exception_group:!0,exception_id:e})}function _r(t,e,n,r){t.mechanism=t.mechanism||{type:\"generic\",handled:!0},t.mechanism=h(u({},t.mechanism),{type:\"chained\",source:e,exception_id:n,parent_id:r})}function Qi(t,e){return t.map(n=>(n.value&&(n.value=z(n.value,e)),n))}function Tt(t){return t&&t.Math==Math?t:void 0}var b=typeof globalThis==\"object\"&&Tt(globalThis)||typeof window==\"object\"&&Tt(window)||typeof self==\"object\"&&Tt(self)||typeof global==\"object\"&&Tt(global)||function(){return this}()||{};function F(){return b}function Qe(t,e,n){let r=n||b,i=r.__SENTRY__=r.__SENTRY__||{};return i[t]||(i[t]=e())}var bt=F(),Zi=80;function V(t,e={}){try{let n=t,r=5,i=[],o=0,s=0,a=\" > \",c=a.length,d,l=Array.isArray(e)?e:e.keyAttrs,p=!Array.isArray(e)&&e.maxStringLength||Zi;for(;n&&o++<r&&(d=eo(n,l),!(d===\"html\"||o>1&&s+i.length*c+d.length>=p));)i.push(d),s+=d.length,n=n.parentNode;return i.reverse().join(a)}catch(n){return\"<unknown>\"}}function eo(t,e){let n=t,r=[],i,o,s,a,c;if(!n||!n.tagName)return\"\";r.push(n.tagName.toLowerCase());let d=e&&e.length?e.filter(p=>n.getAttribute(p)).map(p=>[p,n.getAttribute(p)]):null;if(d&&d.length)d.forEach(p=>{r.push(`[${p[0]}=\"${p[1]}\"]`)});else if(n.id&&r.push(`#${n.id}`),i=n.className,i&&w(i))for(o=i.split(/\\s+/),c=0;c<o.length;c++)r.push(`.${o[c]}`);let l=[\"aria-label\",\"type\",\"name\",\"title\",\"alt\"];for(c=0;c<l.length;c++)s=l[c],a=n.getAttribute(s),a&&r.push(`[${s}=\"${a}\"]`);return r.join(\"\")}function dn(){try{return bt.document.location.href}catch(t){return\"\"}}function fn(t){return bt.document&&bt.document.querySelector?bt.document.querySelector(t):null}var to=\"Sentry Logger \",Ze=[\"debug\",\"info\",\"warn\",\"error\",\"log\",\"assert\",\"trace\"],Oe={};function Rt(t){if(!(\"console\"in b))return t();let e=b.console,n={},r=Object.keys(Oe);r.forEach(i=>{let o=Oe[i];n[i]=e[i],e[i]=o});try{return t()}finally{r.forEach(i=>{e[i]=n[i]})}}function no(){let t=!1,e={enable:()=>{t=!0},disable:()=>{t=!1}};return typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__?Ze.forEach(n=>{e[n]=(...r)=>{t&&Rt(()=>{b.console[n](`${to}[${n}]:`,...r)})}}):Ze.forEach(n=>{e[n]=()=>{}}),e}var f=no();var ro=/^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;function io(t){return t===\"http\"||t===\"https\"}function X(t,e=!1){let{host:n,path:r,pass:i,port:o,projectId:s,protocol:a,publicKey:c}=t;return`${a}://${c}${e&&i?`:${i}`:\"\"}@${n}${o?`:${o}`:\"\"}/${r&&`${r}/`}${s}`}function mr(t){let e=ro.exec(t);if(!e){console.error(`Invalid Sentry Dsn: ${t}`);return}let[n,r,i=\"\",o,s=\"\",a]=e.slice(1),c=\"\",d=a,l=d.split(\"/\");if(l.length>1&&(c=l.slice(0,-1).join(\"/\"),d=l.pop()),d){let p=d.match(/^\\d+/);p&&(d=p[0])}return hr({host:o,pass:i,path:c,projectId:d,port:s,protocol:n,publicKey:r})}function hr(t){return{protocol:t.protocol,publicKey:t.publicKey||\"\",pass:t.pass||\"\",host:t.host,port:t.port||\"\",path:t.path||\"\",projectId:t.projectId}}function oo(t){if(!(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__))return!0;let{port:e,projectId:n,protocol:r}=t;return[\"protocol\",\"publicKey\",\"host\",\"projectId\"].find(s=>t[s]?!1:(f.error(`Invalid Sentry Dsn: ${s} missing`),!0))?!1:n.match(/^\\d+$/)?io(r)?e&&isNaN(parseInt(e,10))?(f.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(f.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(f.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function vt(t){let e=typeof t==\"string\"?mr(t):hr(t);if(!(!e||!oo(e)))return e}var k=class extends Error{constructor(e,n=\"warn\"){super(e),this.message=e,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=n}};function x(t,e,n){if(!(e in t))return;let r=t[e],i=n(r);typeof i==\"function\"&&xt(i,r),t[e]=i}function ke(t,e,n){try{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}catch(r){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`Failed to add non-enumerable property \"${e}\" to object`,t)}}function xt(t,e){try{let n=e.prototype||{};t.prototype=e.prototype=n,ke(t,\"__sentry_original__\",e)}catch(n){}}function Se(t){return t.__sentry_original__}function ln(t){return Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).join(\"&\")}function Nt(t){if(Xe(t))return u({message:t.message,name:t.name,stack:t.stack},Er(t));if(ge(t)){let e=u({type:t.type,target:gr(t.target),currentTarget:gr(t.currentTarget)},Er(t));return typeof CustomEvent!=\"undefined\"&&U(t,CustomEvent)&&(e.detail=t.detail),e}else return t}function gr(t){try{return on(t)?V(t):Object.prototype.toString.call(t)}catch(e){return\"<unknown>\"}}function Er(t){if(typeof t==\"object\"&&t!==null){let e={};for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}else return{}}function _n(t,e=40){let n=Object.keys(Nt(t));if(n.sort(),!n.length)return\"[object has no keys]\";if(n[0].length>=e)return z(n[0],e);for(let r=n.length;r>0;r--){let i=n.slice(0,r).join(\", \");if(!(i.length>e))return r===n.length?i:z(i,e)}return\"\"}function B(t){return pn(t,new Map)}function pn(t,e){if(L(t)){let n=e.get(t);if(n!==void 0)return n;let r={};e.set(t,r);for(let i of Object.keys(t))typeof t[i]!=\"undefined\"&&(r[i]=pn(t[i],e));return r}if(Array.isArray(t)){let n=e.get(t);if(n!==void 0)return n;let r=[];return e.set(t,r),t.forEach(i=>{r.push(pn(i,e))}),r}return t}var Tr=50,Sr=/\\(error: (.*)\\)/,yr=/captureMessage|captureException/;function hn(...t){let e=t.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0)=>{let i=[],o=n.split(`\n`);for(let s=r;s<o.length;s++){let a=o[s];if(a.length>1024)continue;let c=Sr.test(a)?a.replace(Sr,\"$1\"):a;if(!c.match(/\\S*Error: /)){for(let d of e){let l=d(c);if(l){i.push(l);break}}if(i.length>=Tr)break}}return br(i)}}function br(t){if(!t.length)return[];let e=Array.from(t);return/sentryWrapped/.test(e[e.length-1].function||\"\")&&e.pop(),e.reverse(),yr.test(e[e.length-1].function||\"\")&&(e.pop(),yr.test(e[e.length-1].function||\"\")&&e.pop()),e.slice(0,Tr).map(n=>h(u({},n),{filename:n.filename||e[e.length-1].filename,function:n.function||\"?\"}))}var mn=\"<anonymous>\";function G(t){try{return!t||typeof t!=\"function\"?mn:t.name||mn}catch(e){return mn}}var gn=F();function Rr(){if(!(\"fetch\"in gn))return!1;try{return new Headers,new Request(\"http://www.example.com\"),new Response,!0}catch(t){return!1}}function et(t){return t&&/^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(t.toString())}function En(){if(!Rr())return!1;if(et(gn.fetch))return!0;let t=!1,e=gn.document;if(e&&typeof e.createElement==\"function\")try{let n=e.createElement(\"iframe\");n.hidden=!0,e.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(t=et(n.contentWindow.fetch)),e.head.removeChild(n)}catch(n){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \",n)}return t}var Dt=F();function vr(){let t=Dt.chrome,e=t&&t.app&&t.app.runtime,n=\"history\"in Dt&&!!Dt.history.pushState&&!!Dt.history.replaceState;return!e&&n}var I=F(),re=\"__sentry_xhr_v2__\",tt={},xr={};function so(t){if(!xr[t])switch(xr[t]=!0,t){case\"console\":ao();break;case\"dom\":kr();break;case\"xhr\":Or();break;case\"fetch\":co();break;case\"history\":uo();break;case\"error\":_o();break;case\"unhandledrejection\":mo();break;default:(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"unknown instrumentation type:\",t);return}}function O(t,e){tt[t]=tt[t]||[],tt[t].push(e),so(t)}function H(t,e){if(!(!t||!tt[t]))for(let n of tt[t]||[])try{n(e)}catch(r){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(`Error while triggering instrumentation handler.\nType: ${t}\nName: ${G(n)}\nError:`,r)}}function ao(){\"console\"in b&&Ze.forEach(function(t){t in b.console&&x(b.console,t,function(e){return Oe[t]=e,function(...n){H(\"console\",{args:n,level:t});let r=Oe[t];r&&r.apply(b.console,n)}})})}function co(){En()&&x(b,\"fetch\",function(t){return function(...e){let{method:n,url:r}=Ir(e),i={args:e,fetchData:{method:n,url:r},startTimestamp:Date.now()};return H(\"fetch\",u({},i)),t.apply(b,e).then(o=>(H(\"fetch\",h(u({},i),{endTimestamp:Date.now(),response:o})),o),o=>{throw H(\"fetch\",h(u({},i),{endTimestamp:Date.now(),error:o})),o})}})}function Sn(t,e){return!!t&&typeof t==\"object\"&&!!t[e]}function Nr(t){return typeof t==\"string\"?t:t?Sn(t,\"url\")?t.url:t.toString?t.toString():\"\":\"\"}function Ir(t){if(t.length===0)return{method:\"GET\",url:\"\"};if(t.length===2){let[n,r]=t;return{url:Nr(n),method:Sn(r,\"method\")?String(r.method).toUpperCase():\"GET\"}}let e=t[0];return{url:Nr(e),method:Sn(e,\"method\")?String(e.method).toUpperCase():\"GET\"}}function Or(){if(!I.XMLHttpRequest)return;let t=XMLHttpRequest.prototype;x(t,\"open\",function(e){return function(...n){let r=n[1],i=this[re]={method:w(n[0])?n[0].toUpperCase():n[0],url:n[1],request_headers:{}};w(r)&&i.method===\"POST\"&&r.match(/sentry_key/)&&(this.__sentry_own_request__=!0);let o=()=>{let s=this[re];if(s&&this.readyState===4){try{s.status_code=this.status}catch(a){}H(\"xhr\",{args:n,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return\"onreadystatechange\"in this&&typeof this.onreadystatechange==\"function\"?x(this,\"onreadystatechange\",function(s){return function(...a){return o(),s.apply(this,a)}}):this.addEventListener(\"readystatechange\",o),x(this,\"setRequestHeader\",function(s){return function(...a){let[c,d]=a,l=this[re];return l&&(l.request_headers[c.toLowerCase()]=d),s.apply(this,a)}}),e.apply(this,n)}}),x(t,\"send\",function(e){return function(...n){let r=this[re];return r&&n[0]!==void 0&&(r.body=n[0]),H(\"xhr\",{args:n,startTimestamp:Date.now(),xhr:this}),e.apply(this,n)}})}var It;function uo(){if(!vr())return;let t=I.onpopstate;I.onpopstate=function(...n){let r=I.location.href,i=It;if(It=r,H(\"history\",{from:i,to:r}),t)try{return t.apply(this,n)}catch(o){}};function e(n){return function(...r){let i=r.length>2?r[2]:void 0;if(i){let o=It,s=String(i);It=s,H(\"history\",{from:o,to:s})}return n.apply(this,r)}}x(I.history,\"pushState\",e),x(I.history,\"replaceState\",e)}var fo=1e3,Ot,kt;function po(t,e){if(!t||t.type!==e.type)return!0;try{if(t.target!==e.target)return!0}catch(n){}return!1}function lo(t){if(t.type!==\"keypress\")return!1;try{let e=t.target;if(!e||!e.tagName)return!0;if(e.tagName===\"INPUT\"||e.tagName===\"TEXTAREA\"||e.isContentEditable)return!1}catch(e){}return!0}function Dr(t,e=!1){return n=>{if(!n||kt===n||lo(n))return;let r=n.type===\"keypress\"?\"input\":n.type;Ot===void 0?(t({event:n,name:r,global:e}),kt=n):po(kt,n)&&(t({event:n,name:r,global:e}),kt=n),clearTimeout(Ot),Ot=I.setTimeout(()=>{Ot=void 0},fo)}}function kr(){if(!I.document)return;let t=H.bind(null,\"dom\"),e=Dr(t,!0);I.document.addEventListener(\"click\",e,!1),I.document.addEventListener(\"keypress\",e,!1),[\"EventTarget\",\"Node\"].forEach(n=>{let r=I[n]&&I[n].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty(\"addEventListener\")||(x(r,\"addEventListener\",function(i){return function(o,s,a){if(o===\"click\"||o==\"keypress\")try{let c=this,d=c.__sentry_instrumentation_handlers__=c.__sentry_instrumentation_handlers__||{},l=d[o]=d[o]||{refCount:0};if(!l.handler){let p=Dr(t);l.handler=p,i.call(this,o,p,a)}l.refCount++}catch(c){}return i.call(this,o,s,a)}}),x(r,\"removeEventListener\",function(i){return function(o,s,a){if(o===\"click\"||o==\"keypress\")try{let c=this,d=c.__sentry_instrumentation_handlers__||{},l=d[o];l&&(l.refCount--,l.refCount<=0&&(i.call(this,o,l.handler,a),l.handler=void 0,delete d[o]),Object.keys(d).length===0&&delete c.__sentry_instrumentation_handlers__)}catch(c){}return i.call(this,o,s,a)}}))})}var wt=null;function _o(){wt=I.onerror,I.onerror=function(t,e,n,r,i){return H(\"error\",{column:r,error:i,line:n,msg:t,url:e}),wt&&!wt.__SENTRY_LOADER__?wt.apply(this,arguments):!1},I.onerror.__SENTRY_INSTRUMENTED__=!0}var Bt=null;function mo(){Bt=I.onunhandledrejection,I.onunhandledrejection=function(t){return H(\"unhandledrejection\",t),Bt&&!Bt.__SENTRY_LOADER__?Bt.apply(this,arguments):!0},I.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function wr(){let t=typeof WeakSet==\"function\",e=t?new WeakSet:[];function n(i){if(t)return e.has(i)?!0:(e.add(i),!1);for(let o=0;o<e.length;o++)if(e[o]===i)return!0;return e.push(i),!1}function r(i){if(t)e.delete(i);else for(let o=0;o<e.length;o++)if(e[o]===i){e.splice(o,1);break}}return[n,r]}function v(){let t=b,e=t.crypto||t.msCrypto,n=()=>Math.random()*16;try{if(e&&e.randomUUID)return e.randomUUID().replace(/-/g,\"\");e&&e.getRandomValues&&(n=()=>e.getRandomValues(new Uint8Array(1))[0])}catch(r){}return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,r=>(r^(n()&15)>>r/4).toString(16))}function Br(t){return t.exception&&t.exception.values?t.exception.values[0]:void 0}function $(t){let{message:e,event_id:n}=t;if(e)return e;let r=Br(t);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||\"<unknown>\":n||\"<unknown>\"}function we(t,e,n){let r=t.exception=t.exception||{},i=r.values=r.values||[],o=i[0]=i[0]||{};o.value||(o.value=e||\"\"),o.type||(o.type=n||\"Error\")}function ie(t,e){let n=Br(t);if(!n)return;let r={type:\"generic\",handled:!0},i=n.mechanism;if(n.mechanism=u(u(u({},r),i),e),e&&\"data\"in e){let o=u(u({},i&&i.data),e.data);n.mechanism.data=o}}function At(t){if(t&&t.__sentry_captured__)return!0;try{ke(t,\"__sentry_captured__\",!0)}catch(e){}return!1}function Ut(t){return Array.isArray(t)?t:[t]}function yn(){return typeof __SENTRY_BROWSER_BUNDLE__!=\"undefined\"&&!!__SENTRY_BROWSER_BUNDLE__}function Tn(){return\"npm\"}function Ar(){return!yn()&&Object.prototype.toString.call(typeof process!=\"undefined\"?process:0)===\"[object process]\"}function Ur(t,e){return t.require(e)}function j(t,e=100,n=1/0){try{return Ct(\"\",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function Gt(t,e=3,n=100*1024){let r=j(t,e);return So(r)>n?Gt(t,e-1,n):r}function Ct(t,e,n=1/0,r=1/0,i=wr()){let[o,s]=i;if(e==null||[\"number\",\"boolean\",\"string\"].includes(typeof e)&&!Ke(e))return e;let a=ho(t,e);if(!a.startsWith(\"[object \"))return a;if(e.__sentry_skip_normalization__)return e;let c=typeof e.__sentry_override_normalization_depth__==\"number\"?e.__sentry_override_normalization_depth__:n;if(c===0)return a.replace(\"object \",\"\");if(o(e))return\"[Circular ~]\";let d=e;if(d&&typeof d.toJSON==\"function\")try{let m=d.toJSON();return Ct(\"\",m,c-1,r,i)}catch(m){}let l=Array.isArray(e)?[]:{},p=0,_=Nt(e);for(let m in _){if(!Object.prototype.hasOwnProperty.call(_,m))continue;if(p>=r){l[m]=\"[MaxProperties ~]\";break}let E=_[m];l[m]=Ct(m,E,c-1,r,i),p++}return s(e),l}function ho(t,e){try{if(t===\"domain\"&&e&&typeof e==\"object\"&&e._events)return\"[Domain]\";if(t===\"domainEmitter\")return\"[DomainEmitter]\";if(typeof global!=\"undefined\"&&e===global)return\"[Global]\";if(typeof window!=\"undefined\"&&e===window)return\"[Window]\";if(typeof document!=\"undefined\"&&e===document)return\"[Document]\";if(Je(e))return\"[VueViewModel]\";if(an(e))return\"[SyntheticEvent]\";if(typeof e==\"number\"&&e!==e)return\"[NaN]\";if(typeof e==\"function\")return`[Function: ${G(e)}]`;if(typeof e==\"symbol\")return`[${String(e)}]`;if(typeof e==\"bigint\")return`[BigInt: ${String(e)}]`;let n=go(e);return/^HTML(\\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function go(t){let e=Object.getPrototypeOf(t);return e?e.constructor.name:\"null prototype\"}function Eo(t){return~-encodeURI(t).split(/%..|./).length}function So(t){return Eo(JSON.stringify(t))}var oe;(function(t){t[t.PENDING=0]=\"PENDING\";let n=1;t[t.RESOLVED=n]=\"RESOLVED\";let r=2;t[t.REJECTED=r]=\"REJECTED\"})(oe||(oe={}));function C(t){return new N(e=>{e(t)})}function ye(t){return new N((e,n)=>{n(t)})}var N=class{constructor(e){N.prototype.__init.call(this),N.prototype.__init2.call(this),N.prototype.__init3.call(this),N.prototype.__init4.call(this),this._state=oe.PENDING,this._handlers=[];try{e(this._resolve,this._reject)}catch(n){this._reject(n)}}then(e,n){return new N((r,i)=>{this._handlers.push([!1,o=>{if(!e)r(o);else try{r(e(o))}catch(s){i(s)}},o=>{if(!n)i(o);else try{r(n(o))}catch(s){i(s)}}]),this._executeHandlers()})}catch(e){return this.then(n=>n,e)}finally(e){return new N((n,r)=>{let i,o;return this.then(s=>{o=!1,i=s,e&&e()},s=>{o=!0,i=s,e&&e()}).then(()=>{if(o){r(i);return}n(i)})})}__init(){this._resolve=e=>{this._setResult(oe.RESOLVED,e)}}__init2(){this._reject=e=>{this._setResult(oe.REJECTED,e)}}__init3(){this._setResult=(e,n)=>{if(this._state===oe.PENDING){if(Ee(n)){n.then(this._resolve,this._reject);return}this._state=e,this._value=n,this._executeHandlers()}}}__init4(){this._executeHandlers=()=>{if(this._state===oe.PENDING)return;let e=this._handlers.slice();this._handlers=[],e.forEach(n=>{n[0]||(this._state===oe.RESOLVED&&n[1](this._value),this._state===oe.REJECTED&&n[2](this._value),n[0]=!0)})}}};function bn(t){let e=[];function n(){return t===void 0||e.length<t}function r(s){return e.splice(e.indexOf(s),1)[0]}function i(s){if(!n())return ye(new k(\"Not adding Promise because buffer limit was reached.\"));let a=s();return e.indexOf(a)===-1&&e.push(a),a.then(()=>r(a)).then(null,()=>r(a).then(null,()=>{})),a}function o(s){return new N((a,c)=>{let d=e.length;if(!d)return a(!0);let l=setTimeout(()=>{s&&s>0&&a(!1)},s);e.forEach(p=>{C(p).then(()=>{--d||(clearTimeout(l),a(!0))},c)})})}return{$:e,add:i,drain:o}}function nt(t){if(!t)return{};let e=t.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);if(!e)return{};let n=e[6]||\"\",r=e[8]||\"\";return{host:e[4],path:e[5],protocol:e[2],search:n,hash:r,relative:e[5]+n+r}}var Cr=[\"fatal\",\"error\",\"warning\",\"log\",\"info\",\"debug\"];function Rn(t){return t===\"warn\"?\"warning\":Cr.includes(t)?t:\"log\"}var Pr=F(),xn={nowSeconds:()=>Date.now()/1e3};function yo(){let{performance:t}=Pr;if(!t||!t.now)return;let e=Date.now()-t.now();return{now:()=>t.now(),timeOrigin:e}}function To(){try{return Ur(module,\"perf_hooks\").performance}catch(t){return}}var vn=Ar()?To():yo(),Gr=vn===void 0?xn:{nowSeconds:()=>(vn.timeOrigin+vn.now())/1e3},se=xn.nowSeconds.bind(xn),W=Gr.nowSeconds.bind(Gr);var rt,A=(()=>{let{performance:t}=Pr;if(!t||!t.now){rt=\"none\";return}let e=3600*1e3,n=t.now(),r=Date.now(),i=t.timeOrigin?Math.abs(t.timeOrigin+n-r):e,o=i<e,s=t.timing&&t.timing.navigationStart,c=typeof s==\"number\"?Math.abs(s+n-r):e,d=c<e;return o||d?i<=c?(rt=\"timeOrigin\",t.timeOrigin):(rt=\"navigationStart\",s):(rt=\"dateNow\",r)})();var it=\"baggage\",Nn=\"sentry-\",Mr=/^sentry-/,Lr=8192;function Dn(t){if(!w(t)&&!Array.isArray(t))return;let e={};if(Array.isArray(t))e=t.reduce((r,i)=>{let o=Yr(i);return u(u({},r),o)},{});else{if(!t)return;e=Yr(t)}let n=Object.entries(e).reduce((r,[i,o])=>{if(i.match(Mr)){let s=i.slice(Nn.length);r[s]=o}return r},{});if(Object.keys(n).length>0)return n}function ot(t){if(!t)return;let e=Object.entries(t).reduce((n,[r,i])=>(i&&(n[`${Nn}${r}`]=i),n),{});return bo(e)}function Yr(t){return t.split(\",\").map(e=>e.split(\"=\").map(n=>decodeURIComponent(n.trim()))).reduce((e,[n,r])=>(e[n]=r,e),{})}function bo(t){if(Object.keys(t).length!==0)return Object.entries(t).reduce((e,[n,r],i)=>{let o=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,s=i===0?o:`${e},${o}`;return s.length>Lr?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),e):s},\"\")}var Fr=new RegExp(\"^[ \\\\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\\\t]*$\");function In(t){if(!t)return;let e=t.match(Fr);if(!e)return;let n;return e[3]===\"1\"?n=!0:e[3]===\"0\"&&(n=!1),{traceId:e[1],parentSampled:n,parentSpanId:e[2]}}function On(t,e){let n=In(t),r=Dn(e),{traceId:i,parentSpanId:o,parentSampled:s}=n||{},a={traceId:i||v(),spanId:v().substring(16),sampled:s};return o&&(a.parentSpanId=o),r&&(a.dsc=r),{traceparentData:n,dynamicSamplingContext:r,propagationContext:a}}function Be(t=v(),e=v().substring(16),n){let r=\"\";return n!==void 0&&(r=n?\"-1\":\"-0\"),`${t}-${e}${r}`}function K(t,e=[]){return[t,e]}function wn(t,e){let[n,r]=t;return[n,[...r,e]]}function Pt(t,e){let n=t[1];for(let r of n){let i=r[0].type;if(e(r,i))return!0}return!1}function kn(t,e){return(e||new TextEncoder).encode(t)}function Bn(t,e){let[n,r]=t,i=JSON.stringify(n);function o(s){typeof i==\"string\"?i=typeof s==\"string\"?i+s:[kn(i,e),s]:i.push(typeof s==\"string\"?kn(s,e):s)}for(let s of r){let[a,c]=s;if(o(`\n${JSON.stringify(a)}\n`),typeof c==\"string\"||c instanceof Uint8Array)o(c);else{let d;try{d=JSON.stringify(c)}catch(l){d=JSON.stringify(j(c))}o(d)}}return typeof i==\"string\"?i:Ro(i)}function Ro(t){let e=t.reduce((i,o)=>i+o.length,0),n=new Uint8Array(e),r=0;for(let i of t)n.set(i,r),r+=i.length;return n}function An(t,e){let n=typeof t.data==\"string\"?kn(t.data,e):t.data;return[B({type:\"attachment\",length:n.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType}),n]}var vo={session:\"session\",sessions:\"session\",attachment:\"attachment\",transaction:\"transaction\",event:\"error\",client_report:\"internal\",user_report:\"default\",profile:\"profile\",replay_event:\"replay\",replay_recording:\"replay\",check_in:\"monitor\"};function Yt(t){return vo[t]}function Mt(t){if(!t||!t.sdk)return;let{name:e,version:n}=t.sdk;return{name:e,version:n}}function Un(t,e,n,r){let i=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.dynamicSamplingContext;return u(u(u({event_id:t.event_id,sent_at:new Date().toISOString()},e&&{sdk:e}),!!n&&r&&{dsn:X(r)}),i&&{trace:B(u({},i))})}function Cn(t,e,n){let r=[{type:\"client_report\"},{timestamp:n||se(),discarded_events:t}];return K(e?{dsn:e}:{},[r])}function Hr(t,e=Date.now()){let n=parseInt(`${t}`,10);if(!isNaN(n))return n*1e3;let r=Date.parse(`${t}`);return isNaN(r)?6e4:r-e}function $r(t,e){return t[e]||t.all||0}function Gn(t,e,n=Date.now()){return $r(t,e)>n}function Pn(t,{statusCode:e,headers:n},r=Date.now()){let i=u({},t),o=n&&n[\"x-sentry-rate-limits\"],s=n&&n[\"retry-after\"];if(o)for(let a of o.trim().split(\",\")){let[c,d]=a.split(\":\",2),l=parseInt(c,10),p=(isNaN(l)?60:l)*1e3;if(!d)i.all=r+p;else for(let _ of d.split(\";\"))i[_]=r+p}else s?i.all=r+Hr(s,r):e===429&&(i.all=r+60*1e3);return i}var Ae=\"production\";function st(){return Qe(\"globalEventProcessors\",()=>[])}function Yn(t){st().push(t)}function Ue(t,e,n,r=0){return new N((i,o)=>{let s=t[r];if(e===null||typeof s!=\"function\")i(e);else{let a=s(u({},e),n);(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&s.id&&a===null&&f.log(`Event processor \"${s.id}\" dropped event`),Ee(a)?a.then(c=>Ue(t,c,n,r+1).then(i)).then(null,o):Ue(t,a,n,r+1).then(i).then(null,o)}})}function jr(t){let e=W(),n={sid:v(),init:!0,timestamp:e,started:e,duration:0,status:\"ok\",errors:0,ignoreDuration:!1,toJSON:()=>xo(n)};return t&&ae(n,t),n}function ae(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),!t.did&&!e.did&&(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||W(),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=e.sid.length===32?e.sid:v()),e.init!==void 0&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),typeof e.started==\"number\"&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if(typeof e.duration==\"number\")t.duration=e.duration;else{let n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),typeof e.errors==\"number\"&&(t.errors=e.errors),e.status&&(t.status=e.status)}function Wr(t,e){let n={};e?n={status:e}:t.status===\"ok\"&&(n={status:\"exited\"}),ae(t,n)}function xo(t){return B({sid:`${t.sid}`,init:t.init,started:new Date(t.started*1e3).toISOString(),timestamp:new Date(t.timestamp*1e3).toISOString(),status:t.status,errors:t.errors,did:typeof t.did==\"number\"||typeof t.did==\"string\"?`${t.did}`:void 0,duration:t.duration,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}})}var No=100,P=class{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext=qr()}static clone(e){let n=new P;return e&&(n._breadcrumbs=[...e._breadcrumbs],n._tags=u({},e._tags),n._extra=u({},e._extra),n._contexts=u({},e._contexts),n._user=e._user,n._level=e._level,n._span=e._span,n._session=e._session,n._transactionName=e._transactionName,n._fingerprint=e._fingerprint,n._eventProcessors=[...e._eventProcessors],n._requestSession=e._requestSession,n._attachments=[...e._attachments],n._sdkProcessingMetadata=u({},e._sdkProcessingMetadata),n._propagationContext=u({},e._propagationContext)),n}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{},this._session&&ae(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(e){return this._requestSession=e,this}setTags(e){return this._tags=u(u({},this._tags),e),this._notifyScopeListeners(),this}setTag(e,n){return this._tags=h(u({},this._tags),{[e]:n}),this._notifyScopeListeners(),this}setExtras(e){return this._extra=u(u({},this._extra),e),this._notifyScopeListeners(),this}setExtra(e,n){return this._extra=h(u({},this._extra),{[e]:n}),this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,n){return n===null?delete this._contexts[e]:this._contexts[e]=n,this._notifyScopeListeners(),this}setSpan(e){return this._span=e,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){let e=this.getSpan();return e&&e.transaction}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;if(typeof e==\"function\"){let n=e(this);return n instanceof P?n:this}return e instanceof P?(this._tags=u(u({},this._tags),e._tags),this._extra=u(u({},this._extra),e._extra),this._contexts=u(u({},this._contexts),e._contexts),e._user&&Object.keys(e._user).length&&(this._user=e._user),e._level&&(this._level=e._level),e._fingerprint&&(this._fingerprint=e._fingerprint),e._requestSession&&(this._requestSession=e._requestSession),e._propagationContext&&(this._propagationContext=e._propagationContext)):L(e)&&(e=e,this._tags=u(u({},this._tags),e.tags),this._extra=u(u({},this._extra),e.extra),this._contexts=u(u({},this._contexts),e.contexts),e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint),e.requestSession&&(this._requestSession=e.requestSession),e.propagationContext&&(this._propagationContext=e.propagationContext)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this._propagationContext=qr(),this}addBreadcrumb(e,n){let r=typeof n==\"number\"?n:No;if(r<=0)return this;let i=u({timestamp:se()},e),o=this._breadcrumbs;return o.push(i),this._breadcrumbs=o.length>r?o.slice(-r):o,this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(e,n={},r){if(this._extra&&Object.keys(this._extra).length&&(e.extra=u(u({},this._extra),e.extra)),this._tags&&Object.keys(this._tags).length&&(e.tags=u(u({},this._tags),e.tags)),this._user&&Object.keys(this._user).length&&(e.user=u(u({},this._user),e.user)),this._contexts&&Object.keys(this._contexts).length&&(e.contexts=u(u({},this._contexts),e.contexts)),this._level&&(e.level=this._level),this._transactionName&&(e.transaction=this._transactionName),this._span){e.contexts=u({trace:this._span.getTraceContext()},e.contexts);let s=this._span.transaction;if(s){e.sdkProcessingMetadata=u({dynamicSamplingContext:s.getDynamicSamplingContext()},e.sdkProcessingMetadata);let a=s.name;a&&(e.tags=u({transaction:a},e.tags))}}this._applyFingerprint(e);let i=this._getBreadcrumbs(),o=[...e.breadcrumbs||[],...i];return e.breadcrumbs=o.length>0?o:void 0,e.sdkProcessingMetadata=h(u(u({},e.sdkProcessingMetadata),this._sdkProcessingMetadata),{propagationContext:this._propagationContext}),Ue([...r||[],...st(),...this._eventProcessors],e,n)}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=u(u({},this._sdkProcessingMetadata),e),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}_getBreadcrumbs(){return this._breadcrumbs}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}_applyFingerprint(e){e.fingerprint=e.fingerprint?Ut(e.fingerprint):[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}};function qr(){return{traceId:v(),spanId:v().substring(16)}}var zr=4,Do=100,de=class{constructor(e,n=new P,r=zr){this._version=r,this._stack=[{scope:n}],e&&this.bindClient(e)}isOlderThan(e){return this._version<e}bindClient(e){let n=this.getStackTop();n.client=e,e&&e.setupIntegrations&&e.setupIntegrations()}pushScope(){let e=P.clone(this.getScope());return this.getStack().push({client:this.getClient(),scope:e}),e}popScope(){return this.getStack().length<=1?!1:!!this.getStack().pop()}withScope(e){let n=this.pushScope();try{e(n)}finally{this.popScope()}}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(e,n){let r=this._lastEventId=n&&n.event_id?n.event_id:v(),i=new Error(\"Sentry syntheticException\");return this._withClient((o,s)=>{o.captureException(e,h(u({originalException:e,syntheticException:i},n),{event_id:r}),s)}),r}captureMessage(e,n,r){let i=this._lastEventId=r&&r.event_id?r.event_id:v(),o=new Error(e);return this._withClient((s,a)=>{s.captureMessage(e,n,h(u({originalException:e,syntheticException:o},r),{event_id:i}),a)}),i}captureEvent(e,n){let r=n&&n.event_id?n.event_id:v();return e.type||(this._lastEventId=r),this._withClient((i,o)=>{i.captureEvent(e,h(u({},n),{event_id:r}),o)}),r}lastEventId(){return this._lastEventId}addBreadcrumb(e,n){let{scope:r,client:i}=this.getStackTop();if(!i)return;let{beforeBreadcrumb:o=null,maxBreadcrumbs:s=Do}=i.getOptions&&i.getOptions()||{};if(s<=0)return;let a=se(),c=u({timestamp:a},e),d=o?Rt(()=>o(c,n)):c;d!==null&&(i.emit&&i.emit(\"beforeAddBreadcrumb\",d,n),r.addBreadcrumb(d,s))}setUser(e){this.getScope().setUser(e)}setTags(e){this.getScope().setTags(e)}setExtras(e){this.getScope().setExtras(e)}setTag(e,n){this.getScope().setTag(e,n)}setExtra(e,n){this.getScope().setExtra(e,n)}setContext(e,n){this.getScope().setContext(e,n)}configureScope(e){let{scope:n,client:r}=this.getStackTop();r&&e(n)}run(e){let n=Lt(this);try{e(this)}finally{Lt(n)}}getIntegration(e){let n=this.getClient();if(!n)return null;try{return n.getIntegration(e)}catch(r){return(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Cannot retrieve integration ${e.id} from the current Hub`),null}}startTransaction(e,n){let r=this._callExtensionMethod(\"startTransaction\",e,n);if((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&!r){let i=this.getClient();console.warn(i?`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init':\nSentry.addTracingExtensions();\nSentry.init({...});\n`:\"Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'\")}return r}traceHeaders(){return this._callExtensionMethod(\"traceHeaders\")}captureSession(e=!1){if(e)return this.endSession();this._sendSessionUpdate()}endSession(){let n=this.getStackTop().scope,r=n.getSession();r&&Wr(r),this._sendSessionUpdate(),n.setSession()}startSession(e){let{scope:n,client:r}=this.getStackTop(),{release:i,environment:o=Ae}=r&&r.getOptions()||{},{userAgent:s}=b.navigator||{},a=jr(u(u({release:i,environment:o,user:n.getUser()},s&&{userAgent:s}),e)),c=n.getSession&&n.getSession();return c&&c.status===\"ok\"&&ae(c,{status:\"exited\"}),this.endSession(),n.setSession(a),a}shouldSendDefaultPii(){let e=this.getClient(),n=e&&e.getOptions();return!!(n&&n.sendDefaultPii)}_sendSessionUpdate(){let{scope:e,client:n}=this.getStackTop(),r=e.getSession();r&&n&&n.captureSession&&n.captureSession(r)}_withClient(e){let{scope:n,client:r}=this.getStackTop();r&&e(r,n)}_callExtensionMethod(e,...n){let i=Te().__SENTRY__;if(i&&i.extensions&&typeof i.extensions[e]==\"function\")return i.extensions[e].apply(this,n);(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Extension method ${e} couldn't be found, doing nothing.`)}};function Te(){return b.__SENTRY__=b.__SENTRY__||{extensions:{},hub:void 0},b}function Lt(t){let e=Te(),n=at(e);return Mn(e,t),n}function y(){let t=Te();if(t.__SENTRY__&&t.__SENTRY__.acs){let e=t.__SENTRY__.acs.getCurrentHub();if(e)return e}return Io(t)}function Io(t=Te()){return(!Oo(t)||at(t).isOlderThan(zr))&&Mn(t,new de),at(t)}function Oo(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function at(t){return Qe(\"hub\",()=>new de,t)}function Mn(t,e){if(!t)return!1;let n=t.__SENTRY__=t.__SENTRY__||{};return n.hub=e,!0}function Ce(t){if(typeof __SENTRY_TRACING__==\"boolean\"&&!__SENTRY_TRACING__)return!1;let e=y().getClient(),n=t||e&&e.getOptions();return!!n&&(n.enableTracing||\"tracesSampleRate\"in n||\"tracesSampler\"in n)}function q(t){return(t||y()).getScope().getTransaction()}var Vr=!1;function Xr(){Vr||(Vr=!0,O(\"error\",Ln),O(\"unhandledrejection\",Ln))}function Ln(){let t=q();if(t){let e=\"internal_error\";(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Transaction: ${e} -> Global error occured`),t.setStatus(e)}}Ln.tag=\"sentry_tracingErrorCallback\";var Ge=class{constructor(e=1e3){this._maxlen=e,this.spans=[]}add(e){this.spans.length>this._maxlen?e.spanRecorder=void 0:this.spans.push(e)}},Pe=class{constructor(e={}){this.traceId=e.traceId||v(),this.spanId=e.spanId||v().substring(16),this.startTimestamp=e.startTimestamp||W(),this.tags=e.tags||{},this.data=e.data||{},this.instrumenter=e.instrumenter||\"sentry\",this.origin=e.origin||\"manual\",e.parentSpanId&&(this.parentSpanId=e.parentSpanId),\"sampled\"in e&&(this.sampled=e.sampled),e.op&&(this.op=e.op),e.description&&(this.description=e.description),e.name&&(this.description=e.name),e.status&&(this.status=e.status),e.endTimestamp&&(this.endTimestamp=e.endTimestamp)}get name(){return this.description||\"\"}set name(e){this.setName(e)}startChild(e){let n=new Pe(h(u({},e),{parentSpanId:this.spanId,sampled:this.sampled,traceId:this.traceId}));if(n.spanRecorder=this.spanRecorder,n.spanRecorder&&n.spanRecorder.add(n),n.transaction=this.transaction,(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&n.transaction){let r=e&&e.op||\"< unknown op >\",i=n.transaction.name||\"< unknown name >\",o=n.transaction.spanId,s=`[Tracing] Starting '${r}' span on transaction '${i}' (${o}).`;n.transaction.metadata.spanMetadata[n.spanId]={logMessage:s},f.log(s)}return n}setTag(e,n){return this.tags=h(u({},this.tags),{[e]:n}),this}setData(e,n){return this.data=h(u({},this.data),{[e]:n}),this}setStatus(e){return this.status=e,this}setHttpStatus(e){this.setTag(\"http.status_code\",String(e)),this.setData(\"http.response.status_code\",e);let n=Kr(e);return n!==\"unknown_error\"&&this.setStatus(n),this}setName(e){this.description=e}isSuccess(){return this.status===\"ok\"}finish(e){if((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&this.transaction&&this.transaction.spanId!==this.spanId){let{logMessage:n}=this.transaction.metadata.spanMetadata[this.spanId];n&&f.log(n.replace(\"Starting\",\"Finishing\"))}this.endTimestamp=typeof e==\"number\"?e:W()}toTraceparent(){return Be(this.traceId,this.spanId,this.sampled)}toContext(){return B({data:this.data,description:this.description,endTimestamp:this.endTimestamp,op:this.op,parentSpanId:this.parentSpanId,sampled:this.sampled,spanId:this.spanId,startTimestamp:this.startTimestamp,status:this.status,tags:this.tags,traceId:this.traceId})}updateWithContext(e){return this.data=e.data||{},this.description=e.description,this.endTimestamp=e.endTimestamp,this.op=e.op,this.parentSpanId=e.parentSpanId,this.sampled=e.sampled,this.spanId=e.spanId||this.spanId,this.startTimestamp=e.startTimestamp||this.startTimestamp,this.status=e.status,this.tags=e.tags||{},this.traceId=e.traceId||this.traceId,this}getTraceContext(){return B({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,trace_id:this.traceId})}toJSON(){return B({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,start_timestamp:this.startTimestamp,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this.endTimestamp,trace_id:this.traceId,origin:this.origin})}};function Kr(t){if(t<400&&t>=100)return\"ok\";if(t>=400&&t<500)switch(t){case 401:return\"unauthenticated\";case 403:return\"permission_denied\";case 404:return\"not_found\";case 409:return\"already_exists\";case 413:return\"failed_precondition\";case 429:return\"resource_exhausted\";default:return\"invalid_argument\"}if(t>=500&&t<600)switch(t){case 501:return\"unimplemented\";case 503:return\"unavailable\";case 504:return\"deadline_exceeded\";default:return\"internal_error\"}return\"unknown_error\"}function fe(t,e,n){let r=e.getOptions(),{publicKey:i}=e.getDsn()||{},{segment:o}=n&&n.getUser()||{},s=B({environment:r.environment||Ae,release:r.release,user_segment:o,public_key:i,trace_id:t});return e.emit&&e.emit(\"createDsc\",s),s}var Ye=class extends Pe{constructor(e,n){super(e),delete this.description,this._measurements={},this._contexts={},this._hub=n||y(),this._name=e.name||\"\",this.metadata=h(u({source:\"custom\"},e.metadata),{spanMetadata:{}}),this._trimEnd=e.trimEnd,this.transaction=this;let r=this.metadata.dynamicSamplingContext;r&&(this._frozenDynamicSamplingContext=u({},r))}get name(){return this._name}set name(e){this.setName(e)}setName(e,n=\"custom\"){this._name=e,this.metadata.source=n}initSpanRecorder(e=1e3){this.spanRecorder||(this.spanRecorder=new Ge(e)),this.spanRecorder.add(this)}setContext(e,n){n===null?delete this._contexts[e]:this._contexts[e]=n}setMeasurement(e,n,r=\"\"){this._measurements[e]={value:n,unit:r}}setMetadata(e){this.metadata=u(u({},this.metadata),e)}finish(e){let n=this._finishTransaction(e);if(n)return this._hub.captureEvent(n)}toContext(){let e=super.toContext();return B(h(u({},e),{name:this.name,trimEnd:this._trimEnd}))}updateWithContext(e){return super.updateWithContext(e),this.name=e.name||\"\",this._trimEnd=e.trimEnd,this}getDynamicSamplingContext(){if(this._frozenDynamicSamplingContext)return this._frozenDynamicSamplingContext;let e=this._hub||y(),n=e.getClient();if(!n)return{};let r=e.getScope(),i=fe(this.traceId,n,r),o=this.metadata.sampleRate;o!==void 0&&(i.sample_rate=`${o}`);let s=this.metadata.source;return s&&s!==\"url\"&&(i.transaction=this.name),this.sampled!==void 0&&(i.sampled=String(this.sampled)),i}setHub(e){this._hub=e}_finishTransaction(e){if(this.endTimestamp!==void 0)return;this.name||((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Transaction has no name, falling back to `<unlabeled transaction>`.\"),this.name=\"<unlabeled transaction>\"),super.finish(e);let n=this._hub.getClient();if(n&&n.emit&&n.emit(\"finishTransaction\",this),this.sampled!==!0){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] Discarding transaction because its trace was not chosen to be sampled.\"),n&&n.recordDroppedEvent(\"sample_rate\",\"transaction\");return}let r=this.spanRecorder?this.spanRecorder.spans.filter(a=>a!==this&&a.endTimestamp):[];this._trimEnd&&r.length>0&&(this.endTimestamp=r.reduce((a,c)=>a.endTimestamp&&c.endTimestamp?a.endTimestamp>c.endTimestamp?a:c:a).endTimestamp);let i=this.metadata,o=u({contexts:h(u({},this._contexts),{trace:this.getTraceContext()}),spans:r,start_timestamp:this.startTimestamp,tags:this.tags,timestamp:this.endTimestamp,transaction:this.name,type:\"transaction\",sdkProcessingMetadata:h(u({},i),{dynamicSamplingContext:this.getDynamicSamplingContext()})},i.source&&{transaction_info:{source:i.source}});return Object.keys(this._measurements).length>0&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding measurements to transaction\",JSON.stringify(this._measurements,void 0,2)),o.measurements=this._measurements),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`),o}};var Le={idleTimeout:1e3,finalTimeout:3e4,heartbeatInterval:5e3},ko=\"finishReason\",Me=[\"heartbeatFailed\",\"idleTimeout\",\"documentHidden\",\"finalTimeout\",\"externalFinish\",\"cancelled\"],Fn=class extends Ge{constructor(e,n,r,i){super(i),this._pushActivity=e,this._popActivity=n,this.transactionSpanId=r}add(e){e.spanId!==this.transactionSpanId&&(e.finish=n=>{e.endTimestamp=typeof n==\"number\"?n:W(),this._popActivity(e.spanId)},e.endTimestamp===void 0&&this._pushActivity(e.spanId)),super.add(e)}},ct=class extends Ye{constructor(e,n,r=Le.idleTimeout,i=Le.finalTimeout,o=Le.heartbeatInterval,s=!1){super(e,n),this._idleHub=n,this._idleTimeout=r,this._finalTimeout=i,this._heartbeatInterval=o,this._onScope=s,this.activities={},this._heartbeatCounter=0,this._finished=!1,this._idleTimeoutCanceledPermanently=!1,this._beforeFinishCallbacks=[],this._finishReason=Me[4],s&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`Setting idle transaction on scope. Span ID: ${this.spanId}`),n.configureScope(a=>a.setSpan(this))),this._restartIdleTimeout(),setTimeout(()=>{this._finished||(this.setStatus(\"deadline_exceeded\"),this._finishReason=Me[3],this.finish())},this._finalTimeout)}finish(e=W()){if(this._finished=!0,this.activities={},this.op===\"ui.action.click\"&&this.setTag(ko,this._finishReason),this.spanRecorder){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] finishing IdleTransaction\",new Date(e*1e3).toISOString(),this.op);for(let n of this._beforeFinishCallbacks)n(this,e);this.spanRecorder.spans=this.spanRecorder.spans.filter(n=>{if(n.spanId===this.spanId)return!0;n.endTimestamp||(n.endTimestamp=e,n.setStatus(\"cancelled\"),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] cancelling span since transaction ended early\",JSON.stringify(n,void 0,2)));let r=n.startTimestamp<e,i=(this._finalTimeout+this._idleTimeout)/1e3,o=n.endTimestamp-this.startTimestamp<i;if(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__){let s=JSON.stringify(n,void 0,2);r?o||f.log(\"[Tracing] discarding Span since it finished after Transaction final timeout\",s):f.log(\"[Tracing] discarding Span since it happened after Transaction was finished\",s)}return r&&o}),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] flushing IdleTransaction\")}else(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] No active IdleTransaction\");if(this._onScope){let n=this._idleHub.getScope();n.getTransaction()===this&&n.setSpan(void 0)}return super.finish(e)}registerBeforeFinishCallback(e){this._beforeFinishCallbacks.push(e)}initSpanRecorder(e){if(!this.spanRecorder){let n=i=>{this._finished||this._pushActivity(i)},r=i=>{this._finished||this._popActivity(i)};this.spanRecorder=new Fn(n,r,this.spanId,e),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"Starting heartbeat\"),this._pingHeartbeat()}this.spanRecorder.add(this)}cancelIdleTimeout(e,{restartOnChildSpanChange:n}={restartOnChildSpanChange:!0}){this._idleTimeoutCanceledPermanently=n===!1,this._idleTimeoutID&&(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,Object.keys(this.activities).length===0&&this._idleTimeoutCanceledPermanently&&(this._finishReason=Me[5],this.finish(e)))}setFinishReason(e){this._finishReason=e}_restartIdleTimeout(e){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{!this._finished&&Object.keys(this.activities).length===0&&(this._finishReason=Me[1],this.finish(e))},this._idleTimeout)}_pushActivity(e){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] pushActivity: ${e}`),this.activities[e]=!0,(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] new activities count\",Object.keys(this.activities).length)}_popActivity(e){if(this.activities[e]&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] popActivity ${e}`),delete this.activities[e],(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] new activities count\",Object.keys(this.activities).length)),Object.keys(this.activities).length===0){let n=W();this._idleTimeoutCanceledPermanently?(this._finishReason=Me[5],this.finish(n)):this._restartIdleTimeout(n+this._idleTimeout/1e3)}}_beat(){if(this._finished)return;let e=Object.keys(this.activities).join(\"\");e===this._prevHeartbeatString?this._heartbeatCounter++:this._heartbeatCounter=1,this._prevHeartbeatString=e,this._heartbeatCounter>=3?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] Transaction finished because of no change for 3 heart beats\"),this.setStatus(\"deadline_exceeded\"),this._finishReason=Me[0],this.finish()):this._pingHeartbeat()}_pingHeartbeat(){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}};function wo(){let e=this.getScope().getSpan();return e?{\"sentry-trace\":e.toTraceparent()}:{}}function Jr(t,e,n){if(!Ce(e))return t.sampled=!1,t;if(t.sampled!==void 0)return t.setMetadata({sampleRate:Number(t.sampled)}),t;let r;return typeof e.tracesSampler==\"function\"?(r=e.tracesSampler(n),t.setMetadata({sampleRate:Number(r)})):n.parentSampled!==void 0?r=n.parentSampled:typeof e.tracesSampleRate!=\"undefined\"?(r=e.tracesSampleRate,t.setMetadata({sampleRate:Number(r)})):(r=1,t.setMetadata({sampleRate:r})),Bo(r)?r?(t.sampled=Math.random()<r,t.sampled?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] starting ${t.op} transaction - ${t.name}`),t):((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(r)})`),t)):((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler==\"function\"?\"tracesSampler returned 0 or false\":\"a negative sampling decision was inherited or tracesSampleRate is set to 0\"}`),t.sampled=!1,t):((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"[Tracing] Discarding transaction because of invalid sample rate.\"),t.sampled=!1,t)}function Bo(t){return Ke(t)||!(typeof t==\"number\"||typeof t==\"boolean\")?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(t)} of type ${JSON.stringify(typeof t)}.`),!1):t<0||t>1?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${t}.`),!1):!0}function Ao(t,e){let n=this.getClient(),r=n&&n.getOptions()||{},i=r.instrumenter||\"sentry\",o=t.instrumenter||\"sentry\";i!==o&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(`A transaction was started with instrumenter=\\`${o}\\`, but the SDK is configured with the \\`${i}\\` instrumenter.\nThe transaction will not be sampled. Please use the ${i} instrumentation to start transactions.`),t.sampled=!1);let s=new Ye(t,this);return s=Jr(s,r,u({parentSampled:t.parentSampled,transactionContext:t},e)),s.sampled&&s.initSpanRecorder(r._experiments&&r._experiments.maxSpans),n&&n.emit&&n.emit(\"startTransaction\",s),s}function Ft(t,e,n,r,i,o,s){let a=t.getClient(),c=a&&a.getOptions()||{},d=new ct(e,t,n,r,s,i);return d=Jr(d,c,u({parentSampled:e.parentSampled,transactionContext:e},o)),d.sampled&&d.initSpanRecorder(c._experiments&&c._experiments.maxSpans),a&&a.emit&&a.emit(\"startTransaction\",d),d}function Ht(){let t=Te();t.__SENTRY__&&(t.__SENTRY__.extensions=t.__SENTRY__.extensions||{},t.__SENTRY__.extensions.startTransaction||(t.__SENTRY__.extensions.startTransaction=Ao),t.__SENTRY__.extensions.traceHeaders||(t.__SENTRY__.extensions.traceHeaders=wo),Xr())}function $t(t,e){return y().captureException(t,{captureContext:e})}function jt(t){y().withScope(t)}var Uo=\"7\";function Co(t){let e=t.protocol?`${t.protocol}:`:\"\",n=t.port?`:${t.port}`:\"\";return`${e}//${t.host}${n}${t.path?`/${t.path}`:\"\"}/api/`}function Go(t){return`${Co(t)}${t.projectId}/envelope/`}function Po(t,e){return ln(u({sentry_key:t.publicKey,sentry_version:Uo},e&&{sentry_client:`${e.name}/${e.version}`}))}function Qr(t,e={}){let n=typeof e==\"string\"?e:e.tunnel,r=typeof e==\"string\"||!e._metadata?void 0:e._metadata.sdk;return n||`${Go(t)}?${Po(t,r)}`}function Yo(t,e){return e&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||e.name,t.sdk.version=t.sdk.version||e.version,t.sdk.integrations=[...t.sdk.integrations||[],...e.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...e.packages||[]]),t}function Zr(t,e,n,r){let i=Mt(n),o=u(u({sent_at:new Date().toISOString()},i&&{sdk:i}),!!r&&e&&{dsn:X(e)}),s=\"aggregates\"in t?[{type:\"sessions\"},t]:[{type:\"session\"},t.toJSON()];return K(o,[s])}function ei(t,e,n,r){let i=Mt(n),o=t.type&&t.type!==\"replay_event\"?t.type:\"event\";Yo(t,n&&n.sdk);let s=Un(t,i,r,e);return delete t.sdkProcessingMetadata,K(s,[[{type:o},t]])}var ti=[];function ni(t,e){let n={};return e.forEach(r=>{r&&Hn(t,r,n)}),n}function Hn(t,e,n){if(n[e.name]=e,ti.indexOf(e.name)===-1&&(e.setupOnce(Yn,y),ti.push(e.name)),t.on&&typeof e.preprocessEvent==\"function\"){let r=e.preprocessEvent.bind(e);t.on(\"preprocessEvent\",(i,o)=>r(i,o,t))}if(t.addEventProcessor&&typeof e.processEvent==\"function\"){let r=e.processEvent.bind(e),i=Object.assign((o,s)=>r(o,s,t),{id:e.name});t.addEventProcessor(i)}(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`Integration installed: ${e.name}`)}function ii(t,e,n,r,i){let{normalizeDepth:o=3,normalizeMaxBreadth:s=1e3}=t,a=h(u({},e),{event_id:e.event_id||n.event_id||v(),timestamp:e.timestamp||se()}),c=n.integrations||t.integrations.map(_=>_.name);Mo(a,t),Ho(a,c),e.type===void 0&&Lo(a,t.stackParser);let d=r;n.captureContext&&(d=P.clone(d).update(n.captureContext));let l=C(a),p=i&&i.getEventProcessors?i.getEventProcessors():[];if(d){if(d.getAttachments){let _=[...n.attachments||[],...d.getAttachments()];_.length&&(n.attachments=_)}l=d.applyToEvent(a,n,p)}else l=Ue([...p,...st()],a,n);return l.then(_=>(_&&Fo(_),typeof o==\"number\"&&o>0?$o(_,o,s):_))}function Mo(t,e){let{environment:n,release:r,dist:i,maxValueLength:o=250}=e;\"environment\"in t||(t.environment=\"environment\"in e?n:Ae),t.release===void 0&&r!==void 0&&(t.release=r),t.dist===void 0&&i!==void 0&&(t.dist=i),t.message&&(t.message=z(t.message,o));let s=t.exception&&t.exception.values&&t.exception.values[0];s&&s.value&&(s.value=z(s.value,o));let a=t.request;a&&a.url&&(a.url=z(a.url,o))}var ri=new WeakMap;function Lo(t,e){let n=b._sentryDebugIds;if(!n)return;let r,i=ri.get(e);i?r=i:(r=new Map,ri.set(e,r));let o=Object.keys(n).reduce((s,a)=>{let c,d=r.get(a);d?c=d:(c=e(a),r.set(a,c));for(let l=c.length-1;l>=0;l--){let p=c[l];if(p.filename){s[p.filename]=n[a];break}}return s},{});try{t.exception.values.forEach(s=>{s.stacktrace.frames.forEach(a=>{a.filename&&(a.debug_id=o[a.filename])})})}catch(s){}}function Fo(t){let e={};try{t.exception.values.forEach(r=>{r.stacktrace.frames.forEach(i=>{i.debug_id&&(i.abs_path?e[i.abs_path]=i.debug_id:i.filename&&(e[i.filename]=i.debug_id),delete i.debug_id)})})}catch(r){}if(Object.keys(e).length===0)return;t.debug_meta=t.debug_meta||{},t.debug_meta.images=t.debug_meta.images||[];let n=t.debug_meta.images;Object.keys(e).forEach(r=>{n.push({type:\"sourcemap\",code_file:r,debug_id:e[r]})})}function Ho(t,e){e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}function $o(t,e,n){if(!t)return null;let r=u(u(u(u(u({},t),t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map(i=>u(u({},i),i.data&&{data:j(i.data,e,n)}))}),t.user&&{user:j(t.user,e,n)}),t.contexts&&{contexts:j(t.contexts,e,n)}),t.extra&&{extra:j(t.extra,e,n)});return t.contexts&&t.contexts.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=j(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map(i=>(i.data&&(i.data=j(i.data,e,n)),i))),r}var oi=\"Not capturing exception because it's already been captured.\",ut=class{constructor(e){if(this._options=e,this._integrations={},this._integrationsInitialized=!1,this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],e.dsn?this._dsn=vt(e.dsn):(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"No DSN provided, client will not send events.\"),this._dsn){let n=Qr(this._dsn,e);this._transport=e.transport(h(u({recordDroppedEvent:this.recordDroppedEvent.bind(this)},e.transportOptions),{url:n}))}}captureException(e,n,r){if(At(e)){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(oi);return}let i=n&&n.event_id;return this._process(this.eventFromException(e,n).then(o=>this._captureEvent(o,n,r)).then(o=>{i=o})),i}captureMessage(e,n,r,i){let o=r&&r.event_id,s=Ie(e)?this.eventFromMessage(String(e),n,r):this.eventFromException(e,r);return this._process(s.then(a=>this._captureEvent(a,r,i)).then(a=>{o=a})),o}captureEvent(e,n,r){if(n&&n.originalException&&At(n.originalException)){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(oi);return}let i=n&&n.event_id;return this._process(this._captureEvent(e,n,r).then(o=>{i=o})),i}captureSession(e){typeof e.release!=\"string\"?(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Discarded session because of missing or non-string release\"):(this.sendSession(e),ae(e,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){let n=this._transport;return n?this._isClientDoneProcessing(e).then(r=>n.flush(e).then(i=>r&&i)):C(!0)}close(e){return this.flush(e).then(n=>(this.getOptions().enabled=!1,n))}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}setupIntegrations(e){(e&&!this._integrationsInitialized||this._isEnabled()&&!this._integrationsInitialized)&&(this._integrations=ni(this,this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(e){return this._integrations[e]}getIntegration(e){try{return this._integrations[e.id]||null}catch(n){return(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Cannot retrieve integration ${e.id} from the current Client`),null}}addIntegration(e){Hn(this,e,this._integrations)}sendEvent(e,n={}){this.emit(\"beforeSendEvent\",e,n);let r=ei(e,this._dsn,this._options._metadata,this._options.tunnel);for(let o of n.attachments||[])r=wn(r,An(o,this._options.transportOptions&&this._options.transportOptions.textEncoder));let i=this._sendEnvelope(r);i&&i.then(o=>this.emit(\"afterSendEvent\",e,o),null)}sendSession(e){let n=Zr(e,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(n)}recordDroppedEvent(e,n,r){if(this._options.sendClientReports){let i=`${e}:${n}`;(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`Adding outcome: \"${i}\"`),this._outcomes[i]=this._outcomes[i]+1||1}}on(e,n){this._hooks[e]||(this._hooks[e]=[]),this._hooks[e].push(n)}emit(e,...n){this._hooks[e]&&this._hooks[e].forEach(r=>r(...n))}_updateSessionFromEvent(e,n){let r=!1,i=!1,o=n.exception&&n.exception.values;if(o){i=!0;for(let c of o){let d=c.mechanism;if(d&&d.handled===!1){r=!0;break}}}let s=e.status===\"ok\";(s&&e.errors===0||s&&r)&&(ae(e,h(u({},r&&{status:\"crashed\"}),{errors:e.errors||Number(i||r)})),this.captureSession(e))}_isClientDoneProcessing(e){return new N(n=>{let r=0,i=1,o=setInterval(()=>{this._numProcessing==0?(clearInterval(o),n(!0)):(r+=i,e&&r>=e&&(clearInterval(o),n(!1)))},i)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,n,r){let i=this.getOptions(),o=Object.keys(this._integrations);return!n.integrations&&o.length>0&&(n.integrations=o),this.emit(\"preprocessEvent\",e,n),ii(i,e,n,r,this).then(s=>{if(s===null)return s;let{propagationContext:a}=s.sdkProcessingMetadata||{};if(!(s.contexts&&s.contexts.trace)&&a){let{traceId:d,spanId:l,parentSpanId:p,dsc:_}=a;s.contexts=u({trace:{trace_id:d,span_id:l,parent_span_id:p}},s.contexts);let m=_||fe(d,this,r);s.sdkProcessingMetadata=u({dynamicSamplingContext:m},s.sdkProcessingMetadata)}return s})}_captureEvent(e,n={},r){return this._processEvent(e,n,r).then(i=>i.event_id,i=>{if(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__){let o=i;o.logLevel===\"log\"?f.log(o.message):f.warn(o)}})}_processEvent(e,n,r){let i=this.getOptions(),{sampleRate:o}=i,s=ai(e),a=si(e),c=e.type||\"error\",d=`before send for type \\`${c}\\``;if(a&&typeof o==\"number\"&&Math.random()>o)return this.recordDroppedEvent(\"sample_rate\",\"error\",e),ye(new k(`Discarding event because it's not included in the random sample (sampling rate = ${o})`,\"log\"));let l=c===\"replay_event\"?\"replay\":c;return this._prepareEvent(e,n,r).then(p=>{if(p===null)throw this.recordDroppedEvent(\"event_processor\",l,e),new k(\"An event processor returned `null`, will not send event.\",\"log\");if(n.data&&n.data.__sentry__===!0)return p;let m=Wo(i,p,n);return jo(m,d)}).then(p=>{if(p===null)throw this.recordDroppedEvent(\"before_send\",l,e),new k(`${d} returned \\`null\\`, will not send event.`,\"log\");let _=r&&r.getSession();!s&&_&&this._updateSessionFromEvent(_,p);let m=p.transaction_info;if(s&&m&&p.transaction!==e.transaction){let E=\"custom\";p.transaction_info=h(u({},m),{source:E})}return this.sendEvent(p,n),p}).then(null,p=>{throw p instanceof k?p:(this.captureException(p,{data:{__sentry__:!0},originalException:p}),new k(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${p}`))})}_process(e){this._numProcessing++,e.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_sendEnvelope(e){if(this.emit(\"beforeEnvelope\",e),this._isEnabled()&&this._transport)return this._transport.send(e).then(null,n=>{(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(\"Error while sending event:\",n)});(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(\"Transport disabled\")}_clearOutcomes(){let e=this._outcomes;return this._outcomes={},Object.keys(e).map(n=>{let[r,i]=n.split(\":\");return{reason:r,category:i,quantity:e[n]}})}};function jo(t,e){let n=`${e} must return \\`null\\` or a valid event.`;if(Ee(t))return t.then(r=>{if(!L(r)&&r!==null)throw new k(n);return r},r=>{throw new k(`${e} rejected with ${r}`)});if(!L(t)&&t!==null)throw new k(n);return t}function Wo(t,e,n){let{beforeSend:r,beforeSendTransaction:i}=t;return si(e)&&r?r(e,n):ai(e)&&i?i(e,n):e}function si(t){return t.type===void 0}function ai(t){return t.type===\"transaction\"}var qo=30;function Fe(t,e,n=bn(t.bufferSize||qo)){let r={},i=s=>n.drain(s);function o(s){let a=[];if(Pt(s,(p,_)=>{let m=Yt(_);if(Gn(r,m)){let E=ci(p,_);t.recordDroppedEvent(\"ratelimit_backoff\",m,E)}else a.push(p)}),a.length===0)return C();let c=K(s[0],a),d=p=>{Pt(c,(_,m)=>{let E=ci(_,m);t.recordDroppedEvent(p,Yt(m),E)})},l=()=>e({body:Bn(c,t.textEncoder)}).then(p=>(p.statusCode!==void 0&&(p.statusCode<200||p.statusCode>=300)&&(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Sentry responded with status code ${p.statusCode} to sent event.`),r=Pn(r,p),p),p=>{throw d(\"network_error\"),p});return n.add(l).then(p=>p,p=>{if(p instanceof k)return(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(\"Skipped sending event because buffer is full.\"),d(\"queue_overflow\"),C();throw p})}return o.__sentry__baseTransport__=!0,{send:o,flush:i}}function ci(t,e){if(!(e!==\"event\"&&e!==\"transaction\"))return Array.isArray(t)?t[1]:void 0}var dt=\"7.73.0\";var qt={};cr(qt,{FunctionToString:()=>pe,InboundFilters:()=>le});var ui,pe=class{static __initStatic(){this.id=\"FunctionToString\"}constructor(){this.name=pe.id}setupOnce(){ui=Function.prototype.toString;try{Function.prototype.toString=function(...e){let n=Se(this)||this;return ui.apply(n,e)}}catch(e){}}};pe.__initStatic();var zo=[/^Script error\\.?$/,/^Javascript error: Script error\\.? on line 0$/],Vo=[/^.*healthcheck.*$/,/^.*healthy.*$/,/^.*live.*$/,/^.*ready.*$/,/^.*heartbeat.*$/,/^.*\\/health$/,/^.*\\/healthz$/],le=class{static __initStatic(){this.id=\"InboundFilters\"}constructor(e={}){this.name=le.id,this._options=e}setupOnce(e,n){}processEvent(e,n,r){let i=r.getOptions(),o=Xo(this._options,i);return Ko(e,o)?null:e}};le.__initStatic();function Xo(t={},e={}){return{allowUrls:[...t.allowUrls||[],...e.allowUrls||[]],denyUrls:[...t.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...t.ignoreErrors||[],...e.ignoreErrors||[],...t.disableErrorDefaults?[]:zo],ignoreTransactions:[...t.ignoreTransactions||[],...e.ignoreTransactions||[],...t.disableTransactionDefaults?[]:Vo],ignoreInternal:t.ignoreInternal!==void 0?t.ignoreInternal:!0}}function Ko(t,e){return e.ignoreInternal&&ns(t)?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being internal Sentry Error.\nEvent: ${$(t)}`),!0):Jo(t,e.ignoreErrors)?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \\`ignoreErrors\\` option.\nEvent: ${$(t)}`),!0):Qo(t,e.ignoreTransactions)?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \\`ignoreTransactions\\` option.\nEvent: ${$(t)}`),!0):Zo(t,e.denyUrls)?((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \\`denyUrls\\` option.\nEvent: ${$(t)}.\nUrl: ${Wt(t)}`),!0):es(t,e.allowUrls)?!1:((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to not being matched by \\`allowUrls\\` option.\nEvent: ${$(t)}.\nUrl: ${Wt(t)}`),!0)}function Jo(t,e){return t.type||!e||!e.length?!1:ts(t).some(n=>ue(n,e))}function Qo(t,e){if(t.type!==\"transaction\"||!e||!e.length)return!1;let n=t.transaction;return n?ue(n,e):!1}function Zo(t,e){if(!e||!e.length)return!1;let n=Wt(t);return n?ue(n,e):!1}function es(t,e){if(!e||!e.length)return!0;let n=Wt(t);return n?ue(n,e):!0}function ts(t){let e=[];t.message&&e.push(t.message);let n;try{n=t.exception.values[t.exception.values.length-1]}catch(r){}return n&&n.value&&(e.push(n.value),n.type&&e.push(`${n.type}: ${n.value}`)),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&e.length===0&&f.error(`Could not extract message for event ${$(t)}`),e}function ns(t){try{return t.exception.values[0].type===\"SentryError\"}catch(e){}return!1}function rs(t=[]){for(let e=t.length-1;e>=0;e--){let n=t[e];if(n&&n.filename!==\"<anonymous>\"&&n.filename!==\"[native code]\")return n.filename||null}return null}function Wt(t){try{let e;try{e=t.exception.values[0].stacktrace.frames}catch(n){}return e?rs(e):null}catch(e){return(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.error(`Cannot extract url for event ${$(t)}`),null}}var S=b,$n=0;function jn(){return $n>0}function Es(){$n++,setTimeout(()=>{$n--})}function be(t,e={},n){if(typeof t!=\"function\")return t;try{let i=t.__sentry_wrapped__;if(i)return i;if(Se(t))return t}catch(i){return t}let r=function(){let i=Array.prototype.slice.call(arguments);try{n&&typeof n==\"function\"&&n.apply(this,arguments);let o=i.map(s=>be(s,e));return t.apply(this,o)}catch(o){throw Es(),jt(s=>{s.addEventProcessor(a=>(e.mechanism&&(we(a,void 0,void 0),ie(a,e.mechanism)),a.extra=h(u({},a.extra),{arguments:i}),a)),$t(o)}),o}};try{for(let i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}catch(i){}xt(r,t),ke(t,\"__sentry_wrapped__\",r);try{Object.getOwnPropertyDescriptor(r,\"name\").configurable&&Object.defineProperty(r,\"name\",{get(){return t.name}})}catch(i){}return r}function zn(t,e){let n=Vn(t,e),r={type:e&&e.name,value:bs(e)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===\"\"&&(r.value=\"Unrecoverable error caught\"),r}function Ss(t,e,n,r){let o=y().getClient(),s=o&&o.getOptions().normalizeDepth,a={exception:{values:[{type:ge(e)?e.constructor.name:r?\"UnhandledRejection\":\"Error\",value:Rs(e,{isUnhandledRejection:r})}]},extra:{__serialized__:Gt(e,s)}};if(n){let c=Vn(t,n);c.length&&(a.exception.values[0].stacktrace={frames:c})}return a}function Wn(t,e){return{exception:{values:[zn(t,e)]}}}function Vn(t,e){let n=e.stacktrace||e.stack||\"\",r=Ts(e);try{return t(n,r)}catch(i){}return[]}var ys=/Minified React error #\\d+;/i;function Ts(t){if(t){if(typeof t.framesToPop==\"number\")return t.framesToPop;if(ys.test(t.message))return 1}return 0}function bs(t){let e=t&&t.message;return e?e.error&&typeof e.error.message==\"string\"?e.error.message:e:\"No error message\"}function di(t,e,n,r){let i=n&&n.syntheticException||void 0,o=zt(t,e,i,r);return ie(o),o.level=\"error\",n&&n.event_id&&(o.event_id=n.event_id),C(o)}function fi(t,e,n=\"info\",r,i){let o=r&&r.syntheticException||void 0,s=qn(t,e,o,i);return s.level=n,r&&r.event_id&&(s.event_id=r.event_id),C(s)}function zt(t,e,n,r,i){let o;if(De(e)&&e.error)return Wn(t,e.error);if(St(e)||rn(e)){let s=e;if(\"stack\"in e)o=Wn(t,e);else{let a=s.name||(St(s)?\"DOMError\":\"DOMException\"),c=s.message?`${a}: ${s.message}`:a;o=qn(t,c,n,r),we(o,c)}return\"code\"in s&&(o.tags=h(u({},o.tags),{\"DOMException.code\":`${s.code}`})),o}return Xe(e)?Wn(t,e):L(e)||ge(e)?(o=Ss(t,e,n,i),ie(o,{synthetic:!0}),o):(o=qn(t,e,n,r),we(o,`${e}`,void 0),ie(o,{synthetic:!0}),o)}function qn(t,e,n,r){let i={message:e};if(r&&n){let o=Vn(t,n);o.length&&(i.exception={values:[{value:e,stacktrace:{frames:o}}]})}return i}function Rs(t,{isUnhandledRejection:e}){let n=_n(t),r=e?\"promise rejection\":\"exception\";return De(t)?`Event \\`ErrorEvent\\` captured as ${r} with message \\`${t.message}\\``:ge(t)?`Event \\`${vs(t)}\\` (type=${t.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function vs(t){try{let e=Object.getPrototypeOf(t);return e?e.constructor.name:void 0}catch(e){}}function pi(t,{metadata:e,tunnel:n,dsn:r}){let i=u(u({event_id:t.event_id,sent_at:new Date().toISOString()},e&&e.sdk&&{sdk:{name:e.sdk.name,version:e.sdk.version}}),!!n&&!!r&&{dsn:X(r)}),o=xs(t);return K(i,[o])}function xs(t){return[{type:\"user_report\"},t]}var ft=class extends ut{constructor(e){let n=S.SENTRY_SDK_SOURCE||Tn();e._metadata=e._metadata||{},e._metadata.sdk=e._metadata.sdk||{name:\"sentry.javascript.browser\",packages:[{name:`${n}:@sentry/browser`,version:dt}],version:dt},super(e),e.sendClientReports&&S.document&&S.document.addEventListener(\"visibilitychange\",()=>{S.document.visibilityState===\"hidden\"&&this._flushOutcomes()})}eventFromException(e,n){return di(this._options.stackParser,e,n,this._options.attachStacktrace)}eventFromMessage(e,n=\"info\",r){return fi(this._options.stackParser,e,n,r,this._options.attachStacktrace)}captureUserFeedback(e){if(!this._isEnabled()){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"SDK not enabled, will not capture user feedback.\");return}let n=pi(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(n)}_prepareEvent(e,n,r){return e.platform=e.platform||\"javascript\",super._prepareEvent(e,n,r)}_flushOutcomes(){let e=this._clearOutcomes();if(e.length===0){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"No outcomes to send\");return}if(!this._dsn){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"No dsn provided, will not send outcomes\");return}(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"Sending outcomes:\",e);let n=Cn(e,this._options.tunnel&&X(this._dsn));this._sendEnvelope(n)}};var pt;function li(){if(pt)return pt;if(et(S.fetch))return pt=S.fetch.bind(S);let t=S.document,e=S.fetch;if(t&&typeof t.createElement==\"function\")try{let n=t.createElement(\"iframe\");n.hidden=!0,t.head.appendChild(n);let r=n.contentWindow;r&&r.fetch&&(e=r.fetch),t.head.removeChild(n)}catch(n){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \",n)}return pt=e.bind(S)}function _i(){pt=void 0}function Xn(t,e=li()){let n=0,r=0;function i(o){let s=o.body.length;n+=s,r++;let a=u({body:o.body,method:\"POST\",referrerPolicy:\"origin\",headers:t.headers,keepalive:n<=6e4&&r<15},t.fetchOptions);try{return e(t.url,a).then(c=>(n-=s,r--,{statusCode:c.status,headers:{\"x-sentry-rate-limits\":c.headers.get(\"X-Sentry-Rate-Limits\"),\"retry-after\":c.headers.get(\"Retry-After\")}}))}catch(c){return _i(),n-=s,r--,ye(c)}}return Fe(t,i)}var Ns=4;function Kn(t){function e(n){return new N((r,i)=>{let o=new XMLHttpRequest;o.onerror=i,o.onreadystatechange=()=>{o.readyState===Ns&&r({statusCode:o.status,headers:{\"x-sentry-rate-limits\":o.getResponseHeader(\"X-Sentry-Rate-Limits\"),\"retry-after\":o.getResponseHeader(\"Retry-After\")}})},o.open(\"POST\",t.url);for(let s in t.headers)Object.prototype.hasOwnProperty.call(t.headers,s)&&o.setRequestHeader(s,t.headers[s]);o.send(n.body)})}return Fe(t,e)}var Vt=\"?\";var Ds=30,Is=40,Os=50;function Jn(t,e,n,r){let i={filename:t,function:e,in_app:!0};return n!==void 0&&(i.lineno=n),r!==void 0&&(i.colno=r),i}var ks=/^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,ws=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/,Bs=t=>{let e=ks.exec(t);if(e){if(e[2]&&e[2].indexOf(\"eval\")===0){let o=ws.exec(e[2]);o&&(e[2]=o[1],e[3]=o[2],e[4]=o[3])}let[r,i]=Si(e[1]||Vt,e[2]);return Jn(i,r,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}},mi=[Ds,Bs],As=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i,Us=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i,Cs=t=>{let e=As.exec(t);if(e){if(e[3]&&e[3].indexOf(\" > eval\")>-1){let o=Us.exec(e[3]);o&&(e[1]=e[1]||\"eval\",e[3]=o[1],e[4]=o[2],e[5]=\"\")}let r=e[3],i=e[1]||Vt;return[i,r]=Si(i,r),Jn(r,i,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},hi=[Os,Cs],Gs=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,Ps=t=>{let e=Gs.exec(t);return e?Jn(e[2],e[1]||Vt,+e[3],e[4]?+e[4]:void 0):void 0},gi=[Is,Ps];var Ei=[mi,hi,gi],Qn=hn(...Ei),Si=(t,e)=>{let n=t.indexOf(\"safari-extension\")!==-1,r=t.indexOf(\"safari-web-extension\")!==-1;return n||r?[t.indexOf(\"@\")!==-1?t.split(\"@\")[0]:Vt,n?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]};var Y=class{static __initStatic(){this.id=\"GlobalHandlers\"}constructor(e){this.name=Y.id,this._options=u({onerror:!0,onunhandledrejection:!0},e),this._installFunc={onerror:Ys,onunhandledrejection:Ms}}setupOnce(){Error.stackTraceLimit=50;let e=this._options;for(let n in e){let r=this._installFunc[n];r&&e[n]&&(Hs(n),r(),this._installFunc[n]=void 0)}}};Y.__initStatic();function Ys(){O(\"error\",t=>{let[e,n,r]=bi();if(!e.getIntegration(Y))return;let{msg:i,url:o,line:s,column:a,error:c}=t;if(jn()||c&&c.__sentry_own_request__)return;let d=c===void 0&&w(i)?Fs(i,o,s,a):yi(zt(n,c||i,void 0,r,!1),o,s,a);d.level=\"error\",Ti(e,c,d,\"onerror\")})}function Ms(){O(\"unhandledrejection\",t=>{let[e,n,r]=bi();if(!e.getIntegration(Y))return;let i=t;try{\"reason\"in t?i=t.reason:\"detail\"in t&&\"reason\"in t.detail&&(i=t.detail.reason)}catch(s){}if(jn()||i&&i.__sentry_own_request__)return!0;let o=Ie(i)?Ls(i):zt(n,i,void 0,r,!0);o.level=\"error\",Ti(e,i,o,\"onunhandledrejection\")})}function Ls(t){return{exception:{values:[{type:\"UnhandledRejection\",value:`Non-Error promise rejection captured with value: ${String(t)}`}]}}}function Fs(t,e,n,r){let i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,o=De(t)?t.message:t,s=\"Error\",a=o.match(i);return a&&(s=a[1],o=a[2]),yi({exception:{values:[{type:s,value:o}]}},e,n,r)}function yi(t,e,n,r){let i=t.exception=t.exception||{},o=i.values=i.values||[],s=o[0]=o[0]||{},a=s.stacktrace=s.stacktrace||{},c=a.frames=a.frames||[],d=isNaN(parseInt(r,10))?void 0:r,l=isNaN(parseInt(n,10))?void 0:n,p=w(e)&&e.length>0?e:dn();return c.length===0&&c.push({colno:d,filename:p,function:\"?\",in_app:!0,lineno:l}),t}function Hs(t){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`Global Handler attached: ${t}`)}function Ti(t,e,n,r){ie(n,{handled:!1,type:r}),t.captureEvent(n,{originalException:e})}function bi(){let t=y(),e=t.getClient(),n=e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,n.stackParser,n.attachStacktrace]}var $s=[\"EventTarget\",\"Window\",\"Node\",\"ApplicationCache\",\"AudioTrackList\",\"BroadcastChannel\",\"ChannelMergerNode\",\"CryptoOperation\",\"EventSource\",\"FileReader\",\"HTMLUnknownElement\",\"IDBDatabase\",\"IDBRequest\",\"IDBTransaction\",\"KeyOperation\",\"MediaController\",\"MessagePort\",\"ModalWindow\",\"Notification\",\"SVGElementInstance\",\"Screen\",\"SharedWorker\",\"TextTrack\",\"TextTrackCue\",\"TextTrackList\",\"WebSocket\",\"WebSocketWorker\",\"Worker\",\"XMLHttpRequest\",\"XMLHttpRequestEventTarget\",\"XMLHttpRequestUpload\"],Re=class{static __initStatic(){this.id=\"TryCatch\"}constructor(e){this.name=Re.id,this._options=u({XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0},e)}setupOnce(){this._options.setTimeout&&x(S,\"setTimeout\",Ri),this._options.setInterval&&x(S,\"setInterval\",Ri),this._options.requestAnimationFrame&&x(S,\"requestAnimationFrame\",js),this._options.XMLHttpRequest&&\"XMLHttpRequest\"in S&&x(XMLHttpRequest.prototype,\"send\",Ws);let e=this._options.eventTarget;e&&(Array.isArray(e)?e:$s).forEach(qs)}};Re.__initStatic();function Ri(t){return function(...e){let n=e[0];return e[0]=be(n,{mechanism:{data:{function:G(t)},handled:!1,type:\"instrument\"}}),t.apply(this,e)}}function js(t){return function(e){return t.apply(this,[be(e,{mechanism:{data:{function:\"requestAnimationFrame\",handler:G(t)},handled:!1,type:\"instrument\"}})])}}function Ws(t){return function(...e){let n=this;return[\"onload\",\"onerror\",\"onprogress\",\"onreadystatechange\"].forEach(i=>{i in n&&typeof n[i]==\"function\"&&x(n,i,function(o){let s={mechanism:{data:{function:i,handler:G(o)},handled:!1,type:\"instrument\"}},a=Se(o);return a&&(s.mechanism.data.handler=G(a)),be(o,s)})}),t.apply(this,e)}}function qs(t){let e=S,n=e[t]&&e[t].prototype;!n||!n.hasOwnProperty||!n.hasOwnProperty(\"addEventListener\")||(x(n,\"addEventListener\",function(r){return function(i,o,s){try{typeof o.handleEvent==\"function\"&&(o.handleEvent=be(o.handleEvent,{mechanism:{data:{function:\"handleEvent\",handler:G(o),target:t},handled:!1,type:\"instrument\"}}))}catch(a){}return r.apply(this,[i,be(o,{mechanism:{data:{function:\"addEventListener\",handler:G(o),target:t},handled:!1,type:\"instrument\"}}),s])}}),x(n,\"removeEventListener\",function(r){return function(i,o,s){let a=o;try{let c=a&&a.__sentry_wrapped__;c&&r.call(this,i,c,s)}catch(c){}return r.call(this,i,a,s)}}))}var Xt=1024,J=class{static __initStatic(){this.id=\"Breadcrumbs\"}constructor(e){this.name=J.id,this.options=u({console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0},e)}setupOnce(){if(this.options.console&&O(\"console\",Xs),this.options.dom&&O(\"dom\",Vs(this.options.dom)),this.options.xhr&&O(\"xhr\",Ks),this.options.fetch&&O(\"fetch\",Js),this.options.history&&O(\"history\",Qs),this.options.sentry){let e=y().getClient();e&&e.on&&e.on(\"beforeSendEvent\",zs)}}};J.__initStatic();function zs(t){y().addBreadcrumb({category:`sentry.${t.type===\"transaction\"?\"transaction\":\"event\"}`,event_id:t.event_id,level:t.level,message:$(t)},{event:t})}function Vs(t){function e(n){let r,i=typeof t==\"object\"?t.serializeAttribute:void 0,o=typeof t==\"object\"&&typeof t.maxStringLength==\"number\"?t.maxStringLength:void 0;o&&o>Xt&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`\\`dom.maxStringLength\\` cannot exceed ${Xt}, but a value of ${o} was configured. Sentry will use ${Xt} instead.`),o=Xt),typeof i==\"string\"&&(i=[i]);try{let s=n.event;r=Zs(s)?V(s.target,{keyAttrs:i,maxStringLength:o}):V(s,{keyAttrs:i,maxStringLength:o})}catch(s){r=\"<unknown>\"}r.length!==0&&y().addBreadcrumb({category:`ui.${n.name}`,message:r},{event:n.event,name:n.name,global:n.global})}return e}function Xs(t){let e={category:\"console\",data:{arguments:t.args,logger:\"console\"},level:Rn(t.level),message:yt(t.args,\" \")};if(t.level===\"assert\")if(t.args[0]===!1)e.message=`Assertion failed: ${yt(t.args.slice(1),\" \")||\"console.assert\"}`,e.data.arguments=t.args.slice(1);else return;y().addBreadcrumb(e,{input:t.args,level:t.level})}function Ks(t){let{startTimestamp:e,endTimestamp:n}=t,r=t.xhr[re];if(!e||!n||!r)return;let{method:i,url:o,status_code:s,body:a}=r,c={method:i,url:o,status_code:s},d={xhr:t.xhr,input:a,startTimestamp:e,endTimestamp:n};y().addBreadcrumb({category:\"xhr\",data:c,type:\"http\"},d)}function Js(t){let{startTimestamp:e,endTimestamp:n}=t;if(n&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method===\"POST\"))if(t.error){let r=t.fetchData,i={data:t.error,input:t.args,startTimestamp:e,endTimestamp:n};y().addBreadcrumb({category:\"fetch\",data:r,level:\"error\",type:\"http\"},i)}else{let r=h(u({},t.fetchData),{status_code:t.response&&t.response.status}),i={input:t.args,response:t.response,startTimestamp:e,endTimestamp:n};y().addBreadcrumb({category:\"fetch\",data:r,type:\"http\"},i)}}function Qs(t){let e=t.from,n=t.to,r=nt(S.location.href),i=nt(e),o=nt(n);i.path||(i=r),r.protocol===o.protocol&&r.host===o.host&&(n=o.relative),r.protocol===i.protocol&&r.host===i.host&&(e=i.relative),y().addBreadcrumb({category:\"navigation\",data:{from:e,to:n}})}function Zs(t){return!!t&&!!t.target}var ea=\"cause\",ta=5,Q=class{static __initStatic(){this.id=\"LinkedErrors\"}constructor(e={}){this.name=Q.id,this._key=e.key||ea,this._limit=e.limit||ta}setupOnce(){}preprocessEvent(e,n,r){let i=r.getOptions();un(zn,i.stackParser,i.maxValueLength,this._key,this._limit,e,n)}};Q.__initStatic();var Z=class{static __initStatic(){this.id=\"HttpContext\"}constructor(){this.name=Z.id}setupOnce(){}preprocessEvent(e){if(!S.navigator&&!S.location&&!S.document)return;let n=e.request&&e.request.url||S.location&&S.location.href,{referrer:r}=S.document||{},{userAgent:i}=S.navigator||{},o=u(u(u({},e.request&&e.request.headers),r&&{Referer:r}),i&&{\"User-Agent\":i}),s=h(u(u({},e.request),n&&{url:n}),{headers:o});e.request=s}};Z.__initStatic();var ee=class{static __initStatic(){this.id=\"Dedupe\"}constructor(){this.name=ee.id}setupOnce(e,n){}processEvent(e){if(e.type)return e;try{if(na(e,this._previousEvent))return(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Event dropped due to being a duplicate of previously captured event.\"),null}catch(n){}return this._previousEvent=e}};ee.__initStatic();function na(t,e){return e?!!(ra(t,e)||ia(t,e)):!1}function ra(t,e){let n=t.message,r=e.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!Di(t,e)||!Ni(t,e))}function ia(t,e){let n=vi(e),r=vi(t);return!(!n||!r||n.type!==r.type||n.value!==r.value||!Di(t,e)||!Ni(t,e))}function Ni(t,e){let n=xi(t),r=xi(e);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let i=0;i<r.length;i++){let o=r[i],s=n[i];if(o.filename!==s.filename||o.lineno!==s.lineno||o.colno!==s.colno||o.function!==s.function)return!1}return!0}function Di(t,e){let n=t.fingerprint,r=e.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join(\"\")===r.join(\"\")}catch(i){return!1}}function vi(t){return t.exception&&t.exception.values&&t.exception.values[0]}function xi(t){let e=t.exception;if(e)try{return e.values[0].stacktrace.frames}catch(n){return}}var Zn={};cr(Zn,{Breadcrumbs:()=>J,Dedupe:()=>ee,GlobalHandlers:()=>Y,HttpContext:()=>Z,LinkedErrors:()=>Q,TryCatch:()=>Re});var g=b;function Ii(){g&&g.document?g.document.addEventListener(\"visibilitychange\",()=>{let t=q();if(g.document.hidden&&t){let e=\"cancelled\";(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${t.op}`),t.status||t.setStatus(e),t.setTag(\"visibilitychange\",\"document.hidden\"),t.finish()}}):(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"[Tracing] Could not set up background tab detection due to lack of global document\")}var He=(t,e,n)=>{let r,i;return o=>{e.value>=0&&(o||n)&&(i=e.value-(r||0),(i||r===void 0)&&(r=e.value,e.delta=i,t(e)))}};var Oi=()=>`v3-${Date.now()}-${Math.floor(Math.random()*8999999999999)+1e12}`;var oa=()=>{let t=g.performance.timing,e=g.performance.navigation.type,n={entryType:\"navigation\",startTime:0,type:e==2?\"back_forward\":e===1?\"reload\":\"navigate\"};for(let r in t)r!==\"navigationStart\"&&r!==\"toJSON\"&&(n[r]=Math.max(t[r]-t.navigationStart,0));return n},Kt=()=>g.__WEB_VITALS_POLYFILL__?g.performance&&(performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]||oa()):g.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0];var Jt=()=>{let t=Kt();return t&&t.activationStart||0};var $e=(t,e)=>{let n=Kt(),r=\"navigate\";return n&&(g.document.prerendering||Jt()>0?r=\"prerender\":r=n.type.replace(/_/g,\"-\")),{name:t,value:typeof e==\"undefined\"?-1:e,rating:\"good\",delta:0,entries:[],id:Oi(),navigationType:r}};var ce=(t,e,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){let r=new PerformanceObserver(i=>{e(i.getEntries())});return r.observe(Object.assign({type:t,buffered:!0},n||{})),r}}catch(r){}};var _e=(t,e)=>{let n=r=>{(r.type===\"pagehide\"||g.document.visibilityState===\"hidden\")&&(t(r),e&&(removeEventListener(\"visibilitychange\",n,!0),removeEventListener(\"pagehide\",n,!0)))};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)};var ki=t=>{let e=$e(\"CLS\",0),n,r=0,i=[],o=a=>{a.forEach(c=>{if(!c.hadRecentInput){let d=i[0],l=i[i.length-1];r&&i.length!==0&&c.startTime-l.startTime<1e3&&c.startTime-d.startTime<5e3?(r+=c.value,i.push(c)):(r=c.value,i=[c]),r>e.value&&(e.value=r,e.entries=i,n&&n())}})},s=ce(\"layout-shift\",o);if(s){n=He(t,e);let a=()=>{o(s.takeRecords()),n(!0)};return _e(a),a}};var Qt=-1,sa=()=>g.document.visibilityState===\"hidden\"&&!g.document.prerendering?0:1/0,aa=()=>{_e(({timeStamp:t})=>{Qt=t},!0)},je=()=>(Qt<0&&(Qt=sa(),aa()),{get firstHiddenTime(){return Qt}});var wi=t=>{let e=je(),n=$e(\"FID\"),r,i=a=>{a.startTime<e.firstHiddenTime&&(n.value=a.processingStart-a.startTime,n.entries.push(a),r(!0))},o=a=>{a.forEach(i)},s=ce(\"first-input\",o);r=He(t,n),s&&_e(()=>{o(s.takeRecords()),s.disconnect()},!0)};var Bi={},Ai=t=>{let e=je(),n=$e(\"LCP\"),r,i=s=>{let a=s[s.length-1];if(a){let c=Math.max(a.startTime-Jt(),0);c<e.firstHiddenTime&&(n.value=c,n.entries=[a],r())}},o=ce(\"largest-contentful-paint\",i);if(o){r=He(t,n);let s=()=>{Bi[n.id]||(i(o.takeRecords()),o.disconnect(),Bi[n.id]=!0,r(!0))};return[\"keydown\",\"click\"].forEach(a=>{addEventListener(a,s,{once:!0,capture:!0})}),_e(s,!0),s}};function Zt(t){return typeof t==\"number\"&&isFinite(t)}function ve(t,r){var i=r,{startTimestamp:e}=i,n=ar(i,[\"startTimestamp\"]);return e&&t.startTimestamp>e&&(t.startTimestamp=e),t.startChild(u({startTimestamp:e},n))}function D(t){return t/1e3}function Ci(){return g&&g.addEventListener&&g.performance}var Ui=0,R={},te,lt;function Gi(){let t=Ci();if(t&&A){t.mark&&g.performance.mark(\"sentry-tracing-init\"),da();let e=ca(),n=ua();return()=>{e&&e(),n&&n()}}return()=>{}}function Pi(){ce(\"longtask\",e=>{for(let n of e){let r=q();if(!r)return;let i=D(A+n.startTime),o=D(n.duration);r.startChild({description:\"Main UI thread blocked\",op:\"ui.long-task\",origin:\"auto.ui.browser.metrics\",startTimestamp:i,endTimestamp:i+o})}})}function Yi(){ce(\"event\",e=>{for(let n of e){let r=q();if(!r)return;if(n.name===\"click\"){let i=D(A+n.startTime),o=D(n.duration);r.startChild({description:V(n.target),op:`ui.interaction.${n.name}`,origin:\"auto.ui.browser.metrics\",startTimestamp:i,endTimestamp:i+o})}}},{durationThreshold:0})}function ca(){return ki(t=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding CLS\"),R.cls={value:t.value,unit:\"\"},lt=e)})}function ua(){return Ai(t=>{let e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding LCP\"),R.lcp={value:t.value,unit:\"millisecond\"},te=e)})}function da(){wi(t=>{let e=t.entries.pop();if(!e)return;let n=D(A),r=D(e.startTime);(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding FID\"),R.fid={value:t.value,unit:\"millisecond\"},R[\"mark.fid\"]={value:n+r,unit:\"second\"}})}function Mi(t){let e=Ci();if(!e||!g.performance.getEntries||!A)return;(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Tracing] Adding & adjusting spans using Performance API\");let n=D(A),r=e.getEntries(),i,o;if(r.slice(Ui).forEach(s=>{let a=D(s.startTime),c=D(s.duration);if(!(t.op===\"navigation\"&&n+a<t.startTimestamp))switch(s.entryType){case\"navigation\":{pa(t,s,n),i=n+D(s.responseStart),o=n+D(s.requestStart);break}case\"mark\":case\"paint\":case\"measure\":{fa(t,s,a,c,n);let d=je(),l=s.startTime<d.firstHiddenTime;s.name===\"first-paint\"&&l&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding FP\"),R.fp={value:s.startTime,unit:\"millisecond\"}),s.name===\"first-contentful-paint\"&&l&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding FCP\"),R.fcp={value:s.startTime,unit:\"millisecond\"});break}case\"resource\":{let d=s.name.replace(g.location.origin,\"\");_a(t,s,d,a,c,n);break}}}),Ui=Math.max(r.length-1,0),ma(t),t.op===\"pageload\"){typeof i==\"number\"&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding TTFB\"),R.ttfb={value:(i-t.startTimestamp)*1e3,unit:\"millisecond\"},typeof o==\"number\"&&o<=i&&(R[\"ttfb.requestTime\"]={value:(i-o)*1e3,unit:\"millisecond\"})),[\"fcp\",\"fp\",\"lcp\"].forEach(a=>{if(!R[a]||n>=t.startTimestamp)return;let c=R[a].value,d=n+D(c),l=Math.abs((d-t.startTimestamp)*1e3),p=l-c;(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Measurements] Normalized ${a} from ${c} to ${l} (${p})`),R[a].value=l});let s=R[\"mark.fid\"];s&&R.fid&&(ve(t,{description:\"first input delay\",endTimestamp:s.value+D(R.fid.value),op:\"ui.action\",origin:\"auto.ui.browser.metrics\",startTimestamp:s.value}),delete R[\"mark.fid\"]),\"fcp\"in R||delete R.cls,Object.keys(R).forEach(a=>{t.setMeasurement(a,R[a].value,R[a].unit)}),ha(t)}te=void 0,lt=void 0,R={}}function fa(t,e,n,r,i){let o=i+n,s=o+r;return ve(t,{description:e.name,endTimestamp:s,op:e.entryType,origin:\"auto.resource.browser.metrics\",startTimestamp:o}),o}function pa(t,e,n){[\"unloadEvent\",\"redirect\",\"domContentLoadedEvent\",\"loadEvent\",\"connect\"].forEach(r=>{en(t,e,r,n)}),en(t,e,\"secureConnection\",n,\"TLS/SSL\",\"connectEnd\"),en(t,e,\"fetch\",n,\"cache\",\"domainLookupStart\"),en(t,e,\"domainLookup\",n,\"DNS\"),la(t,e,n)}function en(t,e,n,r,i,o){let s=o?e[o]:e[`${n}End`],a=e[`${n}Start`];!a||!s||ve(t,{op:\"browser\",origin:\"auto.browser.browser.metrics\",description:i||n,startTimestamp:r+D(a),endTimestamp:r+D(s)})}function la(t,e,n){ve(t,{op:\"browser\",origin:\"auto.browser.browser.metrics\",description:\"request\",startTimestamp:n+D(e.requestStart),endTimestamp:n+D(e.responseEnd)}),ve(t,{op:\"browser\",origin:\"auto.browser.browser.metrics\",description:\"response\",startTimestamp:n+D(e.responseStart),endTimestamp:n+D(e.responseEnd)})}function _a(t,e,n,r,i,o){if(e.initiatorType===\"xmlhttprequest\"||e.initiatorType===\"fetch\")return;let s={};\"transferSize\"in e&&(s[\"http.response_transfer_size\"]=e.transferSize),\"encodedBodySize\"in e&&(s[\"http.response_content_length\"]=e.encodedBodySize),\"decodedBodySize\"in e&&(s[\"http.decoded_response_content_length\"]=e.decodedBodySize),\"renderBlockingStatus\"in e&&(s[\"resource.render_blocking_status\"]=e.renderBlockingStatus);let a=o+r,c=a+i;ve(t,{description:n,endTimestamp:c,op:e.initiatorType?`resource.${e.initiatorType}`:\"resource.other\",origin:\"auto.resource.browser.metrics\",startTimestamp:a,data:s})}function ma(t){let e=g.navigator;if(!e)return;let n=e.connection;n&&(n.effectiveType&&t.setTag(\"effectiveConnectionType\",n.effectiveType),n.type&&t.setTag(\"connectionType\",n.type),Zt(n.rtt)&&(R[\"connection.rtt\"]={value:n.rtt,unit:\"millisecond\"})),Zt(e.deviceMemory)&&t.setTag(\"deviceMemory\",`${e.deviceMemory} GB`),Zt(e.hardwareConcurrency)&&t.setTag(\"hardwareConcurrency\",String(e.hardwareConcurrency))}function ha(t){te&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding LCP Data\"),te.element&&t.setTag(\"lcp.element\",V(te.element)),te.id&&t.setTag(\"lcp.id\",te.id),te.url&&t.setTag(\"lcp.url\",te.url.trim().slice(0,200)),t.setTag(\"lcp.size\",te.size)),lt&<.sources&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(\"[Measurements] Adding CLS Data\"),lt.sources.forEach((e,n)=>t.setTag(`cls.source.${n+1}`,V(e.node))))}var er=[\"localhost\",/^\\/(?!\\/)/],_t={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,tracingOrigins:er,tracePropagationTargets:er};function tr(t){let{traceFetch:e,traceXHR:n,tracePropagationTargets:r,tracingOrigins:i,shouldCreateSpanForRequest:o,enableHTTPTimings:s}=u({traceFetch:_t.traceFetch,traceXHR:_t.traceXHR},t),a=typeof o==\"function\"?o:l=>!0,c=l=>ya(l,r||i),d={};e&&O(\"fetch\",l=>{let p=Ta(l,a,c,d);s&&p&&Li(p)}),n&&O(\"xhr\",l=>{let p=Ra(l,a,c,d);s&&p&&Li(p)})}function ga(t){return t.entryType===\"resource\"&&\"initiatorType\"in t&&typeof t.nextHopProtocol==\"string\"&&(t.initiatorType===\"fetch\"||t.initiatorType===\"xmlhttprequest\")}function Li(t){let e=t.data.url,n=new PerformanceObserver(r=>{r.getEntries().forEach(o=>{ga(o)&&o.name.endsWith(e)&&(Sa(o).forEach(a=>t.setData(...a)),n.disconnect())})});n.observe({entryTypes:[\"resource\"]})}function Ea(t){let e=\"unknown\",n=\"unknown\",r=\"\";for(let i of t){if(i===\"/\"){[e,n]=t.split(\"/\");break}if(!isNaN(Number(i))){e=r===\"h\"?\"http\":r,n=t.split(r)[1];break}r+=i}return r===t&&(e=r),{name:e,version:n}}function ne(t=0){return((A||performance.timeOrigin)+t)/1e3}function Sa(t){let{name:e,version:n}=Ea(t.nextHopProtocol),r=[];return r.push([\"network.protocol.version\",n],[\"network.protocol.name\",e]),A?[...r,[\"http.request.redirect_start\",ne(t.redirectStart)],[\"http.request.fetch_start\",ne(t.fetchStart)],[\"http.request.domain_lookup_start\",ne(t.domainLookupStart)],[\"http.request.domain_lookup_end\",ne(t.domainLookupEnd)],[\"http.request.connect_start\",ne(t.connectStart)],[\"http.request.secure_connection_start\",ne(t.secureConnectionStart)],[\"http.request.connection_end\",ne(t.connectEnd)],[\"http.request.request_start\",ne(t.requestStart)],[\"http.request.response_start\",ne(t.responseStart)],[\"http.request.response_end\",ne(t.responseEnd)]]:r}function ya(t,e){return ue(t,e||er)}function Ta(t,e,n,r){if(!Ce()||!t.fetchData)return;let i=e(t.fetchData.url);if(t.endTimestamp&&i){let _=t.fetchData.__span;if(!_)return;let m=r[_];if(m){if(t.response){m.setHttpStatus(t.response.status);let E=t.response&&t.response.headers&&t.response.headers.get(\"content-length\"),T=parseInt(E);T>0&&m.setData(\"http.response_content_length\",T)}else t.error&&m.setStatus(\"internal_error\");m.finish(),delete r[_]}return}let o=y(),s=o.getScope(),a=o.getClient(),c=s.getSpan(),{method:d,url:l}=t.fetchData,p=i&&c?c.startChild({data:{url:l,type:\"fetch\",\"http.method\":d},description:`${d} ${l}`,op:\"http.client\",origin:\"auto.http.browser\"}):void 0;if(p&&(t.fetchData.__span=p.spanId,r[p.spanId]=p),n(t.fetchData.url)&&a){let _=t.args[0];t.args[1]=t.args[1]||{};let m=t.args[1];m.headers=ba(_,a,s,m,p)}return p}function ba(t,e,n,r,i){let o=i||n.getSpan(),s=o&&o.transaction,{traceId:a,sampled:c,dsc:d}=n.getPropagationContext(),l=o?o.toTraceparent():Be(a,void 0,c),p=s?s.getDynamicSamplingContext():d||fe(a,e,n),_=ot(p),m=typeof Request!=\"undefined\"&&U(t,Request)?t.headers:r.headers;if(m)if(typeof Headers!=\"undefined\"&&U(m,Headers)){let E=new Headers(m);return E.append(\"sentry-trace\",l),_&&E.append(it,_),E}else if(Array.isArray(m)){let E=[...m,[\"sentry-trace\",l]];return _&&E.push([it,_]),E}else{let E=\"baggage\"in m?m.baggage:void 0,T=[];return Array.isArray(E)?T.push(...E):E&&T.push(E),_&&T.push(_),h(u({},m),{\"sentry-trace\":l,baggage:T.length>0?T.join(\",\"):void 0})}else return{\"sentry-trace\":l,baggage:_}}function Ra(t,e,n,r){let i=t.xhr,o=i&&i[re];if(!Ce()||i&&i.__sentry_own_request__||!i||!o)return;let s=e(o.url);if(t.endTimestamp&&s){let p=i.__sentry_xhr_span_id__;if(!p)return;let _=r[p];_&&(_.setHttpStatus(o.status_code),_.finish(),delete r[p]);return}let a=y(),c=a.getScope(),d=c.getSpan(),l=s&&d?d.startChild({data:h(u({},o.data),{type:\"xhr\",\"http.method\":o.method,url:o.url}),description:`${o.method} ${o.url}`,op:\"http.client\",origin:\"auto.http.browser\"}):void 0;if(l&&(i.__sentry_xhr_span_id__=l.spanId,r[i.__sentry_xhr_span_id__]=l),i.setRequestHeader&&n(o.url))if(l){let p=l&&l.transaction,_=p&&p.getDynamicSamplingContext(),m=ot(_);Fi(i,l.toTraceparent(),m)}else{let p=a.getClient(),{traceId:_,sampled:m,dsc:E}=c.getPropagationContext(),T=Be(_,void 0,m),me=E||(p?fe(_,p,c):void 0),M=ot(me);Fi(i,T,M)}return l}function Fi(t,e,n){try{t.setRequestHeader(\"sentry-trace\",e),n&&t.setRequestHeader(it,n)}catch(r){}}function Hi(t,e=!0,n=!0){if(!g||!g.location){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(\"Could not initialize routing instrumentation due to invalid location\");return}let r=g.location.href,i;e&&(i=t({name:g.location.pathname,startTimestamp:A?A/1e3:void 0,op:\"pageload\",origin:\"auto.pageload.browser\",metadata:{source:\"url\"}})),n&&O(\"history\",({to:o,from:s})=>{if(s===void 0&&r&&r.indexOf(o)!==-1){r=void 0;return}s!==o&&(r=void 0,i&&((typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Finishing current transaction with op: ${i.op}`),i.finish()),i=t({name:g.location.pathname,op:\"navigation\",origin:\"auto.navigation.browser\",metadata:{source:\"url\"}}))})}var ji=\"BrowserTracing\",va=u(h(u({},Le),{markBackgroundTransactions:!0,routingInstrumentation:Hi,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{}}),_t),We=class{constructor(e){this.name=ji,this._hasSetTracePropagationTargets=!1,Ht(),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&(this._hasSetTracePropagationTargets=!!(e&&(e.tracePropagationTargets||e.tracingOrigins))),this.options=u(u({},va),e),this.options._experiments.enableLongTask!==void 0&&(this.options.enableLongTask=this.options._experiments.enableLongTask),e&&!e.tracePropagationTargets&&e.tracingOrigins&&(this.options.tracePropagationTargets=e.tracingOrigins),this._collectWebVitals=Gi(),this.options.enableLongTask&&Pi(),this.options._experiments.enableInteractions&&Yi()}setupOnce(e,n){this._getCurrentHub=n;let i=n().getClient(),o=i&&i.getOptions(),{routingInstrumentation:s,startTransactionOnLocationChange:a,startTransactionOnPageLoad:c,markBackgroundTransactions:d,traceFetch:l,traceXHR:p,shouldCreateSpanForRequest:_,enableHTTPTimings:m,_experiments:E}=this.options,T=o&&o.tracePropagationTargets,me=T||this.options.tracePropagationTargets;(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&this._hasSetTracePropagationTargets&&T&&f.warn(\"[Tracing] The `tracePropagationTargets` option was set in the BrowserTracing integration and top level `Sentry.init`. The top level `Sentry.init` value is being used.\"),s(M=>{let qe=this._createRouteTransaction(M);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(qe,M,n),qe},c,a),d&&Ii(),E.enableInteractions&&this._registerInteractionListener(),tr({traceFetch:l,traceXHR:p,tracePropagationTargets:me,shouldCreateSpanForRequest:_,enableHTTPTimings:m})}_createRouteTransaction(e){if(!this._getCurrentHub){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${e.op} transaction because _getCurrentHub is invalid.`);return}let n=this._getCurrentHub(),{beforeNavigate:r,idleTimeout:i,finalTimeout:o,heartbeatInterval:s}=this.options,a=e.op===\"pageload\",c=a?$i(\"sentry-trace\"):\"\",d=a?$i(\"baggage\"):\"\",{traceparentData:l,dynamicSamplingContext:p,propagationContext:_}=On(c,d),m=h(u(u({},e),l),{metadata:h(u({},e.metadata),{dynamicSamplingContext:l&&!p?{}:p}),trimEnd:!0}),E=typeof r==\"function\"?r(m):m,T=E===void 0?h(u({},m),{sampled:!1}):E;T.metadata=T.name!==m.name?h(u({},T.metadata),{source:\"custom\"}):T.metadata,this._latestRouteName=T.name,this._latestRouteSource=T.metadata&&T.metadata.source,T.sampled===!1&&(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Will not send ${T.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Starting ${T.op} transaction on scope`);let{location:me}=g,M=Ft(n,T,i,o,!0,{location:me},s),qe=n.getScope();return a&&l?qe.setPropagationContext(_):qe.setPropagationContext({traceId:M.traceId,spanId:M.spanId,parentSpanId:M.parentSpanId,sampled:M.sampled}),M.registerBeforeFinishCallback(Xi=>{this._collectWebVitals(),Mi(Xi)}),M}_registerInteractionListener(){let e,n=()=>{let{idleTimeout:r,finalTimeout:i,heartbeatInterval:o}=this.options,s=\"ui.action.click\",a=q();if(a&&a.op&&[\"navigation\",\"pageload\"].includes(a.op)){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${s} transaction because a pageload or navigation transaction is in progress.`);return}if(e&&(e.setFinishReason(\"interactionInterrupted\"),e.finish(),e=void 0),!this._getCurrentHub){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${s} transaction because _getCurrentHub is invalid.`);return}if(!this._latestRouteName){(typeof __SENTRY_DEBUG__==\"undefined\"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${s} transaction because _latestRouteName is missing.`);return}let c=this._getCurrentHub(),{location:d}=g,l={name:this._latestRouteName,op:s,trimEnd:!0,metadata:{source:this._latestRouteSource||\"url\"}};e=Ft(c,l,r,i,!0,{location:d},o)};[\"click\"].forEach(r=>{addEventListener(r,n,{once:!1,capture:!0})})}};function $i(t){let e=fn(`meta[name=${t}]`);return e?e.getAttribute(\"content\"):void 0}var Wi={};S.Sentry&&S.Sentry.Integrations&&(Wi=S.Sentry.Integrations);var R_=u(u(u({},Wi),qt),Zn);var Na=\"https://d233059272824702afc8c43834c4912d@sentry.hcaptcha.com/6\",mt=null;function nr(t,e){if(t===!1)return tn(t);if(mt)return tn(mt,e);let n=new ft({dsn:Na,transport:window.fetch?Xn:Kn,stackParser:Qn,integrations:[new J,new Y,new Q,new ee,new Z,new We]});return mt=new de(n),tn(mt,e)}function Da(t){return tn(mt,t)}function tn(t,e={key:\"source\",value:\"@hCaptcha/loader\"}){return{addBreadcrumb:n=>{t&&t.addBreadcrumb(n)},captureMessage:n=>{t&&t.withScope(function(r){r.setTag(e.key,e.value),t.captureMessage(n)})},captureException:n=>{t&&t.withScope(function(r){r.setTag(e.key,e.value),t.captureEvent({message:Ve,level:\"error\",extra:n})})}}}function qi({scriptLocation:t,query:e,loadAsync:n=!0,crossOrigin:r,apihost:i=\"https://js.hcaptcha.com\",cleanup:o=!0,secureApi:s=!1,scriptSource:a=\"\"}={}){let c=Et(t),d=gt(c);return new Promise((l,p)=>{let _=d.document.createElement(\"script\");_.id=dr,a?_.src=`${a}?onload=${xe}`:s?_.src=`${i}/1/secure-api.js?onload=${xe}`:_.src=`${i}/1/api.js?onload=${xe}`,_.crossOrigin=r,_.async=n;let m=(E,T)=>{try{!s&&o&&c.removeChild(_),T(E)}catch(me){p(me)}};_.onload=E=>m(E,l),_.onerror=E=>m(E,p),_.src+=e!==\"\"?`&${e}`:\"\",c.appendChild(_)})}var nn=[];function Ia(t={cleanup:!0},e){try{e.addBreadcrumb({category:he,message:\"hCaptcha loader params\",data:t});let n=Et(t.scriptLocation),r=gt(n),i=nn.find(({scope:s})=>s===r.window);if(i)return e.addBreadcrumb({category:he,message:\"hCaptcha already loaded\"}),i.promise;let o=new Promise((s,a)=>ze(this,null,function*(){try{r.window[xe]=()=>{e.addBreadcrumb({category:he,message:\"hCaptcha script called onload function\"}),s(r.window.hcaptcha)};let c=ur({custom:t.custom,render:t.render,sentry:t.sentry,assethost:t.assethost,imghost:t.imghost,reportapi:t.reportapi,endpoint:t.endpoint,host:t.host,recaptchacompat:t.recaptchacompat,hl:t.hl});yield qi(u({query:c},t)),e.addBreadcrumb({category:he,message:\"hCaptcha loaded\",data:i})}catch(c){e.addBreadcrumb({category:he,message:\"hCaptcha failed to load\",data:c});let d=nn.findIndex(l=>l.scope===r.window);d!==-1&&nn.splice(d,1),e.captureException(c),a(new Error(Ve))}}));return nn.push({promise:o,scope:r.window}),o}catch(n){return e.captureException(n),Promise.reject(new Error(Ve))}}function Vi(t,e=0){return ze(this,null,function*(){let n=e<2?\"Retry loading hCaptcha Api\":\"Exceeded maximum retries\",r=nr(t.sentry);try{return yield Ia(t,r)}catch(i){return r.addBreadcrumb({SENTRY_SOURCE:he,message:n,data:{error:i}}),e>=2?(r.captureException(i),Promise.reject(i)):(e+=1,Vi(t,e))}})}function Oa(){return ze(this,arguments,function*(t={}){return yield Vi(t)})}export{Da as getSentry,Oa as hCaptchaLoader,nr as initSentry};\n","function getFrame(element) {\n var doc = element && element.ownerDocument || document;\n var win = doc.defaultView || doc.parentWindow || window;\n return {\n document: doc,\n window: win\n };\n}\nfunction getMountElement(element) {\n return element || document.head;\n}\nexport { getFrame, getMountElement };","export var scopeTag = {\n key: 'source',\n value: '@hCaptcha/react'\n};\nexport var breadcrumbMessages = {\n mounted: 'hCaptcha component mounted',\n expired: 'hCaptcha expired',\n unmounted: 'hCaptcha component unmounted',\n reset: 'hCaptcha reset',\n removed: 'hCaptcha removed'\n};","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport * as React from 'react';\nimport { hCaptchaLoader, initSentry } from '@hcaptcha/loader';\nimport { getFrame, getMountElement } from './utils.js';\nimport { breadcrumbMessages, scopeTag } from \"./constants\";\nvar HCaptcha = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(HCaptcha, _React$Component);\n function HCaptcha(props) {\n var _this;\n _this = _React$Component.call(this, props) || this;\n\n /**\n * Internal reference to track hCaptcha API\n *\n * Required as window is relative to initialization in application\n * not where the script and iFrames have been loaded.\n */\n _this._hcaptcha = undefined;\n\n // API Methods\n _this.renderCaptcha = _this.renderCaptcha.bind(_assertThisInitialized(_this));\n _this.resetCaptcha = _this.resetCaptcha.bind(_assertThisInitialized(_this));\n _this.removeCaptcha = _this.removeCaptcha.bind(_assertThisInitialized(_this));\n _this.isReady = _this.isReady.bind(_assertThisInitialized(_this));\n _this._onReady = null;\n\n // Event Handlers\n _this.loadCaptcha = _this.loadCaptcha.bind(_assertThisInitialized(_this));\n _this.handleOnLoad = _this.handleOnLoad.bind(_assertThisInitialized(_this));\n _this.handleSubmit = _this.handleSubmit.bind(_assertThisInitialized(_this));\n _this.handleExpire = _this.handleExpire.bind(_assertThisInitialized(_this));\n _this.handleError = _this.handleError.bind(_assertThisInitialized(_this));\n _this.handleOpen = _this.handleOpen.bind(_assertThisInitialized(_this));\n _this.handleClose = _this.handleClose.bind(_assertThisInitialized(_this));\n _this.handleChallengeExpired = _this.handleChallengeExpired.bind(_assertThisInitialized(_this));\n _this.ref = /*#__PURE__*/React.createRef();\n _this.apiScriptRequested = false;\n _this.sentryHub = null;\n _this.captchaId = '';\n _this.state = {\n isApiReady: false,\n isRemoved: false,\n elementId: props.id\n };\n return _this;\n }\n var _proto = HCaptcha.prototype;\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n // Once captcha is mounted intialize hCaptcha - hCaptcha\n var element = getMountElement(this.props.scriptLocation);\n var frame = getFrame(element);\n this._hcaptcha = frame.window.hcaptcha || undefined;\n var isApiReady = typeof this._hcaptcha !== 'undefined';\n this.sentryHub = initSentry(this.props.sentry, scopeTag);\n this.sentryHub.addBreadcrumb({\n category: scopeTag.value,\n message: breadcrumbMessages.mounted\n });\n\n /*\n * Check if hCaptcha has already been loaded,\n * If Yes, render the captcha\n * If No, create script tag and wait to render the captcha\n */\n if (isApiReady) {\n this.setState({\n isApiReady: true\n }, function () {\n _this2.renderCaptcha();\n });\n return;\n }\n this.loadCaptcha();\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n\n // Reset any stored variables / timers when unmounting\n hcaptcha.reset(captchaId);\n hcaptcha.remove(captchaId);\n this.sentryHub.addBreadcrumb({\n category: scopeTag.value,\n message: breadcrumbMessages.unmounted\n });\n };\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps, nextState) {\n // Prevent component re-rendering when these internal state variables are updated\n if (this.state.isApiReady !== nextState.isApiReady || this.state.isRemoved !== nextState.isRemoved) {\n return false;\n }\n return true;\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this3 = this;\n // Prop Keys that could change\n var keys = ['sitekey', 'size', 'theme', 'tabindex', 'languageOverride', 'endpoint'];\n // See if any props changed during component update\n var match = keys.every(function (key) {\n return prevProps[key] === _this3.props[key];\n });\n\n // If they have changed, remove current captcha and render a new one\n if (!match) {\n this.removeCaptcha(function () {\n _this3.renderCaptcha();\n });\n }\n };\n _proto.loadCaptcha = function loadCaptcha() {\n if (this.apiScriptRequested) {\n return;\n }\n var _this$props = this.props,\n apihost = _this$props.apihost,\n assethost = _this$props.assethost,\n endpoint = _this$props.endpoint,\n host = _this$props.host,\n imghost = _this$props.imghost,\n hl = _this$props.languageOverride,\n reCaptchaCompat = _this$props.reCaptchaCompat,\n reportapi = _this$props.reportapi,\n sentry = _this$props.sentry,\n custom = _this$props.custom,\n loadAsync = _this$props.loadAsync,\n scriptLocation = _this$props.scriptLocation,\n scriptSource = _this$props.scriptSource,\n secureApi = _this$props.secureApi,\n _this$props$cleanup = _this$props.cleanup,\n cleanup = _this$props$cleanup === void 0 ? true : _this$props$cleanup;\n var mountParams = {\n render: 'explicit',\n apihost: apihost,\n assethost: assethost,\n endpoint: endpoint,\n hl: hl,\n host: host,\n imghost: imghost,\n recaptchacompat: reCaptchaCompat === false ? 'off' : null,\n reportapi: reportapi,\n sentry: sentry,\n custom: custom,\n loadAsync: loadAsync,\n scriptLocation: scriptLocation,\n scriptSource: scriptSource,\n secureApi: secureApi,\n cleanup: cleanup\n };\n hCaptchaLoader(mountParams).then(this.handleOnLoad, this.handleError)[\"catch\"](this.handleError);\n this.apiScriptRequested = true;\n };\n _proto.renderCaptcha = function renderCaptcha(onRender) {\n var _this4 = this;\n var onReady = this.props.onReady;\n var isApiReady = this.state.isApiReady;\n var captchaId = this.captchaId;\n\n // Prevent calling hCaptcha render on two conditions:\n // • API is not ready\n // • Component has already been mounted\n if (!isApiReady || captchaId) return;\n var renderParams = Object.assign({\n \"open-callback\": this.handleOpen,\n \"close-callback\": this.handleClose,\n \"error-callback\": this.handleError,\n \"chalexpired-callback\": this.handleChallengeExpired,\n \"expired-callback\": this.handleExpire,\n \"callback\": this.handleSubmit\n }, this.props, {\n hl: this.props.hl || this.props.languageOverride,\n languageOverride: undefined\n });\n var hcaptcha = this._hcaptcha;\n //Render hCaptcha widget and provide necessary callbacks - hCaptcha\n var id = hcaptcha.render(this.ref.current, renderParams);\n this.captchaId = id;\n this.setState({\n isRemoved: false\n }, function () {\n onRender && onRender();\n onReady && onReady();\n _this4._onReady && _this4._onReady(id);\n });\n };\n _proto.resetCaptcha = function resetCaptcha() {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n // Reset captcha state, removes stored token and unticks checkbox\n hcaptcha.reset(captchaId);\n this.sentryHub.addBreadcrumb({\n category: scopeTag.value,\n message: breadcrumbMessages.reset\n });\n };\n _proto.removeCaptcha = function removeCaptcha(callback) {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n this.setState({\n isRemoved: true\n }, function () {\n hcaptcha.remove(captchaId);\n callback && callback();\n });\n this.sentryHub.addBreadcrumb({\n category: scopeTag.value,\n message: breadcrumbMessages.removed\n });\n };\n _proto.handleOnLoad = function handleOnLoad() {\n var _this5 = this;\n this.setState({\n isApiReady: true\n }, function () {\n try {\n var element = getMountElement(_this5.props.scriptLocation);\n var frame = getFrame(element);\n _this5._hcaptcha = frame.window.hcaptcha;\n\n // render captcha and wait for captcha id\n _this5.renderCaptcha(function () {\n // trigger onLoad if it exists\n\n var onLoad = _this5.props.onLoad;\n if (onLoad) onLoad();\n });\n } catch (error) {\n _this5.sentryHub.captureException(error);\n }\n });\n };\n _proto.handleSubmit = function handleSubmit(event) {\n var onVerify = this.props.onVerify;\n var isRemoved = this.state.isRemoved;\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (typeof hcaptcha === 'undefined' || isRemoved) return;\n var token = hcaptcha.getResponse(captchaId); //Get response token from hCaptcha widget\n var ekey = hcaptcha.getRespKey(captchaId); //Get current challenge session id from hCaptcha widget\n if (onVerify) onVerify(token, ekey); //Dispatch event to verify user response\n };\n _proto.handleExpire = function handleExpire() {\n var onExpire = this.props.onExpire;\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n hcaptcha.reset(captchaId); // If hCaptcha runs into error, reset captcha - hCaptcha\n\n if (onExpire) onExpire();\n this.sentryHub.addBreadcrumb({\n category: scopeTag.value,\n message: breadcrumbMessages.expired\n });\n };\n _proto.handleError = function handleError(event) {\n var onError = this.props.onError;\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (this.isReady()) {\n // If hCaptcha runs into error, reset captcha - hCaptcha\n hcaptcha.reset(captchaId);\n }\n if (onError) onError(event);\n };\n _proto.isReady = function isReady() {\n var _this$state = this.state,\n isApiReady = _this$state.isApiReady,\n isRemoved = _this$state.isRemoved;\n return isApiReady && !isRemoved;\n };\n _proto.handleOpen = function handleOpen() {\n if (!this.isReady() || !this.props.onOpen) {\n return;\n }\n this.props.onOpen();\n };\n _proto.handleClose = function handleClose() {\n if (!this.isReady() || !this.props.onClose) {\n return;\n }\n this.props.onClose();\n };\n _proto.handleChallengeExpired = function handleChallengeExpired() {\n if (!this.isReady() || !this.props.onChalExpired) {\n return;\n }\n this.props.onChalExpired();\n };\n _proto.execute = function execute(opts) {\n var _this6 = this;\n if (opts === void 0) {\n opts = null;\n }\n opts = typeof opts === 'object' ? opts : null;\n try {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n var _opts;\n var onReady = new Promise(function (resolve, reject) {\n _this6._onReady = function (id) {\n try {\n var _hcaptcha = _this6._hcaptcha;\n if (opts && opts.async) {\n _hcaptcha.execute(id, opts).then(resolve)[\"catch\"](reject);\n } else {\n resolve(_hcaptcha.execute(id, opts));\n }\n } catch (e) {\n reject(e);\n }\n };\n });\n return (_opts = opts) != null && _opts.async ? onReady : null;\n }\n return hcaptcha.execute(captchaId, opts);\n } catch (error) {\n this.sentryHub.captureException(error);\n if (opts && opts.async) {\n return Promise.reject(error);\n }\n return null;\n }\n };\n _proto.close = function close() {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n return hcaptcha.close(captchaId);\n };\n _proto.setData = function setData(data) {\n var hcaptcha = this._hcaptcha;\n var captchaId = this.captchaId;\n if (!this.isReady()) {\n return;\n }\n if (data && typeof data !== \"object\") {\n data = null;\n }\n hcaptcha.setData(captchaId, data);\n };\n _proto.getResponse = function getResponse() {\n var hcaptcha = this._hcaptcha;\n return hcaptcha.getResponse(this.captchaId);\n };\n _proto.getRespKey = function getRespKey() {\n var hcaptcha = this._hcaptcha;\n return hcaptcha.getRespKey(this.captchaId);\n };\n _proto.render = function render() {\n var elementId = this.state.elementId;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: this.ref,\n id: elementId\n });\n };\n return HCaptcha;\n}(React.Component);\nexport default HCaptcha;","import { useEffect, useState } from 'react'\n\nconst query =\n typeof window === 'undefined'\n ? null\n : window.matchMedia('(prefers-color-scheme: dark)')\n\nexport function useBrowserColorScheme() {\n const [theme, setTheme] = useState<'light' | 'dark'>(\n query?.matches ? 'dark' : 'light',\n )\n\n useEffect(() => {\n if (!query) return\n\n const listener = () => {\n setTheme(query.matches ? 'dark' : 'light')\n }\n\n query.addEventListener('change', listener)\n\n return () => {\n query.removeEventListener('change', listener)\n }\n\n // @NOTE \"query\" is a global constant and does not need to be part of the\n // array bellow:\n }, [])\n\n return theme\n}\n","import HCaptcha from '@hcaptcha/react-hcaptcha'\nimport { ForwardedRef, ReactNode, useCallback, useRef, useState } from 'react'\nimport {\n FormCardAsync,\n FormCardAsyncProps,\n} from '../../../components/forms/form-card-async.tsx'\nimport { useBrowserColorScheme } from '../../../hooks/use-browser-color-scheme.ts'\nimport { mergeRefs } from '../../../lib/ref.ts'\nimport { Override } from '../../../lib/util.ts'\n\nexport type SignUpHcaptchaFormProps = Override<\n Omit<\n FormCardAsyncProps,\n 'append' | 'onSubmit' | 'submitLabel' | 'onCancel' | 'cancelLabel'\n >,\n {\n siteKey: string\n\n token?: string\n onToken: (token: string, ekey: string) => void\n\n prevLabel?: ReactNode\n onPrev?: () => void\n\n nextLabel?: ReactNode\n onNext: (signal: AbortSignal) => void | PromiseLike<void>\n\n ref?: ForwardedRef<HCaptcha>\n }\n>\n\nexport function SignUpHcaptchaForm({\n siteKey,\n\n token: tokenInit,\n onToken,\n\n prevLabel,\n onPrev,\n\n nextLabel,\n onNext,\n\n ref,\n\n // FormCardProps\n invalid,\n children,\n ...props\n}: SignUpHcaptchaFormProps) {\n const captchaRef = useRef<HCaptcha>(null)\n const theme = useBrowserColorScheme()\n const [token, setToken] = useState<string | undefined>(tokenInit)\n\n const onLoad = useCallback(() => {\n // this reaches out to the hCaptcha JS API and runs the\n // execute function on it. you can use other functions as\n // documented here:\n // https://docs.hcaptcha.com/configuration#jsapi\n captchaRef.current?.execute()\n }, [])\n\n const onVerify = useCallback(\n (token: string, ekey: string) => {\n setToken(token)\n onToken(token, ekey)\n },\n [onToken],\n )\n\n const doSubmit = useCallback(\n (signal: AbortSignal) => {\n if (token) return onNext(signal)\n else if (captchaRef.current) captchaRef.current.execute()\n else throw new Error('Unable to load hCaptcha')\n },\n [token, onNext],\n )\n\n return (\n <FormCardAsync\n {...props}\n cancelLabel={prevLabel}\n onCancel={onPrev}\n submitLabel={nextLabel}\n onSubmit={doSubmit}\n append={children}\n invalid={invalid || !token}\n >\n <HCaptcha\n theme={theme}\n sitekey={siteKey}\n onLoad={onLoad}\n onVerify={onVerify}\n ref={mergeRefs([ref, captchaRef])}\n />\n </FormCardAsync>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { ReactNode, useCallback, useState } from 'react'\nimport type { CustomizationData } from '@atproto/oauth-provider-api'\nimport { WizardCard } from '../../../components/forms/wizard-card.tsx'\nimport {\n LayoutTitlePage,\n LayoutTitlePageProps,\n} from '../../../components/layouts/layout-title-page.tsx'\nimport { HelpCard } from '../../../components/utils/help-card.tsx'\nimport { Override } from '../../../lib/util.ts'\nimport {\n SignUpAccountForm,\n SignUpAccountFormOutput,\n} from './sign-up-account-form.tsx'\nimport { SignUpDisclaimer } from './sign-up-disclaimer.tsx'\nimport { SignUpHandleForm } from './sign-up-handle-form.tsx'\nimport { SignUpHcaptchaForm } from './sign-up-hcaptcha-form.tsx'\n\nexport type SignUpViewProps = Override<\n LayoutTitlePageProps,\n {\n customizationData?: CustomizationData\n\n onBack?: () => void\n backLabel?: ReactNode\n onValidateNewHandle: (\n data: { handle: string },\n signal?: AbortSignal,\n ) => void | PromiseLike<void>\n onDone: (\n data: SignUpAccountFormOutput & {\n handle: string\n hcaptchaToken?: string\n },\n signal?: AbortSignal,\n ) => void | PromiseLike<void>\n }\n>\n\nexport function SignUpView({\n customizationData: {\n availableUserDomains = [],\n hcaptchaSiteKey = undefined,\n inviteCodeRequired = true,\n links,\n } = {},\n\n onValidateNewHandle,\n onDone,\n onBack,\n backLabel,\n\n // LayoutTitlePage\n title,\n subtitle,\n ...props\n}: SignUpViewProps) {\n const { t } = useLingui()\n const [credentials, setCredentials] = useState<\n undefined | SignUpAccountFormOutput\n >(undefined)\n const [handle, setHandle] = useState<undefined | string>(undefined)\n const [hcaptcha, setHcaptcha] = useState<undefined | string>(undefined)\n\n /**\n * \"false\" indicates that the hcaptcha token is invalid (required but not provided)\n */\n const hcaptchaToken = hcaptchaSiteKey == null ? undefined : hcaptcha || false\n\n const doDone = useCallback(\n (signal: AbortSignal) => {\n if (credentials && handle && hcaptchaToken !== false) {\n return onDone({ ...credentials, handle, hcaptchaToken }, signal)\n }\n },\n [credentials, handle, hcaptchaToken, onDone],\n )\n\n return (\n <LayoutTitlePage\n {...props}\n title={title ?? t`Create Account`}\n subtitle={\n subtitle ?? <Trans>We're so excited to have you join us!</Trans>\n }\n >\n <WizardCard\n doneLabel={<Trans>Sign up</Trans>}\n onBack={onBack}\n backLabel={backLabel}\n onDone={doDone}\n steps={[\n // We use the handle input first since the \"onValidateNewHandle\" check\n // will make it less likely that the actual signup call will fail, and\n // will result in a better user experience, especially if there is an\n // issue with the email address (e.g. already in use).\n {\n invalid: !handle,\n titleRender: () => <Trans>Choose a username</Trans>,\n contentRender: ({ prev, prevLabel, next, nextLabel, invalid }) => (\n <SignUpHandleForm\n className=\"grow\"\n invalid={invalid}\n domains={availableUserDomains}\n handle={handle}\n onHandle={setHandle}\n prevLabel={prevLabel}\n onPrev={prev}\n nextLabel={nextLabel}\n onNext={async (signal) => {\n if (handle) await onValidateNewHandle({ handle }, signal)\n if (!signal.aborted) return next(signal)\n }}\n >\n <SignUpDisclaimer links={links} />\n </SignUpHandleForm>\n ),\n },\n {\n invalid: !credentials,\n titleRender: () => <Trans>Your account</Trans>,\n contentRender: ({ prev, prevLabel, next, nextLabel, invalid }) => (\n <SignUpAccountForm\n className=\"grow\"\n invalid={invalid}\n prevLabel={prevLabel}\n onPrev={prev}\n nextLabel={nextLabel}\n onNext={next}\n inviteCodeRequired={inviteCodeRequired}\n credentials={credentials}\n onCredentials={setCredentials}\n >\n <SignUpDisclaimer links={links} />\n </SignUpAccountForm>\n ),\n },\n hcaptchaSiteKey != null && {\n invalid: hcaptchaToken === false,\n titleRender: () => <Trans>Verify you are human</Trans>,\n contentRender: ({ prev, prevLabel, next, nextLabel, invalid }) => (\n <SignUpHcaptchaForm\n className=\"grow\"\n invalid={invalid}\n siteKey={hcaptchaSiteKey}\n token={hcaptcha}\n onToken={setHcaptcha}\n prevLabel={prevLabel}\n onPrev={prev}\n nextLabel={nextLabel}\n onNext={next}\n >\n <SignUpDisclaimer links={links} />\n </SignUpHcaptchaForm>\n ),\n },\n ]}\n />\n\n <HelpCard className=\"mt-4\" links={links} />\n </LayoutTitlePage>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { Button } from '../../../components/forms/button.tsx'\nimport {\n LayoutWelcome,\n LayoutWelcomeProps,\n} from '../../../components/layouts/layout-welcome.tsx'\nimport { Override } from '../../../lib/util.ts'\n\nexport type WelcomeViewParams = Override<\n LayoutWelcomeProps,\n {\n onSignIn?: () => void\n onSignUp?: () => void\n onCancel?: () => void\n }\n>\n\nexport function WelcomeView({\n onSignUp,\n onSignIn,\n onCancel,\n\n // LayoutWelcome\n ...props\n}: WelcomeViewParams) {\n const { t } = useLingui()\n return (\n <LayoutWelcome {...props} title={props.title ?? t`Authenticate`}>\n {onSignUp && (\n <Button\n className={'m-1 w-60 min-w-min max-w-full'}\n color={onSignIn ? 'primary' : undefined}\n onClick={onSignUp}\n >\n <Trans>Create a new account</Trans>\n </Button>\n )}\n\n {onSignIn && (\n <Button\n className={'m-1 w-60 min-w-min max-w-full'}\n color={onSignUp ? undefined : 'primary'}\n onClick={onSignIn}\n >\n <Trans context=\"verb\">Sign in</Trans>\n </Button>\n )}\n\n {onCancel && (\n <Button className=\"m-1 w-60 min-w-min max-w-full\" onClick={onCancel}>\n <Trans>Cancel</Trans>\n </Button>\n )}\n </LayoutWelcome>\n )\n}\n","import { Trans, useLingui } from '@lingui/react/macro'\nimport { useEffect, useState } from 'react'\nimport type { CustomizationData, Session } from '@atproto/oauth-provider-api'\nimport {\n LayoutTitlePage,\n LayoutTitlePageProps,\n} from '../../components/layouts/layout-title-page.tsx'\nimport { useApi } from '../../hooks/use-api.ts'\nimport { useBoundDispatch } from '../../hooks/use-bound-dispatch.ts'\nimport type { AuthorizeData } from '../../hydration-data'\nimport { Override } from '../../lib/util.ts'\nimport { ConsentView } from './consent/consent-view.tsx'\nimport { ResetPasswordView } from './reset-password/reset-password-view.tsx'\nimport { SignInView } from './sign-in/sign-in-view.tsx'\nimport { SignUpView } from './sign-up/sign-up-view.tsx'\nimport { WelcomeView } from './welcome/welcome-view.tsx'\n\nexport type AuthorizeViewProps = Override<\n LayoutTitlePageProps,\n {\n customizationData?: CustomizationData\n authorizeData: AuthorizeData\n initialSessions: readonly Session[]\n }\n>\n\nenum View {\n Welcome,\n SignUp,\n SignIn,\n ResetPassword,\n Consent,\n Done,\n}\n\nexport function AuthorizeView({\n authorizeData,\n initialSessions,\n customizationData,\n\n // LayoutTitlePage\n ...props\n}: AuthorizeViewProps) {\n const { t } = useLingui()\n\n const forceSignIn = authorizeData.loginHint != null\n\n const canSignUp =\n !forceSignIn && Boolean(customizationData?.availableUserDomains?.length)\n\n const initialView =\n !canSignUp || initialSessions.length ? View.SignIn : View.Welcome\n\n const [view, setView] = useState<View>(initialView)\n\n const showDone = useBoundDispatch(setView, View.Done)\n const showSignIn = useBoundDispatch(setView, View.SignIn)\n const showResetPassword = useBoundDispatch(setView, View.ResetPassword)\n const showSignUp = useBoundDispatch(setView, View.SignUp)\n const showConsent = useBoundDispatch(setView, View.Consent)\n\n const [resetPasswordHint, setResetPasswordHint] = useState<\n string | undefined\n >(undefined)\n\n const {\n sessions,\n selectSub,\n doValidateNewHandle,\n doSignUp,\n doSignIn,\n doInitiatePasswordReset,\n doConfirmResetPassword,\n doConsent,\n doReject,\n } = useApi({\n sessions: initialSessions,\n onRedirected: showDone,\n })\n\n const homeView = !canSignUp || sessions.length ? View.SignIn : View.Welcome\n const showHome = useBoundDispatch(setView, homeView)\n const showSignUpIfAllowed = canSignUp ? showSignUp : undefined\n\n // Navigate when the user signs-in (selects a new session)\n const session = sessions.find((s) => s.selected && !s.loginRequired)\n useEffect(() => {\n if (session) {\n if (session.consentRequired) showConsent()\n else doConsent(session.account.sub)\n }\n }, [session, doConsent, showConsent])\n\n // Fool-proofing\n useEffect(() => {\n if (view === View.SignUp && !canSignUp) setView(homeView)\n }, [view, homeView, !canSignUp])\n useEffect(() => {\n if (view === View.Consent && !session) setView(homeView)\n }, [view, homeView, !session])\n useEffect(() => {\n if (view === View.Welcome && homeView !== View.Welcome) setView(homeView)\n }, [view, homeView])\n\n if (view === View.Welcome) {\n return (\n <WelcomeView\n {...props}\n customizationData={customizationData}\n onSignIn={showSignIn}\n onSignUp={showSignUpIfAllowed}\n onCancel={doReject}\n />\n )\n }\n\n if (view === View.SignUp) {\n return (\n <SignUpView\n {...props}\n customizationData={customizationData}\n onValidateNewHandle={doValidateNewHandle}\n onBack={showHome}\n onDone={doSignUp}\n />\n )\n }\n\n if (view === View.ResetPassword) {\n return (\n <ResetPasswordView\n {...props}\n emailDefault={resetPasswordHint}\n onresetPasswordRequest={doInitiatePasswordReset}\n onResetPasswordConfirm={doConfirmResetPassword}\n onBack={showHome}\n />\n )\n }\n\n if (view === View.SignIn) {\n return (\n <SignInView\n {...props}\n loginHint={authorizeData.loginHint}\n sessions={sessions}\n selectSub={selectSub}\n onSignIn={doSignIn}\n onSignUp={showSignUpIfAllowed}\n onBack={homeView === View.SignIn ? doReject : showHome}\n backLabel={homeView === View.SignIn ? t`Cancel` : undefined}\n onForgotPassword={(email) => {\n showResetPassword()\n setResetPasswordHint(email)\n }}\n />\n )\n }\n\n if (view === View.Consent) {\n // TypeSafety: should never be null here\n if (!session) return null\n\n return (\n <ConsentView\n {...props}\n clientId={authorizeData.clientId}\n clientMetadata={authorizeData.clientMetadata}\n clientTrusted={authorizeData.clientTrusted}\n clientFirstParty={authorizeData.clientFirstParty}\n account={session.account}\n scope={authorizeData.scope}\n onConsent={(scope) => doConsent(session.account.sub, scope)}\n onReject={doReject}\n onBack={\n forceSignIn\n ? undefined\n : () => {\n selectSub(null)\n showHome()\n }\n }\n />\n )\n }\n\n if (view === View.Done) {\n return (\n <LayoutTitlePage {...props} title={props.title ?? t`Login complete`}>\n <Trans>You are being redirected...</Trans>\n </LayoutTitlePage>\n )\n }\n\n // Fool-proofing\n throw new Error('Unexpected application state')\n}\n","import './style.css'\n\nimport { StrictMode } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { ErrorBoundary } from 'react-error-boundary'\nimport type { HydrationData } from './hydration-data.d.ts'\nimport { LocaleProvider } from './locales/locale-provider.tsx'\nimport { AuthorizeView } from './views/authorize/authorize-view.tsx'\nimport { ErrorView } from './views/error/error-view.tsx'\n\nconst {\n __authorizeData: authorizeData,\n __customizationData: customizationData,\n __sessions: initialSessions,\n} = window as typeof window & HydrationData['authorization-page']\n\n// When the user is logging in, make sure the page URL contains the\n// \"request_uri\" in case the user refreshes the page.\n// @TODO Actually do this on the backend through a redirect.\nconst url = new URL(window.location.href)\nif (\n url.pathname === '/oauth/authorize' &&\n !url.searchParams.has('request_uri')\n) {\n url.search = ''\n url.searchParams.set('client_id', authorizeData.clientId)\n url.searchParams.set('request_uri', authorizeData.requestUri)\n window.history.replaceState(history.state, '', url.pathname + url.search)\n}\n\nconst container = document.getElementById('root')!\n\ncreateRoot(container).render(\n <StrictMode>\n <LocaleProvider userLocales={authorizeData.uiLocales?.split(' ')}>\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <ErrorView error={error} customizationData={customizationData} />\n )}\n >\n <AuthorizeView\n authorizeData={authorizeData}\n customizationData={customizationData}\n initialSessions={initialSessions}\n />\n </ErrorBoundary>\n </LocaleProvider>\n </StrictMode>,\n)\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","assertErrorBoundaryContext","value","useErrorBoundary","context","useContext","state","setState","useState","memoized","useMemo","LayoutTitlePage","customizationData","title","subtitle","htmlTitle","undefined","className","div","clsx","h1","p","LocaleSelector","main","upsert","arr","predicate","idx","findIndex","slice","useSafeCallback","fn","deps","showBoundary","useCallback","UnknownRequestUriError","concat","useApi","sessions","sessionsInit","onRedirected","api","Api","setSessions","i18n","useLingui","locale","selectSub","sub","find","s","selected","account","map","upsertSession","ephemeralToken","consentRequired","loginRequired","session","performRedirect","url","location","href","String","doSignIn","data","signal","response","fetch","doInitiatePasswordReset","doConfirmResetPassword","doValidateNewHandle","doSignUp","doConsent","scope","bearer","doReject","useBoundDispatch","dispatch","ClientImage","clientId","clientMetadata","clientTrusted","errored","setErrored","src","logo_uri","alt","client_name","useEffect","_jsx","img","aria-hidden","onError","CircleInfoIcon","Button","color","transparent","loading","shape","type","role","disabled","actionable","onClick","button","tabIndex","useClickOutside","ref","handler","listener","event","defaultPrevented","current","contains","target","addEventListener","removeEventListener","useEscapeKey","callback","handleKeyDown","key","preventDefault","DescriptionCard","hint","image","description","append","attrs","open","setOpen","close","useRef","hasChildren","detailsDivId","useRandomString","aria-describedby","h3","prev","aria-expanded","aria-label","aria-haspopup","aria-controls","Admonition","hidden","id","scopeMissingError","ScopeMissingError","util","minIdx","toRecord","iterable","record","exports","isScopeForResource","formatScope","encodeScope","encodeScopeComponent","normalizeScopeComponent","util_1","require$$0","resource","nextCharCode","ResourceSyntax","positional","params","allowedParam","name","isPositional","values","_a","paramIdx","colonIdx","resourceEnd","inputParams","positionalName","queryParams","positionalValue","setPositional","v","NORMALIZABLE_CHARS_MAP","c","encoded","end","i","encodedChar","normalizedChar","parser","knownValuesValidator","syntax_js_1","Parser","schema","normalized","arrayParamEquals","syntax","result","definition","set","parser_js_1","require$$1","ACCOUNT_ATTRIBUTES","ACCOUNT_ACTIONS","AccountScope","attr","action","options","mime","isMime","isAccept","matchesAccept","matchesAnyAccept","isStringSlashString","slashIndex","matchesAcceptUnsafe","accept","matchesAnyAcceptUnsafe","acceptable","mime_js_1","require$$2","toLowerCase","isNonRedundant","BlobScope","base","IDENTITY_ATTRIBUTES","IdentityScope","nsid","isNSID","nsid_js_1","REPO_ACTIONS","RepoScope","collection","includedIn","did","isDIDLike","did_js_1","require$$3","validateLxmParam","validateAudParam","RpcScope","aud","lxm","utilities","isValidAtprotoOauthScope","parseScope","scopeNeededFor","scopeMatches","account_scope_js_1","blob_scope_js_1","identity_scope_js_1","repo_scope_js_1","rpc_scope_js_1","require$$4","require$$5","string","rpcScope","accountScope","identityScope","repoScope","blobScope","scope_missing_error_js_1","utilities_js_1","ScopesSet","permissionSet","scopes_set_js_1","require$$6","PermissionSet","scopes","permissionSetTransition","permission_set_js_1","PermissionSetTransition","__createBinding","this","o","m","k","k2","desc","__exportStar","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","Checkbox","forwardRef","invalid","input","displayName","ScopeDescription","clientFirstParty","allowEmail","onAllowEmail","permissions","showFineGrainedPermissions","useHasOnlyBlueskySpecificScopes","size","has","EmailPermissions","IdentityPermissions","AccountPermissions","BlueskyAppviewPermissions","BlueskyChatPermissions","_Fragment","BlobPermissions","RepoPermissions","RpcMethodsDetails","IdentityWarning","prominent","allowsIdentity","Trans_","allowedAction","allowsAccount","label","EmailIcon","$__i18n","checked","onChange","e","hasRepoScope","hasTransitionGeneric","some","fromString","blobScopes","Array","from","filter","types","allowsAny","includes","images","videos","audio","other","startsWith","length","ImageIcon","VideoClipIcon","PaperPlaneIcon","AccountOutlinedIcon","foundOne","rpc","isOfficialBlueskyAppviewServiceId","every","isBlueskySpecificNsid","repo","hasBskyAppRepo","scopeEnablesBskyAppRepo","hasBskyAppRpc","scopeEnablesPrivateBskyAppMethods","ButterflyIcon","hasTransitionChatBsky","scopeEnablesChat","ChatIcon","AtSymbolIcon","AuthenticateIcon","RpcDescription","RpcMethodsTable","audLxmsEntries","Map","parsed","get","Set","add","entries","sort","localeCompare","lxms","table","thead","tr","th","tbody","_jsxs","td","em","code","allowsRepo","NewspaperIcon","RepoDescription","RepoTable","nsidActions","actions","create","update","delete","starActions","nsidActionsEntries","CheckMarkIcon","isBskyAppNsid","isBskyChatNsid","FormCard","cancel","prepend","inert","form","AccountIdentifier","preferred_username","email","isConventionalOAuthClientId","URL","protocol","pathname","port","search","UrlViewer","proto","host","path","query","hash","as","As","urlObj","UrlPartViewer","faded","bold","Comp","ClientName","span","simplifiedView","isTransitionScope","isAccountEmailScope","matches","stripAccountEmailScope","split","join","ConsentForm","onConsent","consentLabel","onReject","rejectLabel","onBack","backLabel","setAllowEmail","canUnsetEmail","onSubmit","acceptedScope","ul","li","tos_uri","rel","policy_uri","ConsentView","FieldsetContext","Fieldset","labelId","prefix","contextValue","fieldset","aria-labelledby","legend","useAsyncAction","onLoading","setLoading","setError","doSetError","doSetLoading","controllerRef","resetRef","abort","useImperativeHandle","reset","run","controller","AbortController","err","Error","isAbortReason","warn","aborted","reason","DOMException","errorRenderDefault","ErrorCard","FormCardAsync","submitLabel","onCancel","cancelLabel","errorRender","doSubmit","currentTarget","reportValidity","MIN_PASSWORD_LENGTH","EMOJI","UPPER","LOWER","DEC","SPECIAL","PasswordStrength","getPasswordStrength","pwd","regexps","regexpsCountToMatch","TypeError","regexp","test","PasswordStrengthLabel","password","strength","extra","strong","moderate","PasswordStrengthMeter","colorBg","aria-valuemin","aria-valuemax","aria-valuenow","_","updateRef","mergeRefs","refs","ButtonToggleVisibility","visible","toggleVisible","EyeIcon","EyeSlashIcon","InputContainer","icon","bellow","onFocus","onBlur","hasFocus","setHasFocus","InputText","ariaLabel","ariaLabelledBy","placeholder","ctx","inputRef","focusedRef","stopPropagation","focus","onMouseDown","InputPassword","autoHide","autoComplete","LockIcon","defaultValue","dir","autoCapitalize","autoCorrect","spellCheck","setVisible","setPassword","doChange","InputNewPassword","passwordInit","onPassword","minLength","validity","valid","OTP_CODE_EXAMPLE","InputToken","example","onToken","TokenIcon","token","setToken","maxLength","pattern","selectionEnd","selectionStart","fixedValue","fix","pos","fixedSlicedValue","isDefaultPrevented","toUpperCase","replaceAll","ResetPasswordConfirmForm","tokenAriaId","passwordRef","enterKeyHint","required","autoFocus","InputEmailAddress","onEmail","setEmail","ResetPasswordRequestForm","emailDefault","emailAriaId","ctrlRef","ResetPasswordView","onresetPasswordRequest","onResetPasswordConfirm","view","setView","hr","center","h2","InputCheckbox","htmlFor","labelRef","inputId","click","SignInForm","usernameDefault","usernameReadonly","rememberDefault","onForgotPassword","username","setUsername","remember","setRemember","otp","setOtp","secondFactor","setSecondFactor","formRef","clearSecondFactor","resetState","SecondAuthenticationFactorRequiredError","InvalidCredentialsError","readOnly","AccountImage","AccountIcon","SignInPicker","accounts","onAccount","onOther","onSignUp","onKeyDown","picture","ChevronRightIcon","arial-label","SignInView","loginHint","onSignIn","clearSession","showSignInForm","setShowSignInForm","isEnabled","isRequired","isCompleted","useStepper","steps","firstIdx","lastIdx","findLastIndex","requiredIdx","currentIdx","setCurrentIdx","to","prevIdx","nextIdx","toFirst","toLast","toPrev","toNext","toRequired","currentPosition","reduce","acc","count","completed","broken","atFirst","atLast","WizardCard","prevLabel","nextLabel","onDone","doneLabel","onNext","next","stepTitle","titleRender","stepContent","contentRender","HelpCard","links","helpLink","l","SignUpAccountForm","inviteCodeRequired","credentials","creds","onCredentials","onPrev","inviteCode","setInviteCode","resetForm","SignUpDisclaimer","tosLink","ppLink","LinkAnchor","link","MAX_LENGTH","MIN_LENGTH","MAX_FULL_LENGTH","isValidDomain","domain","endsWith","useSegmentValidator","minLen","maxLen","Math","min","validateSegment","segment","validLength","validCharset","SignUpHandleForm","domains","availableDomains","handle","handleInit","onHandle","domainIdx","setDomainIdx","d","setSegment","preview","ValidationMessage","hasValue","setSelectionRange","select","Number","option","XMarkIcon","_assertThisInitialized","self","_setPrototypeOf","_inheritsLoose","subClass","superClass","setPrototypeOf","ir","Ki","Ji","ht","or","sr","rr","t","u","h","ar","cr","ze","ur","gt","Et","dr","xe","Ve","he","fr","Xe","U","Ne","De","St","rn","w","Ie","L","ge","on","sn","Ee","an","Ke","Je","z","yt","pr","ue","un","Qi","cn","lr","_r","Tt","F","Qe","bt","Zi","V","eo","dn","Ze","Oe","Rt","no","f","ro","io","X","mr","oo","vt","n","x","xt","ke","Se","ln","Nt","Er","gr","_n","B","pn","Tr","Sr","yr","hn","br","mn","G","gn","Rr","et","En","Dt","vr","I","re","tt","xr","so","ao","kr","Or","co","uo","_o","mo","O","H","Ir","Nr","It","fo","Ot","kt","po","lo","Dr","wt","Bt","wr","Br","$","we","ie","At","Ut","yn","Tn","Ar","Ur","j","Ct","Gt","So","ho","E","go","Eo","oe","r","C","N","ye","bn","nt","Cr","Rn","Pr","xn","yo","To","module","vn","Gr","se","W","A","it","Nn","Mr","Lr","Dn","Yr","ot","bo","Fr","In","On","Be","K","wn","Pt","kn","Bn","Ro","An","vo","Yt","Mt","Un","Cn","Hr","$r","Gn","Pn","Ae","st","Yn","Ue","jr","xo","ae","Wr","No","P","qr","zr","Do","de","Lt","Te","at","Mn","y","Io","Oo","Ce","q","Vr","Xr","Ln","Ge","Pe","Kr","fe","Ye","Le","ko","Me","Fn","ct","wo","Jr","Bo","Ao","Ft","Ht","$t","jt","Uo","Co","Go","Po","Qr","Yo","Zr","ei","ti","ni","Hn","ii","Mo","Ho","Lo","Fo","$o","ri","oi","ut","ai","si","Wo","jo","qo","Fe","ci","dt","qt","pe","le","ui","zo","Vo","Xo","Ko","ns","Jo","Qo","Zo","Wt","es","ts","rs","S","$n","jn","Es","be","zn","Vn","bs","Ss","Rs","Wn","Ts","ys","di","zt","fi","qn","vs","pi","xs","ft","pt","_i","Xn","Ns","Kn","Vt","Ds","Is","Os","Jn","ks","ws","Bs","Si","mi","Us","Cs","hi","Gs","Ps","gi","Ei","Qn","Y","Ys","Ms","Hs","bi","Fs","yi","Ti","Ls","$s","Re","Ri","js","Ws","qs","Xt","J","Xs","Vs","Ks","Js","Qs","zs","Zs","ea","ta","Q","Z","ee","na","ra","ia","Di","Ni","vi","xi","Zn","g","Ii","He","Oi","oa","Kt","Jt","$e","ce","_e","ki","Qt","sa","aa","je","wi","Bi","Ai","Zt","ve","D","Ci","Ui","R","te","lt","Gi","da","ca","ua","Pi","Yi","Mi","pa","fa","ma","ha","en","la","er","_t","ya","Ta","Li","Ra","ga","Sa","Ea","T","ba","Fi","me","M","Hi","ji","va","We","qe","$i","Xi","Wi","Na","mt","nr","tn","qi","nn","Ia","Vi","Oa","getFrame","element","doc","win","getMountElement","scopeTag","breadcrumbMessages","HCaptcha","_React$Component","_this","React.createRef","_proto","_this2","frame","isApiReady","initSentry","hcaptcha","captchaId","nextProps","nextState","_this3","keys","match","apihost","assethost","endpoint","imghost","hl","reCaptchaCompat","reportapi","sentry","custom","loadAsync","scriptLocation","scriptSource","secureApi","_this$props$cleanup","cleanup","mountParams","hCaptchaLoader","onRender","_this4","onReady","renderParams","_this5","onLoad","onVerify","isRemoved","ekey","onExpire","_this$state","opts","_this6","_opts","resolve","reject","_hcaptcha","elementId","React.createElement","React.Component","window","matchMedia","useBrowserColorScheme","theme","setTheme","SignUpHcaptchaForm","siteKey","tokenInit","captchaRef","execute","sitekey","SignUpView","availableUserDomains","hcaptchaSiteKey","onValidateNewHandle","setCredentials","setHandle","setHcaptcha","hcaptchaToken","doDone","WelcomeView","LayoutWelcome","AuthorizeView","authorizeData","initialSessions","forceSignIn","canSignUp","Boolean","initialView","showDone","showSignIn","showResetPassword","showSignUp","showConsent","resetPasswordHint","setResetPasswordHint","homeView","showHome","showSignUpIfAllowed","__authorizeData","__customizationData","__sessions","searchParams","requestUri","history","replaceState","container","document","getElementById","createRoot","render","StrictMode","LocaleProvider","userLocales","uiLocales","ErrorView"],"mappings":"4ZAGA,MAAMA,GAAuBC,EAAa,cAAC,IAAI,EAEzCC,GAAe,CACnB,SAAU,GACV,MAAO,IACT,EACA,MAAMC,WAAsBC,EAAAA,SAAU,CACpC,YAAYC,EAAO,CACjB,MAAMA,CAAK,EACX,KAAK,mBAAqB,KAAK,mBAAmB,KAAK,IAAI,EAC3D,KAAK,MAAQH,EACjB,CACE,OAAO,yBAAyBI,EAAO,CACrC,MAAO,CACL,SAAU,GACV,MAAAA,CACD,CACL,CACE,oBAAqB,CACnB,KAAM,CACJ,MAAAA,CACD,EAAG,KAAK,MACT,GAAIA,IAAU,KAAM,CAElB,QADIC,EAAqBC,EAChBC,EAAO,UAAU,OAAQC,EAAO,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAC/ED,EAAKC,CAAI,EAAI,UAAUA,CAAI,GAE5BJ,GAAuBC,EAAc,KAAK,OAAO,WAAa,MAAQD,IAAwB,QAAkBA,EAAoB,KAAKC,EAAa,CACrJ,KAAAE,EACA,OAAQ,gBAChB,CAAO,EACD,KAAK,SAASR,EAAY,CAChC,CACA,CACE,kBAAkBI,EAAOM,EAAM,CAC7B,IAAIC,EAAqBC,GACxBD,GAAuBC,EAAe,KAAK,OAAO,WAAa,MAAQD,IAAwB,QAAkBA,EAAoB,KAAKC,EAAcR,EAAOM,CAAI,CACxK,CACE,mBAAmBG,EAAWC,EAAW,CACvC,KAAM,CACJ,SAAAC,CACD,EAAG,KAAK,MACH,CACJ,UAAAC,CACD,EAAG,KAAK,MAOT,GAAID,GAAYD,EAAU,QAAU,MAAQG,GAAgBJ,EAAU,UAAWG,CAAS,EAAG,CAC3F,IAAIE,EAAsBC,GACzBD,GAAwBC,EAAe,KAAK,OAAO,WAAa,MAAQD,IAAyB,QAAkBA,EAAqB,KAAKC,EAAc,CAC1J,KAAMH,EACN,KAAMH,EAAU,UAChB,OAAQ,MAChB,CAAO,EACD,KAAK,SAASb,EAAY,CAChC,CACA,CACE,QAAS,CACP,KAAM,CACJ,SAAAoB,EACA,eAAAC,EACA,kBAAAC,EACA,SAAAC,CACD,EAAG,KAAK,MACH,CACJ,SAAAR,EACA,MAAAX,CACD,EAAG,KAAK,MACT,IAAIoB,EAAgBJ,EACpB,GAAIL,EAAU,CACZ,MAAMZ,EAAQ,CACZ,MAAAC,EACA,mBAAoB,KAAK,kBAC1B,EACD,GAAI,OAAOiB,GAAmB,WAC5BG,EAAgBH,EAAelB,CAAK,UAC3BmB,EACTE,EAAgBC,EAAAA,cAAcH,EAAmBnB,CAAK,UAC7CoB,IAAa,OACtBC,EAAgBD,MAEhB,OAAMnB,CAEd,CACI,OAAOqB,EAAa,cAAC3B,GAAqB,SAAU,CAClD,MAAO,CACL,SAAAiB,EACA,MAAAX,EACA,mBAAoB,KAAK,kBACjC,CACK,EAAEoB,CAAa,CACpB,CACA,CACA,SAASP,IAAkB,CACzB,IAAIS,EAAI,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAE,EAC1EC,EAAI,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAE,EAC9E,OAAOD,EAAE,SAAWC,EAAE,QAAUD,EAAE,KAAK,CAACE,EAAMC,IAAU,CAAC,OAAO,GAAGD,EAAMD,EAAEE,CAAK,CAAC,CAAC,CACpF,CAEA,SAASC,GAA2BC,EAAO,CACzC,GAAIA,GAAS,MAAQ,OAAOA,EAAM,UAAa,WAAa,OAAOA,EAAM,oBAAuB,WAC9F,MAAM,IAAI,MAAM,gCAAgC,CAEpD,CAEA,SAASC,IAAmB,CAC1B,MAAMC,EAAUC,EAAU,WAACpC,EAAoB,EAC/CgC,GAA2BG,CAAO,EAClC,KAAM,CAACE,EAAOC,CAAQ,EAAIC,WAAS,CACjC,MAAO,KACP,SAAU,EACd,CAAG,EACKC,EAAWC,EAAAA,QAAQ,KAAO,CAC9B,cAAe,IAAM,CACnBN,EAAQ,mBAAoB,EAC5BG,EAAS,CACP,MAAO,KACP,SAAU,EAClB,CAAO,CACF,EACD,aAAchC,GAASgC,EAAS,CAC9B,MAAAhC,EACA,SAAU,EACX,CAAA,CACL,GAAM,CAAC6B,EAAQ,kBAAkB,CAAC,EAChC,GAAIE,EAAM,SACR,MAAMA,EAAM,MAEd,OAAOG,CACT,CCxHO,SAASE,GAAgB,CAC9BC,kBAAAA,EACAC,MAAAA,EACAC,SAAAA,EACAC,UAAAA,EAAY,OAAOF,GAAU,SAAWA,EAAQG,OAGhDC,UAAAA,EACA1B,SAAAA,EACA,GAAGjB,CACkB,EAAA,CACrB,cACG4C,MAAAA,CACE,GAAG5C,EACJ2C,UAAWE,EACTF,EACA,6BACA,yDACA,4BACA,0BACA,uCAAA,YAGDF,SAAcF,QAAAA,CAAOE,SAAAA,CAAAA,UAErBG,MAAAA,CACCD,UAAWE,EACT,YACA,SACA,cACA,4BACA,2BACA,kBACA,+BACA,gBACA,4CACA,sCAAA,mBAGDD,MAAAA,CAAID,UAAU,0DACZJ,SACEO,KAAAA,CAECH,UAAU,qEAETJ,SAAAA,GAHG,OAAA,EAOPC,SACEO,IAAAA,CAECJ,UAAU,8DAETH,SAAAA,CAAAA,EAHG,UAAA,CAAA,UAQTQ,GAAAA,CAAoCL,UAAU,YAAA,EAA3B,gBAAA,CAAA,UAGrBM,OAAAA,CAAKN,UAAU,mCAAoC1B,SAAAA,MAG1D,CCjFgBiC,SAAAA,GACdC,EACA1B,EACA2B,EAAkE,CAE9D,GAAA,CAACD,EAAY,MAAA,CAAC1B,CAAK,EACjB4B,MAAAA,EAAMF,EAAIG,UAAUF,CAAAA,EAC1B,OAAOC,IAAQ,GACX,CAAIF,GAAAA,EAAK1B,CAAAA,EACT,IAAI0B,EAAII,MAAM,EAAGF,CAAAA,EAAM5B,KAAS0B,EAAII,MAAMF,EAAM,CAAA,CAAG,CACzD,CCaA,SAASG,GAA8CC,EAAOC,EAAe,CACrE,KAAA,CAAEC,aAAAA,CAAY,EAAK9B,GAAAA,EAElB+B,OAAAA,EAAAA,YACL,SAAUvD,IAAAA,CACJ,GAAA,CACK,OAAA,MAAMoD,EAAMpD,GAAAA,CAAAA,QACZJ,EAAO,CACVA,MAAAA,aAAiB4D,IAAwBF,EAAa1D,CAAAA,EACpDA,CAAAA,CACR,EAEFyD,EAAKI,OAAOH,CAAAA,CAAAA,CAEhB,CAMO,SAASI,GAAO,CACrBC,SAAUC,EAAe,CAAE,EAC3BC,aAAAA,GAID,CACC,KAAM,CAACC,CAAAA,EAAOjC,WAAS,IAAM,IAAIkC,EAAAA,EAC3B,CAACJ,EAAUK,CAAY,EAC3BnC,EAAAA,SAAsC+B,CAAAA,EAElC,CAAEK,KAAAA,EAASC,EAAAA,CAAAA,EAAAA,EAAAA,EACX,CAAEC,OAAAA,GAAWF,EAEbG,EAAYb,cACfc,GAAAA,CACCL,EAAaL,UACXU,OAAAA,OAASV,EAAAA,EAASW,KAAMC,GAAMA,EAAEC,QAAQ,IAA/Bb,YAAAA,EAAkCc,QAAQJ,MAAO,MACtDV,EACAA,EAASe,IAAKH,IAAO,CAAE,GAAGA,EAAGC,SAAUD,EAAEE,QAAQJ,MAAQA,GAAI,EAAA,CAAA,EAGrE,CAACL,CAAAA,CAAY,EAGTW,EAAgBpB,EAAAA,YACpB,CAAC,CACCkB,QAAAA,EACAG,eAAAA,EAGAC,gBAAAA,EAAkB,GAGlBL,SAAAA,EAAW,GAGXM,cAAAA,EAAgB,EAAA,IACiC,CACjD,MAAMC,EAA4B,CAChCN,QAAAA,EACAG,eAAAA,EACAJ,SAAAA,EACAM,cAAAA,EACAD,gBAAAA,CACF,EAEAb,EAAaL,GACXd,GAAOc,EAAUoB,EAAUR,GAAMA,EAAEE,QAAQJ,MAAQI,EAAQJ,GAAG,EAAEK,IAG7DH,GACC,CAACC,GAAYD,IAAMQ,GAAW,CAACR,EAAEC,SAC7BD,EACA,CAAE,GAAGA,EAAGC,SAAU,EAAA,CAAM,CAAA,CAAA,EAIpC,CAACR,CAAAA,CAAY,EAGTgB,EAAkBzB,cACrB0B,GAAAA,CAOQC,OAAAA,SAASC,KAAOC,OAAOH,CAAAA,EAC1BpB,cAAyBA,CAAAA,CAAAA,EAE/B,CAACA,CAAAA,CAAa,EAGVwB,EAAWlC,GACf,MAAOmC,EAAmCC,IAAAA,CACxC,MAAMC,EAAW,MAAM1B,EAAI2B,MACzB,OACA,WACA,CAAE,GAAGH,EAAMnB,OAAAA,CAAAA,EACX,CAAEoB,OAAAA,CAAAA,CAAO,EAEXZ,EAAca,CAAAA,CAAAA,EAEhB,CAAC1B,EAAKK,EAAQQ,CAAAA,CAAc,EAGxBe,EAA0BvC,GAC9B,MACEmC,EACAC,IAAAA,CAEMzB,MAAAA,EAAI2B,MACR,OACA,0BACA,CAAE,GAAGH,EAAMnB,OAAAA,CAAAA,EACX,CAAEoB,OAAAA,CAAAA,CAAO,CAAA,EAGb,CAACzB,EAAKK,CAAAA,CAAO,EAGTwB,EAAyBxC,GAC7B,MAAOmC,EAAiCC,IAAAA,CACtC,MAAMzB,EAAI2B,MAAM,OAAQ,0BAA2BH,EAAM,CAAEC,OAAAA,CAAAA,CAAO,CAAA,EAEpE,CAACzB,CAAAA,CAAI,EAGD8B,EAAsBzC,GAC1B,MAAOmC,EAAqCC,IAAAA,CAC1C,MAAMzB,EAAI2B,MAAM,OAAQ,8BAA+BH,EAAM,CAAEC,OAAAA,CAAAA,CAAO,CAAA,EAExE,CAACzB,CAAAA,CAAI,EAGD+B,EAAW1C,GACf,MAAOmC,EAAmCC,IAAAA,CACxC,MAAMC,EAAW,MAAM1B,EAAI2B,MACzB,OACA,WACA,CAAE,GAAGH,EAAMnB,OAAAA,CAAAA,EACX,CAAEoB,OAAAA,CAAAA,CAAO,EAEXZ,EAAca,CAAAA,CAAAA,EAEhB,CAAC1B,EAAKK,EAAQQ,CAAAA,CAAc,EAGxBmB,EAAY3C,GAChB,MAAOkB,EAAa0B,IAAAA,OAGZC,MAAAA,GAASrC,EAAAA,EAASW,KAAMC,GAAMA,EAAEE,QAAQJ,MAAQA,CAAMO,IAA7CjB,YAAAA,EAA6CiB,eACtD,CAAEK,IAAAA,CAAK,EAAG,MAAMnB,EAAI2B,MACxB,OACA,WACA,CAAEpB,IAAAA,EAAK0B,MAAAA,CAAAA,EACP,CAAEC,OAAAA,CAAAA,CAAO,EAEXhB,EAAgBC,CAAAA,CAAAA,EAElB,CAACnB,EAAKH,EAAUqB,CAAAA,CAAgB,EAG5BiB,EAAW9C,GAAgB,SAAA,CACzB,KAAA,CAAE8B,IAAAA,GAAQ,MAAMnB,EAAI2B,MAAM,OAAQ,UAAW,EAAC,EACpDT,EAAgBC,CAAAA,CAAAA,EACf,CAACnB,EAAKkB,CAAAA,CAAgB,EAElB,MAAA,CACLrB,SAAAA,EACAS,UAAAA,EAEAiB,SAAAA,EACAK,wBAAAA,EACAC,uBAAAA,EACAC,oBAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAG,SAAAA,CACF,CACF,CC5MgBC,SAAAA,GAAoBC,EAAuB5E,EAAQ,CACjE,OAAOgC,cAAY,IAAM4C,EAAS5E,CAAQ,EAAA,CAAC4E,EAAU5E,CAAAA,CAAM,CAC7D,CCMO,SAAS6E,GAAY,CAC1BC,SAAAA,EACAC,eAAAA,EACAC,cAAAA,GACiB,CACjB,KAAM,CAACC,EAASC,CAAW,EAAG5E,EAAAA,SAAS,EAAA,EAEjC6E,EAAMH,EAAgBD,EAAeK,SAAWtE,OAChDuE,EAAMN,EAAeO,aAAeR,EAE1CS,OAAAA,EAAAA,UAAU,IAAA,CACRL,EAAW,EAAA,CAAA,EACV,CAACC,CAAAA,CAAI,EAEDA,GAAO,CAACF,EACbO,EAAAA,IAACC,MAAAA,CACCC,cAAW,GACXP,IAAAA,EACAE,IAAAA,EACAtE,UAAU,eACV4E,QAAS,IAAMT,EAAW,EAAA,CAAA,GAG5BM,EAAA,IAACxE,MAAAA,CACC0E,cAAW,GACX3E,UAAU,6FAEV,eAAC6E,GAAAA,CAAe7E,UAAU,YAGhC,CC1BO,SAAS8E,EAAO,CACrBC,MAAAA,EAAQ,OACRC,YAAAA,EAAc,GACdC,QAAAA,EAAUlF,OACVmF,MAAAA,EAAQ,UAGR5G,SAAAA,EACA0B,UAAAA,EACAmF,KAAAA,EAAO,SACPC,KAAAA,EAAO,SACPC,SAAAA,EAAW,GACX,GAAGhI,CACS,EAAA,CACZ,MAAMiI,EAAaH,IAAS,UAAY9H,EAAMkI,SAAW,KAEzD,aACGC,SAAAA,CACCJ,KAAAA,EACAD,KAAAA,EACAE,SAAUA,GAAYJ,IAAY,GAClCQ,UAAUpI,GAAAA,YAAAA,EAAOoI,YAAaH,EAAa,EAAI,IAC9C,GAAGjI,EACJ2C,UAAWE,EACT,qCACA,yBACAoF,EAAa,iBAAmB,KAChCJ,IAAU,SAAW,eAAiB,aACtCA,IAAU,SAAW,SAAW,KAChCA,IAAU,UACN,YACAA,IAAU,SACR,MACAnF,OACN,kCACA,sCACAgF,IAAU,UACN7E,EACE,mBACA,8FACA8E,EACI,8BACA,kCAEND,EAAAA,IAAU,OACR7E,EACE,iBACA,iDACA,qCACA,2CACA8E,EAAc,iBAAmB,8BAAA,EAEnCjF,OACN,sBACAC,CAAAA,EAGD1B,SAAAA,CAAAA,EAGP,CCxEgBoH,SAAAA,GACdC,EACAC,EAAoC,CAEpCpB,EAAAA,UAAU,IAAA,CACFqB,MAAAA,EAAYC,GAAAA,CAEd,CAACA,EAAMC,kBACPJ,EAAIK,SACJ,CAACL,EAAIK,QAAQC,SAASH,EAAMI,MAAM,GAElCN,EAAQE,CAAAA,CAEZ,EAESK,gBAAAA,iBAAiB,YAAaN,CAAAA,EAChC,IAAA,CACIO,SAAAA,oBAAoB,YAAaP,CAAAA,CAC5C,CAAA,EACC,CAACF,EAAKC,CAAAA,CAAQ,CACnB,CCpBO,SAASS,GAAaC,EAAoB,CACzCC,MAAAA,EAAiBT,GAAAA,CACjBA,EAAMU,MAAQ,WAChBV,EAAMW,eAAc,EACpBH,EAAAA,EAEJ,EAEA9B,EAAAA,UAAU,KACD2B,OAAAA,iBAAiB,UAAWI,CAAAA,EAC5B,IAAA,CACEH,OAAAA,oBAAoB,UAAWG,CAAAA,CACxC,GACC,CAACD,CAAAA,CAAS,CACf,CCIO,SAASI,EAAgB,CAC9BC,KAAAA,EACAC,MAAAA,EACAhH,MAAAA,EACAiH,YAAAA,EACAC,OAAAA,EAGA9G,UAAAA,EACA1B,SAAAA,EACA,GAAGyI,CACkB,EAAA,CACrB,KAAM,CAAQnF,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACoF,EAAMC,CAAQ,EAAG1H,EAAAA,SAAS,EAAA,EAC3B2H,EAAQjG,EAAAA,YAAY,IAAMgG,EAAQ,IAAQ,CAAA,CAAE,EAE5CtB,EAAMwB,SAAuB,IAAA,EACnCd,GAAaa,CAAAA,EACbxB,GAAgBC,EAAKuB,CAAAA,EAErB,MAAME,EAAc9I,GAAY,KAC1B+I,EAAeC,GAAgB,eAAA,EAErC,cACGrH,MAAAA,CAAI0F,IAAAA,EAAU3F,UAAAA,EAAuB,GAAG+G,mBACtC9G,MAAAA,CAAID,UAAW,wDACbC,MAAAA,CACCD,UAAU,wDACV2E,cAAW,GAEViC,SAAAA,CAAAA,UAEF3G,MAAAA,CACCD,UAAW,uBACXuH,mBAAkBH,EAAcC,EAAetH,iBAE9CH,SAAU4H,KAAAA,CAAI5H,SAAAA,CAAAA,GACdiH,SAAgBzG,IAAAA,CAAEJ,UAAU,UAAW6G,SAAAA,OAEzCC,SACE7G,MAAAA,CAAID,UAAU,mDACZ8G,SAAAA,CAAAA,GAGJM,SACEtC,EAAAA,CACCS,QAAUO,GAAAA,CACHA,EAAMC,mBACTD,EAAMW,eAAc,EACZQ,EAACQ,GAAS,CAACA,CAAAA,EAEvB,EACAvC,MAAM,SACNtF,MAAO+G,GAAAA,EAAAA,EAAAA,eACPe,gBAAeV,EACfW,aAAYX,EAAAA,EAAAA,EAAAA,aAA6BL,EAAAA,GAAAA,EAAAA,EAAAA,eACzCiB,gBAAc,OACdC,gBAAeR,EAChB,SAAA,SAKJD,SACEU,GAAAA,CACC9H,UAAU,OACV+H,OAAQ,CAACf,EACTgB,GAAIX,EACJ1C,cAAa,CAACqC,EAEb1I,SAAAA,MAKX,uDC9FA,OAAO,eAAe2J,GAAS,aAAc,CAAE,MAAO,GAAM,EACnCA,GAAA,kBAAG,OAC5B,MAAMC,UAA0B,KAAM,CAClC,IAAI,YAAa,CACb,OAAO,KAAK,MACpB,CACI,YAAYzE,EAAO,CACf,MAAM,2BAA2BA,CAAK,GAAG,EACzC,OAAO,eAAe,KAAM,QAAS,CACjC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOA,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,OAAQ,CAChC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,mBACnB,CAAS,EAGD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,GACnB,CAAS,EACD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,EACnB,CAAS,CACT,CACA,CACA,OAAAwE,GAAA,kBAA4BC,6ECpC5B,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,OAAiBC,EACjBD,GAAA,SAAmBE,EACnB,SAASD,EAAOxJ,EAAGC,EAAG,CAClB,OAAID,IAAM,GACCC,EACPA,IAAM,GACCD,EACJ,KAAK,IAAIA,EAAGC,CAAC,CACxB,CACA,SAASwJ,EAASC,EAAU,CACxB,MAAMC,EAAS,OAAO,OAAO,IAAI,EACjC,SAAW,CAAC/B,EAAKvH,CAAK,IAAKqJ,EACnB,OAAO,OAAOC,EAAQ/B,CAAG,EACzB+B,EAAO/B,CAAG,EAAE,KAAKvH,CAAK,EAGtBsJ,EAAO/B,CAAG,EAAI,CAACvH,CAAK,EAG5B,OAAOsJ,CACX,6DCrBA,OAAO,eAAcC,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAA8B,oBAAAA,EAAA,eAAyB,OACvDA,EAAA,mBAA6BC,EAC7BD,EAAA,YAAsBE,EACtBF,EAAA,YAAsBG,EACtBH,EAAA,qBAA+BI,EAC/BJ,EAAA,wBAAkCK,EAClC,MAAMC,EAASC,GAAqB,EAIpC,SAASN,EAAmBhF,EAAOuF,EAAU,CACzC,GAAI,CAACvF,EAAM,WAAWuF,CAAQ,EAC1B,MAAO,GACX,GAAIvF,EAAM,SAAWuF,EAAS,OAC1B,MAAO,GACX,MAAMC,EAAexF,EAAM,WAAWuF,EAAS,MAAM,EACrD,OAAOC,IAAiB,IAAgBA,IAAiB,EAC7D,CAaA,MAAMC,CAAe,CACjB,YAAYF,EAAUG,EAAYC,EAAQ,CACtC,OAAO,eAAe,KAAM,WAAY,CACpC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOJ,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,aAAc,CACtC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOG,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOC,CACnB,CAAS,CACT,CACI,GAAGJ,EAAU,CACT,OAAO,KAAK,WAAaA,CACjC,CACI,wBAAwBK,EAAc,CAClC,KAAM,CAAE,OAAAD,CAAM,EAAK,KACnB,GAAIA,GACA,UAAW5C,KAAO4C,EAAO,OACrB,GAAI,CAACC,EAAa,SAAS7C,CAAG,EAC1B,MAAO,GAGnB,MAAO,EACf,CAMI,UAAU8C,EAAMC,EAAe,GAAO,CAClC,KAAM,CAAE,OAAAH,CAAM,EAAK,KACbI,EAASJ,GAAU,MAAQA,EAAO,IAAIE,CAAI,EAC1CF,EAAO,OAAOE,CAAI,EAClB,OACN,OAAKE,EAMDA,EAAO,SAAW,GAIlBD,GAAgB,KAAK,aAAe,OAE7B,KAEJC,EAAO,CAAC,EAZPD,EACO,KAAK,WAChB,MAWZ,CACI,SAASD,EAAMC,EAAe,GAAO,CACjC,KAAM,CAAE,OAAAH,CAAM,EAAK,KACbI,EAASJ,GAAU,MAAQA,EAAO,IAAIE,CAAI,EAC1CF,EAAO,OAAOE,CAAI,EAClB,OACN,OAAKE,EAODD,GAAgB,KAAK,aAAe,OAI7B,KAEJC,EAXCD,GAAgB,KAAK,aAAe,OAC7B,CAAC,KAAK,UAAU,EAE3B,MASZ,CACI,UAAW,CACP,OAAOZ,EAAY,KAAK,SAAU,KAAK,WAAY,KAAK,MAAM,CACtE,CACI,QAAS,OACL,MAAO,CACH,SAAU,KAAK,SACf,WAAY,KAAK,WACjB,QAAQc,EAAA,KAAK,SAAL,MAAAA,EAAa,QAAWX,EAAO,UAAU,KAAK,MAAM,EAAI,MACnE,CACT,CACI,OAAO,WAAWrF,EAAO,CACrB,MAAMiG,EAAWjG,EAAM,QAAQ,GAAG,EAC5BkG,EAAWlG,EAAM,QAAQ,GAAG,EAC5BmG,KAAkBd,EAAO,QAAQY,EAAUC,CAAQ,EACnDX,EAAYY,IAAgB,GAAKnG,EAAM,MAAM,EAAGmG,CAAW,EAAInG,EAC/D0F,EAAaQ,IAAa,GAExBD,IAAa,GACP,mBAAmBjG,EAAM,MAAMkG,EAAW,CAAC,CAAC,EAC5CA,EAAWD,EACP,mBAAmBjG,EAAM,MAAMkG,EAAW,EAAGD,CAAQ,CAAC,EACtD,OACZ,OACAN,EAASM,IAAa,GACtBA,IAAajG,EAAM,OAAS,EACxB,OACA,IAAI,gBAAgBA,EAAM,MAAMiG,EAAW,CAAC,CAAC,EACjD,OACN,OAAO,IAAIR,EAAeF,EAAUG,EAAYC,CAAM,CAC9D,CACA,CACAZ,EAAA,eAAyBU,EASzB,SAASR,EAAYM,EAAUa,EAAaC,EAAgB,CACxD,MAAMC,EAAc,IAAI,gBACxB,IAAIC,EACJ,SAAW,CAACV,EAAMrK,CAAK,IAAK4K,EAAa,CACrC,GAAI5K,IAAU,OACV,SACJ,MAAMgL,EAAgBX,IAASQ,GAAkBE,IAAoB,OACrE,GAAI,OAAO/K,GAAU,SACbgL,EACAD,EAAkB/K,EAGlB8K,EAAY,OAAOT,EAAMrK,CAAK,MAGjC,CAED,GAAIA,EAAM,SAAW,EAKjB,MAAM,IAAI,MAAM,6BAA6BqK,CAAI,4BAA4B,EAE5E,GAAIW,GAAiBhL,EAAM,SAAW,EACvC+K,EAAkB/K,EAAM,CAAC,MAGzB,WAAWiL,KAAKjL,EACZ8K,EAAY,OAAOT,EAAMY,CAAC,CAG9C,CACA,CAII,OAAIF,IAAoB,QAAaD,EAAY,IAAID,CAAc,IAC/DC,EAAY,OAAOD,EAAgBE,CAAe,EAClDA,EAAkB,QAEfrB,EAAYK,EAAUgB,EAAiBD,CAAW,CAC7D,CACA,SAASpB,EAAYK,EAAUG,EAAYC,EAAQ,CAC/C,IAAI3F,EAAQuF,EACZ,OAAIG,IAAe,SACf1F,GAAS,IAAImF,EAAqBO,CAAU,CAAC,IAE7CC,GAAA,MAAAA,EAAQ,OACR3F,GAAS,IAAIoF,EAAwBO,EAAO,SAAU,CAAA,CAAC,IAEpD3F,CACX,CAKA+E,EAAA,oBAA8B,IAAI,IAGlC,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,CAAC,EAC9B,SAASI,EAAqB3J,EAAO,CACjC,OAAO4J,EAAwB,mBAAmB5J,CAAK,CAAC,CAC5D,CACA,MAAMkL,EAAyB,IAAI,IAAI,MAAM,KAAK3B,EAAQ,oBAAsB4B,GAAM,CAAC,mBAAmBA,CAAC,EAAGA,CAAC,CAAC,EAAE,OAAO,CAAC,CAACC,EAASD,CAAC,IAIrIC,IAAYD,GAAKC,EAAQ,SAAW,GAAKA,EAAQ,WAAW,GAAG,CAAC,CAAC,EAIjE,SAASxB,EAAwB5J,EAAO,CAGpC,IAAIqL,EAAMrL,EAAM,OAAS,EACzB,QAASsL,EAAI,EAAGA,EAAID,EAAKC,IAErB,GAAItL,EAAM,WAAWsL,CAAC,IAAM,GAAc,CAGtC,MAAMC,EAAcvL,EAAM,MAAMsL,EAAGA,EAAI,CAAC,EAElCE,EAAiBN,EAAuB,IAAIK,CAAW,EACzDC,IAEAxL,EAAQ,GAAGA,EAAM,MAAM,EAAGsL,CAAC,CAAC,GAAGE,CAAc,GAAGxL,EAAM,MAAMsL,EAAIC,EAAY,MAAM,CAAC,GAEnFD,GAAKE,EAAe,OAAS,EAE7BH,GAAOE,EAAY,OAASC,EAAe,OAE3D,CAEI,OAAOxL,CACX,qDCtPA,OAAO,eAAeyL,GAAS,aAAc,CAAE,MAAO,GAAM,EAC9CA,GAAA,OAAG,OACjBA,GAAA,qBAA+BC,EAC/B,MAAMC,EAAc7B,GAAsB,EAC1C,MAAM8B,CAAO,CACT,YAAY7B,EAAU8B,EAAQhB,EAAgB,CAC1C,OAAO,eAAe,KAAM,WAAY,CACpC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOd,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO8B,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,iBAAkB,CAC1C,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOhB,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,aAAc,CACtC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,KAAK,WAAa,OAAO,KAAKgB,CAAM,CAC5C,CACI,OAAOtB,EAAQ,CAEX,MAAMJ,EAAS,CAAE,EACjB,UAAW5C,KAAO,KAAK,WAAY,CAC/B,MAAMvH,EAAQuK,EAAOhD,CAAG,EAExB,GAAIvH,IAAU,OACV,SACJ,MAAM6L,EAAS,KAAK,OAAOtE,CAAG,EAGxBuE,EAAaD,EAAO,UACpBA,EAAO,UAAU7L,CAAK,EACtBA,EAEF,CAAC6L,EAAO,WACJA,EAAO,UAAYC,GAEnBD,EAAO,UACPA,EAAO,SACPE,EAAiBF,EAAO,QAASC,CAAU,IAInD3B,EAAO,KAAK,CAAC5C,EAAKuE,CAAU,CAAC,CACzC,CACQ,SAAWH,EAAY,aAAa,KAAK,SAAUxB,EAAQ,KAAK,cAAc,CACtF,CACI,MAAM6B,EAAQ,CAGV,GAFI,CAACA,EAAO,GAAG,KAAK,QAAQ,GAExBA,EAAO,wBAAwB,KAAK,UAAU,EAC9C,OAAO,KACX,MAAMC,EAAS,OAAO,OAAO,IAAI,EACjC,UAAW1E,KAAO,KAAK,WAAY,CAC/B,MAAM2E,EAAa,KAAK,OAAO3E,CAAG,EAC5BvH,EAAQkM,EAAW,SACnBF,EAAO,SAASzE,EAAKA,IAAQ,KAAK,cAAc,EAChDyE,EAAO,UAAUzE,EAAKA,IAAQ,KAAK,cAAc,EAGvD,GAFIvH,IAAU,MAEVA,IAAU,QAAakM,EAAW,SAClC,OAAO,KACX,GAAIlM,IAAU,QAAakM,EAAW,UAClC,GAAIA,EAAW,UACX,GAAI,CAAClM,EAAM,MAAMkM,EAAW,QAAQ,EAChC,OAAO,aAIP,CAACA,EAAW,SAASlM,CAAK,EAC1B,OAAO,KAInBiM,EAAO1E,CAAG,EAAIvH,GAASkM,EAAW,OAC9C,CACQ,OAAOD,CACf,CACI,YAAYzH,EAAO,CACf,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,MAAMwH,CAAM,CAChC,CACA,CACAP,GAAA,OAAiBG,EAOjB,SAASG,EAAiBpM,EAAGC,EAAG,CAC5B,UAAWC,KAAQF,EACf,GAAI,CAACC,EAAE,SAASC,CAAI,EAChB,MAAO,GACf,UAAWA,KAAQD,EACf,GAAI,CAACD,EAAE,SAASE,CAAI,EAChB,MAAO,GACf,MAAO,EACX,CACA,SAAS6L,EAAqBnB,EAAQ,CAClC,MAAM4B,EAAM,IAAI,IAAI5B,CAAM,EAC1B,OAAQvK,GAAUmM,EAAI,IAAInM,CAAK,CACnC,6DCnHA,OAAO,eAAcuJ,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAuB,aAAAA,EAAA,cAAwB,OAC/C,MAAM6C,EAActC,GAAuB,EACrC6B,EAAcU,GAAuB,EACrCC,EAAqB,OAAO,OAAO,CAAC,QAAS,OAAQ,QAAQ,CAAC,EAC9DC,EAAkB,OAAO,OAAO,CAAC,OAAQ,QAAQ,CAAC,EACxDhD,EAAA,cAAwB,IAAI6C,EAAY,OAAO,UAAW,CACtD,KAAM,CACF,SAAU,GACV,SAAU,GACV,YAAcA,EAAY,sBAAsBE,CAAkB,CACrE,EACD,OAAQ,CACJ,SAAU,GACV,SAAU,GACV,YAAcF,EAAY,sBAAsBG,CAAe,EAC/D,QAAS,MACZ,CACJ,EAAE,MAAM,EACT,MAAMC,CAAa,CACf,YAAYC,EAAMC,EAAQ,CACtB,OAAO,eAAe,KAAM,OAAQ,CAChC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOD,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOC,CACnB,CAAS,CACT,CACI,QAAQC,EAAS,CACb,OAAQ,KAAK,OAASA,EAAQ,OACzB,KAAK,SAAW,UAAY,KAAK,SAAWA,EAAQ,OACjE,CACI,UAAW,CACP,OAAOpD,EAAQ,cAAc,OAAO,IAAI,CAChD,CACI,OAAO,WAAW/E,EAAO,CACrB,GAAI,IAAKmH,EAAY,oBAAoBnH,EAAO,SAAS,EACrD,OAAO,KACX,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,WAAWwH,CAAM,CACrC,CACI,OAAO,WAAWA,EAAQ,CACtB,MAAMC,EAAS1C,EAAQ,cAAc,MAAMyC,CAAM,EACjD,OAAKC,EAEE,IAAIO,EAAaP,EAAO,KAAMA,EAAO,MAAM,EADvC,IAEnB,CACI,OAAO,eAAeU,EAAS,CAC3B,OAAOpD,EAAQ,cAAc,OAAOoD,CAAO,CACnD,CACA,CACApD,EAAA,aAAuBiD,iECxDvB,OAAO,eAAeI,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,OAAiBC,EACjBD,GAAA,SAAmBE,EACnBF,GAAA,cAAwBG,EACxBH,GAAA,iBAA2BI,EAC3B,SAASC,EAAoBjN,EAAO,CAChC,MAAMkN,EAAalN,EAAM,QAAQ,GAAG,EASpC,MARI,EAAAkN,IAAe,IAEfA,IAAe,GAEfA,IAAelN,EAAM,OAAS,GAE9BA,EAAM,SAAS,IAAKkN,EAAa,CAAC,GAElClN,EAAM,SAAS,GAAG,EAG1B,CACA,SAAS6M,EAAO7M,EAAO,CACnB,OAAOiN,EAAoBjN,CAAK,GAAK,CAACA,EAAM,SAAS,GAAG,CAC5D,CACA,SAAS8M,EAAS9M,EAAO,CACrB,OAAIA,IAAU,MACH,GACNiN,EAAoBjN,CAAK,EAEvB,CAACA,EAAM,SAAS,GAAG,GAAKA,EAAM,SAAS,IAAI,EADvC,EAEf,CAMA,SAASmN,EAAoBC,EAAQR,EAAM,CACvC,OAAIQ,IAAW,MACJ,GAEPA,EAAO,SAAS,IAAI,EACbR,EAAK,WAAWQ,EAAO,MAAM,EAAG,EAAE,CAAC,EAEvCA,IAAWR,CACtB,CACA,SAASG,EAAcK,EAAQR,EAAM,CACjC,OAAOC,EAAOD,CAAI,GAAKO,EAAoBC,EAAQR,CAAI,CAC3D,CAMA,SAASS,EAAuBC,EAAYV,EAAM,CAC9C,UAAWQ,KAAUE,EACjB,GAAIH,EAAoBC,EAAQR,CAAI,EAChC,MAAO,GAGf,MAAO,EACX,CACA,SAASI,EAAiBM,EAAYV,EAAM,CACxC,OAAOC,EAAOD,CAAI,GAAKS,EAAuBC,EAAYV,CAAI,CAClE,6DC9DA,OAAO,eAAcrD,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAoB,UAAAA,EAAA,WAAqBA,EAAyB,eAAA,OAClE,MAAMgE,EAAYzD,GAAyB,EACrCsC,EAAcC,GAAuB,EACrCV,EAAc6B,GAAuB,EAC3CjE,EAAA,eAAyB,OAAO,OAAO,CAAC,KAAK,CAAC,EAC9CA,EAAA,WAAqB,IAAI6C,EAAY,OAAO,OAAQ,CAChD,OAAQ,CACJ,SAAU,GACV,SAAU,GACV,SAAUmB,EAAU,SACpB,UAAYvN,GAEJA,EAAM,SAAS,KAAK,EACbuJ,EAAQ,eACZvJ,EAAM,IAAIyN,CAAW,EAAE,OAAOC,CAAc,CAE1D,CACJ,EAAE,QAAQ,EACX,MAAMC,CAAU,CACZ,YAAYP,EAAQ,CAChB,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOA,CACnB,CAAS,CACT,CACI,QAAQT,EAAS,CACb,SAAWY,EAAU,kBAAkB,KAAK,OAAQZ,EAAQ,IAAI,CACxE,CACI,UAAW,CACP,OAAOpD,EAAQ,WAAW,OAAO,IAAI,CAC7C,CACI,OAAO,WAAW/E,EAAO,CACrB,GAAI,IAAKmH,EAAY,oBAAoBnH,EAAO,MAAM,EAClD,OAAO,KACX,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,WAAWwH,CAAM,CACrC,CACI,OAAO,WAAWA,EAAQ,CACtB,MAAMC,EAAS1C,EAAQ,WAAW,MAAMyC,CAAM,EAC9C,OAAKC,EAEE,IAAI0B,EAAU1B,EAAO,MAAM,EADvB,IAEnB,CACI,OAAO,eAAeU,EAAS,CAC3B,OAAOpD,EAAQ,WAAW,OAAO,CAC7B,OAAQ,CAACoD,EAAQ,IAAI,CACjC,CAAS,CACT,CACA,CACApD,EAAA,UAAoBoE,EACpB,SAASF,EAAYzN,EAAO,CACxB,OAAOA,EAAM,YAAa,CAC9B,CACA,SAAS0N,EAAe1N,EAAOF,EAAOyB,EAAK,CACvC,GAAIvB,EAAM,SAAS,IAAI,EAGnB,MAAO,GAEX,MAAM4N,EAAO5N,EAAM,MAAM,IAAK,CAAC,EAAE,CAAC,EAClC,MAAI,CAAAuB,EAAI,SAAS,GAAGqM,CAAI,IAAI,CAQhC,mECvEA,OAAO,eAAcrE,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAwB,cAAAA,EAAA,eAAyB,OACjD,MAAM6C,EAActC,GAAuB,EACrC6B,EAAcU,GAAuB,EACrCwB,EAAsB,OAAO,OAAO,CAAC,SAAU,GAAG,CAAC,EACzDtE,EAAA,eAAyB,IAAI6C,EAAY,OAAO,WAAY,CACxD,KAAM,CACF,SAAU,GACV,SAAU,GACV,YAAcA,EAAY,sBAAsByB,CAAmB,CACtE,CACJ,EAAE,MAAM,EACT,MAAMC,CAAc,CAChB,YAAYrB,EAAM,CACd,OAAO,eAAe,KAAM,OAAQ,CAChC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOA,CACnB,CAAS,CACT,CACI,QAAQE,EAAS,CACb,OAAO,KAAK,OAAS,KAAO,KAAK,OAASA,EAAQ,IAC1D,CACI,UAAW,CACP,OAAOpD,EAAQ,eAAe,OAAO,IAAI,CACjD,CACI,OAAO,WAAW/E,EAAO,CACrB,GAAI,IAAKmH,EAAY,oBAAoBnH,EAAO,UAAU,EACtD,OAAO,KACX,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,WAAWwH,CAAM,CACrC,CACI,OAAO,WAAWA,EAAQ,CACtB,MAAMC,EAAS1C,EAAQ,eAAe,MAAMyC,CAAM,EAClD,OAAKC,EAEE,IAAI6B,EAAc7B,EAAO,IAAI,EADzB,IAEnB,CACI,OAAO,eAAeU,EAAS,CAC3B,OAAOpD,EAAQ,eAAe,OAAOoD,CAAO,CACpD,CACA,CACApD,EAAA,cAAwBuE,iEC3CxB,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EAC9CA,GAAA,OAAG,OACjB,MAAMC,EAAUhO,GAAUA,EAAM,SAAS,GAAG,GACxC,CAACA,EAAM,SAAS,GAAG,GACnB,CAACA,EAAM,WAAW,GAAG,GACrB,CAACA,EAAM,SAAS,GAAG,EACvB,OAAA+N,GAAA,OAAiBC,uDCNjB,OAAO,eAAczE,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAoB,UAAAA,EAAA,WAAqBA,EAAuB,aAAA,OAChE,MAAM0E,EAAYnE,GAAyB,EACrCsC,EAAcC,GAAuB,EACrCV,EAAc6B,GAAuB,EACrCU,EAAe,OAAO,OAAO,CAAC,SAAU,SAAU,QAAQ,CAAC,EACjE3E,EAAuB,gBAAI6C,EAAY,sBAAsB8B,CAAY,EACzE3E,EAAA,WAAqB,IAAI6C,EAAY,OAAO,OAAQ,CAChD,WAAY,CACR,SAAU,GACV,SAAU,GACV,SAAWpM,GAAUA,IAAU,QAAWiO,EAAU,QAAQjO,CAAK,EACjE,UAAYA,GACJA,EAAM,OAAS,GAAKA,EAAM,SAAS,GAAG,EAC/B,CAAC,GAAG,EACRA,CAEd,EACD,OAAQ,CACJ,SAAU,GACV,SAAU,GACV,SAAUuJ,EAAQ,aAClB,QAAS2E,CACZ,CACJ,EAAE,YAAY,EACf,MAAMC,CAAU,CACZ,YAAYC,EAAY1B,EAAQ,CAC5B,OAAO,eAAe,KAAM,aAAc,CACtC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO0B,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO1B,CACnB,CAAS,CACT,CACI,IAAI,qBAAsB,CACtB,OAAO,KAAK,WAAW,SAAS,GAAG,CAC3C,CACI,QAAQ,CAAE,OAAAA,EAAQ,WAAA0B,GAAc,CAC5B,OAAQ,KAAK,OAAO,SAAS1B,CAAM,IAC9B,KAAK,qBACF,KAAK,WAAW,SAAS0B,CAAU,EACnD,CACI,UAAW,CAEP,OAAO7E,EAAQ,WAAW,OAAO,CAC7B,WAAY,KAAK,oBACX,CAAC,GAAG,EACJ,KAAK,WAAW,OAAS,EACrB,CAAC,GAAG,IAAI,IAAI,KAAK,UAAU,CAAC,EAAE,KAAI,EAClC,KAAK,WACf,OAAQ,KAAK,SAAW2E,EAClBA,EACAA,EAAa,OAAOG,EAAY,KAAK,MAAM,CAC7D,CAAS,CACT,CACI,OAAO,WAAW7J,EAAO,CACrB,GAAI,IAAKmH,EAAY,oBAAoBnH,EAAO,MAAM,EAClD,OAAO,KACX,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,WAAWwH,CAAM,CACrC,CACI,OAAO,WAAWA,EAAQ,CACtB,MAAMC,EAAS1C,EAAQ,WAAW,MAAMyC,CAAM,EAC9C,OAAKC,EAEE,IAAIkC,EAAUlC,EAAO,WAAYA,EAAO,MAAM,EAD1C,IAEnB,CACI,OAAO,eAAeU,EAAS,CAC3B,OAAOpD,EAAQ,WAAW,OAAO,CAC7B,WAAY,CAACoD,EAAQ,UAAU,EAC/B,OAAQ,CAACA,EAAQ,MAAM,CACnC,CAAS,CACT,CACA,CACApD,EAAA,UAAoB4E,EAOpB,SAASE,EAAWrO,EAAO,CACvB,OAAO,KAAK,SAASA,CAAK,CAC9B,iECzFA,OAAO,eAAesO,GAAS,aAAc,CAAE,MAAO,GAAM,EAC3CA,GAAA,UAAG,OACpB,MAAMC,EAAavO,GAAUA,EAAM,WAAW,MAAM,EACpD,OAAAsO,GAAA,UAAoBC,uDCHpB,OAAO,eAAchF,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAmB,SAAAA,EAAA,UAAoB,OACvC,MAAMiF,EAAW1E,GAAwB,EACnCmE,EAAY5B,GAAyB,EACrCD,EAAcoB,GAAuB,EACrC7B,EAAc8C,GAAuB,EACrCC,EAAoB1O,GAAUA,IAAU,QAAWiO,EAAU,QAAQjO,CAAK,EAC1E2O,EAAoB3O,GAAUA,IAAU,QAAWwO,EAAS,WAAWxO,CAAK,EAClFuJ,EAAA,UAAoB,IAAI6C,EAAY,OAAO,MAAO,CAC9C,IAAK,CACD,SAAU,GACV,SAAU,GACV,SAAUsC,CACb,EACD,IAAK,CACD,SAAU,GACV,SAAU,GACV,SAAUC,CACb,CACJ,EAAE,KAAK,EACR,MAAMC,CAAS,CACX,YAAYC,EAAKC,EAAK,CAClB,OAAO,eAAe,KAAM,MAAO,CAC/B,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOD,CACnB,CAAS,EACD,OAAO,eAAe,KAAM,MAAO,CAC/B,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAOC,CACnB,CAAS,CACT,CACI,QAAQnC,EAAS,CACb,KAAM,CAAE,IAAAkC,EAAK,IAAAC,CAAG,EAAK,KACrB,OAASD,IAAQ,KAAOA,IAAQlC,EAAQ,OACnCmC,EAAI,SAAS,GAAG,GAAKA,EAAI,SAASnC,EAAQ,GAAG,EAC1D,CACI,UAAW,CACP,KAAM,CAAE,IAAAmC,EAAK,IAAAD,CAAG,EAAK,KACrB,OAAOtF,EAAQ,UAAU,OAAO,CAC5B,IAAAsF,EACA,IAAKC,EAAI,SAAS,GAAG,EACf,CAAC,GAAG,EACJ,CAAC,GAAG,IAAI,IAAIA,CAAG,CAAC,EAAE,KAAM,CAC1C,CAAS,CACT,CACI,OAAO,WAAWtK,EAAO,CACrB,GAAI,IAAKmH,EAAY,oBAAoBnH,EAAO,KAAK,EACjD,OAAO,KACX,MAAMwH,EAASL,EAAY,eAAe,WAAWnH,CAAK,EAC1D,OAAO,KAAK,WAAWwH,CAAM,CACrC,CACI,OAAO,WAAWA,EAAQ,CACtB,MAAMC,EAAS1C,EAAQ,UAAU,MAAMyC,CAAM,EAI7C,MAHI,CAACC,GAGDA,EAAO,MAAQ,KAAOA,EAAO,IAAI,SAAS,GAAG,EACtC,KACJ,IAAI2C,EAAS3C,EAAO,IAAKA,EAAO,GAAG,CAClD,CACI,OAAO,eAAeU,EAAS,CAC3B,OAAOpD,EAAQ,UAAU,OAAO,CAC5B,IAAKoD,EAAQ,IACb,IAAK,CAACA,EAAQ,GAAG,CAC7B,CAAS,CACT,CACA,CACApD,EAAA,SAAmBqF,iECvEnB,OAAO,eAAeG,GAAS,aAAc,CAAE,MAAO,GAAM,EAC5DA,GAAA,yBAAmCC,EACnCD,GAAA,WAAqBE,EACrBF,GAAA,eAAyBG,EACzBH,GAAA,aAAuBI,EACvB,MAAMC,EAAqBtF,GAAuC,EAC5DuF,EAAkBhD,GAAoC,EACtDiD,EAAsB9B,GAAwC,EAC9D+B,EAAkBd,GAAoC,EACtDe,EAAiBC,GAAmC,EACpD9D,EAAc+D,GAAsB,EAC1C,SAASV,EAAyBhP,EAAO,CAOrC,GANIA,IAAU,WAEVA,IAAU,oBAEVA,IAAU,sBAEVA,IAAU,uBACV,MAAO,GACX,MAAMgM,EAASL,EAAY,eAAe,WAAW3L,CAAK,EAC1D,OAAIgM,EAAO,WAAa,OACbuD,EAAgB,UAAU,WAAWvD,CAAM,GAAK,KAElDA,EAAO,WAAa,MAClBwD,EAAe,SAAS,WAAWxD,CAAM,GAAK,KAEhDA,EAAO,WAAa,UAClBoD,EAAmB,aAAa,WAAWpD,CAAM,GAAK,KAExDA,EAAO,WAAa,WAClBsD,EAAoB,cAAc,WAAWtD,CAAM,GAAK,KAE1DA,EAAO,WAAa,OAClBqD,EAAgB,UAAU,WAAWrD,CAAM,GAAK,KAEpD,EACX,CACA,SAASiD,EAAWU,EAAQ,CACxB,MAAM3D,EAASL,EAAY,eAAe,WAAWgE,CAAM,EAC3D,OAAI3D,EAAO,GAAG,SAAS,EACZoD,EAAmB,aAAa,WAAWpD,CAAM,EACxDA,EAAO,GAAG,UAAU,EACbsD,EAAoB,cAAc,WAAWtD,CAAM,EAC1DA,EAAO,GAAG,MAAM,EACTuD,EAAgB,UAAU,WAAWvD,CAAM,EAClDA,EAAO,GAAG,KAAK,EACRwD,EAAe,SAAS,WAAWxD,CAAM,EAChDA,EAAO,GAAG,MAAM,EACTqD,EAAgB,UAAU,WAAWrD,CAAM,EAC/C,IACX,CACA,SAASkD,EAAenF,EAAU4C,EAAS,CACvC,OAAQ5C,EAAQ,CACZ,IAAK,UACD,OAAOqF,EAAmB,aAAa,eAAezC,CAAO,EACjE,IAAK,WACD,OAAO2C,EAAoB,cAAc,eAAe3C,CAAO,EACnE,IAAK,OACD,OAAO4C,EAAgB,UAAU,eAAe5C,CAAO,EAC3D,IAAK,MACD,OAAO6C,EAAe,SAAS,eAAe7C,CAAO,EACzD,IAAK,OACD,OAAO0C,EAAgB,UAAU,eAAe1C,CAAO,CACnE,CACA,CACA,SAASwC,EAAa3K,EAAOuF,EAAU4C,EAAS,CAG5C,GAAI,IAAKhB,EAAY,oBAAoBnH,EAAOuF,CAAQ,EACpD,MAAO,GAIX,GAAIA,IAAa,MAAO,CACpB,MAAM6F,EAAWJ,EAAe,SAAS,WAAWhL,CAAK,EACzD,GAAIoL,GAAA,MAAAA,EAAU,QAAQjD,GAClB,MAAO,EAEnB,SACa5C,IAAa,UAAW,CAC7B,MAAM8F,EAAeT,EAAmB,aAAa,WAAW5K,CAAK,EACrE,GAAIqL,GAAA,MAAAA,EAAc,QAAQlD,GACtB,MAAO,EAEnB,SACa5C,IAAa,WAAY,CAC9B,MAAM+F,EAAgBR,EAAoB,cAAc,WAAW9K,CAAK,EACxE,GAAIsL,GAAA,MAAAA,EAAe,QAAQnD,GACvB,MAAO,EAEnB,SACa5C,IAAa,OAAQ,CAC1B,MAAMgG,EAAYR,EAAgB,UAAU,WAAW/K,CAAK,EAC5D,GAAIuL,GAAA,MAAAA,EAAW,QAAQpD,GACnB,MAAO,EAEnB,SACa5C,IAAa,OAAQ,CAC1B,MAAMiG,EAAYX,EAAgB,UAAU,WAAW7K,CAAK,EAC5D,GAAIwL,GAAA,MAAAA,EAAW,QAAQrD,GACnB,MAAO,EAEnB,CACI,MAAO,EACX,6DCzGA,OAAO,eAAcpD,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5DA,EAAoB,UAAAA,EAAA,kBAA4B,OAChD,MAAM0G,EAA2BnG,GAAmC,EACpE,OAAO,eAAeP,EAAS,oBAAqB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO0G,EAAyB,iBAAoB,CAAA,CAAE,EACjJ,MAAMC,EAAiB7D,GAAyB,EAKhD,MAAM8D,UAAkB,GAAI,CAKxB,QAAQpG,EAAU4C,EAAS,CACvB,UAAWnI,KAAS,KAChB,MAAQ0L,EAAe,cAAc1L,EAAOuF,EAAU4C,CAAO,EACzD,MAAO,GAEf,MAAO,EACf,CACI,OAAO5C,EAAU4C,EAAS,CACtB,GAAI,CAAC,KAAK,QAAQ5C,EAAU4C,CAAO,EAAG,CAClC,MAAMnI,KAAY0L,EAAe,gBAAgBnG,EAAU4C,CAAO,EAClE,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACI,KAAK3C,EAAI,CACL,UAAW2C,KAAS,KAChB,GAAI3C,EAAG2C,CAAK,EACR,MAAO,GACf,MAAO,EACf,CACI,MAAM3C,EAAI,CACN,UAAW2C,KAAS,KAChB,GAAI,CAAC3C,EAAG2C,CAAK,EACT,MAAO,GACf,MAAO,EACf,CACI,CAAC,OAAO3C,EAAI,CACR,UAAW2C,KAAS,KACZ3C,EAAG2C,CAAK,IACR,MAAMA,EACtB,CACI,CAAC,IAAI3C,EAAI,CACL,UAAW2C,KAAS,KAChB,MAAM3C,EAAG2C,CAAK,CAC1B,CACI,OAAO,WAAWmL,EAAQ,CACtB,OAAO,IAAIQ,EAAUR,GAAA,YAAAA,EAAQ,MAAM,IAAI,CAC/C,CACA,CACApG,EAAA,UAAoB4G,qDCpDpB,OAAO,eAAeC,GAAS,aAAc,CAAE,MAAO,GAAM,EACvCA,GAAA,cAAG,OACxB,MAAMhB,EAAqBtF,GAAuC,EAC5DuF,EAAkBhD,GAAoC,EACtDiD,EAAsB9B,GAAwC,EAC9D+B,EAAkBd,GAAoC,EACtDe,EAAiBC,GAAmC,EACpDQ,EAA2BP,GAAmC,EAC9DW,EAAkBC,GAA0B,EAClD,MAAMC,CAAc,CAChB,YAAYC,EAAQ,CAChB,OAAO,eAAe,KAAM,SAAU,CAClC,WAAY,GACZ,aAAc,GACd,SAAU,GACV,MAAO,MACnB,CAAS,EACD,KAAK,OAAS,IAAIH,EAAgB,UAAU,OAAOG,GAAW,SAAWA,EAAO,MAAM,GAAG,EAAIA,CAAM,CAC3G,CACI,cAAc7D,EAAS,CACnB,OAAO,KAAK,OAAO,QAAQ,UAAWA,CAAO,CACrD,CACI,cAAcA,EAAS,CACnB,GAAI,CAAC,KAAK,cAAcA,CAAO,EAAG,CAC9B,MAAMnI,EAAQ4K,EAAmB,aAAa,eAAezC,CAAO,EACpE,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACI,eAAemI,EAAS,CACpB,OAAO,KAAK,OAAO,QAAQ,WAAYA,CAAO,CACtD,CACI,eAAeA,EAAS,CACpB,GAAI,CAAC,KAAK,eAAeA,CAAO,EAAG,CAC/B,MAAMnI,EAAQ8K,EAAoB,cAAc,eAAe3C,CAAO,EACtE,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACI,WAAWmI,EAAS,CAChB,OAAO,KAAK,OAAO,QAAQ,OAAQA,CAAO,CAClD,CACI,WAAWA,EAAS,CAChB,GAAI,CAAC,KAAK,WAAWA,CAAO,EAAG,CAC3B,MAAMnI,EAAQ6K,EAAgB,UAAU,eAAe1C,CAAO,EAC9D,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACI,WAAWmI,EAAS,CAChB,OAAO,KAAK,OAAO,QAAQ,OAAQA,CAAO,CAClD,CACI,WAAWA,EAAS,CAChB,GAAI,CAAC,KAAK,WAAWA,CAAO,EAAG,CAC3B,MAAMnI,EAAQ+K,EAAgB,UAAU,eAAe5C,CAAO,EAC9D,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACI,UAAUmI,EAAS,CACf,OAAO,KAAK,OAAO,QAAQ,MAAOA,CAAO,CACjD,CACI,UAAUA,EAAS,CACf,GAAI,CAAC,KAAK,UAAUA,CAAO,EAAG,CAC1B,MAAMnI,EAAQgL,EAAe,SAAS,eAAe7C,CAAO,EAC5D,MAAM,IAAIsD,EAAyB,kBAAkBzL,CAAK,CACtE,CACA,CACA,CACA,OAAA4L,GAAA,cAAwBG,qDCjExB,OAAO,eAAeE,GAAS,aAAc,CAAE,MAAO,GAAM,EAC7BA,GAAA,wBAAG,OAClC,MAAMC,EAAsB5G,GAA8B,EAK1D,MAAM6G,UAAgCD,EAAoB,aAAc,CACpE,IAAI,sBAAuB,CACvB,OAAO,KAAK,OAAO,IAAI,oBAAoB,CACnD,CACI,IAAI,oBAAqB,CACrB,OAAO,KAAK,OAAO,IAAI,kBAAkB,CACjD,CACI,IAAI,uBAAwB,CACxB,OAAO,KAAK,OAAO,IAAI,sBAAsB,CACrD,CACI,cAAc/D,EAAS,CACnB,OAAIA,EAAQ,OAAS,SACjBA,EAAQ,SAAW,QACnB,KAAK,mBACE,GAEJ,MAAM,cAAcA,CAAO,CAC1C,CACI,WAAWA,EAAS,CAChB,OAAI,KAAK,qBACE,GAEJ,MAAM,WAAWA,CAAO,CACvC,CACI,WAAWA,EAAS,CAChB,OAAI,KAAK,qBACE,GAEJ,MAAM,WAAWA,CAAO,CACvC,CACI,UAAUA,EAAS,CACf,KAAM,CAAE,IAAAmC,CAAG,EAAKnC,EAOhB,OANI,KAAK,sBAAwBmC,IAAQ,KAGrC,KAAK,sBAAwB,CAACA,EAAI,WAAW,YAAY,GAGzD,KAAK,uBAAyBA,EAAI,WAAW,YAAY,EAClD,GAEJ,MAAM,UAAUnC,CAAO,CACtC,CACA,CACA,OAAA8D,GAAA,wBAAkCE,uDCnDlC,IAAIC,EAAmBC,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAASC,EAAGC,EAAGC,EAAGC,EAAI,CACxFA,IAAO,SAAWA,EAAKD,GAC3B,IAAIE,EAAO,OAAO,yBAAyBH,EAAGC,CAAC,GAC3C,CAACE,IAAS,QAASA,EAAO,CAACH,EAAE,WAAaG,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAOH,EAAEC,CAAC,EAAM,GAE/D,OAAO,eAAeF,EAAGG,EAAIC,CAAI,CACpC,EAAK,SAASJ,EAAGC,EAAGC,EAAGC,EAAI,CACpBA,IAAO,SAAWA,EAAKD,GAC3BF,EAAEG,CAAE,EAAIF,EAAEC,CAAC,CACf,GACIG,EAAgBN,IAAQA,GAAK,cAAiB,SAASE,EAAGxH,EAAS,CACnE,QAASpI,KAAK4P,EAAO5P,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAKoI,EAASpI,CAAC,GAAGyP,EAAgBrH,EAASwH,EAAG5P,CAAC,CAC3H,EACD,OAAO,eAAcoI,EAAU,aAAc,CAAE,MAAO,GAAM,EAC5D4H,EAAarH,GAAmC,EAAEP,CAAO,EACzD4H,EAAa9E,GAA8B,EAAE9C,CAAO,EACpD4H,EAAa3D,GAAyC,EAAEjE,CAAO,EAC/D4H,EAAa1C,GAA0B,EAAElF,CAAO,EAChD4H,EAAa1B,GAAsB,EAAElG,CAAO,EAC5C4H,EAAazB,GAAsB,EAAEnG,CAAO,EAC5C4H,EAAab,GAAyB,EAAE/G,CAAO,EAC/C4H,EAAaC,GAAuC,EAAE7H,CAAO,EAC7D4H,EAAaE,GAAoC,EAAE9H,CAAO,EAC1D4H,EAAaG,GAAwC,EAAE/H,CAAO,EAC9D4H,EAAaI,GAAoC,EAAEhI,CAAO,EAC1D4H,EAAaK,GAAmC,EAAEjI,CAAO,EACzD4H,EAAaM,GAAwB,EAAElI,CAAO,EAC9C4H,EAAaO,GAAuB,EAAEnI,CAAO,EAC7C4H,EAAaQ,GAAwB,EAAEpI,CAAO,sBClBjCqI,MAAAA,GACXC,EAAAA,WAAA,CAAC,CAAE9Q,UAAAA,EAAW+Q,QAAAA,EAAS1L,SAAAA,EAAU,GAAGhI,GAASsI,UAExCqL,QAAAA,CACE,GAAG3T,EACJ8H,KAAK,WACLQ,IAAAA,EACAN,SAAAA,EACArF,UAAWE,EAAK,CACd,sEACA,0HACA6Q,GACE,+EACF1L,GAAY,sDACZrF,CACD,CAAA,CAAA,EAIR,EAED6Q,GAASI,YAAc,WCOhB,SAASC,GAAiB,CAC/BzN,MAAAA,EACAQ,cAAAA,EAAgB,GAChBkN,iBAAAA,EAAmB,GACnBC,WAAAA,EACAC,aAAAA,EAGArR,UAAAA,EAAY,GACZ,GAAG+G,CACmB,EAAA,CACtB,MAAMuK,EAAc7R,EAAQ,QAAA,IAAM,IAAImQ,EAAAA,wBAAwBnM,CAAQ,EAAA,CAACA,CAAAA,CAAM,EACvE8N,EACJ,CAACC,GAAgCF,CAAAA,EAG/BA,OADAA,EAAY7B,OAAOgC,OAAS,GAC5BH,EAAY7B,OAAOgC,OAAS,GAAKH,EAAY7B,OAAOiC,IAAI,SAAY,EAC/D,YAINzR,MAAAA,CAAID,UAAW,uBAAuBA,CAAW,GAAG,GAAG+G,EAAO3B,KAAK,uBACjEuM,GAAAA,CACCL,YAAAA,EACAF,WAAAA,EACAC,aAAAA,CAAAA,SAEDO,GAAAA,CAAoBN,YAAAA,CAAAA,SACpBO,GAAAA,CAAmBP,YAAAA,CAAAA,SAGnBQ,GAAAA,CAA0BR,YAAAA,CAAAA,SAC1BS,GAAAA,CAAuBT,YAAAA,CAAAA,GAEvBC,UACCS,WAAA,iBACGC,GAAAA,CAAgBX,YAAAA,CAAAA,SAChBY,GAAAA,CAAgBZ,YAAAA,CAAAA,SAChBa,GAAAA,CAAkBb,YAAAA,QAIrB,CAACH,GAAoB,CAAClN,UACrBmO,GAAAA,CAAgBpS,UAAU,OAAOsR,YAAAA,MAI1C,CAEA,SAASc,GAAgB,CACvBd,YAAAA,EAGAnM,KAAAA,EAAO,QACPkN,UAAAA,EAAY,GACZ,GAAGhV,CAGc,EAAA,CAKjB,OAJ8BoC,EAAAA,QAAQ,IAC7B6R,EAAYgB,eAAe,CAAE5G,KAAM,GAAA,CAAI,EAC7C,CAAC4F,CAAAA,CAAY,QAIXxJ,GAAAA,CAAY,GAAGzK,EAAO8H,KAAAA,EAAYkN,UAAAA,iBACjCE,EAAA,yBAEyB1T,EAAAA,EAAAA,IAAAA,IAAAA,EAAAA,EAAkCA,EAAAA,EAAAA,IAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAQ1D,IACT,CAEA,SAAS8S,GAAiB,CACxBL,YAAAA,EACAF,WAAAA,EACAC,aAAAA,GAKD,CACC,KAAM,CAAQzP,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAER4Q,EAAgB/S,EAAAA,QAAQ,IACrB,CAAE,SAAU,MAAkBuC,EAAAA,KAAM2J,GACzC2F,EAAYmB,cAAc,CAAE/G,KAAM,QAASC,OAAAA,CAAAA,CAAO,CAAA,EAEnD,CAAC2F,CAAAA,CAAY,EAEhB,OAAIkB,QAECE,QAAAA,CAAM1S,UAAWqR,EAAe,iBAAmBtR,OAClD,eAAC2G,EAAAA,CACCtB,KAAK,WACLwB,YAAQ+L,GAAAA,CAAU3S,UAAU,QAAA,GAC5BJ,MAAKgT,EAAA,EAAA,eACL/L,YACE2L,IAAkB,SAChB/N,EAAAA,IAAA8N,EAAA,aAEA,EAAA9N,EAAA,IAAA8N,EAAA,eAGJzL,OACEuK,GACE5M,EAAA,IAACoM,GAAAA,CACC7Q,UAAU,MACV6S,QAASzB,EACT0B,SAAWC,GAAM1B,EAAa0B,EAAE7M,OAAO2M,OAAO,QASrD,IACT,CAGA,SAASZ,GAAgB,CACvBX,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAERoR,EAAevT,EAAAA,QAAQ,IAEzB6R,EAAY2B,sBACZ3B,EAAY7B,OAAOyD,KAAMjR,GAAMmL,YAAU+F,WAAWlR,CAAM,GAAA,IAAA,EAE3D,CAACqP,CAAAA,CAAY,EAEV8B,EAAa3T,EAAAA,QAAQ,IACrB6R,EAAY2B,qBACP,CAAC,IAAIrG,YAAU,CAAC,KAAM,CAAA,CAAE,EAE1ByG,MAAMC,KACXhC,EAAY7B,OAAOrN,IAAK8H,GAAM0C,EAAAA,UAAUuG,WAAWjJ,CAAAA,CAAAA,CAAAA,EACnDqJ,OAAQrJ,GAAMA,GAAK,IAAA,EACpB,CAACoH,CAAAA,CAAY,EAEVkC,EAAQ/T,EAAAA,QAAQ,IAAA,CACdgU,MAAAA,EAAYL,EAAWF,KAAMjR,GAAMA,EAAEoK,OAAOqH,SAAS,KAAA,CAAA,EACrDF,EAAQ,CACZG,OAAQF,EACRG,OAAQH,EACRI,MAAOJ,EACPK,MAAOL,CACT,EACA,GAAI,CAACA,EACH,UAAWhQ,KAAS2P,EACPxU,UAAAA,KAAK6E,EAAM4I,OAChBzN,EAAEmV,WAAW,QAAW,EAC1BP,EAAMG,OAAS,GACN/U,EAAEmV,WAAW,QAAW,EACjCP,EAAMI,OAAS,GACNhV,EAAEmV,WAAW,QAAW,EACjCP,EAAMK,MAAQ,GAEdL,EAAMM,MAAQ,GAKfN,OAAAA,CAAAA,EACN,CAACJ,CAAAA,CAAW,EAGXA,MADA,CAACJ,GACDI,EAAWY,SAAW,EAAU,KAEhCR,EAAMG,QAAU,CAACH,EAAMI,QAAU,CAACJ,EAAMK,OAAS,CAACL,EAAMM,YAGvDpN,EAAAA,CACCtB,KAAK,WACLwB,YAAQqN,GAAAA,CAAUjU,UAAU,QAAA,GAC5BJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,iBAKb,CAACY,EAAMG,QAAUH,EAAMI,QAAU,CAACJ,EAAMK,OAAS,CAACL,EAAMM,YAGvDpN,EAAAA,CACCtB,KAAK,WACLwB,YAAQsN,GAAAA,CAAclU,UAAU,QAAA,GAChCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,uBAMdlM,EAAAA,CACCtB,KAAK,WACLwB,YAAQuN,GAAAA,CAAenU,UAAU,QAAA,GACjCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,gBAGjB,CAEA,SAASf,GAAmB,CAC1BP,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAKd,OAAI0P,EAAYmB,cAAc,CAAE/G,KAAM,SAAUC,OAAQ,QAAA,CAAa,QAEhEjF,EAAAA,CACCtB,KAAK,WACLwB,YAAQwN,GAAAA,CAAoBpU,UAAU,QAAA,GACtCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,iBAKV,IACT,CAOA,SAASpB,GAAgCF,EAAoC,CAC3E,OAAO7R,UAAQ,IAAA,CACb,GAAI6R,EAAYmB,cAAc,CAAE/G,KAAM,OAAQC,OAAQ,QAAA,CAAa,EAC1D,MAAA,GAGT,IAAI0I,EAAW,GAEJpS,UAAAA,KAAKqP,EAAY7B,OAAQ,CAC5B6E,MAAAA,EAAMzG,EAAAA,SAASsF,WAAWlR,CAAAA,EAChC,GAAIqS,EAAK,CAGP,GAFWD,EAAA,GACPE,GAAkCD,EAAIxG,GAAG,GACzCwG,EAAIvG,IAAIyG,MAAMC,EAAwB,EAAA,SACnC,MAAA,EAAA,CAGHC,MAAAA,EAAOtH,EAAAA,UAAU+F,WAAWlR,CAAAA,EAClC,GAAIyS,EAAM,CAER,GADWL,EAAA,GACPK,EAAKrH,WAAWmH,MAAMC,EAAwB,EAAA,SAC3C,MAAA,EAAA,CACT,CAGKJ,OAAAA,CAAAA,EACN,CAAC/C,CAAAA,CAAY,CAClB,CAEA,SAASQ,GAA0B,CACjCR,YAAAA,GAGD,CACOqD,MAAAA,EAAiBlV,EAAAA,QAAQ,IACtB6R,EAAY7B,OAAOyD,KAAK0B,EAAAA,EAC9B,CAACtD,CAAAA,CAAY,EAEVuD,EAAgBpV,EAAAA,QAAQ,IACrB6R,EAAY7B,OAAOyD,KAAK4B,EAAAA,EAC9B,CAACxD,CAAAA,CAAY,EAEhB,OAAIqD,GAAkBE,QAEjBnO,EAAAA,CACCtB,KAAK,WACLwB,YAAQmO,GAAAA,CAAc/U,UAAU,QAAA,GAChCJ,MAAO,UACPiH,YACE8N,GAAkBE,EAChBpQ,EAAAA,IAAA8N,EAAA,aAKA,EAAA9N,EAAA,IAAA8N,EAAA,iBAOH,IACT,CAEA,SAASR,GAAuB,CAC9BT,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EASd,OAPoBnC,EAAAA,QAAQ,IAExB6R,EAAY0D,uBACZ1D,EAAY7B,OAAOyD,KAAK+B,EAAAA,EAEzB,CAAC3D,CAAAA,CAAY,QAIX5K,EAAAA,CACCtB,KAAK,WACLwB,YAAQsO,GAAAA,CAASlV,UAAU,QAAA,GAC3BJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,iBAKV,IACT,CAEA,SAAShB,GAAoB,CAC3BN,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAER8J,EAAOjM,EAAAA,QAAQ,IACf6R,EAAYgB,eAAe,CAAE5G,KAAM,GAAA,CAAQ,EACtC,IAGL4F,EAAYgB,eAAe,CAAE5G,KAAM,QAAA,CAAa,EAC3C,SAGF,KACN,CAAC4F,CAAAA,CAAY,EAEhB,OAAI5F,QAEChF,EAAAA,CACCtB,KAAK,WACLwB,YAAQuO,GAAAA,CAAanV,UAAU,KAAA,GAC/BJ,MAAKgT,EAAA,EAAA,eACL/L,YACE6E,IAAS,IACPjH,EAAAA,IAAA8N,EAAA,yBACe1T,EAAAA,EAAAA,IAAAA,IAAAA,EAAAA,EAAoCA,EAAAA,EAAAA,IAAAA,IAAAA,CAAAA,CAAAA,CAAAA,EAGnD,EAAA4F,EAAA,IAAA8N,EAAA,yBACe1T,EAAAA,EAAAA,IAAAA,IAAAA,CAAAA,CAAAA,CAAAA,MAQlB,IACT,CAEA,SAASsT,GAAkB,CACzBb,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAEd,OAAI0P,EAAY2B,2BAEXvM,EAAAA,CACCtB,KAAK,WACLwB,YAAQwO,GAAAA,CAAiBpV,UAAU,QAAA,GACnCJ,MAAKgT,EAAA,EAAA,eACL/L,kBACE0L,EAAA,yBACyC1T,EAAAA,EAAAA,IAAAA,IAAAA,CAAAA,CAAAA,CAAAA,IAK3C,eAACuB,IAAAA,CACC,SAAAqE,EAAAA,IAAC4Q,GAAAA,CAAAA,CAAAA,MAML/D,EAAY7B,OAAOyD,KAAMjR,GAAM4L,WAASsF,WAAWlR,CAAAA,GAAM,IAAO,SAE/DyE,EAAAA,CACCtB,KAAK,WACLwB,YAAQwO,GAAAA,CAAiBpV,UAAU,QAAA,GACnCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,+BAEVxS,IAAAA,CACC,SAAAqE,EAAAA,IAAC4Q,GAAAA,CAAAA,CAAAA,CAAAA,SAEFjV,IAAAA,CAAEJ,UAAU,sBACXuS,EAAA,uBAKD+C,GAAAA,CAAgBtV,UAAU,OAAOsR,YAAAA,OAKjC,IACT,CAEA,SAAS+D,IAAAA,CACP,aACE9C,EAAA,cAOJ,CASA,SAAS+C,GAAgB,CACvBhE,YAAAA,EACAtR,UAAAA,EAAY,GACZ,GAAG+G,GACkB,CACrB,KAAM,CAAQnF,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAER2T,EAAiB9V,EAAAA,QAAQ,IAAA,CACvB2C,MAAAA,MAAUoT,IAELvT,UAAAA,KAAKqP,EAAY7B,OAAQ,CAC5BgG,MAAAA,EAAS5H,EAAAA,SAASsF,WAAWlR,CAAAA,EACnC,GAAI,CAACwT,EAAQ,SAEb,IAAIrK,EAAMhJ,EAAIsT,IAAID,EAAO3H,GAAG,EACvB1C,GAASA,EAAAA,IAAIqK,EAAO3H,IAAM1C,EAAUuK,IAAAA,GAAAA,EACzC,UAAW5H,KAAO0H,EAAO1H,IAAK3C,EAAIwK,IAAI7H,CAAAA,CAAAA,CAGjCsF,OAAAA,MAAMC,KAAKlR,EAAIyT,WACnBC,KAAK,CAAC,CAAClX,CAAE,EAAE,CAACC,CAAE,IAAKD,EAAEmX,cAAclX,CAAAA,CAAAA,EACnCuD,IACC,CAAC,CAAC0L,EAAKkI,CAAAA,IACL,CAAClI,EAAKuF,MAAMC,KAAK0C,CAAAA,EAAMF,KAAK,CAAClX,EAAGC,IAAMD,EAAEmX,cAAclX,CAAAA,CAAAA,CAAAA,CAAI,CAAA,EAE/D,CAACyS,CAAAA,CAAY,EAEhB,cACG2E,QAAAA,CAAMjW,UAAW,qBAAqBA,CAAW,GAAG,GAAG+G,kBACrDmP,QAAAA,CACC,gBAACC,KAAAA,CAAGnW,UAAU,0BACXoW,KAAAA,CAAGpW,UAAU,4DACboW,KAAAA,CAAGpW,UAAU,iEAGjBqW,QAAAA,CACEd,SAAAA,EAAenT,IAAI,CAAC,CAAC0L,EAAKkI,CAAAA,IACzBM,EAAA,KAACH,KAAAA,CAAanW,UAAU,0BACrBuW,KAAAA,CAAGvW,UAAU,2BACX8N,SAAAA,IAAQ,IAAMrJ,EAAAA,IAAC+R,KAAAA,+BAA2B/R,EAAA,IAACgS,OAAAA,CAAM3I,SAAAA,YAEnDyI,KAAAA,CAAGvW,UAAU,0BACXgW,EAAKtC,SAAS,GAAA,QACZ8C,KAAAA,6BAEDR,EAAAA,EAAK5T,IAAK2L,SACP0I,OAAAA,CAAKzW,UAAU,QACb+N,SAAAA,CAD0BA,EAAAA,CAAAA,CAAAA,IAT5BD,EAAAA,CAAAA,CAAAA,MAoBnB,CAEA,SAASoE,GAAgB,CACvBZ,YAAAA,GAGD,CACC,KAAM,CAAQ1P,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAGZ0P,OAAAA,EAAY2B,sBACZ3B,EAAYmB,cAAc,CAAE/G,KAAM,OAAQC,OAAQ,QAAA,CACjD2F,GAAAA,EAAYoF,WAAW,CAAErJ,WAAY,IAAK1B,OAAQ,QAAA,CACjD2F,GAAAA,EAAYoF,WAAW,CAAErJ,WAAY,IAAK1B,OAAQ,QAAA,CAClD2F,GAAAA,EAAYoF,WAAW,CAAErJ,WAAY,IAAK1B,OAAQ,QAAA,CACpD,SAEGjF,EAAAA,CACCtB,KAAK,WACLwB,YAAQ+P,GAAAA,CAAc3W,UAAU,QAAA,GAChCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,+BAEVxS,IAAAA,CACC,SAAAqE,EAAAA,IAACmS,GAAAA,CAAAA,CAAAA,CAAAA,SAEFxW,IAAAA,CAAEJ,UAAU,sBACXuS,EAAA,yBAEG1T,EAAAA,EAAAA,IAAAA,IAAAA,CAAAA,CAAAA,CAAAA,SAOPyS,EAAY7B,OAAOyD,KAAMjR,GAAMmL,YAAU+F,WAAWlR,CAAAA,GAAM,IAAO,SAEhEyE,EAAAA,CACCtB,KAAK,WACLwB,YAAQ+P,GAAAA,CAAc3W,UAAU,QAAA,GAChCJ,MAAKgT,EAAA,EAAA,eACL/L,YAAW+L,EAAA,EAAA,+BAEVxS,IAAAA,CACC,SAAAqE,EAAAA,IAACmS,GAAAA,CAAAA,CAAAA,CAAAA,SAEFxW,IAAAA,CAAEJ,UAAU,sBACXuS,EAAA,uBAKDsE,GAAAA,CAAU7W,UAAU,OAAOsR,YAAAA,OAK3B,IACT,CAEA,SAASsF,IAAAA,CACP,aACErE,EAAA,cAMJ,CASA,SAASsE,GAAU,CAAEvF,YAAAA,EAAatR,UAAAA,EAAW,GAAG+G,GAAuB,CACrE,KAAM,CAAQnF,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAERkV,EAAcrX,EAAAA,QAAQ,IAAA,CACpB2C,MAAAA,MAAUoT,IASLvT,UAAAA,KAAKqP,EAAY7B,OAAQ,CAC5BgG,MAAAA,EAASrI,EAAAA,UAAU+F,WAAWlR,CAAAA,EACpC,GAAKwT,EAEMzI,UAAAA,KAAQyI,EAAOpI,WACpBjL,GAAAA,EAAIsP,IAAI1E,CAAO,EAAA,CACX+J,MAAAA,EAAU3U,EAAIsT,IAAI1I,CAAAA,EACxB,UAAWrB,KAAU8J,EAAO9J,OAAQoL,EAAQpL,GAAU,EAAA,MAEtDvJ,EAAIgJ,IAAI4B,EAAM,CACZgK,OAAQvB,EAAO9J,OAAO+H,SAAS,QAAA,EAC/BuD,OAAQxB,EAAO9J,OAAO+H,SAAS,QAAA,EAC/BwD,OAAQzB,EAAO9J,OAAO+H,SAAS,QAAA,CAAA,CACjC,CAEJ,CAGKtR,OAAAA,CAAAA,EACN,CAACkP,CAAAA,CAAY,EAEV6F,EAAcL,EAAYpB,IAAI,GAAA,EAE9B0B,EAAqB3X,EAAAA,QAAQ,IAC1B4T,MAAMC,KAAKwD,EAAYjB,WAAWC,KAAK,CAAC,CAAClX,GAAI,CAACC,KACnDD,EAAEmX,cAAclX,CAAAA,CAAAA,EAEjB,CAACiY,CAAAA,CAAY,EAEhB,cACGb,QAAAA,CAAMjW,UAAW,+BAA+BA,CAAW,GAAG,GAAG+G,kBAC/DmP,QAAAA,CACC,gBAACC,KAAAA,CAAGnW,UAAU,0BACXoW,KAAAA,CAAGpW,UAAU,kDACboW,KAAAA,CAAGpW,UAAU,8DACboW,KAAAA,CAAGpW,UAAU,8DACboW,KAAAA,CAAGpW,UAAU,mEAGjBqW,QAAAA,CACEe,SAAAA,EAAmBhV,IAAI,CAAC,CAAC4K,EAAM+J,CAAAA,IAC9BT,EAAA,KAACH,KAAAA,CAAcnW,UAAU,0BACtBuW,KAAAA,CAAGvW,UAAU,iBACXgN,SAAAA,IAAS,IACRvI,EAAAA,IAAC+R,KAAAA,+BAED/R,EAAA,IAACgS,OAAAA,CAAMzJ,SAAAA,YAGVuJ,KAAAA,CAAGvW,UAAU,cACXmX,SAAAA,GAAAA,MAAAA,EAAaH,QAAUD,EAAQC,aAC7BK,GAAAA,CAAcrX,UAAU,qBAAA,CACvB,EAAA,IAAA,SAELuW,KAAAA,CAAGvW,UAAU,cACXmX,SAAAA,GAAAA,MAAAA,EAAaF,QAAUF,EAAQE,aAC7BI,GAAAA,CAAcrX,UAAU,qBAAA,CACvB,EAAA,IAAA,SAELuW,KAAAA,CAAGvW,UAAU,cACXmX,SAAAA,GAAAA,MAAAA,EAAaD,QAAUH,EAAQG,aAC7BG,GAAAA,CAAcrX,UAAU,qBAAA,CACvB,EAAA,OArBCgN,EAAAA,CAAAA,CAAAA,MA4BnB,CAIA,SAASuH,GAAkCzG,EAAW,CACpD,OAAOA,IAAQ,+BACjB,CAEA,SAASwJ,GAActK,EAAY,CAC1BA,OAAAA,EAAK+G,WAAW,WAAA,CACzB,CACA,SAASwD,GAAevK,EAAY,CAC3BA,OAAAA,EAAK+G,WAAW,YAAA,CACzB,CAEA,SAASkB,GAAiBxR,EAAa,CACjCA,GAAAA,IAAU,uBAA+B,MAAA,GACvC6Q,MAAAA,EAAMzG,EAAAA,SAASsF,WAAW1P,CAAAA,EAGhC,MAFI,CAAC6Q,GAEDC,GAAkCD,EAAIxG,GAAG,EAAU,GAChDwG,EAAIvG,IAAI2F,SAAS,MAAQY,EAAIvG,IAAImF,KAAKqE,EAAAA,CAC/C,CAEA,SAAS9C,GAAsBzH,EAAgB,CACtCA,OAAAA,IAAS,IACZ,GACAA,IAAS,uCACPsK,GAActK,IACduK,GAAevK,CAAAA,CACvB,CAEA,SAAS4H,GAAwBnR,EAAa,CACxCA,GAAAA,IAAU,qBAA6B,MAAA,GACrCiR,MAAAA,EAAOtH,EAAAA,UAAU+F,WAAW1P,CAAAA,EAC9B,OAACiR,EAEHA,EAAKrH,WAAWqG,SAAS,MAAQgB,EAAKrH,WAAW6F,KAAKuB,EAAAA,EAFtC,EAIpB,CAEA,SAASK,GAAkCrR,EAAa,CAClDA,GAAAA,IAAU,qBAA6B,MAAA,GACrC6Q,MAAAA,EAAMzG,EAAAA,SAASsF,WAAW1P,CAAAA,EAC5B,OAAC6Q,EAEHA,EAAIvG,IAAI2F,SAAS,+BACjBY,GAAAA,EAAIvG,IAAI2F,SAAS,sBACjBY,GAAAA,EAAIvG,IAAI2F,SAAS,0BACjBY,GAAAA,EAAIvG,IAAI2F,SAAS,8BACjBY,GAAAA,EAAIvG,IAAI2F,SAAS,8BACjBY,EAAIvG,IAAI2F,SAAS,4BAAA,GACjBY,EAAIvG,IAAI2F,SAAS,gCAAA,GACjBY,EAAIvG,IAAI2F,SAAS,6BAAA,GACjBY,EAAIvG,IAAI2F,SAAS,yBAAA,GACjBY,EAAIvG,IAAI2F,SAAS,GAAA,EAXF,EAanB,CC7uBO,SAAS8D,GAAS,CACvBT,QAAAA,EACAU,OAAAA,EACA3Q,OAAAA,EACAxI,SAAAA,EACAoZ,QAAAA,EACArS,SAAAA,EAGAsS,MAAAA,EAAQtS,EACR,GAAGhI,CACW,EAAA,CACd,cACGua,OAAAA,CAAM,GAAGva,EAAOsa,MAAAA,EAAc3X,UAAU,gCACtC0X,SAAYzX,MAAAA,CAAmByX,SAAAA,GAAX,SAAA,QAEpBzX,MAAAA,CAAmBD,UAAU,YAC3B1B,SAAAA,GADM,UAAA,EAIRwI,SAAW7G,MAAAA,CAAkB6G,SAAAA,GAAV,QAAA,GAElBiQ,GAAWU,IACXnB,EAAA,KAACrW,MAAAA,CAECD,UAAU,+FAET+W,QACA9W,MAAAA,CAAID,UAAU,WAAA,GACdyX,CAAAA,GALG,SAAA,CAAA,GAUd,CCrCO,SAASI,GAAkB,CAChC1V,QAAAA,EAGA,GAAG9E,CACoB,EAAA,CACvB,aACGwB,IAAAA,CAAG,GAAGxB,EACJ8E,SAAAA,EAAQ2V,oBAAsB3V,EAAQ4V,OAAS5V,EAAQJ,GAAAA,EAG9D,CCfaiW,MAAAA,GAA+BjU,GAAAA,CACtC,GAAA,CACIpB,MAAAA,EAAM,IAAIsV,IAAIlU,CAAAA,EAElBpB,OAAAA,EAAIuV,WAAa,UACjBvV,EAAIwV,WAAa,+BACjB,CAACxV,EAAIyV,MACL,CAACzV,EAAI0V,MAAAA,MAED,CACC,MAAA,EAAA,CAEX,ECDO,SAASC,GAA2D,CACzE3V,IAAAA,EACA4V,MAAAA,EAAQ,GACRC,KAAAA,EAAO,GACPC,KAAAA,EAAO,GACPC,MAAAA,EAAQ,GACRC,KAAAA,EAAO,GACPC,GAAIC,EAAK,OAGT,GAAGxb,CACmD,EAAA,CAChDyb,MAAAA,EAASrZ,UAAQ,IAAOkD,aAAesV,IAAMtV,EAAM,IAAIsV,IAAItV,CAAO,EAAA,CAACA,CAAAA,CAAI,EAE7E,cACGkW,EAAAA,CAAI,GAAGxb,YACLkb,SACEQ,GAAAA,CACC9Z,MAAO,GAAG6Z,EAAOZ,QAAQ,KACxB,GAAIK,IAAU,GAAO,KAAOA,CAAAA,GAGhCC,SACEO,GAAAA,CACC9Z,MAAO6Z,EAAON,KACb,GAAIA,IAAS,GAAO,CAAEQ,MAAO,GAAOC,KAAM,EAAA,EAAST,CAAAA,GAGvDC,SACEM,GAAAA,CACC9Z,MAAO6Z,EAAOX,SACb,GAAIM,IAAS,GAAO,KAAOA,CAAAA,GAG/BC,SACEK,GAAAA,CACC9Z,MAAO6Z,EAAOT,OACb,GAAIK,IAAU,GAAO,KAAOA,CAAAA,GAGhCC,SACEI,GAAAA,CAAc9Z,MAAO6Z,EAAOH,KAAO,GAAIA,IAAS,GAAO,KAAOA,MAIvE,CAEA,SAASI,GAAc,CACrB9Z,MAAAA,EACA+Z,MAAAA,EAAQ,GACRC,KAAAA,EAAO,IACqC,CACtCC,MAAAA,EAAOD,EAAO,IAAM,OAC1B,aAAQC,EAAAA,CAAKlZ,UAAWgZ,EAAQ,aAAe,GAAK/Z,SAAAA,CAAAA,EACtD,CCtDO,SAASka,GAAW,CACzBpV,SAAAA,EACAC,eAAAA,EACAC,cAAAA,EAGA,GAAG8C,CACa,EAAA,CACVpE,MAAAA,EAAMlD,EAAAA,QAAQ,IAAA,CACd,GAAA,CACK,OAAA,IAAIwY,IAAIlU,CAAAA,CAAAA,MACT,CACC,OAAA,IAAA,CACT,EACC,CAACA,CAAAA,CAAS,EAETE,GAAAA,GAAiBD,EAAeO,YAClC,aAAQ6U,OAAAA,CAAM,GAAGrS,EAAQ/C,SAAAA,EAAeO,WAAAA,GAOtC5B,IAAAA,GAAAA,YAAAA,EAAKuV,YAAa,QACpB,aACGkB,OAAAA,CAAM,GAAGrS,iBACRwL,EAAA,iBAKF5P,IAAAA,GAAAA,YAAAA,EAAKuV,YAAa,SAAU,CAGxBmB,MAAAA,EAAiBrB,GAA4BjU,CAAAA,EAEnD,aACGuU,GAAAA,CACE,GAAGvR,EACJpE,IAAAA,EACA4V,MAAO,CAACc,EACRb,KAAM,GACNC,KAAM,CAACY,EACPX,MAAO,CAACW,EACRV,KAAM,EAAA,GAKZ,aAAQS,OAAAA,CAAM,GAAGrS,EAAQhD,SAAAA,CAAAA,EAC3B,CC9BA,SAASuV,GAAkB7V,EAAa,CAC/BA,OAAAA,EAAMsQ,WAAW,aAAA,CAC1B,CAEA,SAASwF,GAAoB9V,EAAa,CAClCgS,MAAAA,EAAShK,EAAAA,aAAa0H,WAAW1P,CAAAA,EACnC,OAACgS,EACEA,EAAO+D,QAAQ,CAAE9N,KAAM,QAASC,OAAQ,MAAA,CAAO,EADlC,EAEtB,CAEA,SAAS8N,GAAuBhW,EAAc,CAC5C,OAAOA,GAAAA,YAAAA,EACHiW,MAAM,KACPnG,OAAQtR,GAAM,CAACsX,GAAoBtX,CAAAA,GACnC0X,KAAK,IACV,CAEO,SAASC,GAAY,CAC1B7V,SAAAA,EACAC,eAAAA,EACAC,cAAAA,EACAkN,iBAAAA,EAEAhP,QAAAA,EACAsB,MAAAA,EAEAoW,UAAAA,EACAC,aAAAA,EAEAC,SAAAA,EACAC,YAAAA,EAEAC,OAAAA,EACAC,UAAAA,EAGA,GAAG7c,CACc,EAAA,CACjB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACwP,EAAY+I,CAAc,EAAG5a,EAAAA,SAAS,EAAA,EAIvC6a,EAAgB,EAAC3W,GAAAA,MAAAA,EAAOiW,MAAM,KAAKxG,KAAKoG,KAE9C,cACG9B,GAAAA,CACE,GAAGna,EACJgd,SAAWvU,GAAAA,CACTA,EAAMW,eAAc,EACpB,MAAM6T,EACJF,GAAiB,CAAChJ,EAAaqI,GAAuBhW,CAASA,EAAAA,EACjEoW,EAAUS,CAAAA,CACZ,EACA7C,OACEwC,GACExV,EAAA,IAACK,EAAAA,CAAOS,QAAS0U,WAASC,GAAazV,EAAA,IAAA8N,EAAA,iBAG3CwE,eACE/E,WAAA,iBACGlN,EAAAA,CAAOK,KAAK,SAASJ,MAAM,mBACzB+U,GAAgBrV,EAAA,IAAA8N,EAAA,uBAGlBzN,EAAAA,CAAOS,QAASwU,WACdC,GAAevV,EAAA,IAAA8N,EAAA,oCAKrB7L,EAAAA,CACCE,YACG9C,GAAAA,CACCC,SAAAA,EACAC,eAAAA,EACAC,cAAAA,CAAAA,GAGJrE,YACGuZ,GAAAA,CACCpV,SAAAA,EACAC,eAAAA,EACAC,cAAAA,CAAAA,GAGJ4C,YACE,CAACpD,GAASA,IAAU,gBAClB8O,EAAA,yBAEGsF,QAAAA,GAAAA,CAAkB1V,QAAAA,KAGrB,EAAAsC,EAAA,IAAA8N,EAAA,yBACwBsF,QAAAA,GAAAA,CAAkB1V,QAAAA,OAK9CwE,KAAIiM,EAAA,EAAA,wBAEHnP,EACC6S,EAAA,KAAAtE,WAAA,iBACG5R,IAAAA,gBACCmS,EAAA,uBAKDgI,KAAAA,CAAGva,UAAU,OACXyD,SAAAA,EAAMiW,MAAM,GAAA,EAAKtX,IAAKqB,GACrBgB,EAAA,IAAC+V,KAAAA,CACC,eAAC/D,OAAAA,CAAMhT,SAAAA,GADAA,EAAAA,CAAAA,CAAAA,KAMb,EAAA,IAAA,SAGLyN,GAAAA,CACCzN,MAAAA,EACAQ,cAAAA,EACAkN,iBAAAA,EACAC,WAAYgJ,EAAgBhJ,EAAa,GACzCC,aAAc+I,EAAgBD,EAAgBpa,MAAAA,SAG/CK,IAAAA,gBACCmS,EAAA,uBACkBuH,GAAgBrV,EAAA,IAAA8N,EAAA,4BAAnB1T,EAAAA,EAAAA,IAAAA,IAAAA,EAAAA,EAGZD,QAAAA,IAAAA,CACCwG,KAAK,OACLvC,KAAMmB,EAAeyW,QACrBC,IAAI,oBACJxU,OAAO,SACPlG,UACEgE,EAAeyW,QAAU,yBAA2B1a,MAAAA,GAMvDnB,QAAAA,IAAAA,CACCwG,KAAK,OACLvC,KAAMmB,EAAe2W,WACrBD,IAAI,oBACJxU,OAAO,SACPlG,UACEgE,EAAe2W,WAAa,yBAA2B5a,gBAUrE,CC7KO,SAAS6a,GAAY,CAC1B7W,SAAAA,EACAC,eAAAA,EACAC,cAAAA,EACAkN,iBAAAA,EACAhP,QAAAA,EACAsB,MAAAA,EACAoW,UAAAA,EACAE,SAAAA,EACAE,OAAAA,EAGAra,MAAAA,EACAC,SAAAA,QACE0S,EAAA,qBAGKpQ,EAAAA,EAAQ2V,oBAAsB3V,EAAQ4V,OAAS5V,EAAQJ,iBADzDlD,QAAAA,IAAAA,CAAEmB,UAAU,wCAKhB,EACD,GAAG3C,CACc,EAAA,CACjB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAEd,aACGlC,GAAAA,CACE,GAAGrC,EACJuC,MAAOA,GAAAA,EAAAA,EAAAA,eACPC,SAAAA,EAEA,eAAC+Z,GAAAA,CACC7V,SAAAA,EACAC,eAAAA,EACAC,cAAAA,EACAkN,iBAAAA,EACAhP,QAAAA,EACAsB,MAAAA,EACAwW,OAAAA,EACAJ,UAAAA,EACAE,SAAAA,KAIR,CC/DO,MAAMc,GAAsD5d,EAAAA,cAAA,CACjEoI,SAAU,EACZ,CAAE,EACFwV,GAAgB5J,YAAc,kBASvB,SAAS6J,GAAS,CACvBpI,MAAAA,EACApU,SAAAA,EACA+G,SAAAA,EACA,GAAGhI,GACe,CAClB,MAAM0d,EAAUzT,GAAgB,CAAE0T,OAAQ,WAAA,CAAY,EAEhDC,EAAexb,EAAAA,QACnB,KAAO,CACL4F,SAAUA,GAAY,GACtB0V,QAASrI,EAAQqI,EAAUhb,MAAAA,GAE7B,CAACsF,EAAUqN,EAAOqI,CAAAA,CAAQ,EAG5B,cACGG,WAAAA,CAAU,GAAG7d,EAAO8d,kBAAiBJ,EAAS1V,SAAAA,YAC5CqN,SACE0I,SAAAA,CACCpT,GAAI+S,EAEJ/a,UAAU,8DAET0S,SAAAA,GAHG,OAAA,QAOPzS,MAAAA,CAAID,UAAU,0BACb,eAAC6a,GAAAA,CAAgB5b,MAAOgc,EAAe3c,SAAAA,QAI/C,CCnCgB+c,SAAAA,GACdva,EACA,CAAE6E,IAAAA,EAAK2V,UAAAA,EAAW1W,QAAAA,CAAgC,EAAG,GAAE,CAEvD,KAAM,CAACK,EAASsW,CAAW,EAAGhc,EAAAA,SAAS,EAAA,EACjC,CAACjC,EAAOke,CAAAA,EAAYjc,WAAAA,EAEpBkc,EAAaxa,cAChB3D,GAAAA,CACCke,EAASle,CAAAA,EACTsH,GAAAA,MAAAA,EAAUtH,EAAAA,EAEZ,CAACsH,CAAAA,CAAQ,EAGL8W,EAAeza,cAClBgE,GAAAA,CACCsW,EAAWtW,CAAAA,EACXqW,GAAAA,MAAAA,EAAYrW,EAAAA,EAEd,CAACqW,CAAAA,CAAU,EAGPK,EAAgBxU,SAAwB,IAAA,EAExCyU,EAAWzU,SAAmB,IAAA,EACpC3C,EAAAA,UAAU,KACRoX,EAAS5V,QAAU,IAAA,QACjB2V,EAAAA,EAAc3V,UAAd2V,MAAAA,EAAuBE,QACvBF,EAAc3V,QAAU,KACxByV,EAAW1b,MAAAA,EACX2b,EAAa,EAAA,CACf,EACO,IAAA,CACLE,EAAS5V,QAAU,IACrB,GACC,CAACyV,EAAYC,CAAAA,CAAa,EAE7BI,EAAAA,oBACEnW,EACA,KAA8B,CAC5BoW,MAAO,IAAMH,OAAAA,OAAAA,EAAAA,EAAS5V,UAAT4V,YAAAA,EAAAA,KAAAA,GACf,GACA,CAAA,CAAE,EAIJpX,EAAAA,UAAU,IACD,IAAA,QACLmX,EAAAA,EAAc3V,UAAd2V,MAAAA,EAAuBE,QACvBF,EAAc3V,QAAU,IAC1B,EACC,EAAE,EAECgW,MAAAA,EAAM/a,EAAAA,YAAY,SAAA,QAEtB0a,EAAAA,EAAc3V,UAAd2V,MAAAA,EAAuBE,QAEvBH,EAAa,EAAA,EACbD,EAAW1b,MAAAA,EAELkc,MAAAA,EAAa,IAAIC,gBACjB,CAAEjZ,OAAAA,GAAWgZ,EAEnBN,EAAc3V,QAAUiW,EAEpB,GAAA,CACF,MAAMnb,EAAGmC,CAAAA,QACFkZ,EAAK,CACRF,IAAeN,EAAc3V,QACpBmW,EAAAA,aAAeC,MAAQD,EAAM,IAAIC,MAAMtZ,OAAOqZ,CAAAA,CAAAA,CAAAA,EAEpDE,GAAcpZ,EAAQkZ,CAAM,GACvBG,QAAAA,KAAK,iCAAkCH,CAAAA,CAEnD,QACQ,CACJF,IAAeN,EAAc3V,UAC/B2V,EAAc3V,QAAU,KACxB0V,EAAa,EAAA,GAGfO,EAAWJ,MAAK,CAAA,CAClB,EACC,CAAC/a,EAAI4a,EAAcD,CAAAA,CAAW,EAE1B,MAAA,CACLxW,QAAAA,EACA3H,MAAAA,EACA0e,IAAAA,CACF,CACF,CAEA,SAASK,GAAcpZ,EAAqBkZ,EAAY,CACtD,OACElZ,EAAOsZ,UACNtZ,EAAOuZ,SAAWL,GACjBlZ,EAAOuZ,UAAWL,GAAAA,YAAAA,EAAM,QACvBA,aAAeM,cAAgBN,EAAI7S,OAAS,aAEnD,CCzGO,MAAMoT,GAAkC,CAAC,CAAEpf,MAAAA,WAC/Cqf,GAAAA,CAAUrf,MAAAA,CACZ,CAAA,EAqBM,SAASsf,GAAc,CAC5B7L,QAAAA,EACA1L,SAAAA,EAEAgV,SAAAA,EACAwC,YAAAA,EAEAC,SAAAA,EAAW/c,OACXgd,YAAAA,EAEAC,YAAAA,EAAcN,GAGd/W,IAAAA,EACA2V,UAAAA,EACA1W,QAAAA,EAGAtG,SAAAA,EACA,GAAGjB,CACgB,EAAA,CACnB,KAAM,CAAE2e,IAAAA,EAAK/W,QAAAA,EAAS3H,MAAAA,CAAK,EAAK+d,GAAehB,EAAU,CACvD1U,IAAAA,EACAf,QAAAA,EACA0W,UAAAA,CAAAA,CACF,EAEM2B,EAAWhc,cACd6E,GAAAA,CACCA,EAAMW,eAAc,EAEfX,EAAMoX,cAAcC,kBAErB,CAAC9X,GAAY,CAAC0L,GAAciL,EAAAA,CAAAA,EAElC,CAAC3W,EAAU0L,EAASiL,CAAAA,CAAI,EAG1B,aACGxE,GAAAA,CACE,GAAGna,EACJgd,SAAU4C,EACV5X,SAAUA,GAAYJ,EACtByS,QAASpa,GAAS,KAAO0f,EAAY,CAAE1f,MAAAA,CAAWyC,CAAAA,EAAAA,OAClD0X,OACEqF,GACErY,EAAA,IAACK,EAAAA,CAAOS,QAASuX,WACdC,GAAetY,EAAA,IAAA8N,EAAA,iBAItBwE,cACGjS,EAAAA,CACCC,MAAM,UACNI,KAAK,SACLF,QAAAA,EACAI,SAAAA,WAECwX,GAAepY,EAAA,IAAA8N,EAAA,iBAInBjU,SAAAA,CAAAA,EAGP,CCtGO,MAAM8e,GAAsB,EAE7BC,GACJ,sEACIC,GAAQ,QACRC,GAAQ,QACRC,GAAM,QACNC,GAAU,eAET,IAAAC,YAAKA,EAAAA,kGAAAA,CAKX,EAAA,EAAA,EAEM,SAASC,GAAoBC,EAAW,CACzCA,OAAAA,EAAI5J,OAASoJ,GACf,EAIEQ,EAAI5J,QAAUoJ,GAAsB,GACtC,EAIEQ,EAAI5J,QAAUoJ,GAAsB,EAClC5D,GAAQoE,EAAK,CAACH,EAAAA,CAAQ,GAGtBjE,GAAQoE,EAAK,CAACN,GAAOC,GAAOC,EAAI,EAAE,CAAI,EACxC,EAEF,EAIEI,EAAI5J,QAAUoJ,IACZ5D,GAAQoE,EAAK,CAACP,EAAAA,CAAM,EACtB,EAKAO,EAAI5J,QAAUoJ,GAAsB,EAClC5D,GAAQoE,EAAK,CAACH,EAAAA,CAAQ,GAGtBjE,GAAQoE,EAAK,CAACN,GAAOC,GAAOC,EAAI,EAAE,CAAI,EACxC,EAGF,EAIEI,EAAI5J,QAAUoJ,GAAsB,EAClC5D,GAAQoE,EAAK,CAACH,EAAAA,CAAQ,GAGtBjE,GAAQoE,EAAK,CAACN,GAAOC,GAAOC,EAAI,EAAE,CAAI,EACxC,EAIF,EAIEI,EAAI5J,QAAUoJ,KACZ5D,GAAQoE,EAAK,CAACH,EAAAA,CAAQ,GAGtBjE,GAAQoE,EAAK,CAACN,GAAOC,GAAOC,EAAAA,CAAI,GAClC,EAIJ,CACF,CAEA,SAAShE,GACPoE,EACAC,EACAC,EAA8BD,EAAQ7J,OAAM,CAE5C,GAAI8J,EAAsB,GAAKA,EAAsBD,EAAQ7J,OACrD,MAAA,IAAI+J,UAAU,6BAAA,EAEtB,UAAWC,KAAUH,EACfG,GAAAA,EAAOC,KAAKL,CAAM,IACpBE,IACIA,IAAwB,GAAU,MAAA,GAGnC,MAAA,EACT,CCrFO,SAASI,GAAsB,CACpCC,SAAAA,EAGA,GAAG9gB,CACwB,EAAA,CAC3B,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACRwc,EAAWT,GAAoBQ,CAAAA,EAErC,aACG/E,OAAAA,CAAM,GAAG/b,EAAOsK,aAAUiL,EAAA,EAAA,wBACxBwL,IAAaV,GAAiBW,YAC7B9L,EAAA,eACE6L,IAAaV,GAAiBY,aAChC/L,EAAA,eACE6L,IAAaV,GAAiBa,eAChChM,EAAA,eACE4L,EACF1Z,EAAA,IAAA8N,EAAA,aAEA,EAAA9N,EAAA,IAAA8N,EAAA,gBAIR,CCfO,SAASiM,GAAsB,CACpCL,SAAAA,EAGAne,UAAAA,EACA,GAAG3C,CACwB,EAAA,CAC3B,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACRwc,EAAWD,EAAWR,GAAoBQ,CAAY,EAAA,EAEtDM,EAAU,gCACV1Z,EACJqZ,IAAaV,GAAiBW,OAASD,IAAaV,GAAiBY,OACjE,aACAF,IAAaV,GAAiBa,SAC5B,aACA,WAER,aACGte,MAAAA,CACE,GAAG5C,EACJ2C,UAAWE,EAAK,4BAA6BF,CAAAA,EAC7CoF,KAAK,QACLuC,aAAUiL,EAAA,EAAA,eACV8L,gBAAe,EACfC,gBAAejB,GAAiBW,MAChCO,gBAAeR,EAEd/K,SAAAA,MAAMC,KAAK,CAAEU,OAAQ,CAAK,EAAA,CAAC6K,EAAGtU,UAC5BtK,MAAAA,CAECD,UAAW,wBAAwBoe,EAAW7T,EAAIxF,EAAQ0Z,CAAS,EAD9DlU,EAAAA,CAAAA,CAAAA,CAAAA,EAMf,CCvDgBuU,SAAAA,GAAanZ,EAAsB1G,EAAe,CAC5D,OAAO0G,GAAQ,WACjBA,EAAI1G,CAAAA,EACK0G,IACTA,EAAIK,QAAU/G,EAElB,CAEO,SAAS8f,GAAaC,EAA8C,CACzE,OAAQ/f,GAAAA,CACN,UAAW0G,KAAOqZ,EACZrZ,GAAeA,GAAAA,EAAK1G,CAAAA,CAE5B,CACF,CCAO,SAASggB,GAAuB,CACrCC,QAAAA,EACAC,cAAAA,EAGA5Z,QAAAA,EACA,GAAGlI,CACyB,EAAA,CAC5B,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACd,aACGkD,EAAAA,CACE,GAAGzH,EACJ6H,MAAM,SACNK,QAAUO,GAAAA,CACRP,GAAAA,MAAAA,EAAUO,GACLA,EAAMC,kBAAkBoZ,EAAAA,CAC/B,EACAxX,aAAYuX,EAAAA,EAAAA,EAAAA,kCAEXA,SAAAA,EACCza,EAAA,IAAC2a,GAAAA,CAAQpf,UAAU,MAAM2E,cAAW,EAAA,GAEpCF,EAAA,IAAC4a,GAAAA,CAAarf,UAAU,MAAM2E,cAAW,MAIjD,CC7BO,SAAS2a,GAAe,CAC7BC,KAAAA,EACAzY,OAAAA,EACA0Y,OAAAA,EAGAxf,UAAAA,EACA1B,SAAAA,EACAmhB,QAAAA,EACAC,OAAAA,EACA,GAAGriB,CACiB,EAAA,CACpB,KAAM,CAACsiB,EAAUC,CAAY,EAAGrgB,EAAAA,SAAS,EAAA,EAEzC,cACGU,MAAAA,CACE,GAAG5C,EACJoiB,QAAU3Z,GAAAA,CACR2Z,GAAAA,MAAAA,EAAU3Z,GACLA,EAAMC,kBAAkB6Z,EAAY,EAAA,CAC3C,EACAF,OAAS5Z,GAAAA,CACP4Z,GAAAA,MAAAA,EAAS5Z,GACJA,EAAMC,kBAAkB6Z,EAAY,EAAA,CAC3C,EACA5f,UAAWE,EAET,WACA,aACA,kBAEA,aACAF,CAAAA,mBAGDC,MAAAA,CACCD,UAAWE,EAET,OACA,kBACA,oCAEA,aACAsf,EAAS,kCAAoCzf,OAC7C,iBACA,2CACA,gDACA,oDACA,8DAEA,wDACA,wEAEA,qCACA,gBAAA,YAGDwf,SACEtf,MAAAA,CACCD,UAAWE,EACT,mDACA,OACAyf,EAAW,eAAiB,gBAAA,EAG7BJ,SAAAA,CAAAA,GAIJjhB,QAEA2B,MAAAA,CAAID,UAAU,yCAA0C8G,SAAAA,OAE1D0Y,SACEvf,MAAAA,CACCD,UAAWE,EAET,sBACA,mCAEA,4BAEA,gCAEA,mCACA,gBAAA,EAGDsf,SAAAA,MAKX,CCzFO,SAASK,GAAU,CACxBN,KAAAA,EACAzY,OAAAA,EACA0Y,OAAAA,EACAxf,UAAAA,EAGAyf,QAAAA,EACAC,OAAAA,EACA/Z,IAAAA,EACAN,SAAAA,EACAzF,MAAAA,EACA,aAAckgB,EAAYlgB,EAC1B,kBAAmBmgB,EACnBC,YAAAA,EAAcF,EACd,GAAGziB,CACY,EAAA,CACT4iB,MAAAA,EAAM7gB,aAAWyb,EAAAA,EAEjBqF,EAAW/Y,SAAyB,IAAA,EACpCgZ,EAAahZ,SAAO,EAAA,EAE1B,aACGmY,GAAAA,CACCC,KAAAA,EACAzY,OAAAA,EACA0Y,OAAAA,EACAxf,UAAWE,EAAK,cAAeF,CAAAA,EAC/ByF,SAAU,GACVF,QAAUO,GAAAA,OACJoa,EAASla,UAAYF,EAAMI,SAC7BJ,EAAMW,eAAc,EACpBX,EAAMsa,gBAAe,GACrBF,EAAAA,EAASla,UAATka,MAAAA,EAAkBG,QAEtB,EACAC,YAAcxa,GAAAA,CACRqa,EAAWna,SAAWF,EAAMI,SAAWga,EAASla,UAElDF,EAAMW,eAAc,EACpBX,EAAMsa,gBAAe,EAEzB,EAEA,eAACpP,QAAAA,CACE,GAAG3T,EACJgI,SAAUA,GAAY4a,EAAI5a,SAC1BzF,MAAAA,EACAogB,YAAAA,EACArY,aAAYmY,EACZ3E,kBAAiB4E,GAAkBE,EAAIlF,QACvCpV,IAAKoZ,GAAU,CAACpZ,EAAKua,CAAAA,CAAS,EAC9BlgB,UAAU,sHACVyf,QAAU3Z,GAAAA,CACR2Z,GAAAA,MAAAA,EAAU3Z,GACLA,EAAMC,mBAAkBoa,EAAWna,QAAU,GACpD,EACA0Z,OAAS5Z,GAAAA,CACP4Z,GAAAA,MAAAA,EAAS5Z,GACJA,EAAMC,mBAAkBoa,EAAWna,QAAU,GAAA,KAK5D,CClEO,SAASua,GAAc,CAC5BC,SAAAA,EAAW,GAGXd,OAAAA,EACA5M,SAAAA,EACAhM,OAAAA,EACA2Z,aAAAA,EAAe,mBACflB,KAAAA,QAAQmB,GAAAA,CAAS1gB,UAAU,KAAA,GAC3Bf,MAAAA,EACA0hB,aAAAA,EAAe1hB,EACf0G,IAAAA,EACA/F,MAAAA,EACAghB,IAAAA,EAAM,OACNC,eAAAA,EAAiB,OACjBC,YAAAA,EAAc,MACdC,WAAAA,EAAa,QACb,GAAG1jB,CACgB,EAAA,CACnB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACRse,EAAW/Y,SAAyB,IAAA,EACpC,CAAC+X,EAAS8B,CAAW,EAAGzhB,EAAAA,SAAkB,EAAA,EAC1C,CAAC4e,EAAU8C,CAAY,EAAG1hB,EAAAA,SAC9B,OAAOohB,GAAiB,SAAWA,EAAe,EAAA,EAG9CO,EAAWjgB,cACd6E,GAAAA,CACCgN,GAAAA,MAAAA,EAAWhN,GACCA,EAAAA,EAAMI,OAAOjH,KAAK,CAAA,EAEhC,CAAC6T,CAAAA,CAAS,EAGZ,aACG+M,GAAAA,CACE,GAAGxiB,EACJuC,MAAOA,GAAAA,EAAAA,EAAAA,eACP+F,IAAKoZ,GAAU,CAACpZ,EAAKua,CAAAA,CAAS,EAC9BU,IAAAA,EACAC,eAAAA,EACAC,YAAAA,EACAC,WAAAA,EACAxB,KAAAA,EACAG,OACEc,EACK1a,GAAAA,CACC4Z,GAAAA,MAAAA,EAAS5Z,GACJA,EAAMC,kBAAkBib,EAAW,EAAA,CAAA,EAE1CtB,EAENzgB,MAAOkf,EACPrL,SAAUoO,EACV/b,KAAM+Z,EAAU,OAAS,WACzBuB,aAAAA,EACA3Z,cACEkL,WAAA,iBACGiN,GAAAA,CACCjf,UAAU,MACVkf,QAAAA,EACAC,cAAe,IAAA,OACF6B,EAACvZ,GAAS,CAACA,CAAAA,GACtByY,EAAAA,EAASla,UAATka,MAAAA,EAAkBG,OAAAA,CACpB,GAEDvZ,CAAAA,KAKX,CCtEO,SAASqa,GAAiB,CAC/BhD,SAAUiD,EAAe,GACzBC,WAAAA,EAGAvO,SAAAA,EACA2N,aAAAA,EAAe,eACfa,UAAAA,EAAYlE,GACZ,GAAG/f,CACmB,EAAA,CACtB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACuc,EAAU8C,CAAY,EAAG1hB,EAAAA,SAAiB6hB,CAAAA,EAE3CF,EAAWjgB,cACd6E,GAAAA,CACO,KAAA,CAAE7G,MAAAA,GAAU6G,EAAMI,OACxB4M,GAAAA,MAAAA,EAAWhN,GACPA,CAAAA,EAAMC,mBACVkb,EAAYhiB,CAAAA,EACZoiB,GAAAA,MAAAA,EAAavb,EAAMI,OAAOqb,SAASC,MAAQviB,EAAQc,QAAAA,EAErD,CAAC+S,EAAUuO,CAAAA,CAAW,EAGxB,aACGd,GAAAA,CACE,GAAGljB,EACJ2iB,YAAWpN,EAAA,EAAA,eACXjL,aAAUiL,EAAA,EAAA,eACVhT,MAAKgT,EAAA,EAAA,qBAA6BwK,oBAAAA,EAAAA,IAClCkE,UAAAA,EACAxO,SAAUoO,EACVjiB,MAAOkf,EACPsC,aAAAA,EACAjB,cACExN,WAAA,iBACGwM,GAAAA,CAAsBL,SAAAA,CAAAA,SACtBD,GAAAA,CACCle,UAAU,4DACVme,SAAAA,QAMZ,CCnCO,MAAMsD,GAAmB,cAEzB,SAASC,GAAW,CACzBC,QAAAA,EAAUF,GACVG,QAAAA,EAGArC,KAAAA,QAAQsC,GAAAA,CAAU7hB,UAAU,KAAA,GAC5BJ,MAAAA,EAAQ+hB,EACR7O,SAAAA,EACA7T,MAAAA,EACA0hB,aAAAA,EAAe1hB,EACf,GAAG5B,CACa,EAAA,CAChB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACkgB,EAAOC,CAAS,EAAGxiB,EAAAA,SACxB,OAAOohB,GAAiB,SAAWA,EAAe,EAAA,EAGpD,aACGd,GAAAA,CACE,GAAGxiB,EACJ8H,KAAK,OACL0b,eAAe,aACfC,YAAY,MACZL,aAAa,gBACbM,WAAW,QACXO,UAAW,GACXU,UAAW,GACXpB,IAAI,OACJrB,KAAAA,EACA0C,QAAQ,4BACRjC,YAAWpN,EAAA,EAAA,qBAAiB+O,QAAAA,CAAAA,IAC5B/hB,MAAAA,EACAX,MAAO6iB,EACPhP,SAAWhN,GAAAA,CACT,KAAM,CAAE7G,MAAAA,EAAOijB,aAAAA,EAAcC,eAAAA,CAAAA,EAAmBrc,EAAMoX,cAEhDkF,EAAaC,GAAIpjB,CAAAA,EAEvB6G,EAAMoX,cAAcje,MAAQmjB,EAG5B,MAAME,EAAMJ,GAAgBC,EAC5B,GAAIG,GAAO,KAAM,CACf,MAAMC,EAAmBF,GAAIpjB,EAAM2B,MAAM,EAAG0hB,CAAAA,CAAAA,EAC5Cxc,EAAMoX,cAAciF,eAClBrc,EAAMoX,cAAcgF,aAAeK,EAAiBvO,MAAAA,CAGxD+N,EAASK,CAAAA,EACTtP,GAAAA,MAAAA,EAAWhN,GAENA,EAAM0c,sBACTZ,GAAAA,MAAAA,EAAUQ,EAAWpO,SAAW,GAAKoO,EAAa,KACpD,CACF,EAGN,CAEA,SAASC,GAAIpjB,EAAa,CACxB,MAAM8L,EAAa9L,EAAMwjB,YAAcC,EAAAA,WAAW,aAAc,EAAA,EAE5D3X,OAAAA,EAAWiJ,QAAU,EAAUjJ,EAE5B,GAAGA,EAAWnK,MAAM,EAAG,CAAA,CAAA,IAAMmK,EAAWnK,MAAM,EAAG,EAAK,CAAA,EAC/D,CC/DO,SAAS+hB,GAAyB,CACvCtI,SAAAA,EAGAtJ,QAAAA,EACA,GAAG1T,CAC2B,EAAA,CAC9B,MAAMulB,EAActb,GAAgB,CAAE0T,OAAQ,kBAAA,CAAmB,EAC3D6H,EAAc1b,SAAyB,IAAA,EAEvC,CAAC2a,EAAOC,CAAS,EAAGxiB,EAAAA,SAAwB,IAAA,EAC5C,CAAC4e,EAAU8C,CAAY,EAAG1hB,EAAAA,SAA6BQ,MAAAA,EAE7D,cACG6c,GAAAA,CACE,GAAGvf,EACJgd,SAAWpX,GAAAA,CACL6e,GAAAA,GAAS3D,EAAU,OAAO9D,EAAS,CAAEyH,MAAAA,EAAO3D,SAAAA,GAAYlb,CAAAA,CAC9D,EACA8N,QAASA,GAAW,CAAC+Q,GAAS,CAAC3D,kBAE9BrW,GAAAA,CAAWE,GAAI4a,EAAazd,KAAK,wBAChCoN,EAAA,uBAMDuI,GAAAA,CAASpI,YAAOH,EAAA,eACf,eAACmP,GAAAA,CACCpY,KAAK,OACL6R,kBAAiByH,EACjBE,aAAa,OACbC,SAAQ,GACRC,UAAW,GACXpB,QAAUE,GAAAA,OACRC,EAASD,CAAAA,EAELA,KAAmB9b,EAAAA,EAAAA,UAAAA,MAAAA,EAASqa,QAAAA,YAKrCvF,GAAAA,CAASpI,YAAOH,EAAA,eACf,eAAC4O,GAAAA,CACCxb,IAAKkd,EACLvZ,KAAK,WACLwZ,aAAa,OACbC,SAAQ,GACR5E,SAAAA,EACAkD,WAAYJ,QAKtB,CCxEO,SAASgC,GAAkB,CAChCC,QAAAA,EAGArC,eAAAA,EAAiB,OACjBJ,aAAAA,EAAe,QACfK,YAAAA,EAAc,MACdF,IAAAA,EAAM,OACNrB,KAAAA,QAAQpK,GAAAA,CAAanV,UAAU,KAAA,CAAQ,EACvC0f,OAAAA,EACA5M,SAAAA,EACAmP,QAAAA,EAAU,wBACVlB,WAAAA,EAAa,QACb9hB,MAAAA,EACA0hB,aAAAA,EAAe1hB,EACfW,MAAAA,EACA,GAAGvC,CACoB,EAAA,CACvB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACmW,EAAOoL,CAAS,EAAG5jB,EAAAA,SACxB,OAAOohB,GAAiB,SAAWA,EAAe,EAAA,EAG9CO,EAAWjgB,cACd6E,GAAAA,CACC,MAAMiS,EAAQjS,EAAMI,OAAOjH,MAAMyN,YAAW,EAE5CyW,EAASpL,CAAAA,EACTjF,GAAAA,MAAAA,EAAWhN,GACXod,GAAAA,MAAAA,EAAUpd,EAAMI,OAAOqb,SAASC,MAAQzJ,EAAQhY,OAAAA,EAElD,CAAC+S,EAAUoQ,CAAAA,CAAQ,EAGrB,aACGrD,GAAAA,CACE,GAAGxiB,EACJuC,MAAOA,GAAAA,EAAAA,EAAAA,eACPuF,KAAK,QACL0b,eAAAA,EACAC,YAAAA,EACAF,IAAAA,EACAG,WAAAA,EACAxB,KAAAA,EACA0C,QAAAA,EACAxB,aAAAA,EACAxhB,MAAO8Y,EACPjF,SAAUoO,EACVxB,OAAAA,CAAAA,EAGN,CCvCO,SAAS0D,GAAyB,CACvCC,aAAAA,EACAhJ,SAAAA,EAGAtJ,QAAAA,EACApL,IAAAA,EACA,GAAGtI,CAC2B,EAAA,CAC9B,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR0hB,EAAchc,GAAgB,CAAE0T,OAAQ,kBAAA,CAAmB,EAC3D,CAACjD,EAAOoL,CAAS,EAAG5jB,EAAAA,SAAS8jB,CAAAA,EAE7BE,EAAUpc,SAA8B,IAAA,EAExC8V,EAAWhc,cACdgC,GAAAA,CACK8U,GAAAA,SAAcsC,EAAS,CAAEtC,MAAAA,GAAS9U,CAAAA,CAAAA,EAExC,CAAC8U,EAAOsC,CAAAA,CAAS,EAGnB,aACGuC,GAAAA,CACE,GAAGvf,EACJsI,IAAKoZ,GAAU,CAACpZ,EAAK4d,CAAAA,CAAQ,EAC7BxS,QAASA,GAAW,CAACgH,EACrBsC,SAAU4C,EAEV,gBAACnC,GAAAA,CAASpI,YAAOH,EAAA,+BACd0Q,GAAAA,CACC3Z,KAAK,QACL0W,YAAWpN,EAAA,EAAA,eACXuI,kBAAiBmI,EACjB1jB,MAAKgT,EAAA,EAAA,eACLmQ,SAAQ,GACRC,UAAW,GACX/jB,MAAO8Y,EACPmL,QAAUnL,GAAAA,QACRwL,EAAAA,EAAQvd,UAARud,MAAAA,EAAiBxH,QACjBoH,EAASpL,CAAAA,CAAAA,CACX,SAEDjQ,GAAAA,CAAW3C,KAAK,SAAS6C,GAAIsb,iBAC5B/Q,EAAA,qBAQV,CCzCO,SAASiR,GAAkB,CAChCH,aAAAA,EACAI,uBAAAA,EACAC,uBAAAA,EACAzJ,OAAAA,EAGA,GAAG5c,CACoB,EAAA,CACvB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAAC+hB,EAAMC,CAAAA,EAAWrkB,EAAAA,SAAAA,CAAAA,EAExB,GAAIokB,IAA4B,EAC9B,cACGjkB,GAAAA,CACE,GAAGrC,EACJuC,MAAOvC,EAAMuC,OAAKgT,EAAA,EAAA,eAClB/S,SACExC,EAAMwC,UAAY4E,EAAAA,IAAA8N,EAAA,+BAGnB6Q,GAAAA,CACCC,aAAAA,EACAxG,kBAAatK,EAAA,eACb8H,SAAU,MAAOrX,EAAMC,IAAAA,CACfwgB,MAAAA,EAAuBzgB,EAAMC,CAAAA,EAC9BA,EAAOsZ,SAASqH,EAAAA,CAAAA,CACvB,EACA7G,kBAAaxK,EAAA,eACbuK,SAAU7C,CAAAA,SAEX4J,KAAAA,CAAG7jB,UAAU,2CAAA,SACb8jB,SAAAA,CACC,eAAChf,EAAAA,CAAOE,YAAW,GAACO,QAAS,IAAMqe,EAAAA,CAAAA,iBACjCrR,EAAA,sBAOV,GAAIoR,IAA4B,EAC9B,aACGjkB,GAAAA,CACE,GAAGrC,EACJuC,MAAOvC,EAAMuC,OAAKgT,EAAA,EAAA,eAClB/S,SACExC,EAAMwC,UACJ4E,EAAAA,IAAA8N,EAAA,eAIJ,eAACoQ,GAAAA,CACC9F,kBAAatK,EAAA,eACb8H,SAAU,MAAOrX,EAAMC,IAAAA,CACfygB,MAAAA,EAAuB1gB,EAAMC,CAAAA,EAC9BA,EAAOsZ,SAASqH,EAAAA,CAAAA,CACvB,EACA7G,kBAAaxK,EAAA,eACbuK,SAAU7C,MAMlB,GAAI0J,IAA+B,EACjC,aACGjkB,GAAAA,CACE,GAAGrC,EACJuC,MAAOvC,EAAMuC,OAAKgT,EAAA,EAAA,eAClB/S,SACExC,EAAMwC,UAAY4E,EAAAA,IAAA8N,EAAA,eAGpB,gBAACuR,SAAAA,iBACEC,KAAAA,CAAG/jB,UAAU,wCACZuS,EAAA,uBAEDnS,IAAAA,CAAEJ,UAAU,sBACXuS,EAAA,uBAEDzN,EAAAA,CAAOC,MAAM,UAAUQ,QAAS0U,iBAC/B1H,EAAA,sBAOV,MAAM,IAAI6J,MAAM,iBAAiBuH,CAAM,EAAA,CACzC,CC7GO,SAASK,GAAc,CAC5BhkB,UAAAA,EACA1B,SAAAA,EAGA0J,GAAAA,EACArC,IAAAA,EACAN,SAAAA,EACAzF,MAAAA,EACA,aAAckgB,EAAYlgB,EAC1B,kBAAmBmgB,EACnB,GAAG1iB,CACgB,EAAA,CACb4mB,MAAAA,EAAU3c,GAAgB,iBAAA,EAC1B4c,EAAW/c,SAAyB,IAAA,EACpC+Y,EAAW/Y,SAAyB,IAAA,EACpC8Y,EAAM7gB,aAAWyb,EAAAA,EAEjBsJ,EAAUnc,GAAMic,EAEtB,aACG3E,GAAAA,CACCtf,UAAWE,EAAK,iBAAkBF,CAAAA,EAClCuf,WACG1O,GAAAA,CACE,GAAGxT,EACJgI,SAAUA,GAAY4a,EAAI5a,SAC1BzF,MAAAA,EACA+H,aAAYmY,EACZ3E,kBACE7c,EAEIyB,OACAggB,GAAkBE,EAAIlF,QAE5BpV,IAAKoZ,GAAU,CAACpZ,EAAKua,CAAAA,CAAS,EAC9BlY,GAAImc,EACJnkB,UAAU,+BAAA,GAGdyF,SAAU,GACVF,QAAS,CAAC,CAAEW,OAAAA,KAAQ,OAEdA,IAAWge,EAASle,SACpBE,IAAWga,EAASla,WAExBka,EAAAA,EAASla,UAATka,MAAAA,EAAkBkE,QACpB,EAEC9lB,SAAAA,GACCmG,EAAA,IAACiO,QAAAA,CACC/M,IAAKue,EACLD,QAASE,EACTnkB,UAAU,wDAET1B,SAAAA,KAKX,CChCO,SAAS+lB,GAAW,CACzBC,gBAAAA,EAAkB,GAClBC,iBAAAA,EAAmB,GACnBC,gBAAAA,EAAkB,GAElBnK,SAAAA,EACAJ,OAAAA,EACAC,UAAAA,EACAuK,iBAAAA,EAGA9e,IAAAA,EACAoL,QAAAA,EACAzS,SAAAA,EACA,GAAGjB,CACa,EAAA,CAChB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAER,CAAC8iB,EAAUC,CAAY,EAAGplB,EAAAA,SAAiB+kB,CAAAA,EAC3C,CAACnG,EAAU8C,CAAY,EAAG1hB,EAAAA,SAAiB,EAAA,EAC3C,CAACqlB,EAAUC,CAAY,EAAGtlB,EAAAA,SAAkBilB,CAAAA,EAC5C,CAACM,EAAKC,CAAO,EAAGxlB,EAAAA,SAAwB,IAAA,EAExC,CAACylB,EAAcC,CAAgB,EACnC1lB,EAAAA,SAAyD,IAAA,EAErD,CAAC0F,EAASsW,CAAW,EAAGhc,EAAAA,SAAS,EAAA,EAEjC2lB,EAAU/d,SAA8B,IAAA,EAExCge,EAAoBlkB,EAAAA,YAAY,IAAA,CACpC8jB,EAAO,IAAA,EACPE,EAAgB,IAAA,CAAA,EACf,CAACF,EAAQE,CAAAA,CAAgB,EAEtBG,EAAankB,EAAAA,YAAY,IAAA,OAC7BkkB,EAAAA,GACAD,EAAAA,EAAQlf,UAARkf,MAAAA,EAAiBnJ,OAAAA,EAChB,CAACoJ,EAAmBD,CAAAA,CAAQ,EAEzBjI,EAAWhc,cACf,MAAOgC,GAAAA,CACD,GAAA,CACF,MAAMoX,EACJ,CACEqK,SAAAA,EACAvG,SAAAA,EACAyG,SAAAA,EACA,GAAII,EAAe,CAAE,CAACA,EAAa7f,IAAI,EAAG2f,CAAAA,EAAQ,CAAA,GAEpD7hB,CAAAA,QAEKkZ,EAAK,CACZ,GAAIlZ,EAAOsZ,QAET,OAGF,GAAIJ,aAAekJ,GAAyC,CAC1DJ,EAAgB9I,CAAAA,EAKhB,MAAA,CAGF,MAAIA,aAAemJ,IAGjBH,EAAAA,EAIIhJ,CAAAA,CACR,EAEF,CAACuI,EAAUvG,EAAUyG,EAAUI,EAAcF,EAAKzK,CAAAA,CAAS,EAG7D,cACGuC,GAAAA,CACE,GAAGvf,EACJsI,IAAKoZ,GAAU,CAACpZ,EAAKuf,CAAAA,CAAQ,EAC7B5J,UAAWC,EACXuB,SAAU7C,EACV8C,YAAa7C,GAAAA,EAAAA,EAAAA,eACbpT,OAAQxI,EACRyS,QACEA,GAAW,CAAC2T,GAAY,CAACvG,GAAa6G,GAAgB,MAAQ,CAACF,EAEjEjI,YACEmI,EACEvgB,EAAA,IAAA8N,EAAA,aAEA,EAAA9N,EAAA,IAAA8N,EAAA,eAGJ8H,SAAU4C,kBAETnC,GAAAA,CAASzV,SAAUJ,EAASyN,YAAOH,EAAA,eAClC,eAACsN,GAAAA,CACCN,WAAOpK,GAAAA,CAAanV,UAAU,KAAA,GAC9BsJ,KAAK,WACLnE,KAAK,OACLvF,MAAKgT,EAAA,EAAA,eACLiO,eAAe,OACfC,YAAY,MACZL,aAAa,WACbM,WAAW,QACXH,IAAI,OACJkC,aAAa,OACbC,SAAQ,GACRwC,SAAUhB,EACVlf,SAAUkf,EACVvB,UAAW,CAACuB,EACZtlB,MAAOylB,EACP5R,SAAWhN,GAAAA,CACTsf,EAAAA,EACYtf,EAAAA,EAAMI,OAAOjH,KAAK,CAAA,YAKnC6b,GAAAA,CAASzV,SAAUJ,EAASyN,YAAOH,EAAA,eAClC,eAACgO,GAAAA,CACCjX,KAAK,WACLwJ,SAAWhN,GAAAA,CACTsf,EAAAA,EACYtf,EAAAA,EAAMI,OAAOjH,KAAK,CAChC,EACA6H,OACE2d,GACEhgB,EAAA,IAACK,EAAAA,CACC9E,UAAU,UACVmF,KAAK,SACLI,QAAS,IAAA,CACPkf,EACEC,GAAAA,MAAAA,EAAUhR,SAAS,KAAOgR,EAAW3kB,MAAAA,CAEzC,EACA4H,aAAUiL,EAAA,EAAA,8BAEVL,EAAA,iBAINuQ,aAAckC,EAAe,OAAS,OACtC3f,SAAUJ,EACV+d,UAAWuB,EACXxB,SAAQ,aAIXjb,GAAAA,CAAW1C,KAAK,QAAQxF,YAAO2S,EAAA,8BAC9BA,EAAA,uBAMDyR,GAAAA,CACC1a,KAAK,WACL1J,MAAKgT,EAAA,EAAA,eACLkQ,aAAckC,EAAe,OAAS,OACtCnS,QAAS+R,EACT9R,SAAWhN,GAAU+e,EAAY/e,EAAMI,OAAO2M,OAAO,iBAErDN,EAAA,iBAGDyS,SACElK,GAAAA,CAECzV,SAAUJ,EACVyN,YAAOH,EAAA,eAEP,gBAACtS,MAAAA,iBACEyhB,GAAAA,CACC9hB,MAAKgT,EAAA,EAAA,eACLkQ,aAAa,OACbC,SAAQ,GACRC,UAAW,GACX/jB,MAAO6lB,GAAO,GACdlD,QAASmD,CAAAA,SAGV3kB,IAAAA,CAAEJ,UAAU,4DACXuS,EAAA,qBACcyS,EAAAA,EAAare,IAAAA,UAhB3B,KAAA,CAAA,GAyBd,CC3OO,SAAS6e,GAAa,CAAEphB,IAAAA,EAAKE,IAAAA,GAAuB,CACzD,KAAM,CAACJ,EAASC,CAAW,EAAG5E,EAAAA,SAAS,EAAA,EAEvCiF,OAAAA,EAAAA,UAAU,IAAA,CACRL,EAAW,EAAA,CAAA,EACV,CAACC,CAAAA,CAAI,EAEDA,GAAO,CAACF,EACbO,EAAAA,IAACC,MAAAA,CACCC,cAAW,GACXP,IAAAA,EACAE,IAAAA,EACAtE,UAAU,6BACV4E,QAAS,IAAMT,EAAW,EAAA,CAAA,GAG5BM,EAAA,IAACxE,MAAAA,CACC0E,cAAW,GACX3E,UAAU,kGAEV,eAACylB,GAAAA,CAAYzlB,UAAU,iBAG7B,CCDO,SAAS0lB,GAAa,CAC3BC,SAAAA,EAEAC,UAAAA,EACAC,QAAAA,EAAU9lB,OACVka,OAAAA,EACA6L,SAAAA,EAEA5L,UAAAA,EAGA5b,SAAAA,EACA,GAAGjB,CACe,EAAA,CAClB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACd,cACG4V,GAAAA,CACE,GAAGna,EACJyJ,OAAQxI,EACRyY,QACE+O,GACErhB,EAAA,IAACK,EAAAA,CAAOS,QAASugB,EAAU/gB,MAAM,UAAUC,YAAW,kBACpDuN,EAAA,iBAINkF,OACEwC,GACExV,EAAA,IAACK,EAAAA,CAAOS,QAAS0U,WAASC,GAAazV,EAAA,IAAA8N,EAAA,iCAI1CnS,IAAAA,CAAEJ,UAAU,wEACXuS,EAAA,iBAGDoT,EAASvjB,IAAKD,SACZmd,GAAAA,CACC7Z,SAAU,EAEVsgB,UAAYjgB,GAAAA,EACNA,EAAMU,MAAQ,SAAWV,EAAMU,MAAQ,MACzCof,EAAUzjB,CAAAA,CAEd,EACAoD,QAAS,IAAMqgB,EAAUzjB,CAAAA,EACzBiD,KAAK,SACLuC,aAAUiL,EAAA,EAAA,qBAAiBzQ,EAAAA,EAAQmH,IAAAA,IACnCiW,WAAOiG,GAAAA,CAAaphB,IAAKjC,EAAQ6jB,QAAS1hB,IAAGsO,EAAA,EAAA,iBAC7C9L,aAASmf,GAAAA,CAAiBthB,cAAW,GAAC3E,UAAU,KAAA,GAChDA,UAAU,iBAEV,gBAACoZ,OAAAA,CAAKpZ,UAAU,wCACbmC,EAAQmH,MACP7E,EAAA,IAAC2U,OAAAA,CAAKpZ,UAAU,4BAA4BkmB,cAAWtT,EAAA,EAAA,eACpDzQ,SAAAA,EAAQmH,IAAAA,SAIZ8P,OAAAA,CACCpZ,UAAU,0DACVkmB,cAAWtT,EAAA,EAAA,eAEVzQ,SAAAA,EAAQ2V,oBAAsB3V,EAAQ4V,OAAS5V,EAAQJ,UAxBvDI,EAAQJ,GAAG,CAAA,EA8BnB8jB,SACEvG,GAAAA,CAEC7Z,SAAU,EACVsgB,UAAYjgB,GAAAA,EACNA,EAAMU,MAAQ,SAAWV,EAAMU,MAAQ,MAAKqf,EAAAA,CAClD,EACAtgB,QAASsgB,EACTle,aAAUiL,EAAA,EAAA,eACVxN,KAAK,SACL0B,aAASmf,GAAAA,CAAiBthB,cAAW,GAAC3E,UAAU,KAAA,GAChDuf,WAAOpK,GAAAA,CAAaxQ,cAAW,GAAC3E,UAAU,KAAA,GAC1CA,UAAU,iBAEV,eAACoZ,OAAAA,CAAKpZ,UAAU,6DACduS,EAAA,kBAbE,OAAA,CAAA,GAmBd,CC3FO,SAAS4T,GAAW,CACzBC,UAAAA,EACA/kB,SAAAA,EACAS,UAAAA,EAEAukB,SAAAA,EACAP,SAAAA,EACArB,iBAAAA,EACAxK,OAAAA,EACAC,UAAAA,EAGAta,MAAAA,EACAC,SAAAA,EACA,GAAGxC,CACa,EAAA,CAChB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACRa,EAAUhD,UAAQ,IAAM4B,EAASW,KAAMC,GAAMA,EAAEC,QAAQ,EAAG,CAACb,CAAAA,CAAS,EACpEilB,EAAerlB,EAAAA,YAAY,IAAMa,EAAU,IAAO,EAAA,CAACA,CAAAA,CAAU,EAC7D6jB,EAAWlmB,UAAQ,IAAM4B,EAASe,IAAKH,GAAMA,EAAEE,OAAO,EAAG,CAACd,CAAAA,CAAS,EACnE,CAACklB,EAAgBC,CAAAA,EAAqBjnB,EAAS8B,SAAAA,EAAS2S,SAAW,CAAA,EAWzE,OATApU,MAAAA,EAAAA,EAAAA,gBAEA4E,EAAAA,UAAU,IAAA,CAIJ/B,KAA2B,EAAA,CAAA,EAC9B,CAACA,CAAAA,CAAQ,EAERA,EAEGA,EAAQD,oBAGV9C,GAAAA,CACE,GAAGrC,EACJuC,MAAAA,EACAC,SAAUA,GAAY4E,EAAA,IAAA8N,EAAA,eAEtB,eAAC8R,GAAAA,CACChK,SAAUgM,EACV5B,iBAAAA,EACAxK,OAAQqM,EACRhC,gBACE7hB,EAAQN,QAAQ2V,oBAAsBrV,EAAQN,QAAQJ,IAExDwiB,iBAAkB,GAClBC,gBAAiB,OAhBY,KAsBjC4B,QAEC1mB,GAAAA,CACE,GAAGrC,EACJuC,MAAAA,EACAC,SAAUA,GAAY4E,EAAA,IAAA8N,EAAA,eAEtB,eAAC8R,GAAAA,CACChK,SAAUgM,EACV5B,iBAAAA,EACAxK,OAAAA,EACAC,UAAAA,EACAoK,gBAAiB8B,EACjB7B,iBAAkB,OAMtBljB,EAAS2S,SAAW,QAEnBtU,GAAAA,CACE,GAAGrC,EACJuC,MAAAA,EACAC,SAAUA,GAAY4E,EAAA,IAAA8N,EAAA,eAEtB,eAAC8R,GAAAA,CACChK,SAAUgM,EACV5B,iBAAAA,EACAxK,OAAAA,EACAC,UAAAA,MAMJqM,QAEC7mB,GAAAA,CACE,GAAGrC,EACJuC,MAAAA,EACAC,SAAUA,GAAY4E,EAAA,IAAA8N,EAAA,eAEtB,eAAC8R,GAAAA,CACChK,SAAUgM,EACV5B,iBAAAA,EACAxK,OAAQ,IAAMuM,EAAkB,EAAA,YAOrC9mB,GAAAA,CACE,GAAGrC,EACJuC,MAAAA,EACAC,SAAUA,GAAY4E,EAAA,IAAA8N,EAAA,eAEtB,eAACmT,GAAAA,CACCC,SAAAA,EACAC,UAAYhnB,GAAMkD,EAAUlD,EAAEmD,GAAG,EACjC8jB,QAAS,IAAMW,EAAkB,EAAA,EACjCvM,OAAAA,EACAC,UAAAA,EACA4L,SAAAA,KAIR,CCjJA,MAAMW,GACJxkB,GAC4CA,GAAK,MAAQA,IAAM,GAC3DykB,GACJzkB,GAEAwkB,GAAUxkB,CAAMA,GAAAA,EAAE8O,UAAY,GAC1B4V,GACJ1kB,GAEA,CAACwkB,GAAUxkB,CAAMA,GAAAA,EAAE8O,UAAY,GAE1B,SAAS6V,GACdC,EAAoC,CAE9BC,MAAAA,EAAWD,EAAMlmB,UAAU8lB,EAAAA,EAC3BM,EAAUF,EAAMG,cAAcP,EAAAA,EAC9BQ,EAAcJ,EAAMlmB,UAAU+lB,EAAAA,EAE9B,CAACQ,EAAYC,CAAc,EAAG5nB,EAAAA,SAAiBunB,CAAAA,EAE/CM,EAAKnmB,cACRP,GACKA,IAAQ,IAAMmmB,EAAMnmB,IACtBymB,EAAczmB,CAAAA,EACP,IAEA,GAGX,CAACmmB,EAAMzkB,IAAIqkB,EAAAA,EAAW9M,KAAI,CAAA,CAAG,EAGzB0N,EAAUR,EAAMG,cAAc,CAAC/kB,EAAGsI,IAAMkc,GAAUxkB,CAAAA,GAAMsI,EAAI2c,CAAAA,EAC5DI,EAAUT,EAAMlmB,UAAU,CAACsB,EAAGsI,IAAMkc,GAAUxkB,CAAAA,GAAMsI,EAAI2c,CAAAA,EAExDK,EAAUtmB,EAAAA,YAAY,IAAMmmB,EAAGN,CAAW,EAAA,CAACM,EAAIN,CAAAA,CAAS,EACxDU,EAASvmB,EAAAA,YAAY,IAAMmmB,EAAGL,CAAU,EAAA,CAACK,EAAIL,CAAAA,CAAQ,EACrDU,EAASxmB,EAAAA,YAAY,IAAMmmB,EAAGC,CAAU,EAAA,CAACD,EAAIC,CAAAA,CAAQ,EACrDK,EAASzmB,EAAAA,YAAY,IAAMmmB,EAAGE,CAAU,EAAA,CAACF,EAAIE,CAAAA,CAAQ,EACrDK,EAAa1mB,EAAAA,YAAY,IAAMmmB,EAAGH,CAAc,EAAA,CAACG,EAAIH,CAAAA,CAAY,EAGjEW,EACJV,EAEA,EAGAL,EAAMgB,OACJ,CAACC,EAAK7lB,EAAGsI,IAAOA,GAAK2c,GAAcT,GAAUxkB,CAAAA,EAAK6lB,EAAMA,EAAM,EAC9D,CAAA,EAGEC,EAAQlB,EAAMtT,OAAOkT,IAAWzS,OAChCgU,EAAYnB,EAAMrS,MAAMmS,EAAAA,EAExB3gB,EACJkhB,IAAe,IAAM,CAACL,EAAMK,CAAAA,EAAcnnB,OAAY8mB,EAAMK,CAAW,EAGnEe,EAASf,IAAe,GAC9B1iB,OAAAA,EAAAA,UAAU,IAAA,CACJyjB,GAAQV,EAAAA,CAAAA,EACX,CAACU,CAAAA,CAAO,EAEJ,CACLjiB,QAAAA,EACA4hB,gBAAAA,EACAG,MAAAA,EACAC,UAAAA,EACAE,QAASN,IAAoB,EAC7BO,OAAQP,IAAoBG,EAC5BR,QAAAA,EACAC,OAAAA,EACAC,OAAAA,EACAC,OAAAA,EACAC,WAAAA,CACF,CACF,CChCO,SAASS,GAAiC,CAC/CC,UAAAA,EACAC,UAAAA,EAEArO,OAAAA,EACAC,UAAAA,EAEAqO,OAAAA,EACAC,UAAAA,EAEA3B,MAAAA,EACA7mB,UAAAA,EAEA,GAAG3C,CAAAA,EACoB,SACvB,KAAM,CACJ6qB,QAAAA,EACAC,OAAAA,EACAJ,MAAAA,EACA/hB,QAAAA,EACA4hB,gBAAAA,EACAI,UAAAA,EACAN,OAAAA,EACAD,OAAAA,EACAE,WAAAA,GACEf,GAAWC,CAAAA,EAGT4B,EAASxnB,EAAAA,YAAY,IAAA,CAEpBymB,EAAUC,GAAAA,EAAAA,CAAAA,EACd,CAACD,EAAQC,CAAAA,CAAW,EAEjB3kB,EAAiC,CAErCgD,QAAS,GACT+K,QAAS/K,EAAUA,EAAQ+K,QAAU,GAErCsX,UAAYH,GAAWhO,GAAcmO,SAAa9V,EAAA,eAClD9K,KAAMygB,EAAUjO,EAASwN,EAEzBa,UAAYH,GAAUK,GAAcF,SAAa/V,EAAA,eACjDmW,KAAMP,GAAUH,EAAYO,EAASE,CACvC,EAEME,GAAY3iB,EAAAA,GAAAA,YAAAA,EAAS4iB,cAAT5iB,YAAAA,EAAAA,KAAAA,EAAuBhD,GACnC6lB,GAAc7iB,EAAAA,GAAAA,YAAAA,EAAS8iB,gBAAT9iB,YAAAA,EAAAA,KAAAA,EAAyBhD,GAE7C,cACG/C,MAAAA,CAAID,UAAWE,EAAKF,EAAW,eAAA,EAAmB,GAAG3C,kBACnD+C,IAAAA,CAAEJ,UAAU,oDACXuS,EAAA,qBACQqV,gBAAAA,EAAqBG,MAAAA,CAAAA,MAI9BY,SAAc5E,KAAAA,CAAG/jB,UAAU,2BAA4B2oB,SAAAA,CAAAA,GAEvDE,CAAAA,GAGP,CCtGO,SAASE,GAAS,CACvBC,MAAAA,EAEAhpB,UAAAA,EACA,GAAG3C,GACW,CACd,MAAM4rB,EAAWD,GAAAA,YAAAA,EAAOhnB,KAAMknB,GAAMA,EAAExO,MAAQ,QAE1C,OAACuO,QAGF7oB,IAAAA,CACE,GAAG/C,EACJ2C,UAAWE,EACT,2FACAF,CAAAA,iBAGFuS,EAAA,yBAEG3T,QAAAA,IAAAA,CACCwG,KAAK,OACLvC,KAAMomB,EAASpmB,KACf6X,IAAKuO,EAASvO,IACdxU,OAAO,SACPlG,UAAU,sBAjBI,IAwBxB,CCLO,SAASmpB,GAAkB,CAChCC,mBAAAA,EAAqB,GAErBC,YAAaC,EACbC,cAAAA,EAEAd,OAAAA,EACAH,UAAAA,EAEAkB,OAAAA,EACAnB,UAAAA,EAGA/pB,SAAAA,EACAqH,IAAAA,EACAoL,QAAAA,EACA,GAAG1T,CACoB,EAAA,CACvB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAER,CAACmW,EAAOoL,CAAS,EAAG5jB,EAAAA,SAAS+pB,GAAAA,YAAAA,EAAOvR,KAAAA,EACpC,CAACoG,EAAU8C,CAAY,EAAG1hB,EAAAA,SAAS+pB,GAAAA,YAAAA,EAAOnL,QAAAA,EAC1C,CAACsL,EAAYC,CAAc,EAAGnqB,EAAAA,SAAS+pB,GAAAA,YAAAA,EAAOG,UAAAA,EAE9CvE,EAAU/d,SAA8B,IAAA,EACxCwiB,EAAY,IAAA,OAAMzE,OAAAA,EAAAA,EAAQlf,UAARkf,YAAAA,EAAiBnJ,SAEnCsN,EAAc5pB,EAAAA,QAClB,IACEsY,GAASoG,IAAa,CAACiL,GAAsBK,GACzC,CACE1R,MAAAA,EACAoG,SAAAA,EACAsL,WAAYL,EAAqBK,EAAa1pB,QAEhDA,OACN,CAACgY,EAAOoG,EAAUsL,EAAYL,CAAAA,CAAmB,EAGnD5kB,OAAAA,EAAAA,UAAU,IAAA,CACR+kB,GAAAA,MAAAA,EAAgBF,EAAAA,EACf,CAACA,EAAaE,CAAAA,CAAc,SAG5B3M,GAAAA,CACE,GAAGvf,EACJsI,IAAKoZ,GAAU,CAACpZ,EAAKuf,CAAAA,CAAQ,EAC7BnU,QAASA,GAAW,CAACsY,EACrBvM,SAAU0M,EACVzM,YAAasL,EACbhO,SAAUoO,EACV5L,YAAayL,EACbxhB,OAAQxI,YAEP8qB,SACEtO,GAAAA,CAASpI,YAAOH,EAAA,eACf,eAACsN,GAAAA,CACCN,WAAOsC,GAAAA,CAAU7hB,UAAU,KAAA,GAC3BgjB,UAAS,GACT1Z,KAAK,aACL1J,MAAKgT,EAAA,EAAA,eACLoN,YAAWpN,EAAA,EAAA,eACXmQ,SAAQ,GACR9jB,MAAOwqB,GAAc,GACrB3W,SAAWhN,GAAAA,CACKA,EAAAA,EAAMI,OAAOjH,OAASc,MAAAA,EACpC4pB,EAAAA,CACF,EACA7G,aAAa,iBAKlBhI,GAAAA,CAASpI,YAAOH,EAAA,eACf,eAAC0Q,GAAAA,CACCD,UAAW,CAACoG,EACZ9f,KAAK,QACLwZ,aAAa,OACbC,SAAQ,GACRpC,aAAc5I,EACdmL,QAAUnL,GAAAA,CACRoL,EAASpL,CAAAA,EACT4R,EAAAA,CAAAA,YAKL7O,GAAAA,CAASpI,YAAOH,EAAA,eACf,eAAC4O,GAAAA,CACC7X,KAAK,WACLwZ,aAAa,OACbC,SAAQ,GACR5E,SAAAA,EACAkD,WAAapiB,GAAAA,CACXgiB,EAAYhiB,CAAAA,EACZ0qB,EAAAA,CAAAA,QAMZ,CC/HO,SAASC,GAAiB,CAC/BZ,MAAAA,EAGAhpB,UAAAA,EACA,GAAG+G,CACmB,EAAA,CACtB,MAAM8iB,EAAUb,GAAAA,YAAAA,EAAOhnB,KAAMknB,GAAMA,EAAExO,MAAQ,oBACvCoP,EAASd,GAAAA,YAAAA,EAAOhnB,KAAMknB,GAAMA,EAAExO,MAAQ,kBAE5C,aACGta,IAAAA,CACCJ,UAAWE,EAAK,6CAA8CF,CAAAA,EAC7D,GAAG+G,iBAEJwL,EAAA,qBAEGsX,EAAAA,EACCplB,EAAA,IAACslB,GAAAA,CAAW/pB,UAAU,yBAAyBgqB,KAAMH,iBACnDtX,EAAA,eAGF,EAAA9N,EAAA,IAAA8N,EAAA,eAGDuX,EAAAA,EACCrlB,EAAA,IAACslB,GAAAA,CAAW/pB,UAAU,yBAAyBgqB,KAAMF,iBACnDvX,EAAA,eAGF,EAAA9N,EAAA,IAAA8N,EAAA,mBAMV,CC3BA,MAAM0X,GAAa,GAObC,GAAa,EAObC,GAAkB,GAGlBC,GAAiBC,GAGrBH,GAAaG,EAAOrW,QAAUmW,IAE9BE,EAAOtW,WAAW,GAAA,GAClB,CAACsW,EAAOC,SAAS,GAAA,EAEnB,SAASC,GAAoBF,EAAmB,CAC9C,MAAMG,EAASN,GACTO,EAASC,KAAKC,IAAIV,GAAYE,GAAkBE,EAAOrW,MAAM,EAE7D4W,EAAkB3pB,cACrB4pB,GAAAA,CACC,MAAMC,EAAcD,EAAQ7W,QAAUwW,GAAUK,EAAQ7W,QAAUyW,EAC5DM,EAAe,gCAAgC9M,KAAK4M,CAAAA,EAEnD,MAAA,CAAEC,YAAAA,EAAaC,aAAAA,EAAcvJ,MAAOsJ,GAAeC,CAAa,CAAA,EAEzE,CAACN,EAAQD,CAAAA,CAAO,EAGX,MAAA,CACLlJ,UAAWkJ,EACXxI,UAAWyI,EACXG,gBAAAA,CACF,CACF,CAqBO,SAASI,GAAiB,CAC/BC,QAASC,EAETzC,OAAAA,EACAH,UAAAA,EAEAkB,OAAAA,EACAnB,UAAAA,EAEA8C,OAAQC,EACRC,SAAAA,EAGAta,QAAAA,EACAzS,SAAAA,EACAqH,IAAAA,EACA,GAAGtI,CACmB,EAAA,CACtB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACRqpB,EAAUC,EAAiB3X,OAAO6W,EAAAA,EAElClF,EAAU/d,SAA8B,IAAA,EAExC,CAACmkB,EAAWC,CAAa,EAAGhsB,WAAS,IAAA,CACnCmB,MAAAA,EAAMuqB,EAAQtqB,UAAW6qB,GAAMJ,GAAAA,YAAAA,EAAYd,SAASkB,EAAAA,EACnD9qB,OAAAA,IAAQ,GAAK,EAAIA,CAAAA,CAC1B,EACM,CAACmqB,EAASY,CAAAA,EAAclsB,WAAS,KAAM6rB,GAAAA,YAAAA,EAAY1R,MAAM,KAAK,KAAM,EAAA,EAG1ElV,EAAAA,UAAU,IAAA,CACK+mB,EAACrhB,GAAMwgB,KAAKC,IAAIzgB,EAAG+gB,EAAQjX,OAAS,CAAA,CAAA,CAAA,EAChD,CAACiX,EAAQjX,MAAAA,CAAO,EAEnB,MAAMqW,EAA6BY,EAAQK,CAAAA,GAAcL,EAAQ,IAAM,KAEjE,CAAE3J,UAAAA,EAAWU,UAAAA,EAAW4I,gBAAAA,CAAe,EAAKL,GAAoBF,CAAAA,EAEhE9I,EAAWqJ,EAAgBC,CAAAA,EAC3BM,EAASd,GAAU9I,EAASC,MAAQ,GAAGqJ,CAAAA,GAAUR,IAAWtqB,OAClEyE,EAAAA,UAAU,IAAA,QAER0gB,EAAAA,EAAQlf,UAARkf,MAAAA,EAAiBnJ,QACjBsP,GAAAA,MAAAA,EAAWF,EAAAA,EACV,CAACE,EAAUF,CAAAA,CAAO,EAEfjL,MAAAA,EAAW/Y,SAAyB,IAAA,EAEpCukB,EAAU,IAAIb,IAAUR,CAAQ,GAEtC,cACGzN,GAAAA,CACE,GAAGvf,EACJsI,IAAKoZ,GAAU,CAACpZ,EAAKuf,CAAAA,CAAQ,EAC7BpI,SAAU0M,EACVzM,YAAasL,EACbhO,SAAUoO,EACV5L,YAAayL,EACbvX,QAASA,GAAW,CAACoa,EACrBrkB,OAAQxI,mBAEP2B,MAAAA,iBACE0rB,GAAAA,CAAkBC,SAAU,CAAC,CAACf,EAASrJ,MAAOD,EAASuJ,2BACtDvY,EAAA,qBACW+O,UAAAA,EAAgBU,UAAAA,CAAAA,YAG5B2J,GAAAA,CAAkBC,SAAU,CAAC,CAACf,EAASrJ,MAAOD,EAASwJ,4BACtDxY,EAAA,0BAIHsN,GAAAA,CACCla,IAAKua,EACLX,WAAOpK,GAAAA,CAAanV,UAAU,KAAA,GAC9BsJ,KAAK,SACLnE,KAAK,OACLvF,MAAKgT,EAAA,EAAA,eACLqP,QAAQ,+BACRX,UAAAA,EACAU,UAAAA,EACAnB,eAAe,OACfC,YAAY,MACZL,aAAa,MACbG,IAAI,OACJkC,aAAa,OACbE,UAAS,GACTD,SAAQ,GACR9jB,MAAO4rB,EACP/X,SAAWhN,GAAAA,CACT,MAAM+kB,EAAU/kB,EAAMI,OAAOjH,MAAMyN,YAAW,EAGxCyV,EAAiBrc,EAAMI,OAAOic,eAC9BD,EAAepc,EAAMI,OAAOgc,aAClCpc,EAAMI,OAAOjH,MAAQ4rB,EACf3kB,EAAAA,OAAO2lB,kBAAkB1J,EAAgBD,CAAAA,EAE/CuJ,EAAWZ,CAAAA,CACb,EACA/jB,OAEEmkB,EAAQjX,OAAS,GACfvP,EAAAA,IAACqnB,SAAAA,CACCvmB,QAAUO,GAAUA,EAAMsa,gBAAe,EACzCE,YAAcxa,GAAUA,EAAMsa,gBAAe,EAC7CnhB,MAAOqsB,EACP3jB,aAAUiL,EAAA,EAAA,eACVE,SAAWhN,GAAAA,OACTylB,EAAaQ,OAAOjmB,EAAMI,OAAOjH,KAAK,CAAA,GACtCihB,EAAAA,EAASla,UAATka,MAAAA,EAAkBG,OACpB,EACArgB,UAAWE,EACT,eACA,UACA,iBACA,4BAAA,EAGD+qB,SAAAA,EAAQ7oB,IAAI,CAACioB,EAAQ3pB,UACnBsrB,SAAAA,CAAoB/sB,MAAOyB,EACzB2pB,SAAAA,CADUA,EAAAA,CAAAA,CAAAA,IAOrB7K,aACEjN,EAAA,uBAEGsY,EAAQ7W,OACPvP,EAAAA,IAAC6Z,SAAAA,CAAOte,UAAU,mCACf0rB,SAAAA,CAAAA,GAGHjnB,EAAA,IAAC2U,OAAAA,CACCzU,cAAW,GACX3E,UAAU,iEAOnB8H,GAAAA,CAAW3C,KAAK,wBACfoN,EAAA,mBAOR,CAOA,SAASoZ,GAAkB,CACzBnK,MAAAA,EACAoK,SAAAA,EAGAttB,SAAAA,EACA0B,UAAAA,EACA,GAAG3C,CACoB,EAAA,CACvB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACd,cACG3B,MAAAA,CACE,GAAG5C,EACJ2C,UAAWE,EAAK,mCAAoCF,CAAAA,YAEnD4rB,QACC5Z,WAAA,CACGwP,SAAAA,EACC/c,EAAA,IAAC4S,GAAAA,CACCrX,UAAU,oCACVJ,MAAKgT,EAAA,EAAA,iBAGPnO,EAAA,IAACwnB,GAAAA,CACCjsB,UAAU,kCACVJ,MAAKgT,EAAA,EAAA,mBAKXnO,EAAA,IAACxE,MAAAA,CAAI0E,cAAW,GAAC3E,UAAU,2CACzB,eAACC,MAAAA,CAAID,UAAU,+DAGlBC,MAAAA,CAAID,UAAU,UAAW1B,SAAAA,MAGhC,CC5Re,SAAS4tB,EAAuBC,EAAM,CACnD,GAAIA,IAAS,OACX,MAAM,IAAI,eAAe,2DAA2D,EAEtF,OAAOA,CACT,CCLe,SAASC,GAAgBrc,EAAG3P,EAAG,CAC5C,OAAAgsB,GAAkB,OAAO,eAAiB,OAAO,eAAe,KAAI,EAAK,SAAyBrc,EAAG3P,EAAG,CACtG,OAAA2P,EAAE,UAAY3P,EACP2P,CACR,EACMqc,GAAgBrc,EAAG3P,CAAC,CAC7B,CCLe,SAASisB,GAAeC,EAAUC,EAAY,CAC3DD,EAAS,UAAY,OAAO,OAAOC,EAAW,SAAS,EACvDD,EAAS,UAAU,YAAcA,EACjCE,GAAeF,EAAUC,CAAU,CACrC,CCLA,IAAIE,GAAG,OAAO,eAAeC,GAAG,OAAO,iBAAqBC,GAAG,OAAO,0BAA8BC,GAAG,OAAO,sBAA0BC,GAAG,OAAO,UAAU,eAAeC,GAAG,OAAO,UAAU,qBAAyBC,GAAG,CAACC,EAAEja,EAAE,IAAIA,KAAKia,EAAEP,GAAGO,EAAEja,EAAE,CAAC,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,EAAEia,EAAEja,CAAC,EAAE,EAAEka,EAAE,CAACD,EAAEja,IAAI,CAAC,QAAQ,KAAKA,IAAIA,EAAE,CAAA,GAAI8Z,GAAG,KAAK9Z,EAAE,CAAC,GAAGga,GAAGC,EAAE,EAAEja,EAAE,CAAC,CAAC,EAAE,GAAG6Z,GAAG,QAAQ,KAAKA,GAAG7Z,CAAC,EAAE+Z,GAAG,KAAK/Z,EAAE,CAAC,GAAGga,GAAGC,EAAE,EAAEja,EAAE,CAAC,CAAC,EAAE,OAAOia,CAAC,EAAEE,EAAE,CAACF,EAAEja,IAAI2Z,GAAGM,EAAEL,GAAG5Z,CAAC,CAAC,EAAMoa,GAAG,CAACH,EAAEja,IAAI,CAAC,IAAI,EAAE,CAAA,EAAG,QAAQ,KAAKia,EAAEH,GAAG,KAAKG,EAAE,CAAC,GAAGja,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAEia,EAAE,CAAC,GAAG,GAAGA,GAAG,MAAMJ,GAAG,QAAQ,KAAKA,GAAGI,CAAC,EAAEja,EAAE,QAAQ,CAAC,EAAE,GAAG+Z,GAAG,KAAKE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,OAAO,CAAC,EAAMI,GAAG,CAACJ,EAAEja,IAAI,CAAC,QAAQ,KAAKA,EAAE0Z,GAAGO,EAAE,EAAE,CAAC,IAAIja,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAMsa,GAAG,CAACL,EAAEja,EAAE,IAAI,IAAI,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAIhD,EAAE3F,GAAG,CAAC,GAAG,CAACxL,EAAE,EAAE,KAAKwL,CAAC,CAAC,CAAC,OAAOohB,EAAE,CAAC,EAAEA,CAAC,CAAC,CAAC,EAAEvpB,EAAEmI,GAAG,CAAC,GAAG,CAACxL,EAAE,EAAE,MAAMwL,CAAC,CAAC,CAAC,OAAOohB,EAAE,CAAC,EAAEA,CAAC,CAAC,CAAC,EAAE5sB,EAAEwL,GAAGA,EAAE,KAAK,EAAEA,EAAE,KAAK,EAAE,QAAQ,QAAQA,EAAE,KAAK,EAAE,KAAK2F,EAAE9N,CAAC,EAAErD,GAAG,EAAE,EAAE,MAAMouB,EAAEja,CAAC,GAAG,KAAI,CAAE,CAAC,CAAC,EAAE,SAASua,GAAGN,EAAE,CAAC,OAAO,OAAO,QAAQA,CAAC,EAAE,OAAO,CAAC,CAAE,CAAAja,CAAC,IAAIA,GAAGA,IAAI,EAAE,EAAE,IAAI,CAAC,CAACA,EAAE,CAAC,IAAI,GAAG,mBAAmBA,CAAC,CAAC,IAAI,mBAAmB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,SAASwa,GAAGP,EAAE,CAAC,IAAIja,EAAEia,GAAGA,EAAE,eAAe,SAAS,EAAEja,EAAE,aAAaA,EAAE,cAAc,OAAO,MAAM,CAAC,SAASA,EAAE,OAAO,CAAC,CAAC,CAAC,SAASya,GAAGR,EAAE,CAAC,OAAOA,GAAG,SAAS,IAAI,CAAC,IAAIS,GAAG,kBAAkBC,GAAG,iBAAiBC,GAAG,eAAmBC,GAAG,mBAAuBC,GAAG,OAAO,UAAU,SAAS,SAASC,GAAGd,EAAE,CAAC,OAAOa,GAAG,KAAKb,CAAC,EAAG,CAAA,IAAI,iBAAiB,IAAI,qBAAqB,IAAI,wBAAwB,MAAM,GAAG,QAAQ,OAAOe,GAAEf,EAAE,KAAK,CAAC,CAAC,CAAC,SAASgB,GAAGhB,EAAEja,EAAE,CAAC,OAAO8a,GAAG,KAAKb,CAAC,IAAI,WAAWja,CAAC,GAAG,CAAC,SAASkb,GAAGjB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,YAAY,CAAC,CAAC,SAASkB,GAAGlB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,UAAU,CAAC,CAAC,SAASmB,GAAGnB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,cAAc,CAAC,CAAC,SAASoB,GAAEpB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,QAAQ,CAAC,CAAC,SAASqB,GAAGrB,EAAE,CAAC,OAAOA,IAAI,MAAM,OAAOA,GAAG,UAAU,OAAOA,GAAG,UAAU,CAAC,SAASsB,GAAEtB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,QAAQ,CAAC,CAAC,SAASuB,GAAGvB,EAAE,CAAC,OAAO,OAAO,MAAO,KAAae,GAAEf,EAAE,KAAK,CAAC,CAAC,SAASwB,GAAGxB,EAAE,CAAC,OAAO,OAAO,QAAS,KAAae,GAAEf,EAAE,OAAO,CAAC,CAAC,SAASyB,GAAGzB,EAAE,CAAC,OAAOgB,GAAGhB,EAAE,QAAQ,CAAC,CAAC,SAAS0B,GAAG1B,EAAE,CAAC,MAAM,CAAC,EAAEA,GAAGA,EAAE,MAAM,OAAOA,EAAE,MAAM,WAAW,CAAC,SAAS2B,GAAG3B,EAAE,CAAC,OAAOsB,GAAEtB,CAAC,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,oBAAoBA,CAAC,CAAC,SAAS4B,GAAG5B,EAAE,CAAC,OAAO,OAAOA,GAAG,UAAUA,IAAIA,CAAC,CAAC,SAASe,GAAEf,EAAEja,EAAE,CAAC,GAAG,CAAC,OAAOia,aAAaja,CAAC,MAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS8b,GAAG7B,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOA,GAAG,UAAUA,IAAI,OAAOA,EAAE,SAASA,EAAE,QAAQ,CAAC,SAAS8B,GAAE9B,EAAEja,EAAE,EAAE,CAAC,OAAO,OAAOia,GAAG,UAAUja,IAAI,GAAGia,EAAE,QAAQja,EAAEia,EAAE,GAAGA,EAAE,MAAM,EAAEja,CAAC,CAAC,KAAK,CAAC,SAASgc,GAAG/B,EAAEja,EAAE,CAAC,GAAG,CAAC,MAAM,QAAQia,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAAA,EAAG,QAAQ,EAAE,EAAE,EAAEA,EAAE,OAAO,IAAI,CAAC,IAAI,EAAEA,EAAE,CAAC,EAAE,GAAG,CAAC6B,GAAG,CAAC,EAAE,EAAE,KAAK,gBAAgB,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAS,CAAC,EAAE,KAAK,8BAA8B,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK9b,CAAC,CAAC,CAAC,SAASic,GAAGhC,EAAEja,EAAE,EAAE,GAAG,CAAC,OAAOqb,GAAEpB,CAAC,EAAEyB,GAAG1b,CAAC,EAAEA,EAAE,KAAKia,CAAC,EAAEoB,GAAErb,CAAC,EAAE,EAAEia,IAAIja,EAAEia,EAAE,SAASja,CAAC,EAAE,GAAG,EAAE,CAAC,SAASkc,GAAGjC,EAAEja,EAAE,CAAA,EAAG,EAAE,GAAG,CAAC,OAAOA,EAAE,KAAK,GAAGic,GAAGhC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAASkC,GAAGlC,EAAEja,EAAE,EAAE,IAAI,EAAE,EAAEhD,EAAE9N,EAAE,CAAC,GAAG,CAAC8N,EAAE,WAAW,CAACA,EAAE,UAAU,QAAQ,CAAC9N,GAAG,CAAC8rB,GAAE9rB,EAAE,kBAAkB,KAAK,EAAE,OAAO,IAAIrD,EAAEmR,EAAE,UAAU,OAAO,OAAO,EAAEA,EAAE,UAAU,OAAOA,EAAE,UAAU,OAAO,OAAO,CAAC,EAAE,OAAOnR,IAAImR,EAAE,UAAU,OAAOof,GAAGC,GAAGpC,EAAEja,EAAE,EAAE9Q,EAAE,kBAAkB,EAAE8N,EAAE,UAAU,OAAOnR,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAASwwB,GAAGpC,EAAEja,EAAE,EAAE,EAAE,EAAEhD,EAAE9N,EAAErD,EAAE,CAAC,GAAGmR,EAAE,QAAQ,EAAE,EAAE,OAAOA,EAAE,IAAI3F,EAAE,CAAC,GAAG2F,CAAC,EAAE,GAAGge,GAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAACsB,GAAGptB,EAAErD,CAAC,EAAE,IAAI4sB,EAAEwB,EAAEja,EAAE,EAAE,CAAC,CAAC,EAAEmW,EAAE9e,EAAE,OAAOklB,GAAG9D,EAAE,EAAEtC,EAAEtqB,CAAC,EAAEwL,EAAEglB,GAAGpC,EAAEja,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAACyY,EAAE,GAAGphB,CAAC,EAAEohB,EAAEtC,CAAC,CAAC,CAAC,OAAO,MAAM,QAAQ,EAAE,MAAM,GAAG,EAAE,OAAO,QAAQ,CAACsC,EAAEtC,IAAI,CAAC,GAAG6E,GAAEvC,EAAE,KAAK,EAAE,CAAC6D,GAAGptB,EAAErD,CAAC,EAAE,IAAI,EAAEouB,EAAEja,EAAEyY,CAAC,EAAE3M,EAAEzU,EAAE,OAAOklB,GAAG,EAAE,UAAUpG,CAAC,IAAIrK,EAAEjgB,CAAC,EAAEwL,EAAEglB,GAAGpC,EAAEja,EAAE,EAAEyY,EAAE,EAAE,CAAC,EAAE,GAAGphB,CAAC,EAAE,EAAEyU,CAAC,CAAC,CAAC,CAAC,EAAEzU,CAAC,CAAC,SAASilB,GAAGrC,EAAEja,EAAE,CAACia,EAAE,UAAUA,EAAE,WAAW,CAAC,KAAK,UAAU,QAAQ,EAAE,EAAEA,EAAE,UAAUE,EAAED,EAAE,CAAA,EAAGD,EAAE,SAAS,EAAE,CAAC,mBAAmB,GAAG,aAAaja,CAAC,CAAC,CAAC,CAAC,SAASuc,GAAGtC,EAAEja,EAAE,EAAE,EAAE,CAACia,EAAE,UAAUA,EAAE,WAAW,CAAC,KAAK,UAAU,QAAQ,EAAE,EAAEA,EAAE,UAAUE,EAAED,EAAE,CAAA,EAAGD,EAAE,SAAS,EAAE,CAAC,KAAK,UAAU,OAAOja,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAASoc,GAAGnC,EAAEja,EAAE,CAAC,OAAOia,EAAE,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM8B,GAAE,EAAE,MAAM/b,CAAC,GAAG,EAAE,CAAC,CAAC,SAASwc,GAAGvC,EAAE,CAAC,OAAOA,GAAGA,EAAE,MAAM,KAAKA,EAAE,MAAM,CAAC,IAAInuB,EAAE,OAAO,YAAY,UAAU0wB,GAAG,UAAU,GAAG,OAAO,QAAQ,UAAUA,GAAG,MAAM,GAAG,OAAO,MAAM,UAAUA,GAAG,IAAI,GAAG,OAAO,QAAQ,UAAUA,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,EAAG,GAAE,CAAE,EAAC,SAASC,IAAG,CAAC,OAAO3wB,CAAC,CAAC,SAAS4wB,GAAGzC,EAAEja,EAAE,EAAE,CAAC,IAAI,EAAE,GAAGlU,EAAE,EAAE,EAAE,WAAW,EAAE,YAAY,CAAE,EAAC,OAAO,EAAEmuB,CAAC,IAAI,EAAEA,CAAC,EAAEja,EAAC,EAAG,CAAC,IAAI2c,GAAGF,KAAIG,GAAG,GAAG,SAASC,GAAE5C,EAAEja,EAAE,CAAE,EAAC,CAAC,GAAG,CAAC,IAAI,EAAEia,EAAE,EAAE,EAAE,EAAE,CAAA,EAAGjd,EAAE,EAAE9N,EAAE,EAAErD,EAAE,MAAMwL,EAAExL,EAAE,OAAO4sB,EAAEtC,EAAE,MAAM,QAAQnW,CAAC,EAAEA,EAAEA,EAAE,SAAS,EAAE,CAAC,MAAM,QAAQA,CAAC,GAAGA,EAAE,iBAAiB4c,GAAG,KAAK,GAAG5f,IAAI,IAAIyb,EAAEqE,GAAG,EAAE3G,CAAC,EAAE,EAAEsC,IAAI,QAAQzb,EAAE,GAAG9N,EAAE,EAAE,OAAOmI,EAAEohB,EAAE,QAAQ,KAAK,EAAE,KAAKA,CAAC,EAAEvpB,GAAGupB,EAAE,OAAO,EAAE,EAAE,WAAW,OAAO,EAAE,QAAO,EAAG,KAAK5sB,CAAC,CAAC,MAAS,CAAC,MAAM,WAAW,CAAC,CAAC,SAASixB,GAAG7C,EAAEja,EAAE,CAAC,IAAI,EAAEia,EAAE,EAAE,CAAE,EAAC,EAAEjd,EAAE9N,EAAErD,EAAEwL,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,MAAM,GAAG,EAAE,KAAK,EAAE,QAAQ,YAAW,CAAE,EAAE,IAAIohB,EAAEzY,GAAGA,EAAE,OAAOA,EAAE,OAAO,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,GAAGyY,GAAGA,EAAE,OAAOA,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG4C,GAAE,CAAC,EAAE,IAAIre,EAAE,EAAE,MAAM,KAAK,EAAE3F,EAAE,EAAEA,EAAE2F,EAAE,OAAO3F,IAAI,EAAE,KAAK,IAAI2F,EAAE3F,CAAC,CAAC,EAAE,EAAE,IAAI8e,EAAE,CAAC,aAAa,OAAO,OAAO,QAAQ,KAAK,EAAE,IAAI9e,EAAE,EAAEA,EAAE8e,EAAE,OAAO9e,IAAInI,EAAEinB,EAAE9e,CAAC,EAAExL,EAAE,EAAE,aAAaqD,CAAC,EAAErD,GAAG,EAAE,KAAK,IAAIqD,CAAC,KAAKrD,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,SAASkxB,IAAI,CAAC,GAAG,CAAC,OAAOJ,GAAG,SAAS,SAAS,IAAI,MAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS5uB,GAAGksB,EAAE,CAAC,OAAO0C,GAAG,UAAUA,GAAG,SAAS,cAAcA,GAAG,SAAS,cAAc1C,CAAC,EAAE,IAAI,CAAC,IAAI5F,GAAG,iBAAiB2I,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ,MAAM,SAAS,OAAO,EAAEC,GAAG,CAAE,EAAC,SAASC,GAAGjD,EAAE,CAAC,GAAG,EAAE,YAAYnuB,GAAG,OAAOmuB,EAAG,EAAC,IAAIja,EAAElU,EAAE,QAAQ,EAAE,CAAA,EAAG,EAAE,OAAO,KAAKmxB,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,IAAIjgB,EAAEigB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAEjd,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAEhD,CAAC,CAAC,EAAE,GAAG,CAAC,OAAOid,EAAG,CAAA,QAAC,CAAQ,EAAE,QAAQ,GAAG,CAACja,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASmd,IAAI,CAAC,IAAIlD,EAAE,GAAGja,EAAE,CAAC,OAAO,IAAI,CAACia,EAAE,EAAE,EAAE,QAAQ,IAAI,CAACA,EAAE,EAAE,CAAC,EAAE,OAAO,OAAO,iBAAkB,KAAa,iBAAiB+C,GAAG,QAAQ,GAAG,CAAChd,EAAE,CAAC,EAAE,IAAI,IAAI,CAACia,GAAGiD,GAAG,IAAI,CAACpxB,EAAE,QAAQ,CAAC,EAAE,GAAGuoB,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE2I,GAAG,QAAQ,GAAG,CAAChd,EAAE,CAAC,EAAE,IAAI,CAAE,CAAA,CAAC,EAAEA,CAAC,CAAC,IAAIod,EAAED,GAAE,EAAOE,GAAG,kEAAkE,SAASC,GAAGrD,EAAE,CAAC,OAAOA,IAAI,QAAQA,IAAI,OAAO,CAAC,SAASsD,GAAEtD,EAAEja,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAKhD,EAAE,UAAU9N,EAAE,SAASrD,EAAE,UAAUwL,CAAC,EAAE4iB,EAAE,MAAM,GAAGpuB,CAAC,MAAMwL,CAAC,GAAG2I,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAGhD,EAAE,IAAIA,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG9N,CAAC,EAAE,CAAC,SAASsuB,GAAGvD,EAAE,CAAC,IAAIja,EAAEqd,GAAG,KAAKpD,CAAC,EAAE,GAAG,CAACja,EAAE,CAAC,QAAQ,MAAM,uBAAuBia,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAGjd,EAAE9N,EAAE,GAAGrD,CAAC,EAAEmU,EAAE,MAAM,CAAC,EAAE3I,EAAE,GAAGohB,EAAE5sB,EAAEsqB,EAAEsC,EAAE,MAAM,GAAG,EAAE,GAAGtC,EAAE,OAAO,IAAI9e,EAAE8e,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,GAAG,EAAEsC,EAAEtC,EAAE,IAAK,GAAEsC,EAAE,CAAC,IAAI,EAAEA,EAAE,MAAM,MAAM,EAAE,IAAIA,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO3H,GAAG,CAAC,KAAK9T,EAAE,KAAK,EAAE,KAAK3F,EAAE,UAAUohB,EAAE,KAAKvpB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS4hB,GAAGmJ,EAAE,CAAC,MAAM,CAAC,SAASA,EAAE,SAAS,UAAUA,EAAE,WAAW,GAAG,KAAKA,EAAE,MAAM,GAAG,KAAKA,EAAE,KAAK,KAAKA,EAAE,MAAM,GAAG,KAAKA,EAAE,MAAM,GAAG,UAAUA,EAAE,SAAS,CAAC,CAAC,SAASwD,GAAGxD,EAAE,CAAC,GAAG,EAAE,OAAO,iBAAkB,KAAa,kBAAkB,MAAM,GAAG,GAAG,CAAC,KAAKja,EAAE,UAAU,EAAE,SAAS,CAAC,EAAEia,EAAE,MAAM,CAAC,WAAW,YAAY,OAAO,WAAW,EAAE,KAAK/qB,GAAG+qB,EAAE/qB,CAAC,EAAE,IAAIkuB,EAAE,MAAM,uBAAuBluB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,OAAO,EAAEouB,GAAG,CAAC,EAAEtd,GAAG,MAAM,SAASA,EAAE,EAAE,CAAC,GAAGod,EAAE,MAAM,oCAAoCpd,CAAC,EAAE,EAAE,IAAI,IAAIod,EAAE,MAAM,wCAAwC,CAAC,EAAE,EAAE,KAAKA,EAAE,MAAM,yCAAyC,CAAC,EAAE,EAAE,GAAG,CAAC,SAASM,GAAGzD,EAAE,CAAC,IAAIja,EAAE,OAAOia,GAAG,SAASuD,GAAGvD,CAAC,EAAEnJ,GAAGmJ,CAAC,EAAE,GAAG,EAAE,CAACja,GAAG,CAACyd,GAAGzd,CAAC,GAAG,OAAOA,CAAC,CAAC,IAAI9C,GAAE,cAAc,KAAK,CAAC,YAAY,EAAEygB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,WAAW,UAAU,YAAY,KAAK,OAAO,eAAe,KAAK,WAAW,SAAS,EAAE,KAAK,SAASA,CAAC,CAAC,EAAE,SAASC,EAAE3D,EAAEja,EAAE,EAAE,CAAC,GAAG,EAAEA,KAAKia,GAAG,OAAO,IAAI,EAAEA,EAAEja,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,YAAY6d,GAAG,EAAE,CAAC,EAAE5D,EAAEja,CAAC,EAAE,CAAC,CAAC,SAAS8d,GAAG7D,EAAEja,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,eAAeia,EAAEja,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,EAAE,CAAC,CAAC,MAAS,EAAE,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,0CAA0Cpd,CAAC,cAAcia,CAAC,CAAC,CAAC,CAAC,SAAS4D,GAAG5D,EAAEja,EAAE,CAAC,GAAG,CAAC,IAAI,EAAEA,EAAE,WAAW,CAAA,EAAGia,EAAE,UAAUja,EAAE,UAAU,EAAE8d,GAAG7D,EAAE,sBAAsBja,CAAC,CAAC,MAAS,CAAA,CAAE,CAAC,SAAS+d,GAAG9D,EAAE,CAAC,OAAOA,EAAE,mBAAmB,CAAC,SAAS+D,GAAG/D,EAAE,CAAC,OAAO,OAAO,KAAKA,CAAC,EAAE,IAAIja,GAAG,GAAG,mBAAmBA,CAAC,CAAC,IAAI,mBAAmBia,EAAEja,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,SAASie,GAAGhE,EAAE,CAAC,GAAGc,GAAGd,CAAC,EAAE,OAAOC,EAAE,CAAC,QAAQD,EAAE,QAAQ,KAAKA,EAAE,KAAK,MAAMA,EAAE,KAAK,EAAEiE,GAAGjE,CAAC,CAAC,EAAE,GAAGuB,GAAGvB,CAAC,EAAE,CAAC,IAAIja,EAAEka,EAAE,CAAC,KAAKD,EAAE,KAAK,OAAOkE,GAAGlE,EAAE,MAAM,EAAE,cAAckE,GAAGlE,EAAE,aAAa,CAAC,EAAEiE,GAAGjE,CAAC,CAAC,EAAE,OAAO,OAAO,YAAa,KAAae,GAAEf,EAAE,WAAW,IAAIja,EAAE,OAAOia,EAAE,QAAQja,CAAC,KAAM,QAAOia,CAAC,CAAC,SAASkE,GAAGlE,EAAE,CAAC,GAAG,CAAC,OAAOwB,GAAGxB,CAAC,EAAE4C,GAAE5C,CAAC,EAAE,OAAO,UAAU,SAAS,KAAKA,CAAC,CAAC,MAAS,CAAC,MAAM,WAAW,CAAC,CAAC,SAASiE,GAAGjE,EAAE,CAAC,GAAG,OAAOA,GAAG,UAAUA,IAAI,KAAK,CAAC,IAAIja,EAAE,CAAA,EAAG,QAAQ,KAAKia,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAIja,EAAE,CAAC,EAAEia,EAAE,CAAC,GAAG,OAAOja,CAAC,KAAM,OAAM,CAAE,CAAA,CAAC,SAASoe,GAAGnE,EAAEja,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,KAAKie,GAAGhE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAI,EAAG,CAAC,EAAE,OAAO,MAAM,uBAAuB,GAAG,EAAE,CAAC,EAAE,QAAQja,EAAE,OAAO+b,GAAE,EAAE,CAAC,EAAE/b,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,OAAOA,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE+b,GAAE,EAAE/b,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,SAASqe,GAAEpE,EAAE,CAAC,OAAOqE,GAAGrE,EAAE,IAAI,GAAG,CAAC,CAAC,SAASqE,GAAGrE,EAAEja,EAAE,CAAC,GAAGub,GAAEtB,CAAC,EAAE,CAAC,IAAI,EAAEja,EAAE,IAAIia,CAAC,EAAE,GAAG,IAAI,OAAO,OAAO,EAAE,IAAI,EAAE,CAAE,EAACja,EAAE,IAAIia,EAAE,CAAC,EAAE,QAAQ,KAAK,OAAO,KAAKA,CAAC,EAAE,OAAOA,EAAE,CAAC,EAAG,MAAc,EAAE,CAAC,EAAEqE,GAAGrE,EAAE,CAAC,EAAEja,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,QAAQia,CAAC,EAAE,CAAC,IAAI,EAAEja,EAAE,IAAIia,CAAC,EAAE,GAAG,IAAI,OAAO,OAAO,EAAE,IAAI,EAAE,CAAE,EAAC,OAAOja,EAAE,IAAIia,EAAE,CAAC,EAAEA,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAKqE,GAAG,EAAEte,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAOia,CAAC,CAAC,IAAIsE,GAAG,GAAGC,GAAG,kBAAkBC,GAAG,kCAAkC,SAASC,MAAMzE,EAAE,CAAC,IAAIja,EAAEia,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA,EAAGjd,EAAE,EAAE,MAAM;AAAA,CAC/pR,EAAE,QAAQ9N,EAAE,EAAEA,EAAE8N,EAAE,OAAO9N,IAAI,CAAC,IAAIrD,EAAEmR,EAAE9N,CAAC,EAAE,GAAGrD,EAAE,OAAO,KAAK,SAAS,IAAIwL,EAAEmnB,GAAG,KAAK3yB,CAAC,EAAEA,EAAE,QAAQ2yB,GAAG,IAAI,EAAE3yB,EAAE,GAAG,CAACwL,EAAE,MAAM,YAAY,EAAE,CAAC,QAAQohB,KAAKzY,EAAE,CAAC,IAAImW,EAAEsC,EAAEphB,CAAC,EAAE,GAAG8e,EAAE,CAAC,EAAE,KAAKA,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,QAAQoI,GAAG,KAAK,CAAC,CAAC,OAAOI,GAAG,CAAC,CAAC,CAAC,CAAC,SAASA,GAAG1E,EAAE,CAAC,GAAG,CAACA,EAAE,OAAO,MAAM,GAAG,IAAIja,EAAE,MAAM,KAAKia,CAAC,EAAE,MAAM,gBAAgB,KAAKja,EAAEA,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,GAAGA,EAAE,IAAK,EAACA,EAAE,UAAUye,GAAG,KAAKze,EAAEA,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,IAAIA,EAAE,IAAG,EAAGye,GAAG,KAAKze,EAAEA,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,GAAGA,EAAE,IAAG,GAAIA,EAAE,MAAM,EAAEue,EAAE,EAAE,IAAI,GAAGpE,EAAED,EAAE,CAAE,EAAC,CAAC,EAAE,CAAC,SAAS,EAAE,UAAUla,EAAEA,EAAE,OAAO,CAAC,EAAE,SAAS,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI4e,GAAG,cAAc,SAASC,GAAE5E,EAAE,CAAC,GAAG,CAAC,MAAM,CAACA,GAAG,OAAOA,GAAG,WAAW2E,GAAG3E,EAAE,MAAM2E,EAAE,MAAS,CAAC,OAAOA,EAAE,CAAC,CAAC,IAAIE,GAAGrC,GAAG,EAAC,SAASsC,IAAI,CAAC,GAAG,EAAE,UAAUD,IAAI,SAAS,GAAG,CAAC,OAAO,IAAI,QAAQ,IAAI,QAAQ,wBAAwB,EAAE,IAAI,SAAS,EAAE,MAAS,CAAC,MAAQ,EAAA,CAAC,CAAC,SAASE,GAAG/E,EAAE,CAAC,OAAOA,GAAG,mDAAmD,KAAKA,EAAE,SAAQ,CAAE,CAAC,CAAC,SAASgF,IAAI,CAAC,GAAG,CAACF,KAAK,MAAQ,GAAC,GAAGC,GAAGF,GAAG,KAAK,EAAE,SAAS,IAAI7E,EAAE,GAAGja,EAAE8e,GAAG,SAAS,GAAG9e,GAAG,OAAOA,EAAE,eAAe,WAAW,GAAG,CAAC,IAAI,EAAEA,EAAE,cAAc,QAAQ,EAAE,EAAE,OAAO,GAAGA,EAAE,KAAK,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,QAAQia,EAAE+E,GAAG,EAAE,cAAc,KAAK,GAAGhf,EAAE,KAAK,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,KAAK,kFAAkF,CAAC,CAAC,CAAC,OAAOnD,CAAC,CAAC,IAAIiF,GAAGzC,GAAG,EAAC,SAAS0C,IAAI,CAAC,IAAIlF,EAAEiF,GAAG,OAAOlf,EAAEia,GAAGA,EAAE,KAAKA,EAAE,IAAI,QAAQ,EAAE,YAAYiF,IAAI,CAAC,CAACA,GAAG,QAAQ,WAAW,CAAC,CAACA,GAAG,QAAQ,aAAa,MAAM,CAAClf,GAAG,CAAC,CAAC,IAAIof,EAAE3C,KAAI4C,GAAG,oBAAoBC,GAAG,CAAA,EAAGC,GAAG,CAAE,EAAC,SAASC,GAAGvF,EAAE,CAAC,GAAG,CAACsF,GAAGtF,CAAC,EAAE,OAAOsF,GAAGtF,CAAC,EAAE,GAAGA,EAAG,CAAA,IAAI,UAAUwF,KAAK,MAAM,IAAI,MAAMC,GAAI,EAAC,MAAM,IAAI,MAAMC,GAAE,EAAG,MAAM,IAAI,QAAQC,GAAI,EAAC,MAAM,IAAI,UAAUC,GAAE,EAAG,MAAM,IAAI,QAAQC,KAAK,MAAM,IAAI,qBAAqBC,GAAI,EAAC,MAAM,SAAS,OAAO,iBAAkB,KAAa,mBAAmB3C,EAAE,KAAK,gCAAgCnD,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS+F,EAAE/F,EAAEja,EAAE,CAACsf,GAAGrF,CAAC,EAAEqF,GAAGrF,CAAC,GAAG,CAAA,EAAGqF,GAAGrF,CAAC,EAAE,KAAKja,CAAC,EAAEwf,GAAGvF,CAAC,CAAC,CAAC,SAASgG,GAAEhG,EAAEja,EAAE,CAAC,GAAG,EAAE,CAACia,GAAG,CAACqF,GAAGrF,CAAC,GAAG,QAAQ,KAAKqF,GAAGrF,CAAC,GAAG,GAAG,GAAG,CAAC,EAAEja,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,MAAM;AAAA,QAC1gEnD,CAAC;AAAA,QACD4E,GAAE,CAAC,CAAC;AAAA,QACJ,CAAC,CAAC,CAAC,CAAC,SAASY,IAAI,CAAC,YAAY3zB,GAAGkxB,GAAG,QAAQ,SAAS/C,EAAE,CAACA,KAAKnuB,EAAE,SAAS8xB,EAAE9xB,EAAE,QAAQmuB,EAAE,SAASja,EAAE,CAAC,OAAOid,GAAGhD,CAAC,EAAEja,EAAE,YAAY,EAAE,CAACigB,GAAE,UAAU,CAAC,KAAK,EAAE,MAAMhG,CAAC,CAAC,EAAE,IAAI,EAAEgD,GAAGhD,CAAC,EAAE,GAAG,EAAE,MAAMnuB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS8zB,IAAI,CAACX,GAAE,GAAIrB,EAAE9xB,EAAE,QAAQ,SAASmuB,EAAE,CAAC,OAAO,YAAYja,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAEkgB,GAAGlgB,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,IAAK,CAAA,EAAE,OAAOigB,GAAE,QAAQ/F,EAAE,CAAE,EAAC,CAAC,CAAC,EAAED,EAAE,MAAMnuB,EAAEkU,CAAC,EAAE,KAAKhD,IAAIijB,GAAE,QAAQ9F,EAAED,EAAE,CAAE,EAAC,CAAC,EAAE,CAAC,aAAa,KAAK,IAAG,EAAG,SAASld,CAAC,CAAC,CAAC,EAAEA,GAAGA,GAAG,CAAC,MAAMijB,GAAE,QAAQ9F,EAAED,EAAE,CAAE,EAAC,CAAC,EAAE,CAAC,aAAa,KAAK,IAAG,EAAG,MAAMld,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAGid,EAAEja,EAAE,CAAC,MAAM,CAAC,CAACia,GAAG,OAAOA,GAAG,UAAU,CAAC,CAACA,EAAEja,CAAC,CAAC,CAAC,SAASmgB,GAAGlG,EAAE,CAAC,OAAO,OAAOA,GAAG,SAASA,EAAEA,EAAE,GAAGA,EAAE,KAAK,EAAEA,EAAE,IAAIA,EAAE,SAASA,EAAE,SAAU,EAAC,GAAG,EAAE,CAAC,SAASiG,GAAGjG,EAAE,CAAC,GAAGA,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,IAAI,EAAE,EAAE,GAAGA,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAEA,EAAE,MAAM,CAAC,IAAIkG,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,YAAa,EAAC,KAAK,CAAC,CAAC,IAAIngB,EAAEia,EAAE,CAAC,EAAE,MAAM,CAAC,IAAIkG,GAAGngB,CAAC,EAAE,OAAO,GAAGA,EAAE,QAAQ,EAAE,OAAOA,EAAE,MAAM,EAAE,cAAc,KAAK,CAAC,CAAC,SAAS2f,IAAI,CAAC,GAAG,CAACP,EAAE,eAAe,OAAO,IAAInF,EAAE,eAAe,UAAU2D,EAAE3D,EAAE,OAAO,SAASja,EAAE,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,KAAKqf,EAAE,EAAE,CAAC,OAAOhE,GAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAE,CAAA,EAAEA,GAAE,CAAC,GAAG,EAAE,SAAS,QAAQ,EAAE,MAAM,YAAY,IAAI,KAAK,uBAAuB,IAAI,IAAIre,EAAE,IAAI,CAAC,IAAI9N,EAAE,KAAKmwB,EAAE,EAAE,GAAGnwB,GAAG,KAAK,aAAa,EAAE,CAAC,GAAG,CAACA,EAAE,YAAY,KAAK,MAAM,MAAS,EAAE+wB,GAAE,MAAM,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,eAAe,KAAK,IAAG,EAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,uBAAuB,MAAM,OAAO,KAAK,oBAAoB,WAAWrC,EAAE,KAAK,qBAAqB,SAAS1uB,EAAE,CAAC,OAAO,YAAYrD,EAAE,CAAC,OAAOmR,EAAG,EAAC9N,EAAE,MAAM,KAAKrD,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,mBAAmBmR,CAAC,EAAE4gB,EAAE,KAAK,mBAAmB,SAAS1uB,EAAE,CAAC,OAAO,YAAYrD,EAAE,CAAC,GAAG,CAACwL,EAAEohB,CAAC,EAAE5sB,EAAEsqB,EAAE,KAAKkJ,EAAE,EAAE,OAAOlJ,IAAIA,EAAE,gBAAgB9e,EAAE,YAAa,CAAA,EAAEohB,GAAGvpB,EAAE,MAAM,KAAKrD,CAAC,CAAC,CAAC,CAAC,EAAEmU,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE4d,EAAE3D,EAAE,OAAO,SAASja,EAAE,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,KAAKqf,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC,GAAGY,GAAE,MAAM,CAAC,KAAK,EAAE,eAAe,KAAK,IAAG,EAAG,IAAI,IAAI,CAAC,EAAEjgB,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIogB,GAAG,SAASP,IAAI,CAAC,GAAG,CAACV,GAAI,EAAC,OAAO,IAAIlF,EAAEmF,EAAE,WAAWA,EAAE,WAAW,YAAY,EAAE,CAAC,IAAI,EAAEA,EAAE,SAAS,KAAK,EAAEgB,GAAG,GAAGA,GAAG,EAAEH,GAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAEhG,EAAE,GAAG,CAAC,OAAOA,EAAE,MAAM,KAAK,CAAC,CAAC,MAAS,CAAA,CAAE,EAAE,SAASja,EAAE,EAAE,CAAC,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,IAAIhD,EAAEojB,GAAGlxB,EAAE,OAAO,CAAC,EAAEkxB,GAAGlxB,EAAE+wB,GAAE,UAAU,CAAC,KAAKjjB,EAAE,GAAG9N,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC0uB,EAAEwB,EAAE,QAAQ,YAAYpf,CAAC,EAAE4d,EAAEwB,EAAE,QAAQ,eAAepf,CAAC,CAAC,CAAC,IAAIqgB,GAAG,IAAIC,GAAGC,GAAG,SAASC,GAAGvG,EAAEja,EAAE,CAAC,GAAG,CAACia,GAAGA,EAAE,OAAOja,EAAE,KAAK,SAAS,GAAG,CAAC,GAAGia,EAAE,SAASja,EAAE,OAAO,MAAM,EAAE,MAAS,EAAE,MAAM,EAAE,CAAC,SAASygB,GAAGxG,EAAE,CAAC,GAAGA,EAAE,OAAO,WAAW,MAAQ,GAAC,GAAG,CAAC,IAAIja,EAAEia,EAAE,OAAO,GAAG,CAACja,GAAG,CAACA,EAAE,QAAQ,MAAM,GAAG,GAAGA,EAAE,UAAU,SAASA,EAAE,UAAU,YAAYA,EAAE,kBAAkB,MAAM,EAAE,MAAS,CAAE,CAAA,MAAQ,EAAA,CAAC,SAAS0gB,GAAGzG,EAAEja,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAGugB,KAAK,GAAGE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,WAAW,QAAQ,EAAE,KAAKH,KAAK,QAAQrG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAOja,CAAC,CAAC,EAAEugB,GAAG,GAAGC,GAAGD,GAAG,CAAC,IAAItG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAOja,CAAC,CAAC,EAAEugB,GAAG,GAAG,aAAaD,EAAE,EAAEA,GAAGlB,EAAE,WAAW,IAAI,CAACkB,GAAG,MAAM,EAAED,EAAE,CAAC,CAAC,CAAC,SAASX,IAAI,CAAC,GAAG,CAACN,EAAE,SAAS,OAAO,IAAInF,EAAEgG,GAAE,KAAK,KAAK,KAAK,EAAEjgB,EAAE0gB,GAAGzG,EAAE,EAAE,EAAEmF,EAAE,SAAS,iBAAiB,QAAQpf,EAAE,EAAE,EAAEof,EAAE,SAAS,iBAAiB,WAAWpf,EAAE,EAAE,EAAE,CAAC,cAAc,MAAM,EAAE,QAAQ,GAAG,CAAC,IAAI,EAAEof,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,eAAe,kBAAkB,IAAIxB,EAAE,EAAE,mBAAmB,SAAS,EAAE,CAAC,OAAO,SAAS5gB,EAAE9N,EAAErD,EAAE,CAAC,GAAGmR,IAAI,SAASA,GAAG,WAAW,GAAG,CAAC,IAAI3F,EAAE,KAAKohB,EAAEphB,EAAE,oCAAoCA,EAAE,qCAAqC,CAAE,EAAC8e,EAAEsC,EAAEzb,CAAC,EAAEyb,EAAEzb,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAACmZ,EAAE,QAAQ,CAAC,IAAI,EAAEuK,GAAGzG,CAAC,EAAE9D,EAAE,QAAQ,EAAE,EAAE,KAAK,KAAKnZ,EAAE,EAAEnR,CAAC,CAAC,CAACsqB,EAAE,UAAU,MAAS,CAAE,CAAA,OAAO,EAAE,KAAK,KAAKnZ,EAAE9N,EAAErD,CAAC,CAAC,CAAC,CAAC,EAAE+xB,EAAE,EAAE,sBAAsB,SAAS,EAAE,CAAC,OAAO,SAAS5gB,EAAE9N,EAAErD,EAAE,CAAC,GAAGmR,IAAI,SAASA,GAAG,WAAW,GAAG,CAAC,IAAI3F,EAAE,KAAKohB,EAAEphB,EAAE,qCAAqC,CAAE,EAAC8e,EAAEsC,EAAEzb,CAAC,EAAEmZ,IAAIA,EAAE,WAAWA,EAAE,UAAU,IAAI,EAAE,KAAK,KAAKnZ,EAAEmZ,EAAE,QAAQtqB,CAAC,EAAEsqB,EAAE,QAAQ,OAAO,OAAOsC,EAAEzb,CAAC,GAAG,OAAO,KAAKyb,CAAC,EAAE,SAAS,GAAG,OAAOphB,EAAE,oCAAoC,MAAS,CAAA,CAAE,OAAO,EAAE,KAAK,KAAK2F,EAAE9N,EAAErD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI80B,GAAG,KAAK,SAASb,IAAI,CAACa,GAAGvB,EAAE,QAAQA,EAAE,QAAQ,SAASnF,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,OAAOigB,GAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAIhG,EAAE,IAAIja,CAAC,CAAC,EAAE2gB,IAAI,CAACA,GAAG,kBAAkBA,GAAG,MAAM,KAAK,SAAS,EAAE,EAAE,EAAEvB,EAAE,QAAQ,wBAAwB,EAAE,CAAC,IAAIwB,GAAG,KAAK,SAASb,IAAI,CAACa,GAAGxB,EAAE,qBAAqBA,EAAE,qBAAqB,SAASnF,EAAE,CAAC,OAAOgG,GAAE,qBAAqBhG,CAAC,EAAE2G,IAAI,CAACA,GAAG,kBAAkBA,GAAG,MAAM,KAAK,SAAS,EAAE,EAAE,EAAExB,EAAE,qBAAqB,wBAAwB,EAAE,CAAC,SAASyB,IAAI,CAAC,IAAI5G,EAAE,OAAO,SAAS,WAAWja,EAAEia,EAAE,IAAI,QAAQ,GAAG,SAAS,EAAE,EAAE,CAAC,GAAGA,EAAE,OAAOja,EAAE,IAAI,CAAC,EAAE,IAAIA,EAAE,IAAI,CAAC,EAAE,IAAI,QAAQhD,EAAE,EAAEA,EAAEgD,EAAE,OAAOhD,IAAI,GAAGgD,EAAEhD,CAAC,IAAI,EAAE,MAAM,GAAG,OAAOgD,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAGia,EAAEja,EAAE,OAAO,CAAC,MAAO,SAAQhD,EAAE,EAAEA,EAAEgD,EAAE,OAAOhD,IAAI,GAAGgD,EAAEhD,CAAC,IAAI,EAAE,CAACgD,EAAE,OAAOhD,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS7F,GAAG,CAAC,IAAI8iB,EAAEnuB,EAAEkU,EAAEia,EAAE,QAAQA,EAAE,SAAS,EAAE,IAAI,KAAK,OAAQ,EAAC,GAAG,GAAG,CAAC,GAAGja,GAAGA,EAAE,WAAW,OAAOA,EAAE,WAAY,EAAC,QAAQ,KAAK,EAAE,EAAEA,GAAGA,EAAE,kBAAkB,EAAE,IAAIA,EAAE,gBAAgB,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,MAAS,CAAE,CAAA,OAAO,uBAAkB,MAAM,QAAQ,SAAS,IAAI,GAAG,EAAC,EAAG,KAAK,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS8gB,GAAG7G,EAAE,CAAC,OAAOA,EAAE,WAAWA,EAAE,UAAU,OAAOA,EAAE,UAAU,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS8G,GAAE9G,EAAE,CAAC,GAAG,CAAC,QAAQja,EAAE,SAAS,CAAC,EAAEia,EAAE,GAAGja,EAAE,OAAOA,EAAE,IAAI,EAAE8gB,GAAG7G,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC,SAAS+G,GAAG/G,EAAEja,EAAE,EAAE,CAAC,IAAI,EAAEia,EAAE,UAAUA,EAAE,WAAW,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAA,EAAGjd,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAE,EAACA,EAAE,QAAQA,EAAE,MAAMgD,GAAG,IAAIhD,EAAE,OAAOA,EAAE,KAAQ,QAAQ,CAAC,SAASikB,GAAGhH,EAAEja,EAAE,CAAC,IAAI,EAAE8gB,GAAG7G,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC,KAAK,UAAU,QAAQ,EAAE,EAAE,EAAE,EAAE,UAAU,GAAG,EAAE,UAAUC,EAAEA,EAAEA,EAAE,CAAE,EAAC,CAAC,EAAE,CAAC,EAAEla,CAAC,EAAEA,GAAG,SAASA,EAAE,CAAC,IAAIhD,EAAEkd,EAAEA,EAAE,GAAG,GAAG,EAAE,IAAI,EAAEla,EAAE,IAAI,EAAE,EAAE,UAAU,KAAKhD,CAAC,CAAC,CAAC,SAASkkB,GAAGjH,EAAE,CAAC,GAAGA,GAAGA,EAAE,oBAAoB,MAAM,GAAG,GAAG,CAAC6D,GAAG7D,EAAE,sBAAsB,EAAE,CAAC,MAAS,CAAE,CAAA,MAAQ,EAAA,CAAC,SAASkH,GAAGlH,EAAE,CAAC,OAAO,MAAM,QAAQA,CAAC,EAAEA,EAAE,CAACA,CAAC,CAAC,CAAC,SAASmH,IAAI,CAAC,OAAO,OAAO,0BAA2B,KAAa,CAAC,CAAC,yBAAyB,CAAC,SAASC,IAAI,CAAC,MAAM,KAAK,CAAC,SAASC,IAAI,CAAC,MAAM,CAACF,GAAI,GAAE,OAAO,UAAU,SAAS,KAAK,OAAO,QAAS,IAAY,QAAQ,CAAC,IAAI,kBAAkB,CAAC,SAASG,GAAGtH,EAAEja,EAAE,CAAC,OAAOia,EAAE,QAAQja,CAAC,CAAC,CAAC,SAASwhB,GAAEvH,EAAEja,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,OAAOyhB,GAAG,GAAGxH,EAAEja,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS0hB,GAAGzH,EAAEja,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,IAAI,EAAEwhB,GAAEvH,EAAEja,CAAC,EAAE,OAAO2hB,GAAG,CAAC,EAAE,EAAED,GAAGzH,EAAEja,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,SAASyhB,GAAGxH,EAAEja,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE6gB,GAAI,EAAC,CAAC,GAAG,CAAC7jB,EAAE9N,CAAC,EAAE,EAAE,GAAG8Q,GAAG,MAAM,CAAC,SAAS,UAAU,QAAQ,EAAE,SAAS,OAAOA,CAAC,GAAG,CAAC6b,GAAG7b,CAAC,EAAE,OAAOA,EAAE,IAAInU,EAAE+1B,GAAG3H,EAAEja,CAAC,EAAE,GAAG,CAACnU,EAAE,WAAW,UAAU,EAAE,OAAOA,EAAE,GAAGmU,EAAE,8BAA8B,OAAOA,EAAE,IAAI3I,EAAE,OAAO2I,EAAE,yCAAyC,SAASA,EAAE,wCAAwC,EAAE,GAAG3I,IAAI,EAAE,OAAOxL,EAAE,QAAQ,UAAU,EAAE,EAAE,GAAGmR,EAAEgD,CAAC,EAAE,MAAM,eAAe,IAAIyY,EAAEzY,EAAE,GAAGyY,GAAG,OAAOA,EAAE,QAAQ,WAAW,GAAG,CAAC,IAAIxb,EAAEwb,EAAE,OAAQ,EAAC,OAAOgJ,GAAG,GAAGxkB,EAAE5F,EAAE,EAAE,EAAE,CAAC,CAAC,MAAS,CAAA,CAAE,IAAI8e,EAAE,MAAM,QAAQnW,CAAC,EAAE,GAAG,CAAA,EAAG,EAAE,EAAE8L,EAAEmS,GAAGje,CAAC,EAAE,QAAQ/C,KAAK6O,EAAE,CAAC,GAAG,CAAC,OAAO,UAAU,eAAe,KAAKA,EAAE7O,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,CAACkZ,EAAElZ,CAAC,EAAE,oBAAoB,KAAK,CAAC,IAAI4kB,EAAE/V,EAAE7O,CAAC,EAAEkZ,EAAElZ,CAAC,EAAEwkB,GAAGxkB,EAAE4kB,EAAExqB,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,OAAOnI,EAAE8Q,CAAC,EAAEmW,CAAC,CAAC,SAASyL,GAAG3H,EAAEja,EAAE,CAAC,GAAG,CAAC,GAAGia,IAAI,UAAUja,GAAG,OAAOA,GAAG,UAAUA,EAAE,QAAQ,MAAM,WAAW,GAAGia,IAAI,gBAAgB,MAAM,kBAAkB,GAAG,OAAO,OAAQ,KAAaja,IAAI,OAAO,MAAM,WAAW,GAAG,OAAO,OAAQ,KAAaA,IAAI,OAAO,MAAM,WAAW,GAAG,OAAO,SAAU,KAAaA,IAAI,SAAS,MAAM,aAAa,GAAG8b,GAAG9b,CAAC,EAAE,MAAM,iBAAiB,GAAG4b,GAAG5b,CAAC,EAAE,MAAM,mBAAmB,GAAG,OAAOA,GAAG,UAAUA,IAAIA,EAAE,MAAM,QAAQ,GAAG,OAAOA,GAAG,WAAW,MAAM,cAAc6e,GAAE7e,CAAC,CAAC,IAAI,GAAG,OAAOA,GAAG,SAAS,MAAM,IAAI,OAAOA,CAAC,CAAC,IAAI,GAAG,OAAOA,GAAG,SAAS,MAAM,YAAY,OAAOA,CAAC,CAAC,IAAI,IAAI,EAAE8hB,GAAG9hB,CAAC,EAAE,MAAM,qBAAqB,KAAK,CAAC,EAAE,iBAAiB,CAAC,IAAI,WAAW,CAAC,GAAG,OAAO,EAAE,CAAC,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS8hB,GAAG7H,EAAE,CAAC,IAAIja,EAAE,OAAO,eAAeia,CAAC,EAAE,OAAOja,EAAEA,EAAE,YAAY,KAAK,gBAAgB,CAAC,SAAS+hB,GAAG9H,EAAE,CAAC,MAAM,CAAC,CAAC,UAAUA,CAAC,EAAE,MAAM,OAAO,EAAE,MAAM,CAAC,SAAS0H,GAAG1H,EAAE,CAAC,OAAO8H,GAAG,KAAK,UAAU9H,CAAC,CAAC,CAAC,CAAC,IAAI+H,IAAI,SAAS/H,EAAE,CAACA,EAAEA,EAAE,QAAQ,CAAC,EAAE,UAAU,IAAI0D,EAAE,EAAE1D,EAAEA,EAAE,SAAS0D,CAAC,EAAE,WAAW,IAAIsE,EAAE,EAAEhI,EAAEA,EAAE,SAASgI,CAAC,EAAE,UAAU,GAAGD,KAAKA,GAAG,CAAA,EAAG,EAAE,SAASE,GAAEjI,EAAE,CAAC,OAAO,IAAIkI,EAAEniB,GAAG,CAACA,EAAEia,CAAC,CAAC,CAAC,CAAC,CAAC,SAASmI,GAAGnI,EAAE,CAAC,OAAO,IAAIkI,EAAE,CAACniB,EAAE,IAAI,CAAC,EAAEia,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIkI,EAAE,KAAK,CAAC,YAAY,EAAE,CAACA,EAAE,UAAU,OAAO,KAAK,IAAI,EAAEA,EAAE,UAAU,QAAQ,KAAK,IAAI,EAAEA,EAAE,UAAU,QAAQ,KAAK,IAAI,EAAEA,EAAE,UAAU,QAAQ,KAAK,IAAI,EAAE,KAAK,OAAOH,GAAG,QAAQ,KAAK,UAAU,GAAG,GAAG,CAAC,EAAE,KAAK,SAAS,KAAK,OAAO,CAAC,OAAOrE,EAAE,CAAC,KAAK,QAAQA,CAAC,CAAC,CAAC,CAAC,KAAK,EAAEA,EAAE,CAAC,OAAO,IAAIwE,EAAE,CAACF,EAAEzqB,IAAI,CAAC,KAAK,UAAU,KAAK,CAAC,GAAGwF,GAAG,CAAC,GAAG,CAAC,EAAEilB,EAAEjlB,CAAC,MAAO,IAAG,CAACilB,EAAE,EAAEjlB,CAAC,CAAC,CAAC,OAAO,EAAE,CAACxF,EAAE,CAAC,CAAC,CAAC,EAAEwF,GAAG,CAAC,GAAG,CAAC2gB,EAAEnmB,EAAEwF,CAAC,MAAO,IAAG,CAACilB,EAAEtE,EAAE3gB,CAAC,CAAC,CAAC,OAAO,EAAE,CAACxF,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,KAAKmmB,GAAGA,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,IAAIwE,EAAE,CAACxE,EAAEsE,IAAI,CAAC,IAAIzqB,EAAEwF,EAAE,OAAO,KAAK,KAAK,GAAG,CAACA,EAAE,GAAGxF,EAAE,EAAE,GAAG,EAAC,CAAE,EAAE,GAAG,CAACwF,EAAE,GAAGxF,EAAE,EAAE,GAAG,EAAG,CAAA,CAAC,EAAE,KAAK,IAAI,CAAC,GAAGwF,EAAE,CAACilB,EAAEzqB,CAAC,EAAE,MAAM,CAACmmB,EAAEnmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,SAAS,GAAG,CAAC,KAAK,WAAWwqB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ,GAAG,CAAC,KAAK,WAAWA,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,EAAErE,IAAI,CAAC,GAAG,KAAK,SAASqE,GAAG,QAAQ,CAAC,GAAGrG,GAAGgC,CAAC,EAAE,CAACA,EAAE,KAAK,KAAK,SAAS,KAAK,OAAO,EAAE,MAAM,CAAC,KAAK,OAAO,EAAE,KAAK,OAAOA,EAAE,KAAK,iBAAgB,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,iBAAiB,IAAI,CAAC,GAAG,KAAK,SAASqE,GAAG,QAAQ,OAAO,IAAI,EAAE,KAAK,UAAU,MAAO,EAAC,KAAK,UAAU,CAAA,EAAG,EAAE,QAAQrE,GAAG,CAACA,EAAE,CAAC,IAAI,KAAK,SAASqE,GAAG,UAAUrE,EAAE,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,SAASqE,GAAG,UAAUrE,EAAE,CAAC,EAAE,KAAK,MAAM,EAAEA,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS0E,GAAGpI,EAAE,CAAC,IAAIja,EAAE,CAAE,EAAC,SAAS,GAAG,CAAC,OAAOia,IAAI,QAAQja,EAAE,OAAOia,CAAC,CAAC,SAAS,EAAE/qB,EAAE,CAAC,OAAO8Q,EAAE,OAAOA,EAAE,QAAQ9Q,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAEA,EAAE,CAAC,GAAG,CAAC,IAAI,OAAOkzB,GAAG,IAAIllB,GAAE,sDAAsD,CAAC,EAAE,IAAIrR,EAAEqD,EAAG,EAAC,OAAO8Q,EAAE,QAAQnU,CAAC,IAAI,IAAImU,EAAE,KAAKnU,CAAC,EAAEA,EAAE,KAAK,IAAI,EAAEA,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,EAAEA,CAAC,EAAE,KAAK,KAAK,IAAI,CAAE,CAAA,CAAC,EAAEA,CAAC,CAAC,SAASmR,EAAE9N,EAAE,CAAC,OAAO,IAAIizB,EAAE,CAACt2B,EAAEwL,IAAI,CAAC,IAAIohB,EAAEzY,EAAE,OAAO,GAAG,CAACyY,EAAE,OAAO5sB,EAAE,EAAE,EAAE,IAAIsqB,EAAE,WAAW,IAAI,CAACjnB,GAAGA,EAAE,GAAGrD,EAAE,EAAE,CAAC,EAAEqD,CAAC,EAAE8Q,EAAE,QAAQ,GAAG,CAACkiB,GAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAEzJ,IAAI,aAAatC,CAAC,EAAEtqB,EAAE,EAAE,EAAE,EAAEwL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE2I,EAAE,IAAI,EAAE,MAAMhD,CAAC,CAAC,CAAC,SAASslB,GAAGrI,EAAE,CAAC,GAAG,CAACA,EAAE,MAAM,CAAA,EAAG,IAAIja,EAAEia,EAAE,MAAM,8DAA8D,EAAE,GAAG,CAACja,EAAE,MAAM,CAAE,EAAC,IAAI,EAAEA,EAAE,CAAC,GAAG,GAAG,EAAEA,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAKA,EAAE,CAAC,EAAE,KAAKA,EAAE,CAAC,EAAE,SAASA,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAASA,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAIuiB,GAAG,CAAC,QAAQ,QAAQ,UAAU,MAAM,OAAO,OAAO,EAAE,SAASC,GAAGvI,EAAE,CAAC,OAAOA,IAAI,OAAO,UAAUsI,GAAG,SAAStI,CAAC,EAAEA,EAAE,KAAK,CAAC,IAAIwI,GAAGhG,KAAIiG,GAAG,CAAC,WAAW,IAAI,KAAK,MAAM,GAAG,EAAE,SAASC,IAAI,CAAC,GAAG,CAAC,YAAY1I,CAAC,EAAEwI,GAAG,GAAG,CAACxI,GAAG,CAACA,EAAE,IAAI,OAAO,IAAIja,EAAE,KAAK,IAAG,EAAGia,EAAE,IAAG,EAAG,MAAM,CAAC,IAAI,IAAIA,EAAE,IAAG,EAAG,WAAWja,CAAC,CAAC,CAAC,SAAS4iB,IAAI,CAAC,GAAG,CAAC,OAAOrB,GAAGsB,GAAO,YAAY,EAAE,WAAW,MAAS,CAAC,MAAM,CAAC,CAAC,IAAIC,GAAGxB,GAAI,EAACsB,GAAI,EAACD,GAAE,EAAGI,GAAGD,KAAK,OAAOJ,GAAG,CAAC,WAAW,KAAKI,GAAG,WAAWA,GAAG,IAAK,GAAE,GAAG,EAAEE,GAAGN,GAAG,WAAW,KAAKA,EAAE,EAAEO,GAAEF,GAAG,WAAW,KAAKA,EAAE,EAASG,IAAG,IAAI,CAAC,GAAG,CAAC,YAAYjJ,CAAC,EAAEwI,GAAG,GAAG,CAACxI,GAAG,CAACA,EAAE,IAAe,OAAO,IAAIja,EAAE,KAAK,IAAI,EAAEia,EAAE,IAAK,EAAC,EAAE,KAAK,IAAK,EAAC,EAAEA,EAAE,WAAW,KAAK,IAAIA,EAAE,WAAW,EAAE,CAAC,EAAEja,EAAEhD,EAAE,EAAEgD,EAAE9Q,EAAE+qB,EAAE,QAAQA,EAAE,OAAO,gBAAgB5iB,EAAE,OAAOnI,GAAG,SAAS,KAAK,IAAIA,EAAE,EAAE,CAAC,EAAE8Q,EAAEyY,EAAEphB,EAAE2I,EAAE,OAAOhD,GAAGyb,EAAE,GAAGphB,EAAmB4iB,EAAE,WAAkC/qB,EAAiB,CAAE,GAAC,EAAQi0B,GAAG,UAAUC,GAAG,UAAUC,GAAG,WAAWC,GAAG,KAAK,SAASC,GAAGtJ,EAAE,CAAC,GAAG,CAACoB,GAAEpB,CAAC,GAAG,CAAC,MAAM,QAAQA,CAAC,EAAE,OAAO,IAAIja,EAAE,CAAA,EAAG,GAAG,MAAM,QAAQia,CAAC,EAAEja,EAAEia,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAIjd,EAAEwmB,GAAG,CAAC,EAAE,OAAOtJ,EAAEA,EAAE,CAAE,EAAC,CAAC,EAAEld,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAACid,EAAE,OAAOja,EAAEwjB,GAAGvJ,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,QAAQja,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAEhD,CAAC,IAAI,CAAC,GAAG,EAAE,MAAMqmB,EAAE,EAAE,CAAC,IAAIn0B,EAAE,EAAE,MAAMk0B,GAAG,MAAM,EAAE,EAAEl0B,CAAC,EAAE8N,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,SAASymB,GAAGxJ,EAAE,CAAC,GAAG,CAACA,EAAE,OAAO,IAAIja,EAAE,OAAO,QAAQia,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,GAAGmJ,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAA,CAAE,EAAE,OAAOM,GAAG1jB,CAAC,CAAC,CAAC,SAASwjB,GAAGvJ,EAAE,CAAC,OAAOA,EAAE,MAAM,GAAG,EAAE,IAAIja,GAAGA,EAAE,MAAM,GAAG,EAAE,IAAI,GAAG,mBAAmB,EAAE,KAAI,CAAE,CAAC,CAAC,EAAE,OAAO,CAACA,EAAE,CAAC,EAAE,CAAC,KAAKA,EAAE,CAAC,EAAE,EAAEA,GAAG,CAAE,CAAA,CAAC,CAAC,SAAS0jB,GAAGzJ,EAAE,CAAC,GAAG,OAAO,KAAKA,CAAC,EAAE,SAAS,EAAE,OAAO,OAAO,QAAQA,CAAC,EAAE,OAAO,CAACja,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAIhD,EAAE,GAAG,mBAAmB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,GAAG9N,EAAE,IAAI,EAAE8N,EAAE,GAAGgD,CAAC,IAAIhD,CAAC,GAAG,OAAO9N,EAAE,OAAOo0B,KAAK,OAAO,iBAAkB,KAAa,mBAAmBlG,EAAE,KAAK,mBAAmB,CAAC,cAAc,CAAC,0DAA0D,EAAEpd,GAAG9Q,CAAC,EAAE,EAAE,CAAC,CAAC,IAAIy0B,GAAG,IAAI,OAAO,2DAA2D,EAAE,SAASC,GAAG3J,EAAE,CAAC,GAAG,CAACA,EAAE,OAAO,IAAIja,EAAEia,EAAE,MAAM0J,EAAE,EAAE,GAAG,CAAC3jB,EAAE,OAAO,IAAI,EAAE,OAAOA,EAAE,CAAC,IAAI,IAAI,EAAE,GAAGA,EAAE,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,QAAQA,EAAE,CAAC,EAAE,cAAc,EAAE,aAAaA,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS6jB,GAAG5J,EAAEja,EAAE,CAAC,IAAI,EAAE4jB,GAAG3J,CAAC,EAAE,EAAEsJ,GAAGvjB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAahD,EAAE,cAAc9N,CAAC,EAAE,GAAG,CAAA,EAAGrD,EAAE,CAAC,QAAQ,GAAGsL,EAAC,EAAG,OAAOA,EAAC,EAAG,UAAU,EAAE,EAAE,QAAQjI,CAAC,EAAE,OAAO8N,IAAInR,EAAE,aAAamR,GAAG,IAAInR,EAAE,IAAI,GAAG,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,mBAAmBA,CAAC,CAAC,CAAC,SAASi4B,GAAG7J,EAAE9iB,EAAG,EAAC6I,EAAE7I,EAAG,EAAC,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,IAAI,SAAS,EAAE,EAAE,KAAK,MAAM,GAAG8iB,CAAC,IAAIja,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS+jB,GAAE9J,EAAEja,EAAE,CAAA,EAAG,CAAC,MAAM,CAACia,EAAEja,CAAC,CAAC,CAAC,SAASgkB,GAAG/J,EAAEja,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAEia,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAEja,CAAC,CAAC,CAAC,CAAC,SAASikB,GAAGhK,EAAEja,EAAE,CAAC,IAAI,EAAEia,EAAE,CAAC,EAAE,QAAQ,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,GAAGja,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAASkkB,GAAGjK,EAAEja,EAAE,CAAC,OAAOA,GAAG,IAAI,aAAa,OAAOia,CAAC,CAAC,CAAC,SAASkK,GAAGlK,EAAEja,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAEia,EAAE,EAAE,KAAK,UAAU,CAAC,EAAE,SAASjd,EAAE9N,EAAE,CAAC,OAAO,GAAG,SAAS,EAAE,OAAOA,GAAG,SAAS,EAAEA,EAAE,CAACg1B,GAAG,EAAElkB,CAAC,EAAE9Q,CAAC,EAAE,EAAE,KAAK,OAAOA,GAAG,SAASg1B,GAAGh1B,EAAE8Q,CAAC,EAAE9Q,CAAC,CAAC,CAAC,QAAQA,KAAK,EAAE,CAAC,GAAG,CAACrD,EAAEwL,CAAC,EAAEnI,EAAE,GAAG8N,EAAE;AAAA,EAC1wY,KAAK,UAAUnR,CAAC,CAAC;AAAA,CAClB,EAAE,OAAOwL,GAAG,UAAUA,aAAa,WAAW2F,EAAE3F,CAAC,MAAM,CAAC,IAAIohB,EAAE,GAAG,CAACA,EAAE,KAAK,UAAUphB,CAAC,CAAC,MAAS,CAACohB,EAAE,KAAK,UAAU+I,GAAEnqB,CAAC,CAAC,CAAC,CAAC2F,EAAEyb,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,GAAG,SAAS,EAAE2L,GAAG,CAAC,CAAC,CAAC,SAASA,GAAGnK,EAAE,CAAC,IAAIja,EAAEia,EAAE,OAAO,CAAC,EAAEjd,IAAI,EAAEA,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,WAAWgD,CAAC,EAAE,EAAE,EAAE,QAAQ,KAAKia,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,OAAO,CAAC,CAAC,SAASoK,GAAGpK,EAAEja,EAAE,CAAC,IAAI,EAAE,OAAOia,EAAE,MAAM,SAASiK,GAAGjK,EAAE,KAAKja,CAAC,EAAEia,EAAE,KAAK,MAAM,CAACoE,GAAE,CAAC,KAAK,aAAa,OAAO,EAAE,OAAO,SAASpE,EAAE,SAAS,aAAaA,EAAE,YAAY,gBAAgBA,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIqK,GAAG,CAAC,QAAQ,UAAU,SAAS,UAAU,WAAW,aAAa,YAAY,cAAc,MAAM,QAAQ,cAAc,WAAW,YAAY,UAAU,QAAQ,UAAU,aAAa,SAAS,iBAAiB,SAAS,SAAS,SAAS,EAAE,SAASC,GAAGtK,EAAE,CAAC,OAAOqK,GAAGrK,CAAC,CAAC,CAAC,SAASuK,GAAGvK,EAAE,CAAC,GAAG,CAACA,GAAG,CAACA,EAAE,IAAI,OAAO,GAAG,CAAC,KAAKja,EAAE,QAAQ,CAAC,EAAEia,EAAE,IAAI,MAAM,CAAC,KAAKja,EAAE,QAAQ,CAAC,CAAC,CAAC,SAASykB,GAAGxK,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEia,EAAE,uBAAuBA,EAAE,sBAAsB,uBAAuB,OAAOC,EAAEA,EAAEA,EAAE,CAAC,SAASD,EAAE,SAAS,QAAQ,IAAI,KAAM,EAAC,YAAW,CAAE,EAAEja,GAAG,CAAC,IAAIA,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAIud,GAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAMc,GAAEnE,EAAE,CAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASwK,GAAGzK,EAAEja,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC,UAAagjB,GAAI,EAAC,iBAAiB/I,CAAC,CAAC,EAAE,OAAO8J,GAAE/jB,EAAE,CAAC,IAAIA,CAAC,EAAE,CAAA,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS2kB,GAAG1K,EAAEja,EAAE,KAAK,IAAK,EAAC,CAAC,IAAI,EAAE,SAAS,GAAGia,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,KAAK,MAAM,GAAGA,CAAC,EAAE,EAAE,OAAO,MAAM,CAAC,EAAE,IAAI,EAAEja,CAAC,CAAC,SAAS4kB,GAAG3K,EAAEja,EAAE,CAAC,OAAOia,EAAEja,CAAC,GAAGia,EAAE,KAAK,CAAC,CAAC,SAAS4K,GAAG5K,EAAEja,EAAE,EAAE,KAAK,IAAK,EAAC,CAAC,OAAO4kB,GAAG3K,EAAEja,CAAC,EAAE,CAAC,CAAC,SAAS8kB,GAAG7K,EAAE,CAAC,WAAWja,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,IAAG,EAAG,CAAC,IAAI,EAAEka,EAAE,CAAA,EAAGD,CAAC,EAAEjd,EAAE,GAAG,EAAE,sBAAsB,EAAE9N,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG8N,EAAE,QAAQnR,KAAKmR,EAAE,KAAM,EAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC3F,EAAEohB,CAAC,EAAE5sB,EAAE,MAAM,IAAI,CAAC,EAAEsqB,EAAE,SAAS9e,EAAE,EAAE,EAAE,GAAG,MAAM8e,CAAC,EAAE,GAAGA,GAAG,IAAI,GAAG,CAACsC,EAAE,EAAE,IAAI,EAAE,MAAO,SAAQ3M,KAAK2M,EAAE,MAAM,GAAG,EAAE,EAAE3M,CAAC,EAAE,EAAE,CAAC,MAAM5c,EAAE,EAAE,IAAI,EAAEy1B,GAAGz1B,EAAE,CAAC,EAAE8Q,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI+kB,GAAG,aAAa,SAASC,IAAI,CAAC,OAAOtI,GAAG,wBAAwB,IAAI,CAAA,CAAE,CAAC,CAAC,SAASuI,GAAGhL,EAAE,CAAC+K,GAAE,EAAG,KAAK/K,CAAC,CAAC,CAAC,SAASiL,GAAGjL,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,IAAImiB,EAAE,CAAC,EAAEnlB,IAAI,CAAC,IAAI9N,EAAE+qB,EAAE,CAAC,EAAE,GAAGja,IAAI,MAAM,OAAO9Q,GAAG,WAAW,EAAE8Q,CAAC,MAAM,CAAC,IAAInU,EAAEqD,EAAEgrB,EAAE,CAAA,EAAGla,CAAC,EAAE,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmB9Q,EAAE,IAAIrD,IAAI,MAAMuxB,EAAE,IAAI,oBAAoBluB,EAAE,EAAE,iBAAiB,EAAEysB,GAAG9vB,CAAC,EAAEA,EAAE,KAAKwL,GAAG6tB,GAAGjL,EAAE5iB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,KAAK2F,CAAC,EAAEkoB,GAAGjL,EAAEpuB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,KAAKmR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASmoB,GAAGlL,EAAE,CAAC,IAAIja,EAAEijB,GAAC,EAAG,EAAE,CAAC,IAAI9rB,EAAC,EAAG,KAAK,GAAG,UAAU6I,EAAE,QAAQA,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,EAAE,eAAe,GAAG,OAAO,IAAIolB,GAAG,CAAC,CAAC,EAAE,OAAOnL,GAAGoL,GAAG,EAAEpL,CAAC,EAAE,CAAC,CAAC,SAASoL,GAAGpL,EAAEja,EAAE,CAAA,EAAG,CAAC,GAAGA,EAAE,OAAO,CAACia,EAAE,WAAWja,EAAE,KAAK,aAAaia,EAAE,UAAUja,EAAE,KAAK,YAAY,CAACia,EAAE,KAAK,CAACja,EAAE,MAAMia,EAAE,IAAIja,EAAE,KAAK,IAAIA,EAAE,KAAK,OAAOA,EAAE,KAAK,WAAWia,EAAE,UAAUja,EAAE,WAAWijB,GAAC,EAAGjjB,EAAE,iBAAiBia,EAAE,eAAeja,EAAE,gBAAgBA,EAAE,MAAMia,EAAE,IAAIja,EAAE,IAAI,SAAS,GAAGA,EAAE,IAAI7I,EAAC,GAAI6I,EAAE,OAAO,SAASia,EAAE,KAAKja,EAAE,MAAM,CAACia,EAAE,KAAKja,EAAE,MAAMia,EAAE,IAAI,GAAGja,EAAE,GAAG,IAAI,OAAOA,EAAE,SAAS,WAAWia,EAAE,QAAQja,EAAE,SAASia,EAAE,eAAeA,EAAE,SAAS,eAAe,OAAOja,EAAE,UAAU,SAASia,EAAE,SAASja,EAAE,aAAa,CAAC,IAAI,EAAEia,EAAE,UAAUA,EAAE,QAAQA,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,CAACja,EAAE,UAAUia,EAAE,QAAQja,EAAE,SAASA,EAAE,cAAcia,EAAE,YAAYja,EAAE,aAAa,CAACia,EAAE,WAAWja,EAAE,YAAYia,EAAE,UAAUja,EAAE,WAAW,CAACia,EAAE,WAAWja,EAAE,YAAYia,EAAE,UAAUja,EAAE,WAAW,OAAOA,EAAE,QAAQ,WAAWia,EAAE,OAAOja,EAAE,QAAQA,EAAE,SAASia,EAAE,OAAOja,EAAE,OAAO,CAAC,SAASslB,GAAGrL,EAAEja,EAAE,CAAC,IAAI,EAAE,CAAE,EAAgBia,EAAE,SAAS,OAAO,EAAE,CAAC,OAAO,QAAQ,GAAGoL,GAAGpL,EAAE,CAAC,CAAC,CAAC,SAASmL,GAAGnL,EAAE,CAAC,OAAOoE,GAAE,CAAC,IAAI,GAAGpE,EAAE,GAAG,GAAG,KAAKA,EAAE,KAAK,QAAQ,IAAI,KAAKA,EAAE,QAAQ,GAAG,EAAE,YAAW,EAAG,UAAU,IAAI,KAAKA,EAAE,UAAU,GAAG,EAAE,YAAa,EAAC,OAAOA,EAAE,OAAO,OAAOA,EAAE,OAAO,IAAI,OAAOA,EAAE,KAAK,UAAU,OAAOA,EAAE,KAAK,SAAS,GAAGA,EAAE,GAAG,GAAG,OAAO,SAASA,EAAE,SAAS,MAAM,CAAC,QAAQA,EAAE,QAAQ,YAAYA,EAAE,YAAY,WAAWA,EAAE,UAAU,WAAWA,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAIsL,GAAG,IAAIC,GAAE,KAAK,CAAC,aAAa,CAAC,KAAK,oBAAoB,GAAG,KAAK,gBAAgB,CAAE,EAAC,KAAK,iBAAiB,CAAE,EAAC,KAAK,aAAa,CAAE,EAAC,KAAK,aAAa,CAAE,EAAC,KAAK,MAAM,CAAE,EAAC,KAAK,MAAM,CAAE,EAAC,KAAK,OAAO,CAAE,EAAC,KAAK,UAAU,CAAE,EAAC,KAAK,uBAAuB,CAAA,EAAG,KAAK,oBAAoBC,GAAI,CAAA,CAAC,OAAO,MAAM,EAAE,CAAC,IAAI9H,EAAE,IAAI6H,GAAE,OAAO,IAAI7H,EAAE,aAAa,CAAC,GAAG,EAAE,YAAY,EAAEA,EAAE,MAAMzD,EAAE,CAAE,EAAC,EAAE,KAAK,EAAEyD,EAAE,OAAOzD,EAAE,CAAA,EAAG,EAAE,MAAM,EAAEyD,EAAE,UAAUzD,EAAE,CAAE,EAAC,EAAE,SAAS,EAAEyD,EAAE,MAAM,EAAE,MAAMA,EAAE,OAAO,EAAE,OAAOA,EAAE,MAAM,EAAE,MAAMA,EAAE,SAAS,EAAE,SAASA,EAAE,iBAAiB,EAAE,iBAAiBA,EAAE,aAAa,EAAE,aAAaA,EAAE,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,EAAEA,EAAE,gBAAgB,EAAE,gBAAgBA,EAAE,aAAa,CAAC,GAAG,EAAE,YAAY,EAAEA,EAAE,uBAAuBzD,EAAE,CAAA,EAAG,EAAE,sBAAsB,EAAEyD,EAAE,oBAAoBzD,EAAE,CAAE,EAAC,EAAE,mBAAmB,GAAGyD,CAAC,CAAC,iBAAiB,EAAE,CAAC,KAAK,gBAAgB,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK,iBAAiB,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,MAAM,GAAG,CAAA,EAAG,KAAK,UAAU0H,GAAG,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,mBAAmB,CAAC,OAAO,KAAK,eAAe,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,MAAMnL,EAAEA,EAAE,CAAE,EAAC,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,OAAO,EAAEyD,EAAE,CAAC,OAAO,KAAK,MAAMxD,EAAED,EAAE,CAAA,EAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAEyD,CAAC,CAAC,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,OAAOzD,EAAEA,EAAE,CAAA,EAAG,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,sBAAuB,EAAC,IAAI,CAAC,SAAS,EAAEyD,EAAE,CAAC,OAAO,KAAK,OAAOxD,EAAED,EAAE,CAAE,EAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAEyD,CAAC,CAAC,EAAE,KAAK,sBAAuB,EAAC,IAAI,CAAC,eAAe,EAAE,CAAC,OAAO,KAAK,aAAa,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,KAAK,sBAAuB,EAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,iBAAiB,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,WAAW,EAAEA,EAAE,CAAC,OAAOA,IAAI,KAAK,OAAO,KAAK,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,EAAEA,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,KAAK,sBAAqB,EAAG,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,QAAS,EAAC,OAAO,GAAG,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,KAAK,SAAS,KAAK,sBAAqB,EAAG,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,GAAG,OAAO,GAAG,WAAW,CAAC,IAAIA,EAAE,EAAE,IAAI,EAAE,OAAOA,aAAa6H,GAAE7H,EAAE,IAAI,CAAC,OAAO,aAAa6H,IAAG,KAAK,MAAMtL,EAAEA,EAAE,CAAE,EAAC,KAAK,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,OAAOA,EAAEA,EAAE,CAAE,EAAC,KAAK,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,UAAUA,EAAEA,EAAE,CAAE,EAAC,KAAK,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,KAAK,OAAO,EAAE,QAAQ,EAAE,eAAe,KAAK,aAAa,EAAE,cAAc,EAAE,kBAAkB,KAAK,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,KAAK,oBAAoB,EAAE,sBAAsBqB,GAAE,CAAC,IAAI,EAAE,EAAE,KAAK,MAAMrB,EAAEA,EAAE,CAAE,EAAC,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,OAAOA,EAAEA,EAAE,CAAE,EAAC,KAAK,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,UAAUA,EAAEA,EAAE,CAAE,EAAC,KAAK,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,EAAE,QAAQ,KAAK,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,aAAa,EAAE,aAAa,EAAE,iBAAiB,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,KAAK,oBAAoB,EAAE,qBAAqB,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,aAAa,CAAE,EAAC,KAAK,MAAM,CAAE,EAAC,KAAK,OAAO,CAAE,EAAC,KAAK,MAAM,CAAE,EAAC,KAAK,UAAU,CAAE,EAAC,KAAK,OAAO,OAAO,KAAK,iBAAiB,OAAO,KAAK,aAAa,OAAO,KAAK,gBAAgB,OAAO,KAAK,MAAM,OAAO,KAAK,SAAS,OAAO,KAAK,sBAAqB,EAAG,KAAK,aAAa,CAAA,EAAG,KAAK,oBAAoBuL,GAAI,EAAC,IAAI,CAAC,cAAc,EAAE9H,EAAE,CAAC,IAAIsE,EAAE,OAAOtE,GAAG,SAASA,EAAE4H,GAAG,GAAGtD,GAAG,EAAE,OAAO,KAAK,IAAIzqB,EAAE0iB,EAAE,CAAC,UAAU8I,GAAE,CAAE,EAAE,CAAC,EAAEhmB,EAAE,KAAK,aAAa,OAAOA,EAAE,KAAKxF,CAAC,EAAE,KAAK,aAAawF,EAAE,OAAOilB,EAAEjlB,EAAE,MAAM,CAACilB,CAAC,EAAEjlB,EAAE,KAAK,sBAAuB,EAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,KAAK,aAAa,KAAK,aAAa,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,KAAK,aAAa,CAAA,EAAG,KAAK,sBAAuB,EAAC,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,KAAK,aAAa,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,KAAK,YAAY,CAAC,kBAAkB,CAAC,OAAO,KAAK,aAAa,CAAA,EAAG,IAAI,CAAC,aAAa,EAAE2gB,EAAE,CAAA,EAAGsE,EAAE,CAAC,GAAG,KAAK,QAAQ,OAAO,KAAK,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM/H,EAAEA,EAAE,CAAE,EAAC,KAAK,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,OAAO,OAAO,KAAK,KAAK,KAAK,EAAE,SAAS,EAAE,KAAKA,EAAEA,EAAE,CAAE,EAAC,KAAK,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,OAAO,OAAO,KAAK,KAAK,KAAK,EAAE,SAAS,EAAE,KAAKA,EAAEA,EAAE,CAAE,EAAC,KAAK,KAAK,EAAE,EAAE,IAAI,GAAG,KAAK,WAAW,OAAO,KAAK,KAAK,SAAS,EAAE,SAAS,EAAE,SAASA,EAAEA,EAAE,CAAA,EAAG,KAAK,SAAS,EAAE,EAAE,QAAQ,GAAG,KAAK,SAAS,EAAE,MAAM,KAAK,QAAQ,KAAK,mBAAmB,EAAE,YAAY,KAAK,kBAAkB,KAAK,MAAM,CAAC,EAAE,SAASA,EAAE,CAAC,MAAM,KAAK,MAAM,gBAAe,CAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,MAAM,YAAY,GAAG,EAAE,CAAC,EAAE,sBAAsBA,EAAE,CAAC,uBAAuB,EAAE,0BAA2B,CAAA,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE,KAAKA,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,EAAE,IAAI1iB,EAAE,KAAK,gBAAe,EAAGwF,EAAE,CAAC,GAAG,EAAE,aAAa,CAAA,EAAG,GAAGxF,CAAC,EAAE,OAAO,EAAE,YAAYwF,EAAE,OAAO,EAAEA,EAAE,OAAO,EAAE,sBAAsBmd,EAAED,EAAEA,EAAE,CAAE,EAAC,EAAE,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,CAAC,mBAAmB,KAAK,mBAAmB,CAAC,EAAEgL,GAAG,CAAC,GAAGjD,GAAG,CAAA,EAAG,GAAG+C,GAAE,EAAG,GAAG,KAAK,gBAAgB,EAAE,EAAErH,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,OAAO,KAAK,uBAAuBzD,EAAEA,EAAE,CAAE,EAAC,KAAK,sBAAsB,EAAE,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,OAAO,KAAK,oBAAoB,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,KAAK,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,KAAK,YAAY,CAAC,uBAAuB,CAAC,KAAK,sBAAsB,KAAK,oBAAoB,GAAG,KAAK,gBAAgB,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,oBAAoB,GAAG,CAAC,kBAAkB,EAAE,CAAC,EAAE,YAAY,EAAE,YAAYiH,GAAG,EAAE,WAAW,EAAE,CAAA,EAAG,KAAK,eAAe,EAAE,YAAY,EAAE,YAAY,OAAO,KAAK,YAAY,GAAG,EAAE,aAAa,CAAC,EAAE,YAAY,QAAQ,OAAO,EAAE,WAAW,CAAC,EAAE,SAASsE,IAAI,CAAC,MAAM,CAAC,QAAQtuB,EAAG,EAAC,OAAOA,EAAC,EAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAIuuB,GAAG,EAAEC,GAAG,IAAIC,GAAG,KAAK,CAAC,YAAY,EAAEjI,EAAE,IAAI6H,GAAEvD,EAAEyD,GAAG,CAAC,KAAK,SAASzD,EAAE,KAAK,OAAO,CAAC,CAAC,MAAMtE,CAAC,CAAC,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,IAAIA,EAAE,KAAK,YAAa,EAACA,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,kBAAiB,CAAE,CAAC,WAAW,CAAC,IAAI,EAAE6H,GAAE,MAAM,KAAK,SAAQ,CAAE,EAAE,OAAO,KAAK,SAAU,EAAC,KAAK,CAAC,OAAO,KAAK,UAAW,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,KAAK,SAAQ,EAAG,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,SAAU,EAAC,IAAG,CAAE,CAAC,UAAU,EAAE,CAAC,IAAI7H,EAAE,KAAK,UAAW,EAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,QAAC,CAAQ,KAAK,SAAU,CAAA,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,YAAa,EAAC,MAAM,CAAC,UAAU,CAAC,OAAO,KAAK,YAAW,EAAG,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAEA,EAAE,CAAC,IAAIsE,EAAE,KAAK,aAAatE,GAAGA,EAAE,SAASA,EAAE,SAASxmB,EAAC,EAAGK,EAAE,IAAI,MAAM,2BAA2B,EAAE,OAAO,KAAK,YAAY,CAACwF,EAAE,IAAI,CAACA,EAAE,iBAAiB,EAAEmd,EAAED,EAAE,CAAC,kBAAkB,EAAE,mBAAmB1iB,CAAC,EAAEmmB,CAAC,EAAE,CAAC,SAASsE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,eAAe,EAAEtE,EAAEsE,EAAE,CAAC,IAAIzqB,EAAE,KAAK,aAAayqB,GAAGA,EAAE,SAASA,EAAE,SAAS9qB,EAAG,EAAC6F,EAAE,IAAI,MAAM,CAAC,EAAE,OAAO,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,EAAE2gB,EAAExD,EAAED,EAAE,CAAC,kBAAkB,EAAE,mBAAmBld,CAAC,EAAEilB,CAAC,EAAE,CAAC,SAASzqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,aAAa,EAAEmmB,EAAE,CAAC,IAAIsE,EAAEtE,GAAGA,EAAE,SAASA,EAAE,SAASxmB,EAAG,EAAC,OAAO,EAAE,OAAO,KAAK,aAAa8qB,GAAG,KAAK,YAAY,CAACzqB,EAAEwF,IAAI,CAACxF,EAAE,aAAa,EAAE2iB,EAAED,EAAE,CAAE,EAACyD,CAAC,EAAE,CAAC,SAASsE,CAAC,CAAC,EAAEjlB,CAAC,CAAC,CAAC,EAAEilB,CAAC,CAAC,aAAa,CAAC,OAAO,KAAK,YAAY,CAAC,cAAc,EAAEtE,EAAE,CAAC,GAAG,CAAC,MAAMsE,EAAE,OAAOzqB,CAAC,EAAE,KAAK,YAAa,EAAC,GAAG,CAACA,EAAE,OAAO,GAAG,CAAC,iBAAiBwF,EAAE,KAAK,eAAe,EAAE2oB,EAAE,EAAEnuB,EAAE,YAAYA,EAAE,WAAU,GAAI,CAAA,EAAG,GAAG,GAAG,EAAE,OAAO,IAAI,EAAEwrB,GAAE,EAAG3rB,EAAE6iB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAEzB,EAAEzb,EAAEkgB,GAAG,IAAIlgB,EAAE3F,EAAEsmB,CAAC,CAAC,EAAEtmB,EAAEohB,IAAI,OAAOjhB,EAAE,MAAMA,EAAE,KAAK,sBAAsBihB,EAAEkF,CAAC,EAAEsE,EAAE,cAAcxJ,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,WAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,SAAQ,EAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAEkF,EAAE,CAAC,KAAK,SAAU,EAAC,OAAO,EAAEA,CAAC,CAAC,CAAC,SAAS,EAAEA,EAAE,CAAC,KAAK,SAAQ,EAAG,SAAS,EAAEA,CAAC,CAAC,CAAC,WAAW,EAAEA,EAAE,CAAC,KAAK,SAAU,EAAC,WAAW,EAAEA,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,MAAMA,EAAE,OAAOsE,CAAC,EAAE,KAAK,YAAa,EAACA,GAAG,EAAEtE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAIA,EAAEkI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,QAAC,CAAQA,GAAGlI,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,IAAIA,EAAE,KAAK,UAAS,EAAG,GAAG,CAACA,EAAE,OAAO,KAAK,GAAG,CAAC,OAAOA,EAAE,eAAe,CAAC,CAAC,MAAS,CAAC,OAAO,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,KAAK,+BAA+B,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC,iBAAiB,EAAEO,EAAE,CAAC,IAAIsE,EAAE,KAAK,qBAAqB,mBAAmB,EAAEtE,CAAC,EAAE,IAAI,OAAO,iBAAkB,KAAa,mBAAmB,CAACsE,EAAE,CAAC,IAAIzqB,EAAE,KAAK,UAAS,EAAG,QAAQ,KAAKA,EAAE;AAAA;AAAA;AAAA,EAG90W,8GAA8G,CAAC,CAAC,OAAOyqB,CAAC,CAAC,cAAc,CAAC,OAAO,KAAK,qBAAqB,cAAc,CAAC,CAAC,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,WAAY,EAAC,KAAK,mBAAkB,CAAE,CAAC,YAAY,CAAC,IAAItE,EAAE,KAAK,YAAW,EAAG,MAAMsE,EAAEtE,EAAE,WAAU,EAAGsE,GAAGqD,GAAGrD,CAAC,EAAE,KAAK,mBAAkB,EAAGtE,EAAE,WAAY,CAAA,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,MAAMA,EAAE,OAAOsE,CAAC,EAAE,KAAK,YAAa,EAAC,CAAC,QAAQzqB,EAAE,YAAYwF,EAAE+nB,EAAE,EAAE9C,GAAGA,EAAE,WAAU,GAAI,CAAA,EAAG,CAAC,UAAU,CAAC,EAAEn2B,EAAE,WAAW,CAAE,EAAC,EAAEq5B,GAAGjL,EAAEA,EAAE,CAAC,QAAQ1iB,EAAE,YAAYwF,EAAE,KAAK2gB,EAAE,QAAO,CAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAEtmB,EAAEsmB,EAAE,YAAYA,EAAE,WAAU,EAAG,OAAOtmB,GAAGA,EAAE,SAAS,MAAMguB,GAAGhuB,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAE,KAAK,aAAasmB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,UAAS,EAAGA,EAAE,GAAG,EAAE,WAAU,EAAG,MAAM,CAAC,EAAEA,GAAGA,EAAE,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAOA,CAAC,EAAE,KAAK,YAAW,EAAGsE,EAAE,EAAE,WAAU,EAAGA,GAAGtE,GAAGA,EAAE,gBAAgBA,EAAE,eAAesE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAMtE,EAAE,OAAOsE,CAAC,EAAE,KAAK,YAAW,EAAGA,GAAG,EAAEA,EAAEtE,CAAC,CAAC,CAAC,qBAAqB,KAAKA,EAAE,CAAC,IAAInmB,EAAEsuB,GAAI,EAAC,WAAW,GAAGtuB,GAAGA,EAAE,YAAY,OAAOA,EAAE,WAAW,CAAC,GAAG,WAAW,OAAOA,EAAE,WAAW,CAAC,EAAE,MAAM,KAAKmmB,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,KAAK,oBAAoB,CAAC,oCAAoC,CAAC,CAAC,EAAE,SAAS0I,IAAI,CAAC,OAAOh6B,EAAE,WAAWA,EAAE,YAAY,CAAC,WAAW,CAAE,EAAC,IAAI,MAAM,EAAEA,CAAC,CAAC,SAAS+5B,GAAG5L,EAAE,CAAC,IAAIja,EAAE8lB,GAAE,EAAG,EAAEC,GAAG/lB,CAAC,EAAE,OAAOgmB,GAAGhmB,EAAEia,CAAC,EAAE,CAAC,CAAC,SAASgM,GAAG,CAAC,IAAIhM,EAAE6L,GAAE,EAAG,GAAG7L,EAAE,YAAYA,EAAE,WAAW,IAAI,CAAC,IAAIja,EAAEia,EAAE,WAAW,IAAI,cAAa,EAAG,GAAGja,EAAE,OAAOA,CAAC,CAAC,OAAOkmB,GAAGjM,CAAC,CAAC,CAAC,SAASiM,GAAGjM,EAAE6L,GAAI,EAAC,CAAC,OAAO,CAACK,GAAGlM,CAAC,GAAG8L,GAAG9L,CAAC,EAAE,YAAYyL,EAAE,IAAIM,GAAG/L,EAAE,IAAI2L,EAAE,EAAEG,GAAG9L,CAAC,CAAC,CAAC,SAASkM,GAAGlM,EAAE,CAAC,MAAM,CAAC,EAAEA,GAAGA,EAAE,YAAYA,EAAE,WAAW,IAAI,CAAC,SAAS8L,GAAG9L,EAAE,CAAC,OAAOyC,GAAG,MAAM,IAAI,IAAIkJ,GAAG3L,CAAC,CAAC,CAAC,SAAS+L,GAAG/L,EAAEja,EAAE,CAAC,GAAG,CAACia,EAAE,MAAQ,GAAC,IAAI,EAAEA,EAAE,WAAWA,EAAE,YAAY,CAAA,EAAG,OAAO,EAAE,IAAIja,EAAE,EAAE,CAAC,SAASomB,GAAGnM,EAAE,CAAC,GAAG,OAAO,oBAAoB,WAAW,CAAC,mBAAmB,MAAM,GAAG,IAAIja,EAAEimB,EAAC,EAAG,UAAS,EAAG,EAAEhM,GAAGja,GAAGA,EAAE,WAAU,EAAG,MAAM,CAAC,CAAC,IAAI,EAAE,eAAe,qBAAqB,GAAG,kBAAkB,EAAE,CAAC,SAASqmB,GAAEpM,EAAE,CAAC,OAAUgM,EAAC,EAAI,WAAW,eAAgB,CAAA,CAAC,IAAIK,GAAG,GAAG,SAASC,IAAI,CAACD,KAAKA,GAAG,GAAGtG,EAAE,QAAQwG,EAAE,EAAExG,EAAE,qBAAqBwG,EAAE,EAAE,CAAC,SAASA,IAAI,CAAC,IAAIvM,EAAEoM,GAAG,EAAC,GAAGpM,EAAE,CAAC,IAAIja,EAAE,kBAAkB,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,0BAA0Bpd,CAAC,0BAA0B,EAAEia,EAAE,UAAUja,CAAC,CAAC,CAAC,CAACwmB,GAAG,IAAI,8BAA8B,IAAIC,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,QAAQ,EAAE,KAAK,MAAM,CAAE,CAAA,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,OAAO,KAAK,QAAQ,EAAE,aAAa,OAAO,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC,EAAEC,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,QAAQ,EAAE,SAASvvB,EAAG,EAAC,KAAK,OAAO,EAAE,QAAQA,EAAG,EAAC,UAAU,EAAE,EAAE,KAAK,eAAe,EAAE,gBAAgB8rB,GAAG,EAAC,KAAK,KAAK,EAAE,MAAM,CAAA,EAAG,KAAK,KAAK,EAAE,MAAM,CAAE,EAAC,KAAK,aAAa,EAAE,cAAc,SAAS,KAAK,OAAO,EAAE,QAAQ,SAAS,EAAE,eAAe,KAAK,aAAa,EAAE,cAAc,YAAY,IAAI,KAAK,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,cAAc,KAAK,YAAY,EAAE,aAAa,EAAE,OAAO,KAAK,YAAY,EAAE,MAAM,EAAE,SAAS,KAAK,OAAO,EAAE,QAAQ,EAAE,eAAe,KAAK,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAItF,EAAE,IAAI+I,GAAGvM,EAAED,EAAE,CAAA,EAAG,CAAC,EAAE,CAAC,aAAa,KAAK,OAAO,QAAQ,KAAK,QAAQ,QAAQ,KAAK,OAAO,CAAC,CAAC,EAAE,GAAGyD,EAAE,aAAa,KAAK,aAAaA,EAAE,cAAcA,EAAE,aAAa,IAAIA,CAAC,EAAEA,EAAE,YAAY,KAAK,aAAa,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,YAAY,CAAC,IAAIsE,EAAE,GAAG,EAAE,IAAI,iBAAiBzqB,EAAEmmB,EAAE,YAAY,MAAM,mBAAmB3gB,EAAE2gB,EAAE,YAAY,OAAO,EAAE,uBAAuBsE,CAAC,0BAA0BzqB,CAAC,MAAMwF,CAAC,KAAK2gB,EAAE,YAAY,SAAS,aAAaA,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAEP,EAAE,IAAI,CAAC,CAAC,CAAC,OAAOO,CAAC,CAAC,OAAO,EAAEA,EAAE,CAAC,OAAO,KAAK,KAAKxD,EAAED,EAAE,CAAE,EAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAEyD,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAEA,EAAE,CAAC,OAAO,KAAK,KAAKxD,EAAED,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAEyD,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,OAAO,mBAAmB,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,4BAA4B,CAAC,EAAE,IAAIA,EAAEgJ,GAAG,CAAC,EAAE,OAAOhJ,IAAI,iBAAiB,KAAK,UAAUA,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,OAAO,iBAAkB,KAAa,mBAAmB,KAAK,aAAa,KAAK,YAAY,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,WAAWA,CAAC,EAAE,KAAK,YAAY,SAAS,aAAa,KAAK,MAAM,EAAEA,GAAGP,EAAE,IAAIO,EAAE,QAAQ,WAAW,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa,OAAO,GAAG,SAAS,EAAEsF,GAAC,CAAE,CAAC,eAAe,CAAC,OAAOa,GAAG,KAAK,QAAQ,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,WAAW,CAAC,OAAOzF,GAAE,CAAC,KAAK,KAAK,KAAK,YAAY,KAAK,YAAY,aAAa,KAAK,aAAa,GAAG,KAAK,GAAG,aAAa,KAAK,aAAa,QAAQ,KAAK,QAAQ,OAAO,KAAK,OAAO,eAAe,KAAK,eAAe,OAAO,KAAK,OAAO,KAAK,KAAK,KAAK,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,KAAK,KAAK,EAAE,MAAM,CAAA,EAAG,KAAK,YAAY,EAAE,YAAY,KAAK,aAAa,EAAE,aAAa,KAAK,GAAG,EAAE,GAAG,KAAK,aAAa,EAAE,aAAa,KAAK,QAAQ,EAAE,QAAQ,KAAK,OAAO,EAAE,QAAQ,KAAK,OAAO,KAAK,eAAe,EAAE,gBAAgB,KAAK,eAAe,KAAK,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE,MAAM,GAAG,KAAK,QAAQ,EAAE,SAAS,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,OAAOA,GAAE,CAAC,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,YAAY,KAAK,YAAY,GAAG,KAAK,GAAG,eAAe,KAAK,aAAa,QAAQ,KAAK,OAAO,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAOA,GAAE,CAAC,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,YAAY,KAAK,YAAY,GAAG,KAAK,GAAG,eAAe,KAAK,aAAa,QAAQ,KAAK,OAAO,gBAAgB,KAAK,eAAe,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,KAAK,OAAO,UAAU,KAAK,aAAa,SAAS,KAAK,QAAQ,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,SAASsI,GAAG1M,EAAE,CAAC,GAAGA,EAAE,KAAKA,GAAG,IAAI,MAAM,KAAK,GAAGA,GAAG,KAAKA,EAAE,IAAI,OAAOA,EAAG,CAAA,IAAK,KAAI,MAAM,kBAAkB,IAAK,KAAI,MAAM,oBAAoB,IAAK,KAAI,MAAM,YAAY,IAAK,KAAI,MAAM,iBAAiB,IAAK,KAAI,MAAM,sBAAsB,IAAK,KAAI,MAAM,qBAAqB,QAAQ,MAAM,kBAAkB,CAAC,GAAGA,GAAG,KAAKA,EAAE,IAAI,OAAOA,EAAG,CAAA,IAAK,KAAI,MAAM,gBAAgB,IAAK,KAAI,MAAM,cAAc,IAAK,KAAI,MAAM,oBAAoB,QAAQ,MAAM,gBAAgB,CAAC,MAAM,eAAe,CAAC,SAAS2M,GAAG3M,EAAEja,EAAE,EAAE,CAAC,IAAI,EAAEA,EAAE,aAAa,CAAC,UAAU,CAAC,EAAEA,EAAE,OAAM,GAAI,CAAA,EAAG,CAAC,QAAQhD,CAAC,EAAE,GAAG,EAAE,QAAO,GAAI,CAAE,EAAC9N,EAAEmvB,GAAE,CAAC,YAAY,EAAE,aAAa0G,GAAG,QAAQ,EAAE,QAAQ,aAAa/nB,EAAE,WAAW,EAAE,SAASid,CAAC,CAAC,EAAE,OAAOja,EAAE,MAAMA,EAAE,KAAK,YAAY9Q,CAAC,EAAEA,CAAC,CAAC,IAAI23B,GAAG,cAAcH,EAAE,CAAC,YAAY,EAAE/I,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,YAAY,KAAK,cAAc,CAAE,EAAC,KAAK,UAAU,CAAA,EAAG,KAAK,KAAKA,GAAGsI,EAAC,EAAG,KAAK,MAAM,EAAE,MAAM,GAAG,KAAK,SAAS9L,EAAED,EAAE,CAAC,OAAO,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAA,CAAE,CAAC,EAAE,KAAK,SAAS,EAAE,QAAQ,KAAK,YAAY,KAAK,IAAI+H,EAAE,KAAK,SAAS,uBAAuBA,IAAI,KAAK,8BAA8B/H,EAAE,CAAE,EAAC+H,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAEtE,EAAE,SAAS,CAAC,KAAK,MAAM,EAAE,KAAK,SAAS,OAAOA,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,eAAe,KAAK,aAAa,IAAI8I,GAAG,CAAC,GAAG,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE9I,EAAE,CAACA,IAAI,KAAK,OAAO,KAAK,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,EAAEA,CAAC,CAAC,eAAe,EAAEA,EAAEsE,EAAE,GAAG,CAAC,KAAK,cAAc,CAAC,EAAE,CAAC,MAAMtE,EAAE,KAAKsE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,SAAS/H,EAAEA,EAAE,CAAA,EAAG,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAIyD,EAAE,KAAK,mBAAmB,CAAC,EAAE,GAAGA,EAAE,OAAO,KAAK,KAAK,aAAaA,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,YAAY,OAAOU,GAAElE,EAAED,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,MAAM,kBAAkB,CAAC,EAAE,KAAK,KAAK,EAAE,MAAM,GAAG,KAAK,SAAS,EAAE,QAAQ,IAAI,CAAC,2BAA2B,CAAC,GAAG,KAAK,8BAA8B,OAAO,KAAK,8BAA8B,IAAI,EAAE,KAAK,MAAM+L,EAAG,EAACtI,EAAE,EAAE,UAAW,EAAC,GAAG,CAACA,EAAE,MAAM,CAAA,EAAG,IAAIsE,EAAE,EAAE,SAAU,EAACzqB,EAAEovB,GAAG,KAAK,QAAQjJ,EAAEsE,CAAC,EAAEjlB,EAAE,KAAK,SAAS,WAAWA,IAAI,SAASxF,EAAE,YAAY,GAAGwF,CAAC,IAAI,IAAI,EAAE,KAAK,SAAS,OAAO,OAAO,GAAG,IAAI,QAAQxF,EAAE,YAAY,KAAK,MAAM,KAAK,UAAU,SAASA,EAAE,QAAQ,OAAO,KAAK,OAAO,GAAGA,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,mBAAmB,EAAE,CAAC,GAAG,KAAK,eAAe,OAAO,OAAO,KAAK,QAAQ,OAAO,iBAAkB,KAAa,mBAAmB4lB,EAAE,KAAK,qEAAqE,EAAE,KAAK,KAAK,2BAA2B,MAAM,OAAO,CAAC,EAAE,IAAIO,EAAE,KAAK,KAAK,UAAS,EAAG,GAAGA,GAAGA,EAAE,MAAMA,EAAE,KAAK,oBAAoB,IAAI,EAAE,KAAK,UAAU,GAAG,EAAE,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,IAAI,kFAAkF,EAAEO,GAAGA,EAAE,mBAAmB,cAAc,aAAa,EAAE,MAAM,CAAC,IAAIsE,EAAE,KAAK,aAAa,KAAK,aAAa,MAAM,OAAOp2B,GAAGA,IAAI,MAAMA,EAAE,YAAY,EAAE,GAAG,KAAK,UAAUo2B,EAAE,OAAO,IAAI,KAAK,aAAaA,EAAE,OAAO,CAACp2B,EAAEwL,IAAIxL,EAAE,cAAcwL,EAAE,aAAaxL,EAAE,aAAawL,EAAE,aAAaxL,EAAEwL,EAAExL,CAAC,EAAE,cAAc,IAAI2L,EAAE,KAAK,SAASwF,EAAEkd,EAAE,CAAC,SAASC,EAAED,EAAE,CAAA,EAAG,KAAK,SAAS,EAAE,CAAC,MAAM,KAAK,gBAAiB,CAAA,CAAC,EAAE,MAAM+H,EAAE,gBAAgB,KAAK,eAAe,KAAK,KAAK,KAAK,UAAU,KAAK,aAAa,YAAY,KAAK,KAAK,KAAK,cAAc,sBAAsB9H,EAAED,EAAE,CAAE,EAAC1iB,CAAC,EAAE,CAAC,uBAAuB,KAAK,2BAA2B,CAAC,CAAC,EAAEA,EAAE,QAAQ,CAAC,iBAAiB,CAAC,OAAOA,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,OAAO,KAAK,KAAK,aAAa,EAAE,OAAO,KAAK,OAAO,iBAAkB,KAAa,mBAAmB4lB,EAAE,IAAI,oDAAoD,KAAK,UAAU,KAAK,cAAc,OAAO,CAAC,CAAC,EAAEpgB,EAAE,aAAa,KAAK,gBAAgB,OAAO,iBAAkB,KAAa,mBAAmBogB,EAAE,IAAI,uBAAuB,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,EAAEpgB,CAAC,CAAC,EAAM8pB,GAAG,CAAC,YAAY,IAAI,aAAa,IAAI,kBAAkB,GAAG,EAAEC,GAAG,eAAeC,GAAG,CAAC,kBAAkB,cAAc,iBAAiB,eAAe,iBAAiB,WAAW,EAAEC,GAAG,cAAcR,EAAE,CAAC,YAAY,EAAE9I,EAAEsE,EAAEzqB,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,cAAc,EAAE,KAAK,aAAammB,EAAE,KAAK,kBAAkBsE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,KAAK,oBAAoB,EAAE,OAAOtE,GAAG,CAAC,EAAE,aAAa,OAAOA,GAAG,SAASA,EAAEsF,GAAG,EAAC,KAAK,aAAa,EAAE,MAAM,CAAC,EAAE,EAAE,eAAe,QAAQ,KAAK,cAAc,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAEiE,GAAG,cAAcL,EAAE,CAAC,YAAY,EAAElJ,EAAEsE,EAAE6E,GAAG,YAAYtvB,EAAEsvB,GAAG,aAAa9pB,EAAE8pB,GAAG,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAEnJ,CAAC,EAAE,KAAK,SAASA,EAAE,KAAK,aAAasE,EAAE,KAAK,cAAczqB,EAAE,KAAK,mBAAmBwF,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,CAAA,EAAG,KAAK,kBAAkB,EAAE,KAAK,UAAU,GAAG,KAAK,gCAAgC,GAAG,KAAK,uBAAuB,CAAA,EAAG,KAAK,cAAcgqB,GAAG,CAAC,EAAE,KAAK,OAAO,iBAAkB,KAAa,mBAAmB5J,EAAE,IAAI,+CAA+C,KAAK,MAAM,EAAE,EAAEO,EAAE,eAAe,GAAG,EAAE,QAAQ,IAAI,CAAC,GAAG,KAAK,oBAAqB,EAAC,WAAW,IAAI,CAAC,KAAK,YAAY,KAAK,UAAU,mBAAmB,EAAE,KAAK,cAAcqJ,GAAG,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE/D,GAAG,EAAC,CAAC,GAAG,KAAK,UAAU,GAAG,KAAK,WAAW,CAAE,EAAC,KAAK,KAAK,mBAAmB,KAAK,OAAO8D,GAAG,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,OAAO,iBAAkB,KAAa,mBAAmB3J,EAAE,IAAI,sCAAsC,IAAI,KAAK,EAAE,GAAG,EAAE,YAAa,EAAC,KAAK,EAAE,EAAE,QAAQO,KAAK,KAAK,uBAAuBA,EAAE,KAAK,CAAC,EAAE,KAAK,aAAa,MAAM,KAAK,aAAa,MAAM,OAAOA,GAAG,CAAC,GAAGA,EAAE,SAAS,KAAK,OAAO,MAAQ,GAACA,EAAE,eAAeA,EAAE,aAAa,EAAEA,EAAE,UAAU,WAAW,GAAG,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,IAAI,0DAA0D,KAAK,UAAUO,EAAE,OAAO,CAAC,CAAC,GAAG,IAAIsE,EAAEtE,EAAE,eAAe,EAAEnmB,GAAG,KAAK,cAAc,KAAK,cAAc,IAAIwF,EAAE2gB,EAAE,aAAa,KAAK,eAAenmB,EAAE,GAAG,OAAO,iBAAkB,KAAa,iBAAiB,CAAC,IAAI,EAAE,KAAK,UAAUmmB,EAAE,OAAO,CAAC,EAAEsE,EAAEjlB,GAAGogB,EAAE,IAAI,8EAA8E,CAAC,EAAEA,EAAE,IAAI,6EAA6E,CAAC,CAAC,CAAC,OAAO6E,GAAGjlB,CAAC,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBogB,EAAE,IAAI,oCAAoC,CAAC,MAAM,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,qCAAqC,EAAE,GAAG,KAAK,SAAS,CAAC,IAAIO,EAAE,KAAK,SAAS,SAAU,EAACA,EAAE,eAAc,IAAK,MAAMA,EAAE,QAAQ,MAAM,CAAC,CAAC,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC,KAAK,uBAAuB,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,IAAIA,EAAEnmB,GAAG,CAAC,KAAK,WAAW,KAAK,cAAcA,CAAC,CAAC,EAAEyqB,EAAEzqB,GAAG,CAAC,KAAK,WAAW,KAAK,aAAaA,CAAC,CAAC,EAAE,KAAK,aAAa,IAAIyvB,GAAGtJ,EAAEsE,EAAE,KAAK,OAAO,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmB7E,EAAE,IAAI,oBAAoB,EAAE,KAAK,eAAgB,CAAA,CAAC,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC,yBAAyBO,CAAC,EAAE,CAAC,yBAAyB,EAAE,EAAE,CAAC,KAAK,gCAAgCA,IAAI,GAAG,KAAK,iBAAiB,aAAa,KAAK,cAAc,EAAE,KAAK,eAAe,OAAO,OAAO,KAAK,KAAK,UAAU,EAAE,SAAS,GAAG,KAAK,kCAAkC,KAAK,cAAcqJ,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,oBAAoB,EAAE,CAAC,KAAK,kBAAiB,EAAG,KAAK,eAAe,WAAW,IAAI,CAAC,CAAC,KAAK,WAAW,OAAO,KAAK,KAAK,UAAU,EAAE,SAAS,IAAI,KAAK,cAAcA,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,KAAK,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,kBAAkB,OAAO,CAAC,yBAAyB,CAAC,KAAK,+BAA+B,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmB5J,EAAE,IAAI,2BAA2B,CAAC,EAAE,EAAE,KAAK,WAAW,CAAC,EAAE,IAAI,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,iCAAiC,OAAO,KAAK,KAAK,UAAU,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,WAAW,CAAC,KAAK,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,yBAAyB,CAAC,EAAE,EAAE,OAAO,KAAK,WAAW,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,iCAAiC,OAAO,KAAK,KAAK,UAAU,EAAE,MAAM,GAAG,OAAO,KAAK,KAAK,UAAU,EAAE,SAAS,EAAE,CAAC,IAAIO,EAAEsF,GAAG,EAAC,KAAK,iCAAiC,KAAK,cAAc+D,GAAG,CAAC,EAAE,KAAK,OAAOrJ,CAAC,GAAG,KAAK,oBAAoBA,EAAE,KAAK,aAAa,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,OAAO,IAAI,EAAE,OAAO,KAAK,KAAK,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,KAAK,qBAAqB,KAAK,oBAAoB,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,IAAI,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,IAAI,uEAAuE,EAAE,KAAK,UAAU,mBAAmB,EAAE,KAAK,cAAc4J,GAAG,CAAC,EAAE,KAAK,OAAM,GAAI,KAAK,eAAgB,CAAA,CAAC,gBAAgB,EAAE,OAAO,iBAAkB,KAAa,mBAAmB5J,EAAE,IAAI,yCAAyC,KAAK,iBAAiB,EAAE,EAAE,WAAW,IAAI,CAAC,KAAK,MAAO,CAAA,EAAE,KAAK,kBAAkB,CAAC,CAAC,EAAE,SAAS+J,IAAI,CAAC,IAAI,EAAE,KAAK,SAAU,EAAC,QAAS,EAAC,OAAO,EAAE,CAAC,eAAe,EAAE,cAAe,CAAA,EAAE,CAAA,CAAE,CAAC,SAASC,GAAGnN,EAAEja,EAAE,EAAE,CAAC,GAAG,CAAComB,GAAGpmB,CAAC,EAAE,OAAOia,EAAE,QAAQ,GAAGA,EAAE,GAAGA,EAAE,UAAU,OAAO,OAAOA,EAAE,YAAY,CAAC,WAAW,OAAOA,EAAE,OAAO,CAAC,CAAC,EAAEA,EAAE,IAAI,EAAE,OAAO,OAAOja,EAAE,eAAe,YAAY,EAAEA,EAAE,cAAc,CAAC,EAAEia,EAAE,YAAY,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,OAAO,EAAE,EAAE,cAAc,OAAOja,EAAE,iBAAkB,KAAa,EAAEA,EAAE,iBAAiBia,EAAE,YAAY,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEA,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,GAAGoN,GAAG,CAAC,EAAE,GAAGpN,EAAE,QAAQ,KAAK,OAAQ,EAAC,EAAEA,EAAE,UAAU,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,sBAAsBnD,EAAE,EAAE,kBAAkBA,EAAE,IAAI,EAAE,EAAEA,KAAK,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,oGAAoG,OAAO,CAAC,CAAC,GAAG,EAAEnD,MAAM,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,4CAA4C,OAAOpd,EAAE,eAAe,WAAW,oCAAoC,4EAA4E,EAAE,EAAEia,EAAE,QAAQ,GAAGA,KAAK,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,kEAAkE,EAAEnD,EAAE,QAAQ,GAAGA,EAAE,CAAC,SAASoN,GAAGpN,EAAE,CAAC,OAAO4B,GAAG5B,CAAC,GAAG,EAAE,OAAOA,GAAG,UAAU,OAAOA,GAAG,aAAa,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,0GAA0G,KAAK,UAAUnD,CAAC,CAAC,YAAY,KAAK,UAAU,OAAOA,CAAC,CAAC,GAAG,EAAE,IAAIA,EAAE,GAAGA,EAAE,IAAI,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,oFAAoFnD,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,SAASqN,GAAGrN,EAAEja,EAAE,CAAC,IAAI,EAAE,KAAK,UAAW,EAAC,EAAE,GAAG,EAAE,WAAY,GAAE,CAAE,EAAC,EAAE,EAAE,cAAc,SAAShD,EAAEid,EAAE,cAAc,SAAS,IAAIjd,KAAK,OAAO,iBAAkB,KAAa,mBAAmBogB,EAAE,MAAM,iDAAiDpgB,CAAC,4CAA4C,CAAC;AAAA,sDAC35f,CAAC,yCAAyC,EAAEid,EAAE,QAAQ,IAAI,IAAI/qB,EAAE,IAAI23B,GAAG5M,EAAE,IAAI,EAAE,OAAO/qB,EAAEk4B,GAAGl4B,EAAE,EAAEgrB,EAAE,CAAC,cAAcD,EAAE,cAAc,mBAAmBA,CAAC,EAAEja,CAAC,CAAC,EAAE9Q,EAAE,SAASA,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,mBAAmBA,CAAC,EAAEA,CAAC,CAAC,SAASq4B,GAAGtN,EAAEja,EAAE,EAAE,EAAE,EAAEhD,EAAE9N,EAAE,CAAC,IAAIrD,EAAEouB,EAAE,UAAW,EAAC5iB,EAAExL,GAAGA,EAAE,WAAU,GAAI,CAAE,EAAC4sB,EAAE,IAAIyO,GAAGlnB,EAAEia,EAAE,EAAE,EAAE/qB,EAAE,CAAC,EAAE,OAAOupB,EAAE2O,GAAG3O,EAAEphB,EAAE6iB,EAAE,CAAC,cAAcla,EAAE,cAAc,mBAAmBA,CAAC,EAAEhD,CAAC,CAAC,EAAEyb,EAAE,SAASA,EAAE,iBAAiBphB,EAAE,cAAcA,EAAE,aAAa,QAAQ,EAAExL,GAAGA,EAAE,MAAMA,EAAE,KAAK,mBAAmB4sB,CAAC,EAAEA,CAAC,CAAC,SAAS+O,IAAI,CAAC,IAAIvN,EAAE6L,GAAE,EAAG7L,EAAE,aAAaA,EAAE,WAAW,WAAWA,EAAE,WAAW,YAAY,CAAE,EAACA,EAAE,WAAW,WAAW,mBAAmBA,EAAE,WAAW,WAAW,iBAAiBqN,IAAIrN,EAAE,WAAW,WAAW,eAAeA,EAAE,WAAW,WAAW,aAAakN,IAAIZ,GAAI,EAAC,CAAC,SAASkB,GAAGxN,EAAEja,EAAE,CAAC,OAAOimB,EAAG,EAAC,iBAAiBhM,EAAE,CAAC,eAAeja,CAAC,CAAC,CAAC,CAAC,SAAS0nB,GAAGzN,EAAE,CAACgM,EAAG,EAAC,UAAUhM,CAAC,CAAC,CAAC,IAAI0N,GAAG,IAAI,SAASC,GAAG3N,EAAE,CAAC,IAAIja,EAAEia,EAAE,SAAS,GAAGA,EAAE,QAAQ,IAAI,GAAG,EAAEA,EAAE,KAAK,IAAIA,EAAE,IAAI,GAAG,GAAG,MAAM,GAAGja,CAAC,KAAKia,EAAE,IAAI,GAAG,CAAC,GAAGA,EAAE,KAAK,IAAIA,EAAE,IAAI,GAAG,EAAE,OAAO,CAAC,SAAS4N,GAAG5N,EAAE,CAAC,MAAM,GAAG2N,GAAG3N,CAAC,CAAC,GAAGA,EAAE,SAAS,YAAY,CAAC,SAAS6N,GAAG7N,EAAEja,EAAE,CAAC,OAAOge,GAAG9D,EAAE,CAAC,WAAWD,EAAE,UAAU,eAAe0N,EAAE,EAAE3nB,GAAG,CAAC,cAAc,GAAGA,EAAE,IAAI,IAAIA,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS+nB,GAAG9N,EAAEja,EAAE,CAAA,EAAG,CAAC,IAAI,EAAE,OAAOA,GAAG,SAASA,EAAEA,EAAE,OAAO,EAAE,OAAOA,GAAG,UAAU,CAACA,EAAE,UAAU,OAAOA,EAAE,UAAU,IAAI,OAAO,GAAG,GAAG6nB,GAAG5N,CAAC,CAAC,IAAI6N,GAAG7N,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS+N,GAAG/N,EAAEja,EAAE,CAAC,OAAOA,IAAIia,EAAE,IAAIA,EAAE,KAAK,CAAE,EAACA,EAAE,IAAI,KAAKA,EAAE,IAAI,MAAMja,EAAE,KAAKia,EAAE,IAAI,QAAQA,EAAE,IAAI,SAASja,EAAE,QAAQia,EAAE,IAAI,aAAa,CAAC,GAAGA,EAAE,IAAI,cAAc,CAAE,EAAC,GAAGja,EAAE,cAAc,CAAA,CAAE,EAAEia,EAAE,IAAI,SAAS,CAAC,GAAGA,EAAE,IAAI,UAAU,CAAE,EAAC,GAAGja,EAAE,UAAU,CAAE,CAAA,GAAGia,CAAC,CAAC,SAASgO,GAAGhO,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEwkB,GAAG,CAAC,EAAExnB,EAAEkd,EAAEA,EAAE,CAAC,QAAQ,IAAI,KAAM,EAAC,YAAW,CAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGla,GAAG,CAAC,IAAIud,GAAEvd,CAAC,CAAC,CAAC,EAAE9Q,EAAE,eAAe+qB,EAAE,CAAC,CAAC,KAAK,UAAU,EAAEA,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,EAAEA,EAAE,OAAQ,CAAA,EAAE,OAAO8J,GAAE/mB,EAAE,CAAC9N,CAAC,CAAC,CAAC,CAAC,SAASg5B,GAAGjO,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEwkB,GAAG,CAAC,EAAExnB,EAAEid,EAAE,MAAMA,EAAE,OAAO,eAAeA,EAAE,KAAK,QAAQ+N,GAAG/N,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI/qB,EAAEu1B,GAAGxK,EAAE,EAAE,EAAEja,CAAC,EAAE,OAAO,OAAOia,EAAE,sBAAsB8J,GAAE70B,EAAE,CAAC,CAAC,CAAC,KAAK8N,CAAC,EAAEid,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIkO,GAAG,CAAA,EAAG,SAASC,GAAGnO,EAAEja,EAAE,CAAC,IAAI,EAAE,CAAE,EAAC,OAAOA,EAAE,QAAQ,GAAG,CAAC,GAAGqoB,GAAGpO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAASoO,GAAGpO,EAAEja,EAAE,EAAE,CAAC,GAAG,EAAEA,EAAE,IAAI,EAAEA,EAAEmoB,GAAG,QAAQnoB,EAAE,IAAI,IAAI,KAAKA,EAAE,UAAUilB,GAAGgB,CAAC,EAAEkC,GAAG,KAAKnoB,EAAE,IAAI,GAAGia,EAAE,IAAI,OAAOja,EAAE,iBAAiB,WAAW,CAAC,IAAI,EAAEA,EAAE,gBAAgB,KAAKA,CAAC,EAAEia,EAAE,GAAG,kBAAkB,CAAC,EAAEjd,IAAI,EAAE,EAAEA,EAAEid,CAAC,CAAC,CAAC,CAAC,GAAGA,EAAE,mBAAmB,OAAOja,EAAE,cAAc,WAAW,CAAC,IAAI,EAAEA,EAAE,aAAa,KAAKA,CAAC,EAAE,EAAE,OAAO,OAAO,CAAChD,EAAE9N,IAAI,EAAE8N,EAAE9N,EAAE+qB,CAAC,EAAE,CAAC,GAAGja,EAAE,IAAI,CAAC,EAAEia,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,0BAA0Bpd,EAAE,IAAI,EAAE,CAAC,CAAC,SAASsoB,GAAGrO,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,eAAehD,EAAE,EAAE,oBAAoB9N,EAAE,GAAG,EAAE+qB,EAAEpuB,EAAEsuB,EAAED,EAAE,CAAA,EAAGla,CAAC,EAAE,CAAC,SAASA,EAAE,UAAU,EAAE,UAAU7I,EAAC,EAAG,UAAU6I,EAAE,WAAWgjB,GAAI,CAAA,CAAC,EAAE3rB,EAAE,EAAE,cAAc4iB,EAAE,aAAa,IAAInO,GAAGA,EAAE,IAAI,EAAEyc,GAAG18B,EAAEouB,CAAC,EAAEuO,GAAG38B,EAAEwL,CAAC,EAAE2I,EAAE,OAAO,QAAQyoB,GAAG58B,EAAEouB,EAAE,WAAW,EAAE,IAAIxB,EAAE,EAAE,EAAE,iBAAiBA,EAAE+M,GAAE,MAAM/M,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,IAAItC,EAAE+L,GAAEr2B,CAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,mBAAoB,EAAC,CAAE,EAAC,GAAG4sB,EAAE,CAAC,GAAGA,EAAE,eAAe,CAAC,IAAI3M,EAAE,CAAC,GAAG,EAAE,aAAa,CAAA,EAAG,GAAG2M,EAAE,eAAc,CAAE,EAAE3M,EAAE,SAAS,EAAE,YAAYA,EAAE,CAACqK,EAAEsC,EAAE,aAAa5sB,EAAE,EAAE,CAAC,CAAC,MAAMsqB,EAAE+O,GAAG,CAAC,GAAG,EAAE,GAAGF,GAAI,CAAA,EAAEn5B,EAAE,CAAC,EAAE,OAAOsqB,EAAE,KAAKrK,IAAIA,GAAG4c,GAAG5c,CAAC,EAAE,OAAO9O,GAAG,UAAUA,EAAE,EAAE2rB,GAAG7c,EAAE9O,EAAE9N,CAAC,EAAE4c,EAAE,CAAC,CAAC,SAASyc,GAAGtO,EAAEja,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAehD,EAAE,GAAG,EAAEgD,EAAE,gBAAgBia,IAAIA,EAAE,YAAY,gBAAgBja,EAAE,EAAE+kB,IAAI9K,EAAE,UAAU,QAAQ,IAAI,SAASA,EAAE,QAAQ,GAAGA,EAAE,OAAO,QAAQ,IAAI,SAASA,EAAE,KAAK,GAAGA,EAAE,UAAUA,EAAE,QAAQ8B,GAAE9B,EAAE,QAAQjd,CAAC,GAAG,IAAI9N,EAAE+qB,EAAE,WAAWA,EAAE,UAAU,QAAQA,EAAE,UAAU,OAAO,CAAC,EAAE/qB,GAAGA,EAAE,QAAQA,EAAE,MAAM6sB,GAAE7sB,EAAE,MAAM8N,CAAC,GAAG,IAAInR,EAAEouB,EAAE,QAAQpuB,GAAGA,EAAE,MAAMA,EAAE,IAAIkwB,GAAElwB,EAAE,IAAImR,CAAC,EAAE,CAAC,IAAI4rB,GAAG,IAAI,QAAQ,SAASH,GAAGxO,EAAEja,EAAE,CAAC,IAAI,EAAElU,EAAE,gBAAgB,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE88B,GAAG,IAAI5oB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI4oB,GAAG,IAAI5oB,EAAE,CAAC,GAAG,IAAIhD,EAAE,OAAO,KAAK,CAAC,EAAE,OAAO,CAAC9N,EAAErD,IAAI,CAAC,IAAIwL,EAAEohB,EAAE,EAAE,IAAI5sB,CAAC,EAAE4sB,EAAEphB,EAAEohB,GAAGphB,EAAE2I,EAAEnU,CAAC,EAAE,EAAE,IAAIA,EAAEwL,CAAC,GAAG,QAAQ8e,EAAE9e,EAAE,OAAO,EAAE8e,GAAG,EAAEA,IAAI,CAAC,IAAI,EAAE9e,EAAE8e,CAAC,EAAE,GAAG,EAAE,SAAS,CAACjnB,EAAE,EAAE,QAAQ,EAAE,EAAErD,CAAC,EAAE,KAAK,CAAC,CAAC,OAAOqD,CAAC,EAAE,CAAA,CAAE,EAAE,GAAG,CAAC+qB,EAAE,UAAU,OAAO,QAAQ/qB,GAAG,CAACA,EAAE,WAAW,OAAO,QAAQrD,GAAG,CAACA,EAAE,WAAWA,EAAE,SAASmR,EAAEnR,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAS,CAAA,CAAE,CAAC,SAAS68B,GAAGzO,EAAE,CAAC,IAAIja,EAAE,CAAE,EAAC,GAAG,CAACia,EAAE,UAAU,OAAO,QAAQ,GAAG,CAAC,EAAE,WAAW,OAAO,QAAQ,GAAG,CAAC,EAAE,WAAW,EAAE,SAASja,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,WAAWA,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAS,CAAE,CAAA,GAAG,OAAO,KAAKA,CAAC,EAAE,SAAS,EAAE,OAAOia,EAAE,WAAWA,EAAE,YAAY,CAAE,EAACA,EAAE,WAAW,OAAOA,EAAE,WAAW,QAAQ,CAAA,EAAG,IAAI,EAAEA,EAAE,WAAW,OAAO,OAAO,KAAKja,CAAC,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE,SAASA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASwoB,GAAGvO,EAAEja,EAAE,CAACA,EAAE,OAAO,IAAIia,EAAE,IAAIA,EAAE,KAAK,CAAE,EAACA,EAAE,IAAI,aAAa,CAAC,GAAGA,EAAE,IAAI,cAAc,GAAG,GAAGja,CAAC,EAAE,CAAC,SAAS2oB,GAAG1O,EAAEja,EAAE,EAAE,CAAC,GAAG,CAACia,EAAE,OAAO,KAAK,IAAI,EAAEC,EAAEA,EAAEA,EAAEA,EAAEA,EAAE,CAAA,EAAGD,CAAC,EAAEA,EAAE,aAAa,CAAC,YAAYA,EAAE,YAAY,IAAI,GAAGC,EAAEA,EAAE,CAAA,EAAG,CAAC,EAAE,EAAE,MAAM,CAAC,KAAKsH,GAAE,EAAE,KAAKxhB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEia,EAAE,MAAM,CAAC,KAAKuH,GAAEvH,EAAE,KAAKja,EAAE,CAAC,CAAC,CAAC,EAAEia,EAAE,UAAU,CAAC,SAASuH,GAAEvH,EAAE,SAASja,EAAE,CAAC,CAAC,CAAC,EAAEia,EAAE,OAAO,CAAC,MAAMuH,GAAEvH,EAAE,MAAMja,EAAE,CAAC,CAAC,CAAC,EAAE,OAAOia,EAAE,UAAUA,EAAE,SAAS,OAAO,EAAE,WAAW,EAAE,SAAS,MAAMA,EAAE,SAAS,MAAMA,EAAE,SAAS,MAAM,OAAO,EAAE,SAAS,MAAM,KAAKuH,GAAEvH,EAAE,SAAS,MAAM,KAAKja,EAAE,CAAC,IAAIia,EAAE,QAAQ,EAAE,MAAMA,EAAE,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,KAAKuH,GAAE,EAAE,KAAKxhB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI6oB,GAAG,8DAA8DC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,KAAK,cAAc,CAAA,EAAG,KAAK,yBAAyB,GAAG,KAAK,eAAe,EAAE,KAAK,UAAU,CAAE,EAAC,KAAK,OAAO,CAAE,EAAC,KAAK,iBAAiB,CAAE,EAAC,EAAE,IAAI,KAAK,KAAKpL,GAAG,EAAE,GAAG,GAAG,OAAO,iBAAkB,KAAa,mBAAmBN,EAAE,KAAK,+CAA+C,EAAE,KAAK,KAAK,CAAC,IAAIO,EAAEoK,GAAG,KAAK,KAAK,CAAC,EAAE,KAAK,WAAW,EAAE,UAAU5N,EAAED,EAAE,CAAC,mBAAmB,KAAK,mBAAmB,KAAK,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,CAAC,IAAIyD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAEA,EAAEsE,EAAE,CAAC,GAAGf,GAAG,CAAC,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmB9D,EAAE,IAAIyL,EAAE,EAAE,MAAM,CAAC,IAAIrxB,EAAEmmB,GAAGA,EAAE,SAAS,OAAO,KAAK,SAAS,KAAK,mBAAmB,EAAEA,CAAC,EAAE,KAAK3gB,GAAG,KAAK,cAAcA,EAAE2gB,EAAEsE,CAAC,CAAC,EAAE,KAAKjlB,GAAG,CAACxF,EAAEwF,CAAC,CAAC,CAAC,EAAExF,CAAC,CAAC,eAAe,EAAEmmB,EAAEsE,EAAEzqB,EAAE,CAAC,IAAIwF,EAAEilB,GAAGA,EAAE,SAAS,EAAE3G,GAAG,CAAC,EAAE,KAAK,iBAAiB,OAAO,CAAC,EAAEqC,EAAEsE,CAAC,EAAE,KAAK,mBAAmB,EAAEA,CAAC,EAAE,OAAO,KAAK,SAAS,EAAE,KAAK,GAAG,KAAK,cAAc,EAAEA,EAAEzqB,CAAC,CAAC,EAAE,KAAK,GAAG,CAACwF,EAAE,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,aAAa,EAAE2gB,EAAEsE,EAAE,CAAC,GAAGtE,GAAGA,EAAE,mBAAmBuD,GAAGvD,EAAE,iBAAiB,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,IAAIyL,EAAE,EAAE,MAAM,CAAC,IAAIrxB,EAAEmmB,GAAGA,EAAE,SAAS,OAAO,KAAK,SAAS,KAAK,cAAc,EAAEA,EAAEsE,CAAC,EAAE,KAAKjlB,GAAG,CAACxF,EAAEwF,CAAC,CAAC,CAAC,EAAExF,CAAC,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,UAAU,OAAO,iBAAkB,KAAa,mBAAmB4lB,EAAE,KAAK,4DAA4D,GAAG,KAAK,YAAY,CAAC,EAAEiI,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,CAAC,gBAAgB,CAAC,OAAO,KAAK,SAAS,SAAS,CAAC,cAAc,CAAC,OAAO,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI1H,EAAE,KAAK,WAAW,OAAOA,EAAE,KAAK,wBAAwB,CAAC,EAAE,KAAKsE,GAAGtE,EAAE,MAAM,CAAC,EAAE,KAAKnmB,GAAGyqB,GAAGzqB,CAAC,CAAC,EAAE0qB,GAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,EAAE,KAAKvE,IAAI,KAAK,WAAU,EAAG,QAAQ,GAAGA,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,KAAK,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,KAAK,iBAAiB,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,GAAG,CAAC,KAAK,0BAA0B,KAAK,WAAY,GAAE,CAAC,KAAK,4BAA4B,KAAK,cAAcyK,GAAG,KAAK,KAAK,SAAS,YAAY,EAAE,KAAK,yBAAyB,GAAG,CAAC,mBAAmB,EAAE,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,cAAc,EAAE,EAAE,GAAG,IAAI,MAAS,CAAC,OAAO,OAAO,iBAAkB,KAAa,mBAAmBhL,EAAE,KAAK,+BAA+B,EAAE,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC,eAAe,EAAE,CAACiL,GAAG,KAAK,EAAE,KAAK,aAAa,CAAC,CAAC,UAAU,EAAE1K,EAAE,CAAA,EAAG,CAAC,KAAK,KAAK,kBAAkB,EAAEA,CAAC,EAAE,IAAIsE,EAAEiG,GAAG,EAAE,KAAK,KAAK,KAAK,SAAS,UAAU,KAAK,SAAS,MAAM,EAAE,QAAQlrB,KAAK2gB,EAAE,aAAa,CAAA,EAAGsE,EAAE+B,GAAG/B,EAAEoC,GAAGrnB,EAAE,KAAK,SAAS,kBAAkB,KAAK,SAAS,iBAAiB,WAAW,CAAC,EAAE,IAAIxF,EAAE,KAAK,cAAcyqB,CAAC,EAAEzqB,GAAGA,EAAE,KAAKwF,GAAG,KAAK,KAAK,iBAAiB,EAAEA,CAAC,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI2gB,EAAEsK,GAAG,EAAE,KAAK,KAAK,KAAK,SAAS,UAAU,KAAK,SAAS,MAAM,EAAE,KAAK,cAActK,CAAC,CAAC,CAAC,mBAAmB,EAAEA,EAAEsE,EAAE,CAAC,GAAG,KAAK,SAAS,kBAAkB,CAAC,IAAIzqB,EAAE,GAAG,CAAC,IAAImmB,CAAC,IAAI,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,IAAI,oBAAoB5lB,CAAC,GAAG,EAAE,KAAK,UAAUA,CAAC,EAAE,KAAK,UAAUA,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAEmmB,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAA,GAAI,KAAK,OAAO,CAAC,EAAE,KAAKA,CAAC,CAAC,CAAC,KAAK,KAAKA,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,QAAQsE,GAAGA,EAAE,GAAGtE,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAEA,EAAE,CAAC,IAAIsE,EAAE,GAAGzqB,EAAE,GAAGwF,EAAE2gB,EAAE,WAAWA,EAAE,UAAU,OAAO,GAAG3gB,EAAE,CAACxF,EAAE,GAAG,QAAQH,KAAK2F,EAAE,CAAC,IAAIyb,EAAEphB,EAAE,UAAU,GAAGohB,GAAGA,EAAE,UAAU,GAAG,CAACwJ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,SAAS,MAAM,GAAG,EAAE,SAAS,GAAG,GAAGA,KAAKoD,GAAG,EAAElL,EAAED,EAAE,CAAE,EAAC+H,GAAG,CAAC,OAAO,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,OAAOzqB,GAAGyqB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,OAAO,IAAIE,EAAExE,GAAG,CAAC,IAAIsE,EAAE,EAAEzqB,EAAE,EAAEwF,EAAE,YAAY,IAAI,CAAC,KAAK,gBAAgB,GAAG,cAAcA,CAAC,EAAE2gB,EAAE,EAAE,IAAIsE,GAAGzqB,EAAE,GAAGyqB,GAAG,IAAI,cAAcjlB,CAAC,EAAE2gB,EAAE,EAAE,GAAG,EAAEnmB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,KAAK,WAAY,EAAC,UAAU,IAAI,KAAK,aAAa,MAAM,CAAC,cAAc,EAAEmmB,EAAEsE,EAAE,CAAC,IAAIzqB,EAAE,KAAK,WAAY,EAACwF,EAAE,OAAO,KAAK,KAAK,aAAa,EAAE,MAAM,CAAC2gB,EAAE,cAAc3gB,EAAE,OAAO,IAAI2gB,EAAE,aAAa3gB,GAAG,KAAK,KAAK,kBAAkB,EAAE2gB,CAAC,EAAE2K,GAAG9wB,EAAE,EAAEmmB,EAAEsE,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,uBAAuB,CAAE,EAAC,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQxJ,EAAE,OAAO,EAAE,aAAaprB,EAAE,IAAIye,CAAC,EAAE,EAAE,EAAE,SAASoO,EAAE,CAAC,MAAM,CAAC,SAASzB,EAAE,QAAQ,EAAE,eAAeprB,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI4P,EAAE6O,GAAG8a,GAAGnO,EAAE,KAAKwJ,CAAC,EAAE,EAAE,sBAAsB/H,EAAE,CAAC,uBAAuBjd,CAAC,EAAE,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE0gB,EAAE,CAAA,EAAGsE,EAAE,CAAC,OAAO,KAAK,cAAc,EAAEtE,EAAEsE,CAAC,EAAE,KAAKzqB,GAAGA,EAAE,SAASA,GAAG,CAAC,GAAG,OAAO,iBAAkB,KAAa,iBAAiB,CAAC,IAAIwF,EAAExF,EAAEwF,EAAE,WAAW,MAAMogB,EAAE,IAAIpgB,EAAE,OAAO,EAAEogB,EAAE,KAAKpgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE2gB,EAAEsE,EAAE,CAAC,IAAIzqB,EAAE,KAAK,WAAY,EAAC,CAAC,WAAWwF,CAAC,EAAExF,EAAE,EAAEuxB,GAAG,CAAC,EAAE,EAAEC,GAAG,CAAC,EAAE3xB,EAAE,EAAE,MAAM,QAAQohB,EAAE,0BAA0BphB,CAAC,KAAK,GAAG,GAAG,OAAO2F,GAAG,UAAU,KAAK,OAAQ,EAACA,EAAE,OAAO,KAAK,mBAAmB,cAAc,QAAQ,CAAC,EAAEolB,GAAG,IAAIllB,GAAE,oFAAoFF,CAAC,IAAI,KAAK,CAAC,EAAE,IAAImZ,EAAE9e,IAAI,eAAe,SAASA,EAAE,OAAO,KAAK,cAAc,EAAEsmB,EAAEsE,CAAC,EAAE,KAAK50B,GAAG,CAAC,GAAGA,IAAI,KAAK,MAAM,KAAK,mBAAmB,kBAAkB8oB,EAAE,CAAC,EAAE,IAAIjZ,GAAE,2DAA2D,KAAK,EAAE,GAAGygB,EAAE,MAAMA,EAAE,KAAK,aAAa,GAAG,OAAOtwB,EAAE,IAAI4P,EAAEgsB,GAAGzxB,EAAEnK,EAAEswB,CAAC,EAAE,OAAOuL,GAAGjsB,EAAEwb,CAAC,CAAC,CAAC,EAAE,KAAKprB,GAAG,CAAC,GAAGA,IAAI,KAAK,MAAM,KAAK,mBAAmB,cAAc8oB,EAAE,CAAC,EAAE,IAAIjZ,GAAE,GAAGub,CAAC,2CAA2C,KAAK,EAAE,IAAI3M,EAAEmW,GAAGA,EAAE,WAAY,EAAC,CAAC,GAAGnW,GAAG,KAAK,wBAAwBA,EAAEze,CAAC,EAAE,IAAI4P,EAAE5P,EAAE,iBAAiB,GAAG,GAAG4P,GAAG5P,EAAE,cAAc,EAAE,YAAY,CAAC,IAAIw0B,EAAE,SAASx0B,EAAE,iBAAiB8sB,EAAED,EAAE,CAAA,EAAGjd,CAAC,EAAE,CAAC,OAAO4kB,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,UAAUx0B,EAAEswB,CAAC,EAAEtwB,CAAC,CAAC,EAAE,KAAK,KAAKA,GAAG,CAAC,MAAMA,aAAa6P,GAAE7P,GAAG,KAAK,iBAAiBA,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,kBAAkBA,CAAC,CAAC,EAAE,IAAI6P,GAAE;AAAA,UACxvU7P,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,iBAAiB,EAAE,KAAKswB,IAAI,KAAK,iBAAiBA,GAAGA,IAAI,KAAK,iBAAiBA,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,KAAK,KAAK,iBAAiB,CAAC,EAAE,KAAK,WAAY,GAAE,KAAK,WAAW,OAAO,KAAK,WAAW,KAAK,CAAC,EAAE,KAAK,KAAKA,GAAG,EAAE,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,MAAM,6BAA6BO,CAAC,CAAC,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBP,EAAE,MAAM,oBAAoB,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,UAAU,OAAO,KAAK,UAAU,CAAE,EAAC,OAAO,KAAK,CAAC,EAAE,IAAIO,GAAG,CAAC,GAAG,CAACsE,EAAEzqB,CAAC,EAAEmmB,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,OAAOsE,EAAE,SAASzqB,EAAE,SAAS,EAAEmmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASuL,GAAGjP,EAAEja,EAAE,CAAC,IAAI,EAAE,GAAGA,CAAC,0CAA0C,GAAG2b,GAAG1B,CAAC,EAAE,OAAOA,EAAE,KAAK,GAAG,CAAC,GAAG,CAACsB,GAAE,CAAC,GAAG,IAAI,KAAK,MAAM,IAAIre,GAAE,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,IAAIA,GAAE,GAAG8C,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAACub,GAAEtB,CAAC,GAAGA,IAAI,KAAK,MAAM,IAAI/c,GAAE,CAAC,EAAE,OAAO+c,CAAC,CAAC,SAASgP,GAAGhP,EAAEja,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,sBAAsB,CAAC,EAAEia,EAAE,OAAO+O,GAAGhpB,CAAC,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAE+oB,GAAG/oB,CAAC,GAAG,EAAE,EAAEA,EAAE,CAAC,EAAEA,CAAC,CAAC,SAASgpB,GAAG/O,EAAE,CAAC,OAAOA,EAAE,OAAO,MAAM,CAAC,SAAS8O,GAAG9O,EAAE,CAAC,OAAOA,EAAE,OAAO,aAAa,CAAC,IAAIkP,GAAG,GAAG,SAASC,GAAGnP,EAAEja,EAAE,EAAEqiB,GAAGpI,EAAE,YAAYkP,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA,EAAG,EAAEj6B,GAAG,EAAE,MAAMA,CAAC,EAAE,SAAS8N,EAAE9N,EAAE,CAAC,IAAIrD,EAAE,CAAA,EAAG,GAAGo4B,GAAG/0B,EAAE,CAAC,EAAE4c,IAAI,CAAC,IAAI7O,EAAEsnB,GAAGzY,CAAC,EAAE,GAAG+Y,GAAG,EAAE5nB,CAAC,EAAE,CAAC,IAAI4kB,EAAEwH,GAAG,EAAEvd,CAAC,EAAEmO,EAAE,mBAAmB,oBAAoBhd,EAAE4kB,CAAC,CAAC,MAAMh2B,EAAE,KAAK,CAAC,CAAC,CAAC,EAAEA,EAAE,SAAS,EAAE,OAAOq2B,GAAC,EAAG,IAAI7qB,EAAE0sB,GAAE70B,EAAE,CAAC,EAAErD,CAAC,EAAE4sB,EAAE,GAAG,CAACwL,GAAG5sB,EAAE,CAACyU,EAAE7O,IAAI,CAAC,IAAI4kB,EAAEwH,GAAGvd,EAAE7O,CAAC,EAAEgd,EAAE,mBAAmB,EAAEsK,GAAGtnB,CAAC,EAAE4kB,CAAC,CAAC,CAAC,CAAC,EAAE1L,EAAE,IAAInW,EAAE,CAAC,KAAKmkB,GAAG9sB,EAAE4iB,EAAE,WAAW,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,aAAa,SAAS,EAAE,WAAW,KAAK,EAAE,YAAY,OAAO,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,qCAAqC,EAAE,UAAU,iBAAiB,EAAE,EAAE0H,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAMrM,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAItC,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,aAAajZ,GAAE,OAAO,OAAO,iBAAkB,KAAa,mBAAmBkgB,EAAE,MAAM,+CAA+C,EAAE3E,EAAE,gBAAgB,EAAEyJ,KAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAOllB,EAAE,0BAA0B,GAAG,CAAC,KAAKA,EAAE,MAAM,CAAC,CAAC,CAAC,SAASqsB,GAAGpP,EAAEja,EAAE,CAAC,GAAG,EAAEA,IAAI,SAASA,IAAI,eAAe,OAAO,MAAM,QAAQia,CAAC,EAAEA,EAAE,CAAC,EAAE,MAAM,CAAC,IAAIqP,GAAG,SAAaC,GAAG,CAAA,EAAGlP,GAAGkP,GAAG,CAAC,iBAAiB,IAAIC,GAAG,eAAe,IAAIC,EAAE,CAAC,EAAE,IAAIC,GAAGF,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,KAAK,KAAKA,GAAG,EAAE,CAAC,WAAW,CAACE,GAAG,SAAS,UAAU,SAAS,GAAG,CAAC,SAAS,UAAU,SAAS,YAAY,EAAE,CAAC,IAAI/L,EAAEI,GAAG,IAAI,GAAG,KAAK,OAAO2L,GAAG,MAAM/L,EAAE,CAAC,CAAC,CAAC,MAAS,CAAA,CAAE,CAAC,EAAE6L,GAAG,aAAc,EAAC,IAAIG,GAAG,CAAC,oBAAoB,+CAA+C,EAAEC,GAAG,CAAC,oBAAoB,gBAAgB,aAAa,cAAc,kBAAkB,eAAe,eAAe,EAAEH,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAE,EAAC,CAAC,KAAK,KAAKA,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,UAAU,EAAE9L,EAAE,CAAA,CAAE,aAAa,EAAEA,EAAEsE,EAAE,CAAC,IAAIzqB,EAAEyqB,EAAE,WAAY,EAACjlB,EAAE6sB,GAAG,KAAK,SAASryB,CAAC,EAAE,OAAOsyB,GAAG,EAAE9sB,CAAC,EAAE,KAAK,CAAC,CAAC,EAAEysB,GAAG,aAAc,EAAC,SAASI,GAAG5P,EAAE,CAAE,EAACja,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,GAAGia,EAAE,WAAW,CAAE,EAAC,GAAGja,EAAE,WAAW,CAAE,CAAA,EAAE,SAAS,CAAC,GAAGia,EAAE,UAAU,CAAA,EAAG,GAAGja,EAAE,UAAU,CAAA,CAAE,EAAE,aAAa,CAAC,GAAGia,EAAE,cAAc,CAAE,EAAC,GAAGja,EAAE,cAAc,CAAE,EAAC,GAAGia,EAAE,qBAAqB,CAAE,EAAC0P,EAAE,EAAE,mBAAmB,CAAC,GAAG1P,EAAE,oBAAoB,CAAE,EAAC,GAAGja,EAAE,oBAAoB,CAAA,EAAG,GAAGia,EAAE,2BAA2B,CAAA,EAAG2P,EAAE,EAAE,eAAe3P,EAAE,iBAAiB,OAAOA,EAAE,eAAe,EAAE,CAAC,CAAC,SAAS6P,GAAG7P,EAAEja,EAAE,CAAC,OAAOA,EAAE,gBAAgB+pB,GAAG9P,CAAC,IAAI,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK;AAAA,SACvpG2D,GAAE9G,CAAC,CAAC,EAAE,EAAE,IAAI+P,GAAG/P,EAAEja,EAAE,YAAY,IAAI,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,KAAK;AAAA,SACnG2D,GAAE9G,CAAC,CAAC,EAAE,EAAE,IAAIgQ,GAAGhQ,EAAEja,EAAE,kBAAkB,IAAI,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,KAAK;AAAA,SACzG2D,GAAE9G,CAAC,CAAC,EAAE,EAAE,IAAIiQ,GAAGjQ,EAAEja,EAAE,QAAQ,IAAI,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,KAAK;AAAA,SAC/F2D,GAAE9G,CAAC,CAAC;AAAA,OACNkQ,GAAGlQ,CAAC,CAAC,EAAE,EAAE,IAAImQ,GAAGnQ,EAAEja,EAAE,SAAS,EAAE,KAAK,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,KAAK;AAAA,SAClG2D,GAAE9G,CAAC,CAAC;AAAA,OACNkQ,GAAGlQ,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS+P,GAAG/P,EAAEja,EAAE,CAAC,OAAOia,EAAE,MAAM,CAACja,GAAG,CAACA,EAAE,OAAO,GAAGqqB,GAAGpQ,CAAC,EAAE,KAAK,GAAGiC,GAAG,EAAElc,CAAC,CAAC,CAAC,CAAC,SAASiqB,GAAGhQ,EAAEja,EAAE,CAAC,GAAGia,EAAE,OAAO,eAAe,CAACja,GAAG,CAACA,EAAE,OAAO,MAAM,GAAG,IAAI,EAAEia,EAAE,YAAY,OAAO,EAAEiC,GAAG,EAAElc,CAAC,EAAE,EAAE,CAAC,SAASkqB,GAAGjQ,EAAEja,EAAE,CAAC,GAAG,CAACA,GAAG,CAACA,EAAE,OAAO,MAAQ,GAAC,IAAI,EAAEmqB,GAAGlQ,CAAC,EAAE,OAAO,EAAEiC,GAAG,EAAElc,CAAC,EAAE,EAAE,CAAC,SAASoqB,GAAGnQ,EAAEja,EAAE,CAAC,GAAG,CAACA,GAAG,CAACA,EAAE,OAAO,MAAM,GAAG,IAAI,EAAEmqB,GAAGlQ,CAAC,EAAE,OAAO,EAAEiC,GAAG,EAAElc,CAAC,EAAE,EAAE,CAAC,SAASqqB,GAAGpQ,EAAE,CAAC,IAAIja,EAAE,CAAA,EAAGia,EAAE,SAASja,EAAE,KAAKia,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAEA,EAAE,UAAU,OAAOA,EAAE,UAAU,OAAO,OAAO,CAAC,CAAC,MAAS,CAAE,CAAA,OAAO,GAAG,EAAE,QAAQja,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAMA,EAAE,KAAK,GAAG,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,IAAI,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,SAAS,GAAGod,EAAE,MAAM,uCAAuC2D,GAAE9G,CAAC,CAAC,EAAE,EAAEja,CAAC,CAAC,SAAS+pB,GAAG9P,EAAE,CAAC,GAAG,CAAC,OAAOA,EAAE,UAAU,OAAO,CAAC,EAAE,OAAO,aAAa,MAAS,EAAE,MAAM,EAAE,CAAC,SAASqQ,GAAGrQ,EAAE,CAAA,EAAG,CAAC,QAAQja,EAAEia,EAAE,OAAO,EAAEja,GAAG,EAAEA,IAAI,CAAC,IAAI,EAAEia,EAAEja,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,eAAe,EAAE,WAAW,gBAAgB,OAAO,EAAE,UAAU,IAAI,CAAC,OAAO,IAAI,CAAC,SAASmqB,GAAGlQ,EAAE,CAAC,GAAG,CAAC,IAAIja,EAAE,GAAG,CAACA,EAAEia,EAAE,UAAU,OAAO,CAAC,EAAE,WAAW,MAAM,MAAS,CAAE,CAAA,OAAOja,EAAEsqB,GAAGtqB,CAAC,EAAE,IAAI,MAAS,CAAC,OAAO,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,MAAM,gCAAgC2D,GAAE9G,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAIsQ,EAAEz+B,EAAE0+B,GAAG,EAAE,SAASC,IAAI,CAAC,OAAOD,GAAG,CAAC,CAAC,SAASE,IAAI,CAACF,KAAK,WAAW,IAAI,CAACA,IAAI,CAAC,CAAC,CAAC,SAASG,GAAG1Q,EAAEja,EAAE,CAAE,EAAC,EAAE,CAAC,GAAG,OAAOia,GAAG,WAAW,OAAOA,EAAE,GAAG,CAAC,IAAI,EAAEA,EAAE,mBAAmB,GAAG,EAAE,OAAO,EAAE,GAAG8D,GAAG9D,CAAC,EAAE,OAAOA,CAAC,MAAS,CAAC,OAAOA,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,SAAS,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,YAAY,EAAE,MAAM,KAAK,SAAS,EAAE,IAAIjd,EAAE,EAAE,IAAI9N,GAAGy7B,GAAGz7B,EAAE8Q,CAAC,CAAC,EAAE,OAAOia,EAAE,MAAM,KAAKjd,CAAC,CAAC,OAAOA,EAAE,CAAC,MAAM0tB,GAAI,EAAChD,GAAGx4B,GAAG,CAACA,EAAE,kBAAkBrD,IAAImU,EAAE,YAAYghB,GAAGn1B,EAAE,MAAa,EAAEo1B,GAAGp1B,EAAEmU,EAAE,SAAS,GAAGnU,EAAE,MAAMsuB,EAAED,EAAE,GAAGruB,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,EAAEA,EAAE,EAAE47B,GAAGzqB,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,KAAKid,EAAE,OAAO,UAAU,eAAe,KAAKA,EAAE,CAAC,IAAI,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,MAAS,CAAE,CAAA4D,GAAG,EAAE5D,CAAC,EAAE6D,GAAG7D,EAAE,qBAAqB,CAAC,EAAE,GAAG,CAAC,OAAO,yBAAyB,EAAE,MAAM,EAAE,cAAc,OAAO,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,OAAOA,EAAE,IAAI,CAAC,CAAC,CAAC,MAAS,CAAA,CAAE,OAAO,CAAC,CAAC,SAAS2Q,GAAG3Q,EAAEja,EAAE,CAAC,IAAI,EAAE6qB,GAAG5Q,EAAEja,CAAC,EAAE,EAAE,CAAC,KAAKA,GAAGA,EAAE,KAAK,MAAM8qB,GAAG9qB,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,QAAQ,EAAE,QAAQ,KAAK,EAAE,MAAM,8BAA8B,CAAC,CAAC,SAAS+qB,GAAG9Q,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAIhD,EAAEipB,EAAG,EAAC,UAAS,EAAG,EAAEjpB,GAAGA,EAAE,WAAU,EAAG,eAAe,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAKwe,GAAGxb,CAAC,EAAEA,EAAE,YAAY,KAAK,EAAE,qBAAqB,QAAQ,MAAMgrB,GAAGhrB,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,eAAe0hB,GAAG1hB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI3I,EAAEwzB,GAAG5Q,EAAE,CAAC,EAAE5iB,EAAE,SAAS,EAAE,UAAU,OAAO,CAAC,EAAE,WAAW,CAAC,OAAOA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS4zB,GAAGhR,EAAEja,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC4qB,GAAG3Q,EAAEja,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS6qB,GAAG5Q,EAAEja,EAAE,CAAC,IAAI,EAAEA,EAAE,YAAYA,EAAE,OAAO,GAAG,EAAEkrB,GAAGlrB,CAAC,EAAE,GAAG,CAAC,OAAOia,EAAE,EAAE,CAAC,CAAC,MAAS,CAAA,CAAE,MAAM,CAAE,CAAA,CAAC,IAAIkR,GAAG,8BAA8B,SAASD,GAAGjR,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAG,OAAOA,EAAE,aAAa,SAAS,OAAOA,EAAE,YAAY,GAAGkR,GAAG,KAAKlR,EAAE,OAAO,EAAE,MAAO,EAAC,CAAC,MAAO,EAAC,CAAC,SAAS6Q,GAAG7Q,EAAE,CAAC,IAAIja,EAAEia,GAAGA,EAAE,QAAQ,OAAOja,EAAEA,EAAE,OAAO,OAAOA,EAAE,MAAM,SAAS,SAASA,EAAE,MAAM,QAAQA,EAAE,kBAAkB,CAAC,SAASorB,GAAGnR,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,oBAAoB,OAAOhD,EAAEquB,GAAGpR,EAAEja,EAAE,EAAE,CAAC,EAAE,OAAOihB,GAAGjkB,CAAC,EAAEA,EAAE,MAAM,QAAQ,GAAG,EAAE,WAAWA,EAAE,SAAS,EAAE,UAAUklB,GAAEllB,CAAC,CAAC,CAAC,SAASsuB,GAAGrR,EAAEja,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAIhD,EAAE,GAAG,EAAE,oBAAoB,OAAO9N,EAAEq8B,GAAGtR,EAAEja,EAAEhD,EAAE,CAAC,EAAE,OAAO9N,EAAE,MAAM,EAAE,GAAG,EAAE,WAAWA,EAAE,SAAS,EAAE,UAAUgzB,GAAEhzB,CAAC,CAAC,CAAC,SAASm8B,GAAGpR,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIhD,EAAE,GAAGke,GAAGlb,CAAC,GAAGA,EAAE,MAAM,OAAOirB,GAAGhR,EAAEja,EAAE,KAAK,EAAE,GAAGmb,GAAGnb,CAAC,GAAGob,GAAGpb,CAAC,EAAE,CAAC,IAAI9Q,EAAE8Q,EAAE,GAAG,UAAUA,EAAEhD,EAAEiuB,GAAGhR,EAAEja,CAAC,MAAM,CAAC,IAAInU,EAAEqD,EAAE,OAAOisB,GAAGjsB,CAAC,EAAE,WAAW,gBAAgBmI,EAAEnI,EAAE,QAAQ,GAAGrD,CAAC,KAAKqD,EAAE,OAAO,GAAGrD,EAAEmR,EAAEuuB,GAAGtR,EAAE5iB,EAAE,EAAE,CAAC,EAAE2pB,GAAGhkB,EAAE3F,CAAC,CAAC,CAAC,MAAM,SAASnI,IAAI8N,EAAE,KAAKmd,EAAED,EAAE,CAAA,EAAGld,EAAE,IAAI,EAAE,CAAC,oBAAoB,GAAG9N,EAAE,IAAI,EAAE,CAAC,GAAG8N,CAAC,CAAC,OAAO+d,GAAG/a,CAAC,EAAEirB,GAAGhR,EAAEja,CAAC,EAAEub,GAAEvb,CAAC,GAAGwb,GAAGxb,CAAC,GAAGhD,EAAE+tB,GAAG9Q,EAAEja,EAAE,EAAE,CAAC,EAAEihB,GAAGjkB,EAAE,CAAC,UAAU,EAAE,CAAC,EAAEA,IAAIA,EAAEuuB,GAAGtR,EAAEja,EAAE,EAAE,CAAC,EAAEghB,GAAGhkB,EAAE,GAAGgD,CAAC,EAAS,EAAEihB,GAAGjkB,EAAE,CAAC,UAAU,EAAE,CAAC,EAAEA,EAAE,CAAC,SAASuuB,GAAGtR,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQA,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,IAAIhD,EAAE6tB,GAAG5Q,EAAE,CAAC,EAAEjd,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAMgD,EAAE,WAAW,CAAC,OAAOhD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,SAASguB,GAAG/Q,EAAE,CAAC,qBAAqBja,CAAC,EAAE,CAAC,IAAI,EAAEoe,GAAGnE,CAAC,EAAE,EAAEja,EAAE,oBAAoB,YAAY,OAAOkb,GAAGjB,CAAC,EAAE,oCAAoC,CAAC,mBAAmBA,EAAE,OAAO,KAAKuB,GAAGvB,CAAC,EAAE,WAAWuR,GAAGvR,CAAC,CAAC,YAAYA,EAAE,IAAI,iBAAiB,CAAC,GAAG,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC,SAASuR,GAAGvR,EAAE,CAAC,GAAG,CAAC,IAAIja,EAAE,OAAO,eAAeia,CAAC,EAAE,OAAOja,EAAEA,EAAE,YAAY,KAAK,MAAM,MAAS,CAAA,CAAE,CAAC,SAASyrB,GAAGxR,EAAE,CAAC,SAASja,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAEka,EAAEA,EAAE,CAAC,SAASD,EAAE,SAAS,QAAQ,IAAI,KAAM,EAAC,YAAW,CAAE,EAAEja,GAAGA,EAAE,KAAK,CAAC,IAAI,CAAC,KAAKA,EAAE,IAAI,KAAK,QAAQA,EAAE,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAIud,GAAE,CAAC,CAAC,CAAC,EAAEvgB,EAAE0uB,GAAGzR,CAAC,EAAE,OAAO8J,GAAE,EAAE,CAAC/mB,CAAC,CAAC,CAAC,CAAC,SAAS0uB,GAAGzR,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,aAAa,EAAEA,CAAC,CAAC,CAAC,IAAI0R,GAAG,cAAc7C,EAAE,CAAC,YAAY,EAAE,CAAC,IAAInL,EAAE4M,EAAE,mBAAmBlJ,GAAI,EAAC,EAAE,UAAU,EAAE,WAAW,CAAE,EAAC,EAAE,UAAU,IAAI,EAAE,UAAU,KAAK,CAAC,KAAK,4BAA4B,SAAS,CAAC,CAAC,KAAK,GAAG1D,CAAC,mBAAmB,QAAQ2L,EAAE,CAAC,EAAE,QAAQA,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,mBAAmBiB,EAAE,UAAUA,EAAE,SAAS,iBAAiB,mBAAmB,IAAI,CAACA,EAAE,SAAS,kBAAkB,UAAU,KAAK,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,EAAE5M,EAAE,CAAC,OAAOyN,GAAG,KAAK,SAAS,YAAY,EAAEzN,EAAE,KAAK,SAAS,gBAAgB,CAAC,CAAC,iBAAiB,EAAEA,EAAE,OAAOsE,EAAE,CAAC,OAAOqJ,GAAG,KAAK,SAAS,YAAY,EAAE3N,EAAEsE,EAAE,KAAK,SAAS,gBAAgB,CAAC,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,KAAK,aAAa,EAAE,OAAO,iBAAkB,KAAa,mBAAmB7E,EAAE,KAAK,kDAAkD,EAAE,MAAM,CAAC,IAAIO,EAAE8N,GAAG,EAAE,CAAC,SAAS,KAAK,eAAc,EAAG,IAAI,KAAK,SAAS,OAAO,KAAK,aAAa,MAAM,CAAC,EAAE,KAAK,cAAc9N,CAAC,CAAC,CAAC,cAAc,EAAEA,EAAEsE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,aAAa,MAAM,cAAc,EAAEtE,EAAEsE,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,eAAc,EAAG,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmB7E,EAAE,IAAI,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,yCAAyC,EAAE,MAAM,EAAE,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,IAAI,oBAAoB,CAAC,EAAE,IAAIO,EAAE+G,GAAG,EAAE,KAAK,SAAS,QAAQnH,GAAE,KAAK,IAAI,CAAC,EAAE,KAAK,cAAcI,CAAC,CAAC,CAAC,EAAMiO,GAAG,SAASnkB,IAAI,CAAC,GAAGmkB,GAAG,OAAOA,GAAG,GAAG5M,GAAGuL,EAAE,KAAK,EAAE,OAAOqB,GAAGrB,EAAE,MAAM,KAAKA,CAAC,EAAE,IAAItQ,EAAEsQ,EAAE,SAASvqB,EAAEuqB,EAAE,MAAM,GAAGtQ,GAAG,OAAOA,EAAE,eAAe,WAAW,GAAG,CAAC,IAAI,EAAEA,EAAE,cAAc,QAAQ,EAAE,EAAE,OAAO,GAAGA,EAAE,KAAK,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,GAAG,EAAE,QAAQja,EAAE,EAAE,OAAOia,EAAE,KAAK,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,kFAAkF,CAAC,CAAC,CAAC,OAAOwO,GAAG5rB,EAAE,KAAKuqB,CAAC,CAAC,CAAC,SAASsB,IAAI,CAACD,GAAG,MAAM,CAAC,SAASE,GAAG7R,EAAEja,EAAEyH,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAEzK,EAAE,CAAC,IAAI9N,EAAE8N,EAAE,KAAK,OAAO,GAAG9N,EAAE,IAAI,IAAIrD,EAAEquB,EAAE,CAAC,KAAKld,EAAE,KAAK,OAAO,OAAO,eAAe,SAAS,QAAQid,EAAE,QAAQ,UAAU,GAAG,KAAK,EAAE,EAAE,EAAEA,EAAE,YAAY,EAAE,GAAG,CAAC,OAAOja,EAAEia,EAAE,IAAIpuB,CAAC,EAAE,KAAKwL,IAAI,GAAGnI,EAAE,IAAI,CAAC,WAAWmI,EAAE,OAAO,QAAQ,CAAC,uBAAuBA,EAAE,QAAQ,IAAI,sBAAsB,EAAE,cAAcA,EAAE,QAAQ,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,OAAOA,EAAE,CAAC,OAAOw0B,KAAK,GAAG38B,EAAE,IAAIkzB,GAAG/qB,CAAC,CAAC,CAAC,CAAC,OAAO+xB,GAAGnP,EAAE,CAAC,CAAC,CAAC,IAAI8R,GAAG,EAAE,SAASC,GAAG/R,EAAE,CAAC,SAASja,EAAE,EAAE,CAAC,OAAO,IAAImiB,EAAE,CAAC,EAAE,IAAI,CAAC,IAAInlB,EAAE,IAAI,eAAeA,EAAE,QAAQ,EAAEA,EAAE,mBAAmB,IAAI,CAACA,EAAE,aAAa+uB,IAAI,EAAE,CAAC,WAAW/uB,EAAE,OAAO,QAAQ,CAAC,uBAAuBA,EAAE,kBAAkB,sBAAsB,EAAE,cAAcA,EAAE,kBAAkB,aAAa,CAAC,CAAC,CAAC,CAAC,EAAEA,EAAE,KAAK,OAAOid,EAAE,GAAG,EAAE,QAAQ/qB,KAAK+qB,EAAE,QAAQ,OAAO,UAAU,eAAe,KAAKA,EAAE,QAAQ/qB,CAAC,GAAG8N,EAAE,iBAAiB9N,EAAE+qB,EAAE,QAAQ/qB,CAAC,CAAC,EAAE8N,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAOosB,GAAGnP,EAAEja,CAAC,CAAC,CAAC,IAAIisB,GAAG,IAAQC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAG,SAASC,GAAGpS,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,SAASia,EAAE,SAASja,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,SAAS,EAAE,OAAO,GAAG,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,IAAIssB,GAAG,6IAA6IC,GAAG,gCAAgCC,GAAGvS,GAAG,CAAC,IAAIja,EAAEssB,GAAG,KAAKrS,CAAC,EAAE,GAAGja,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,QAAQ,MAAM,IAAI,EAAE,CAAC,IAAIhD,EAAEuvB,GAAG,KAAKvsB,EAAE,CAAC,CAAC,EAAEhD,IAAIgD,EAAE,CAAC,EAAEhD,EAAE,CAAC,EAAEgD,EAAE,CAAC,EAAEhD,EAAE,CAAC,EAAEgD,EAAE,CAAC,EAAEhD,EAAE,CAAC,EAAE,CAAC,GAAG,CAACilB,EAAEzqB,CAAC,EAAEi1B,GAAGzsB,EAAE,CAAC,GAAGisB,GAAGjsB,EAAE,CAAC,CAAC,EAAE,OAAOqsB,GAAG70B,EAAEyqB,EAAEjiB,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE0sB,GAAG,CAACR,GAAGM,EAAE,EAAE1mB,GAAG,uIAAuI6mB,GAAG,gDAAgDC,GAAG3S,GAAG,CAAC,IAAIja,EAAE8F,GAAG,KAAKmU,CAAC,EAAE,GAAGja,EAAE,CAAC,GAAGA,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,QAAQ,SAAS,EAAE,GAAG,CAAC,IAAIhD,EAAE2vB,GAAG,KAAK3sB,EAAE,CAAC,CAAC,EAAEhD,IAAIgD,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,OAAOA,EAAE,CAAC,EAAEhD,EAAE,CAAC,EAAEgD,EAAE,CAAC,EAAEhD,EAAE,CAAC,EAAEgD,EAAE,CAAC,EAAE,GAAG,CAAC,IAAIiiB,EAAEjiB,EAAE,CAAC,EAAExI,EAAEwI,EAAE,CAAC,GAAGisB,GAAG,MAAM,CAACz0B,EAAEyqB,CAAC,EAAEwK,GAAGj1B,EAAEyqB,CAAC,EAAEoK,GAAGpK,EAAEzqB,EAAEwI,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE6sB,GAAG,CAACT,GAAGQ,EAAE,EAAEE,GAAG,uFAAuFC,GAAG9S,GAAG,CAAC,IAAIja,EAAE8sB,GAAG,KAAK7S,CAAC,EAAE,OAAOja,EAAEqsB,GAAGrsB,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAGisB,GAAG,CAACjsB,EAAE,CAAC,EAAEA,EAAE,CAAC,EAAE,CAACA,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAEgtB,GAAG,CAACb,GAAGY,EAAE,EAAME,GAAG,CAACP,GAAGG,GAAGG,EAAE,EAAEE,GAAGxO,GAAG,GAAGuO,EAAE,EAAER,GAAG,CAACxS,EAAEja,IAAI,CAAC,IAAI,EAAEia,EAAE,QAAQ,kBAAkB,IAAI,GAAG,EAAEA,EAAE,QAAQ,sBAAsB,IAAI,GAAG,OAAO,GAAG,EAAE,CAACA,EAAE,QAAQ,GAAG,IAAI,GAAGA,EAAE,MAAM,GAAG,EAAE,CAAC,EAAEgS,GAAG,EAAE,oBAAoBjsB,CAAC,GAAG,wBAAwBA,CAAC,EAAE,EAAE,CAACia,EAAEja,CAAC,CAAC,EAAMmtB,GAAE,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC,KAAK,KAAKA,GAAE,GAAG,KAAK,SAASjT,EAAE,CAAC,QAAQ,GAAG,qBAAqB,EAAE,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,QAAQkT,GAAG,qBAAqBC,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,gBAAgB,GAAG,IAAI,EAAE,KAAK,SAAS,QAAQ1P,KAAK,EAAE,CAAC,IAAIsE,EAAE,KAAK,aAAatE,CAAC,EAAEsE,GAAG,EAAEtE,CAAC,IAAI2P,GAAG3P,CAAC,EAAEsE,EAAG,EAAC,KAAK,aAAatE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAEwP,GAAE,aAAc,EAAC,SAASC,IAAI,CAACpN,EAAE,QAAQ/F,GAAG,CAAC,GAAG,CAACja,EAAE,EAAE,CAAC,EAAEutB,GAAE,EAAG,GAAG,CAACvtB,EAAE,eAAemtB,EAAC,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,IAAInwB,EAAE,KAAK9N,EAAE,OAAOrD,EAAE,MAAMwL,CAAC,EAAE4iB,EAAE,GAAGwQ,GAAI,GAAEpzB,GAAGA,EAAE,uBAAuB,OAAO,IAAIohB,EAAEphB,IAAI,QAAQgkB,GAAE,CAAC,EAAEmS,GAAG,EAAExwB,EAAE9N,EAAErD,CAAC,EAAE4hC,GAAGpC,GAAG,EAAEh0B,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE2F,EAAE9N,EAAErD,CAAC,EAAE4sB,EAAE,MAAM,QAAQiV,GAAG1tB,EAAE3I,EAAEohB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS4U,IAAI,CAACrN,EAAE,qBAAqB/F,GAAG,CAAC,GAAG,CAACja,EAAE,EAAE,CAAC,EAAEutB,GAAI,EAAC,GAAG,CAACvtB,EAAE,eAAemtB,EAAC,EAAE,OAAO,IAAI,EAAElT,EAAE,GAAG,CAAC,WAAWA,EAAE,EAAEA,EAAE,OAAO,WAAWA,GAAG,WAAWA,EAAE,SAAS,EAAEA,EAAE,OAAO,OAAO,MAAS,EAAE,GAAGwQ,GAAI,GAAE,GAAG,EAAE,uBAAuB,MAAQ,GAAC,IAAIztB,EAAEse,GAAG,CAAC,EAAEqS,GAAG,CAAC,EAAEtC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAEruB,EAAE,MAAM,QAAQ0wB,GAAG1tB,EAAE,EAAEhD,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,SAAS2wB,GAAG1T,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,qBAAqB,MAAM,oDAAoD,OAAOA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAASuT,GAAGvT,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,2GAA2GhD,EAAEke,GAAGjB,CAAC,EAAEA,EAAE,QAAQA,EAAE/qB,EAAE,QAAQrD,EAAEmR,EAAE,MAAM,CAAC,EAAE,OAAOnR,IAAIqD,EAAErD,EAAE,CAAC,EAAEmR,EAAEnR,EAAE,CAAC,GAAG4hC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAKv+B,EAAE,MAAM8N,CAAC,CAAC,CAAC,CAAC,EAAEgD,EAAE,EAAE,CAAC,CAAC,CAAC,SAASytB,GAAGxT,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEia,EAAE,UAAUA,EAAE,WAAW,CAAA,EAAGjd,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAE,EAAC9N,EAAE8N,EAAE,CAAC,EAAEA,EAAE,CAAC,GAAG,CAAE,EAACnR,EAAEqD,EAAE,WAAWA,EAAE,YAAY,CAAA,EAAGmI,EAAExL,EAAE,OAAOA,EAAE,QAAQ,GAAG4sB,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,EAAEtC,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAEkF,GAAErb,CAAC,GAAGA,EAAE,OAAO,EAAEA,EAAE+c,GAAI,EAAC,OAAO1lB,EAAE,SAAS,GAAGA,EAAE,KAAK,CAAC,MAAMohB,EAAE,SAAS,EAAE,SAAS,IAAI,OAAO,GAAG,OAAOtC,CAAC,CAAC,EAAE8D,CAAC,CAAC,SAASqT,GAAGrT,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,4BAA4BnD,CAAC,EAAE,CAAC,CAAC,SAASyT,GAAGzT,EAAEja,EAAE,EAAE,EAAE,CAACihB,GAAG,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAEhH,EAAE,aAAa,EAAE,CAAC,kBAAkBja,CAAC,CAAC,CAAC,CAAC,SAASutB,IAAI,CAAC,IAAItT,EAAEgM,IAAIjmB,EAAEia,EAAE,YAAY,EAAEja,GAAGA,EAAE,WAAY,GAAE,CAAC,YAAY,IAAI,CAAA,EAAG,iBAAiB,EAAE,EAAE,MAAM,CAACia,EAAE,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,IAAI2T,GAAG,CAAC,cAAc,SAAS,OAAO,mBAAmB,iBAAiB,mBAAmB,oBAAoB,kBAAkB,cAAc,aAAa,qBAAqB,cAAc,aAAa,iBAAiB,eAAe,kBAAkB,cAAc,cAAc,eAAe,qBAAqB,SAAS,eAAe,YAAY,eAAe,gBAAgB,YAAY,kBAAkB,SAAS,iBAAiB,4BAA4B,sBAAsB,EAAEC,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC,KAAK,KAAKA,GAAG,GAAG,KAAK,SAAS3T,EAAE,CAAC,eAAe,GAAG,YAAY,GAAG,sBAAsB,GAAG,YAAY,GAAG,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS,YAAY0D,EAAE2M,EAAE,aAAauD,EAAE,EAAE,KAAK,SAAS,aAAalQ,EAAE2M,EAAE,cAAcuD,EAAE,EAAE,KAAK,SAAS,uBAAuBlQ,EAAE2M,EAAE,wBAAwBwD,EAAE,EAAE,KAAK,SAAS,gBAAgB,mBAAmBxD,GAAG3M,EAAE,eAAe,UAAU,OAAOoQ,EAAE,EAAE,IAAI,EAAE,KAAK,SAAS,YAAY,IAAI,MAAM,QAAQ,CAAC,EAAE,EAAEJ,IAAI,QAAQK,EAAE,CAAC,CAAC,EAAEJ,GAAG,aAAY,EAAG,SAASC,GAAG7T,EAAE,CAAC,OAAO,YAAYja,EAAE,CAAC,IAAI,EAAEA,EAAE,CAAC,EAAE,OAAOA,EAAE,CAAC,EAAE2qB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS9L,GAAE5E,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,YAAY,CAAC,CAAC,EAAEA,EAAE,MAAM,KAAKja,CAAC,CAAC,CAAC,CAAC,SAAS+tB,GAAG9T,EAAE,CAAC,OAAO,SAASja,EAAE,CAAC,OAAOia,EAAE,MAAM,KAAK,CAAC0Q,GAAG3qB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,wBAAwB,QAAQ6e,GAAE5E,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS+T,GAAG/T,EAAE,CAAC,OAAO,YAAYja,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,UAAU,aAAa,oBAAoB,EAAE,QAAQxI,GAAG,CAACA,KAAK,GAAG,OAAO,EAAEA,CAAC,GAAG,YAAYomB,EAAE,EAAEpmB,EAAE,SAASwF,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAASxF,EAAE,QAAQqnB,GAAE7hB,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,YAAY,CAAC,EAAE,EAAE+gB,GAAG/gB,CAAC,EAAE,OAAO,IAAI,EAAE,UAAU,KAAK,QAAQ6hB,GAAE,CAAC,GAAG8L,GAAG3tB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEid,EAAE,MAAM,KAAKja,CAAC,CAAC,CAAC,CAAC,SAASiuB,GAAGhU,EAAE,CAAC,IAAIja,EAAEuqB,EAAE,EAAEvqB,EAAEia,CAAC,GAAGja,EAAEia,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,eAAe,kBAAkB,IAAI2D,EAAE,EAAE,mBAAmB,SAAS,EAAE,CAAC,OAAO,SAAS,EAAE5gB,EAAE9N,EAAE,CAAC,GAAG,CAAC,OAAO8N,EAAE,aAAa,aAAaA,EAAE,YAAY2tB,GAAG3tB,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,cAAc,QAAQ6hB,GAAE7hB,CAAC,EAAE,OAAOid,CAAC,EAAE,QAAQ,GAAG,KAAK,YAAY,CAAC,CAAC,EAAE,MAAS,CAAE,CAAA,OAAO,EAAE,MAAM,KAAK,CAAC,EAAE0Q,GAAG3tB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,mBAAmB,QAAQ6hB,GAAE7hB,CAAC,EAAE,OAAOid,CAAC,EAAE,QAAQ,GAAG,KAAK,YAAY,CAAC,CAAC,EAAE/qB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0uB,EAAE,EAAE,sBAAsB,SAAS,EAAE,CAAC,OAAO,SAAS,EAAE5gB,EAAE9N,EAAE,CAAC,IAAIrD,EAAEmR,EAAE,GAAG,CAAC,IAAI3F,EAAExL,GAAGA,EAAE,mBAAmBwL,GAAG,EAAE,KAAK,KAAK,EAAEA,EAAEnI,CAAC,CAAC,MAAS,CAAA,CAAE,OAAO,EAAE,KAAK,KAAK,EAAErD,EAAEqD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAIg/B,GAAG,KAAKC,GAAE,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC,KAAK,KAAKA,GAAE,GAAG,KAAK,QAAQjU,EAAE,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,QAAQ,SAAS8F,EAAE,UAAUoO,EAAE,EAAE,KAAK,QAAQ,KAAKpO,EAAE,MAAMqO,GAAG,KAAK,QAAQ,GAAG,CAAC,EAAE,KAAK,QAAQ,KAAKrO,EAAE,MAAMsO,EAAE,EAAE,KAAK,QAAQ,OAAOtO,EAAE,QAAQuO,EAAE,EAAE,KAAK,QAAQ,SAASvO,EAAE,UAAUwO,EAAE,EAAE,KAAK,QAAQ,OAAO,CAAC,IAAI,EAAEvI,EAAC,EAAG,UAAS,EAAG,GAAG,EAAE,IAAI,EAAE,GAAG,kBAAkBwI,EAAE,CAAC,CAAC,CAAC,EAAEN,GAAE,aAAc,EAAC,SAASM,GAAGxU,EAAE,CAACgM,EAAG,EAAC,cAAc,CAAC,SAAS,UAAUhM,EAAE,OAAO,cAAc,cAAc,OAAO,GAAG,SAASA,EAAE,SAAS,MAAMA,EAAE,MAAM,QAAQ8G,GAAE9G,CAAC,CAAC,EAAE,CAAC,MAAMA,CAAC,CAAC,CAAC,CAAC,SAASoU,GAAGpU,EAAE,CAAC,SAASja,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,OAAOia,GAAG,SAASA,EAAE,mBAAmB,OAAOjd,EAAE,OAAOid,GAAG,UAAU,OAAOA,EAAE,iBAAiB,SAASA,EAAE,gBAAgB,OAAOjd,GAAGA,EAAEkxB,MAAM,OAAO,iBAAkB,KAAa,mBAAmB9Q,EAAE,KAAK,yCAAyC8Q,EAAE,oBAAoBlxB,CAAC,oCAAoCkxB,EAAE,WAAW,EAAElxB,EAAEkxB,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,IAAIh/B,EAAE,EAAE,MAAM,EAAEw/B,GAAGx/B,CAAC,EAAE2tB,GAAE3tB,EAAE,OAAO,CAAC,SAAS,EAAE,gBAAgB8N,CAAC,CAAC,EAAE6f,GAAE3tB,EAAE,CAAC,SAAS,EAAE,gBAAgB8N,CAAC,CAAC,CAAC,MAAS,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,GAAGipB,EAAC,EAAG,cAAc,CAAC,SAAS,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAOjmB,CAAC,CAAC,SAASouB,GAAGnU,EAAE,CAAC,IAAIja,EAAE,CAAC,SAAS,UAAU,KAAK,CAAC,UAAUia,EAAE,KAAK,OAAO,SAAS,EAAE,MAAMuI,GAAGvI,EAAE,KAAK,EAAE,QAAQ+B,GAAG/B,EAAE,KAAK,GAAG,CAAC,EAAE,GAAGA,EAAE,QAAQ,SAAS,GAAGA,EAAE,KAAK,CAAC,IAAI,GAAGja,EAAE,QAAQ,qBAAqBgc,GAAG/B,EAAE,KAAK,MAAM,CAAC,EAAE,GAAG,GAAG,gBAAgB,GAAGja,EAAE,KAAK,UAAUia,EAAE,KAAK,MAAM,CAAC,MAAO,QAAOgM,EAAG,EAAC,cAAcjmB,EAAE,CAAC,MAAMia,EAAE,KAAK,MAAMA,EAAE,KAAK,CAAC,CAAC,CAAC,SAASqU,GAAGrU,EAAE,CAAC,GAAG,CAAC,eAAeja,EAAE,aAAa,CAAC,EAAEia,EAAE,EAAEA,EAAE,IAAIoF,EAAE,EAAE,GAAG,CAACrf,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,OAAO,EAAE,IAAIhD,EAAE,YAAY9N,EAAE,KAAKrD,CAAC,EAAE,EAAEwL,EAAE,CAAC,OAAO,EAAE,IAAI2F,EAAE,YAAY9N,CAAC,EAAEupB,EAAE,CAAC,IAAIwB,EAAE,IAAI,MAAMpuB,EAAE,eAAemU,EAAE,aAAa,CAAC,EAAEimB,IAAI,cAAc,CAAC,SAAS,MAAM,KAAK5uB,EAAE,KAAK,MAAM,EAAEohB,CAAC,CAAC,CAAC,SAAS8V,GAAGtU,EAAE,CAAC,GAAG,CAAC,eAAeja,EAAE,aAAa,CAAC,EAAEia,EAAE,GAAG,GAAG,EAAEA,EAAE,UAAU,IAAI,MAAM,YAAY,GAAGA,EAAE,UAAU,SAAS,QAAQ,GAAGA,EAAE,MAAM,CAAC,IAAI,EAAEA,EAAE,UAAU,EAAE,CAAC,KAAKA,EAAE,MAAM,MAAMA,EAAE,KAAK,eAAeja,EAAE,aAAa,CAAC,EAAEimB,IAAI,cAAc,CAAC,SAAS,QAAQ,KAAK,EAAE,MAAM,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE9L,EAAED,EAAE,CAAE,EAACD,EAAE,SAAS,EAAE,CAAC,YAAYA,EAAE,UAAUA,EAAE,SAAS,MAAM,CAAC,EAAE,EAAE,CAAC,MAAMA,EAAE,KAAK,SAASA,EAAE,SAAS,eAAeja,EAAE,aAAa,CAAC,EAAEimB,IAAI,cAAc,CAAC,SAAS,QAAQ,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAASuI,GAAGvU,EAAE,CAAC,IAAIja,EAAEia,EAAE,KAAK,EAAEA,EAAE,GAAG,EAAEqI,GAAGiI,EAAE,SAAS,IAAI,EAAE,EAAEjI,GAAGtiB,CAAC,EAAEhD,EAAEslB,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,WAAWtlB,EAAE,UAAU,EAAE,OAAOA,EAAE,OAAO,EAAEA,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAOgD,EAAE,EAAE,UAAUimB,EAAG,EAAC,cAAc,CAAC,SAAS,aAAa,KAAK,CAAC,KAAKjmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS0uB,GAAGzU,EAAE,CAAC,MAAM,CAAC,CAACA,GAAG,CAAC,CAACA,EAAE,MAAM,CAAC,IAAI0U,GAAG,QAAQC,GAAG,EAAEC,GAAE,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,KAAKA,GAAE,GAAG,KAAK,KAAK,EAAE,KAAKF,GAAG,KAAK,OAAO,EAAE,OAAOC,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAEjR,EAAEsE,EAAE,CAAC,IAAIzqB,EAAEyqB,EAAE,WAAU,EAAG9F,GAAGyO,GAAGpzB,EAAE,YAAYA,EAAE,eAAe,KAAK,KAAK,KAAK,OAAO,EAAEmmB,CAAC,CAAC,CAAC,EAAEkR,GAAE,eAAe,IAAIC,GAAE,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,KAAKA,GAAE,EAAE,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,GAAG,CAACvE,EAAE,WAAW,CAACA,EAAE,UAAU,CAACA,EAAE,SAAS,OAAO,IAAI5M,EAAE,EAAE,SAAS,EAAE,QAAQ,KAAK4M,EAAE,UAAUA,EAAE,SAAS,KAAK,CAAC,SAAStI,CAAC,EAAEsI,EAAE,UAAU,CAAA,EAAG,CAAC,UAAU/yB,CAAC,EAAE+yB,EAAE,WAAW,CAAA,EAAGvtB,EAAEkd,EAAEA,EAAEA,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,OAAO,EAAE+H,GAAG,CAAC,QAAQA,CAAC,CAAC,EAAEzqB,GAAG,CAAC,aAAaA,CAAC,CAAC,EAAE,EAAE2iB,EAAED,EAAEA,EAAE,CAAE,EAAC,EAAE,OAAO,EAAEyD,GAAG,CAAC,IAAIA,CAAC,CAAC,EAAE,CAAC,QAAQ3gB,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE8xB,GAAE,aAAc,EAAC,IAAIC,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,KAAKA,GAAG,EAAE,CAAC,UAAU,EAAEpR,EAAE,CAAE,CAAA,aAAa,EAAE,CAAC,GAAG,EAAE,KAAK,OAAO,EAAE,GAAG,CAAC,GAAGqR,GAAG,EAAE,KAAK,cAAc,EAAE,OAAO,OAAO,iBAAkB,KAAa,mBAAmB5R,EAAE,KAAK,sEAAsE,EAAE,IAAI,MAAS,CAAE,CAAA,OAAO,KAAK,eAAe,CAAC,CAAC,EAAE2R,GAAG,aAAc,EAAC,SAASC,GAAG/U,EAAEja,EAAE,CAAC,OAAOA,EAAE,CAAC,EAAEivB,GAAGhV,EAAEja,CAAC,GAAGkvB,GAAGjV,EAAEja,CAAC,GAAG,EAAE,CAAC,SAASivB,GAAGhV,EAAEja,EAAE,CAAC,IAAI,EAAEia,EAAE,QAAQ,EAAEja,EAAE,QAAQ,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,CAACmvB,GAAGlV,EAAEja,CAAC,GAAG,CAACovB,GAAGnV,EAAEja,CAAC,EAAE,CAAC,SAASkvB,GAAGjV,EAAEja,EAAE,CAAC,IAAI,EAAEqvB,GAAGrvB,CAAC,EAAE,EAAEqvB,GAAGpV,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAACkV,GAAGlV,EAAEja,CAAC,GAAG,CAACovB,GAAGnV,EAAEja,CAAC,EAAE,CAAC,SAASovB,GAAGnV,EAAEja,EAAE,CAAC,IAAI,EAAEsvB,GAAGrV,CAAC,EAAE,EAAEqV,GAAGtvB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,SAAS,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAIhD,EAAE,EAAE,CAAC,EAAE9N,EAAE,EAAE,CAAC,EAAE,GAAG8N,EAAE,WAAW9N,EAAE,UAAU8N,EAAE,SAAS9N,EAAE,QAAQ8N,EAAE,QAAQ9N,EAAE,OAAO8N,EAAE,WAAW9N,EAAE,SAAS,MAAQ,EAAA,CAAC,MAAQ,EAAA,CAAC,SAASigC,GAAGlV,EAAEja,EAAE,CAAC,IAAI,EAAEia,EAAE,YAAY,EAAEja,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE,MAAQ,GAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,MAAS,CAAC,MAAM,EAAE,CAAC,CAAC,SAASqvB,GAAGpV,EAAE,CAAC,OAAOA,EAAE,WAAWA,EAAE,UAAU,QAAQA,EAAE,UAAU,OAAO,CAAC,CAAC,CAAC,SAASqV,GAAGrV,EAAE,CAAC,IAAIja,EAAEia,EAAE,UAAU,GAAGja,EAAE,GAAG,CAAC,OAAOA,EAAE,OAAO,CAAC,EAAE,WAAW,MAAM,MAAS,CAAC,MAAM,CAAC,CAAC,IAAIuvB,GAAG,CAAA,EAAGlV,GAAGkV,GAAG,CAAC,YAAY,IAAIpB,GAAE,OAAO,IAAIY,GAAG,eAAe,IAAI5B,GAAE,YAAY,IAAI2B,GAAE,aAAa,IAAID,GAAE,SAAS,IAAIhB,EAAE,CAAC,EAAE,IAAI2B,EAAE1jC,EAAE,SAAS2jC,IAAI,CAACD,GAAGA,EAAE,SAASA,EAAE,SAAS,iBAAiB,mBAAmB,IAAI,CAAC,IAAIvV,EAAEoM,GAAC,EAAG,GAAGmJ,EAAE,SAAS,QAAQvV,EAAE,CAAC,IAAIja,EAAE,aAAa,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,0BAA0Bpd,CAAC,8CAA8Cia,EAAE,EAAE,EAAE,EAAEA,EAAE,QAAQA,EAAE,UAAUja,CAAC,EAAEia,EAAE,OAAO,mBAAmB,iBAAiB,EAAEA,EAAE,OAAQ,CAAA,CAAC,CAAC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,KAAK,oFAAoF,CAAC,CAAC,IAAIsS,GAAG,CAACzV,EAAEja,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,OAAOhD,GAAG,CAACgD,EAAE,OAAO,IAAIhD,GAAG,KAAK,EAAEgD,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,UAAU,EAAEA,EAAE,MAAMA,EAAE,MAAM,EAAEia,EAAEja,CAAC,GAAG,CAAC,EAAM2vB,GAAG,IAAI,MAAM,KAAK,IAAK,CAAA,IAAI,KAAK,MAAM,KAAK,OAAQ,EAAC,aAAa,EAAE,IAAI,GAAOC,GAAG,IAAI,CAAC,IAAI3V,EAAEuV,EAAE,YAAY,OAAOxvB,EAAEwvB,EAAE,YAAY,WAAW,KAAK,EAAE,CAAC,UAAU,aAAa,UAAU,EAAE,KAAKxvB,GAAG,EAAE,eAAeA,IAAI,EAAE,SAAS,UAAU,EAAE,QAAQ,KAAKia,EAAE,IAAI,mBAAmB,IAAI,WAAW,EAAE,CAAC,EAAE,KAAK,IAAIA,EAAE,CAAC,EAAEA,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE4V,GAAG,IAAIL,EAAE,wBAAwBA,EAAE,cAAc,YAAY,kBAAkB,YAAY,iBAAiB,YAAY,EAAE,CAAC,GAAGI,GAAI,GAAEJ,EAAE,aAAa,YAAY,kBAAkB,YAAY,iBAAiB,YAAY,EAAE,CAAC,EAAMM,GAAG,IAAI,CAAC,IAAI7V,EAAE4V,GAAI,EAAC,OAAO5V,GAAGA,EAAE,iBAAiB,CAAC,EAAM8V,GAAG,CAAC9V,EAAEja,IAAI,CAAC,IAAI,EAAE6vB,GAAE,EAAG,EAAE,WAAW,OAAO,IAAIL,EAAE,SAAS,cAAcM,GAAE,EAAG,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,QAAQ,KAAK,GAAG,GAAG,CAAC,KAAK7V,EAAE,MAAM,OAAOja,EAAG,IAAY,GAAGA,EAAE,OAAO,OAAO,MAAM,EAAE,QAAQ,CAAE,EAAC,GAAG2vB,GAAI,EAAC,eAAe,CAAC,CAAC,EAAMK,GAAG,CAAC/V,EAAEja,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,oBAAoB,SAASia,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,oBAAoB,GAAG,CAACja,EAAE,EAAE,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,OAAO,OAAO,CAAC,KAAKia,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,MAAS,CAAE,CAAA,EAAMgW,GAAG,CAAChW,EAAEja,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,YAAYwvB,EAAE,SAAS,kBAAkB,YAAYvV,EAAE,CAAC,EAAEja,IAAI,oBAAoB,mBAAmB,EAAE,EAAE,EAAE,oBAAoB,WAAW,EAAE,EAAE,GAAG,EAAE,iBAAiB,mBAAmB,EAAE,EAAE,EAAE,iBAAiB,WAAW,EAAE,EAAE,CAAC,EAAMkwB,GAAGjW,GAAG,CAAC,IAAIja,EAAE+vB,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAA,EAAG/yB,EAAEnR,GAAG,CAACA,EAAE,QAAQwL,GAAG,CAAC,GAAG,CAACA,EAAE,eAAe,CAAC,IAAIohB,EAAE,EAAE,CAAC,EAAEtC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,SAAS,GAAG9e,EAAE,UAAU8e,EAAE,UAAU,KAAK9e,EAAE,UAAUohB,EAAE,UAAU,KAAK,GAAGphB,EAAE,MAAM,EAAE,KAAKA,CAAC,IAAI,EAAEA,EAAE,MAAM,EAAE,CAACA,CAAC,GAAG,EAAE2I,EAAE,QAAQA,EAAE,MAAM,EAAEA,EAAE,QAAQ,EAAE,GAAG,EAAC,EAAG,CAAC,CAAC,CAAC,EAAE9Q,EAAE8gC,GAAG,eAAehzB,CAAC,EAAE,GAAG9N,EAAE,CAAC,EAAEwgC,GAAGzV,EAAEja,CAAC,EAAE,IAAInU,EAAE,IAAI,CAACmR,EAAE9N,EAAE,YAAa,CAAA,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO+gC,GAAGpkC,CAAC,EAAEA,CAAC,CAAC,EAAMskC,GAAG,GAAGC,GAAG,IAAIZ,EAAE,SAAS,kBAAkB,UAAU,CAACA,EAAE,SAAS,aAAa,EAAE,IAAIa,GAAG,IAAI,CAACJ,GAAG,CAAC,CAAC,UAAUhW,CAAC,IAAI,CAACkW,GAAGlW,CAAC,EAAE,EAAE,CAAC,EAAEqW,GAAG,KAAKH,GAAG,IAAIA,GAAGC,GAAI,EAACC,GAAI,GAAE,CAAC,IAAI,iBAAiB,CAAC,OAAOF,EAAE,CAAC,GAAOI,GAAGtW,GAAG,CAAC,IAAIja,EAAEswB,GAAI,EAAC,EAAEP,GAAG,KAAK,EAAE,EAAE,EAAElkC,GAAG,CAACA,EAAE,UAAUmU,EAAE,kBAAkB,EAAE,MAAMnU,EAAE,gBAAgBA,EAAE,UAAU,EAAE,QAAQ,KAAKA,CAAC,EAAE,EAAE,EAAE,EAAE,EAAEmR,EAAEnR,GAAG,CAACA,EAAE,QAAQ,CAAC,CAAC,EAAEqD,EAAE8gC,GAAG,cAAchzB,CAAC,EAAE,EAAE0yB,GAAGzV,EAAE,CAAC,EAAE/qB,GAAG+gC,GAAG,IAAI,CAACjzB,EAAE9N,EAAE,YAAW,CAAE,EAAEA,EAAE,WAAY,CAAA,EAAE,EAAE,CAAC,EAAMshC,GAAG,GAAGC,GAAGxW,GAAG,CAAC,IAAIja,EAAEswB,GAAE,EAAG,EAAEP,GAAG,KAAK,EAAE,EAAE,EAAE7gC,GAAG,CAAC,IAAIrD,EAAEqD,EAAEA,EAAE,OAAO,CAAC,EAAE,GAAGrD,EAAE,CAAC,IAAIwL,EAAE,KAAK,IAAIxL,EAAE,UAAUikC,GAAI,EAAC,CAAC,EAAEz4B,EAAE2I,EAAE,kBAAkB,EAAE,MAAM3I,EAAE,EAAE,QAAQ,CAACxL,CAAC,EAAE,EAAC,EAAG,CAAC,EAAEmR,EAAEgzB,GAAG,2BAA2B,CAAC,EAAE,GAAGhzB,EAAE,CAAC,EAAE0yB,GAAGzV,EAAE,CAAC,EAAE,IAAI/qB,EAAE,IAAI,CAACshC,GAAG,EAAE,EAAE,IAAI,EAAExzB,EAAE,YAAW,CAAE,EAAEA,EAAE,WAAY,EAACwzB,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,OAAO,EAAE,QAAQ3kC,GAAG,CAAC,iBAAiBA,EAAEqD,EAAE,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE+gC,GAAG/gC,EAAE,EAAE,EAAEA,CAAC,CAAC,EAAE,SAASwhC,GAAGzW,EAAE,CAAC,OAAO,OAAOA,GAAG,UAAU,SAASA,CAAC,CAAC,CAAC,SAAS0W,GAAG1W,EAAEgI,EAAE,CAAC,IAAIzqB,EAAEyqB,EAAE,CAAC,eAAejiB,CAAC,EAAExI,EAAEmmB,EAAEvD,GAAG5iB,EAAE,CAAC,gBAAgB,CAAC,EAAE,OAAOwI,GAAGia,EAAE,eAAeja,IAAIia,EAAE,eAAeja,GAAGia,EAAE,WAAWC,EAAE,CAAC,eAAela,CAAC,EAAE2d,CAAC,CAAC,CAAC,CAAC,SAASiT,EAAE3W,EAAE,CAAC,OAAOA,EAAE,GAAG,CAAC,SAAS4W,IAAI,CAAC,OAAOrB,GAAGA,EAAE,kBAAkBA,EAAE,WAAW,CAAC,IAAIsB,GAAG,EAAEC,EAAE,GAAGC,GAAGC,GAAG,SAASC,IAAI,CAAC,IAAIjX,EAAE4W,KAAK,GAAG5W,GAAGiJ,GAAE,CAACjJ,EAAE,MAAMuV,EAAE,YAAY,KAAK,qBAAqB,EAAE2B,GAAE,EAAG,IAAInxB,EAAEoxB,GAAI,EAAC,EAAEC,KAAK,MAAM,IAAI,CAACrxB,GAAGA,EAAG,EAAC,GAAG,EAAC,CAAE,CAAC,CAAC,MAAM,IAAI,CAAA,CAAE,CAAC,SAASsxB,IAAI,CAACtB,GAAG,WAAW,GAAG,CAAC,QAAQrS,KAAK,EAAE,CAAC,IAAIsE,EAAEoE,GAAG,EAAC,GAAG,CAACpE,EAAE,OAAO,IAAIzqB,EAAEo5B,EAAE1N,GAAEvF,EAAE,SAAS,EAAE3gB,EAAE4zB,EAAEjT,EAAE,QAAQ,EAAEsE,EAAE,WAAW,CAAC,YAAY,yBAAyB,GAAG,eAAe,OAAO,0BAA0B,eAAezqB,EAAE,aAAaA,EAAEwF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAASu0B,IAAI,CAACvB,GAAG,QAAQ,GAAG,CAAC,QAAQrS,KAAK,EAAE,CAAC,IAAIsE,EAAEoE,GAAC,EAAG,GAAG,CAACpE,EAAE,OAAO,GAAGtE,EAAE,OAAO,QAAQ,CAAC,IAAInmB,EAAEo5B,EAAE1N,GAAEvF,EAAE,SAAS,EAAE3gB,EAAE4zB,EAAEjT,EAAE,QAAQ,EAAEsE,EAAE,WAAW,CAAC,YAAYpF,GAAEc,EAAE,MAAM,EAAE,GAAG,kBAAkBA,EAAE,IAAI,GAAG,OAAO,0BAA0B,eAAenmB,EAAE,aAAaA,EAAEwF,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAASo0B,IAAI,CAAC,OAAOlB,GAAGjW,GAAG,CAAC,IAAIja,EAAEia,EAAE,QAAQ,IAAG,EAAGja,KAAK,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,2BAA2B,EAAE2T,EAAE,IAAI,CAAC,MAAM9W,EAAE,MAAM,KAAK,EAAE,EAAEgX,GAAGjxB,EAAE,CAAC,CAAC,CAAC,SAASqxB,IAAI,CAAC,OAAOZ,GAAGxW,GAAG,CAAC,IAAIja,EAAEia,EAAE,QAAQ,IAAK,EAACja,KAAK,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,2BAA2B,EAAE2T,EAAE,IAAI,CAAC,MAAM9W,EAAE,MAAM,KAAK,aAAa,EAAE+W,GAAGhxB,EAAE,CAAC,CAAC,CAAC,SAASmxB,IAAI,CAACZ,GAAGtW,GAAG,CAAC,IAAIja,EAAEia,EAAE,QAAQ,MAAM,GAAG,CAACja,EAAE,OAAO,IAAI,EAAE4wB,EAAE1N,EAAC,EAAE,EAAE0N,EAAE5wB,EAAE,SAAS,GAAG,OAAO,iBAAkB,KAAa,mBAAmBod,EAAE,IAAI,2BAA2B,EAAE2T,EAAE,IAAI,CAAC,MAAM9W,EAAE,MAAM,KAAK,aAAa,EAAE8W,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAASS,GAAGvX,EAAE,CAAC,IAAIja,EAAE6wB,KAAK,GAAG,CAAC7wB,GAAG,CAACwvB,EAAE,YAAY,YAAY,CAACtM,GAAE,QAAQ,OAAO,iBAAkB,KAAa,mBAAmB9F,EAAE,IAAI,0DAA0D,EAAE,IAAI,EAAEwT,EAAE1N,EAAC,EAAE,EAAEljB,EAAE,WAAU,EAAG,EAAEhD,EAAE,GAAG,EAAE,MAAM8zB,EAAE,EAAE,QAAQ5hC,GAAG,CAAC,IAAIrD,EAAE+kC,EAAE1hC,EAAE,SAAS,EAAEmI,EAAEu5B,EAAE1hC,EAAE,QAAQ,EAAE,GAAG,EAAE+qB,EAAE,KAAK,cAAc,EAAEpuB,EAAEouB,EAAE,gBAAgB,OAAO/qB,EAAE,UAAS,CAAE,IAAI,aAAa,CAACuiC,GAAGxX,EAAE/qB,EAAE,CAAC,EAAE,EAAE,EAAE0hC,EAAE1hC,EAAE,aAAa,EAAE8N,EAAE,EAAE4zB,EAAE1hC,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,OAAO,IAAI,QAAQ,IAAI,UAAU,CAACwiC,GAAGzX,EAAE/qB,EAAErD,EAAEwL,EAAE,CAAC,EAAE,IAAIohB,EAAE6X,GAAE,EAAGna,EAAEjnB,EAAE,UAAUupB,EAAE,gBAAgBvpB,EAAE,OAAO,eAAeinB,KAAK,OAAO,iBAAkB,KAAa,mBAAmBiH,EAAE,IAAI,0BAA0B,EAAE2T,EAAE,GAAG,CAAC,MAAM7hC,EAAE,UAAU,KAAK,aAAa,GAAGA,EAAE,OAAO,0BAA0BinB,KAAK,OAAO,iBAAkB,KAAa,mBAAmBiH,EAAE,IAAI,2BAA2B,EAAE2T,EAAE,IAAI,CAAC,MAAM7hC,EAAE,UAAU,KAAK,aAAa,GAAG,KAAK,CAAC,IAAI,WAAW,CAAC,IAAIupB,EAAEvpB,EAAE,KAAK,QAAQsgC,EAAE,SAAS,OAAO,EAAE,EAAE94B,GAAGujB,EAAE/qB,EAAEupB,EAAE5sB,EAAEwL,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAEy5B,GAAG,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC,EAAEa,GAAG1X,CAAC,EAAEA,EAAE,KAAK,WAAW,CAAC,OAAO,GAAG,YAAY,OAAO,iBAAkB,KAAa,mBAAmBmD,EAAE,IAAI,4BAA4B,EAAE2T,EAAE,KAAK,CAAC,OAAO,EAAE9W,EAAE,gBAAgB,IAAI,KAAK,aAAa,EAAE,OAAOjd,GAAG,UAAUA,GAAG,IAAI+zB,EAAE,kBAAkB,EAAE,CAAC,OAAO,EAAE/zB,GAAG,IAAI,KAAK,aAAa,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,QAAQnR,GAAG,CAAC,GAAG,CAACklC,EAAEllC,CAAC,GAAG,GAAGouB,EAAE,eAAe,OAAO,IAAI5iB,EAAE05B,EAAEllC,CAAC,EAAE,MAAM4sB,EAAE,EAAEmY,EAAEv5B,CAAC,EAAE8e,EAAE,KAAK,KAAKsC,EAAEwB,EAAE,gBAAgB,GAAG,EAAE,EAAE9D,EAAE9e,GAAG,OAAO,iBAAkB,KAAa,mBAAmB+lB,EAAE,IAAI,6BAA6BvxB,CAAC,SAASwL,CAAC,OAAO8e,CAAC,KAAK,CAAC,GAAG,EAAE4a,EAAEllC,CAAC,EAAE,MAAMsqB,CAAC,CAAC,EAAE,IAAIjnB,EAAE6hC,EAAE,UAAU,EAAE7hC,GAAG6hC,EAAE,MAAMJ,GAAG1W,EAAE,CAAC,YAAY,oBAAoB,aAAa/qB,EAAE,MAAM0hC,EAAEG,EAAE,IAAI,KAAK,EAAE,GAAG,YAAY,OAAO,0BAA0B,eAAe7hC,EAAE,KAAK,CAAC,EAAE,OAAO6hC,EAAE,UAAU,GAAG,QAAQA,GAAG,OAAOA,EAAE,IAAI,OAAO,KAAKA,CAAC,EAAE,QAAQllC,GAAG,CAACouB,EAAE,eAAepuB,EAAEklC,EAAEllC,CAAC,EAAE,MAAMklC,EAAEllC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE+lC,GAAG3X,CAAC,CAAC,CAAC+W,GAAG,OAAOC,GAAG,OAAOF,EAAE,CAAE,CAAA,CAAC,SAASW,GAAGzX,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIhD,EAAE,EAAE,EAAE9N,EAAE8N,EAAE,EAAE,OAAO2zB,GAAG1W,EAAE,CAAC,YAAYja,EAAE,KAAK,aAAa9Q,EAAE,GAAG8Q,EAAE,UAAU,OAAO,gCAAgC,eAAehD,CAAC,CAAC,EAAEA,CAAC,CAAC,SAASy0B,GAAGxX,EAAEja,EAAE,EAAE,CAAC,CAAC,cAAc,WAAW,wBAAwB,YAAY,SAAS,EAAE,QAAQ,GAAG,CAAC6xB,GAAG5X,EAAEja,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE6xB,GAAG5X,EAAEja,EAAE,mBAAmB,EAAE,UAAU,YAAY,EAAE6xB,GAAG5X,EAAEja,EAAE,QAAQ,EAAE,QAAQ,mBAAmB,EAAE6xB,GAAG5X,EAAEja,EAAE,eAAe,EAAE,KAAK,EAAE8xB,GAAG7X,EAAEja,EAAE,CAAC,CAAC,CAAC,SAAS6xB,GAAG5X,EAAEja,EAAE,EAAE,EAAE,EAAEhD,EAAE,CAAC,IAAI9N,EAAE8N,EAAEgD,EAAEhD,CAAC,EAAEgD,EAAE,GAAG,CAAC,KAAK,EAAEnU,EAAEmU,EAAE,GAAG,CAAC,OAAO,EAAE,CAACnU,GAAG,CAACqD,GAAGyhC,GAAG1W,EAAE,CAAC,GAAG,UAAU,OAAO,+BAA+B,YAAY,GAAG,EAAE,eAAe,EAAE2W,EAAE/kC,CAAC,EAAE,aAAa,EAAE+kC,EAAE1hC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS4iC,GAAG7X,EAAEja,EAAE,EAAE,CAAC2wB,GAAG1W,EAAE,CAAC,GAAG,UAAU,OAAO,+BAA+B,YAAY,UAAU,eAAe,EAAE2W,EAAE5wB,EAAE,YAAY,EAAE,aAAa,EAAE4wB,EAAE5wB,EAAE,WAAW,CAAC,CAAC,EAAE2wB,GAAG1W,EAAE,CAAC,GAAG,UAAU,OAAO,+BAA+B,YAAY,WAAW,eAAe,EAAE2W,EAAE5wB,EAAE,aAAa,EAAE,aAAa,EAAE4wB,EAAE5wB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAStJ,GAAGujB,EAAEja,EAAE,EAAE,EAAE,EAAEhD,EAAE,CAAC,GAAGgD,EAAE,gBAAgB,kBAAkBA,EAAE,gBAAgB,QAAQ,OAAO,IAAI9Q,EAAE,CAAE,EAAC,iBAAiB8Q,IAAI9Q,EAAE,6BAA6B,EAAE8Q,EAAE,cAAc,oBAAoBA,IAAI9Q,EAAE,8BAA8B,EAAE8Q,EAAE,iBAAiB,oBAAoBA,IAAI9Q,EAAE,sCAAsC,EAAE8Q,EAAE,iBAAiB,yBAAyBA,IAAI9Q,EAAE,iCAAiC,EAAE8Q,EAAE,sBAAsB,IAAInU,EAAEmR,EAAE,EAAE3F,EAAExL,EAAE,EAAE8kC,GAAG1W,EAAE,CAAC,YAAY,EAAE,aAAa5iB,EAAE,GAAG2I,EAAE,cAAc,YAAYA,EAAE,aAAa,GAAG,iBAAiB,OAAO,gCAAgC,eAAenU,EAAE,KAAKqD,CAAC,CAAC,CAAC,CAAC,SAASyiC,GAAG1X,EAAE,CAAC,IAAIja,EAAEwvB,EAAE,UAAU,GAAG,CAACxvB,EAAE,OAAO,IAAI,EAAEA,EAAE,WAAW,IAAI,EAAE,eAAeia,EAAE,OAAO,0BAA0B,EAAE,aAAa,EAAE,EAAE,MAAMA,EAAE,OAAO,iBAAiB,EAAE,IAAI,EAAEyW,GAAG,EAAE,GAAG,IAAIK,EAAE,gBAAgB,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,aAAa,IAAIL,GAAG1wB,EAAE,YAAY,GAAGia,EAAE,OAAO,eAAe,GAAGja,EAAE,YAAY,KAAK,EAAE0wB,GAAG1wB,EAAE,mBAAmB,GAAGia,EAAE,OAAO,sBAAsB,OAAOja,EAAE,mBAAmB,CAAC,CAAC,CAAC,SAAS4xB,GAAG3X,EAAE,CAAC+W,MAAM,OAAO,iBAAkB,KAAa,mBAAmB5T,EAAE,IAAI,gCAAgC,EAAE4T,GAAG,SAAS/W,EAAE,OAAO,cAAc4C,GAAEmU,GAAG,OAAO,CAAC,EAAEA,GAAG,IAAI/W,EAAE,OAAO,SAAS+W,GAAG,EAAE,EAAEA,GAAG,KAAK/W,EAAE,OAAO,UAAU+W,GAAG,IAAI,KAAM,EAAC,MAAM,EAAE,GAAG,CAAC,EAAE/W,EAAE,OAAO,WAAW+W,GAAG,IAAI,GAAGC,IAAIA,GAAG,WAAW,OAAO,iBAAkB,KAAa,mBAAmB7T,EAAE,IAAI,gCAAgC,EAAE6T,GAAG,QAAQ,QAAQ,CAACjxB,EAAE,IAAIia,EAAE,OAAO,cAAc,EAAE,CAAC,GAAG4C,GAAE7c,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI+xB,GAAG,CAAC,YAAY,WAAW,EAAEC,GAAG,CAAC,WAAW,GAAG,SAAS,GAAG,kBAAkB,GAAG,eAAeD,GAAG,wBAAwBA,EAAE,EAAE,SAAS3uB,GAAG6W,EAAE,CAAC,GAAG,CAAC,WAAWja,EAAE,SAAS,EAAE,wBAAwB,EAAE,eAAe,EAAE,2BAA2BhD,EAAE,kBAAkB9N,CAAC,EAAEgrB,EAAE,CAAC,WAAW8X,GAAG,WAAW,SAASA,GAAG,QAAQ,EAAE/X,CAAC,EAAEpuB,EAAE,OAAOmR,GAAG,WAAWA,EAAEmZ,GAAG,GAAG9e,EAAE8e,GAAG8b,GAAG9b,EAAE,GAAG,CAAC,EAAEsC,EAAE,CAAE,EAACzY,GAAGggB,EAAE,QAAQ7J,GAAG,CAAC,IAAI,EAAE+b,GAAG/b,EAAEtqB,EAAEwL,EAAEohB,CAAC,EAAEvpB,GAAG,GAAGijC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAGnS,EAAE,MAAM7J,GAAG,CAAC,IAAI,EAAEic,GAAGjc,EAAEtqB,EAAEwL,EAAEohB,CAAC,EAAEvpB,GAAG,GAAGijC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAASE,GAAGpY,EAAE,CAAC,OAAOA,EAAE,YAAY,YAAY,kBAAkBA,GAAG,OAAOA,EAAE,iBAAiB,WAAWA,EAAE,gBAAgB,SAASA,EAAE,gBAAgB,iBAAiB,CAAC,SAASkY,GAAGlY,EAAE,CAAC,IAAIja,EAAEia,EAAE,KAAK,IAAI,EAAE,IAAI,oBAAoB,GAAG,CAAC,EAAE,WAAU,EAAG,QAAQjd,GAAG,CAACq1B,GAAGr1B,CAAC,GAAGA,EAAE,KAAK,SAASgD,CAAC,IAAIsyB,GAAGt1B,CAAC,EAAE,QAAQnR,GAAGouB,EAAE,QAAQ,GAAGpuB,CAAC,CAAC,EAAE,EAAE,WAAU,EAAG,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS0mC,GAAGtY,EAAE,CAAC,IAAIja,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,QAAQ,KAAKia,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAACja,EAAE,CAAC,EAAEia,EAAE,MAAM,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,EAAE,CAACja,EAAE,IAAI,IAAI,OAAO,EAAE,EAAEia,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,IAAIA,IAAIja,EAAE,GAAG,CAAC,KAAKA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAGia,EAAE,EAAE,CAAC,QAAQiJ,IAAG,YAAY,YAAYjJ,GAAG,GAAG,CAAC,SAASqY,GAAGrY,EAAE,CAAC,GAAG,CAAC,KAAKja,EAAE,QAAQ,CAAC,EAAEuyB,GAAGtY,EAAE,eAAe,EAAE,EAAE,CAAE,EAAC,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC,wBAAwBja,CAAC,CAAC,EAAEkjB,GAAE,CAAC,GAAG,EAAE,CAAC,8BAA8B,GAAGjJ,EAAE,aAAa,CAAC,EAAE,CAAC,2BAA2B,GAAGA,EAAE,UAAU,CAAC,EAAE,CAAC,mCAAmC,GAAGA,EAAE,iBAAiB,CAAC,EAAE,CAAC,iCAAiC,GAAGA,EAAE,eAAe,CAAC,EAAE,CAAC,6BAA6B,GAAGA,EAAE,YAAY,CAAC,EAAE,CAAC,uCAAuC,GAAGA,EAAE,qBAAqB,CAAC,EAAE,CAAC,8BAA8B,GAAGA,EAAE,UAAU,CAAC,EAAE,CAAC,6BAA6B,GAAGA,EAAE,YAAY,CAAC,EAAE,CAAC,8BAA8B,GAAGA,EAAE,aAAa,CAAC,EAAE,CAAC,4BAA4B,GAAGA,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,SAASgY,GAAGhY,EAAEja,EAAE,CAAC,OAAOkc,GAAGjC,EAAEja,GAAG+xB,EAAE,CAAC,CAAC,SAASG,GAAGjY,EAAEja,EAAE,EAAE,EAAE,CAAC,GAAG,CAAComB,GAAE,GAAI,CAACnM,EAAE,UAAU,OAAO,IAAI,EAAEja,EAAEia,EAAE,UAAU,GAAG,EAAE,GAAGA,EAAE,cAAc,EAAE,CAAC,IAAInO,EAAEmO,EAAE,UAAU,OAAO,GAAG,CAACnO,EAAE,OAAO,IAAI7O,EAAE,EAAE6O,CAAC,EAAE,GAAG7O,EAAE,CAAC,GAAGgd,EAAE,SAAS,CAAChd,EAAE,cAAcgd,EAAE,SAAS,MAAM,EAAE,IAAI4H,EAAE5H,EAAE,UAAUA,EAAE,SAAS,SAASA,EAAE,SAAS,QAAQ,IAAI,gBAAgB,EAAEuY,EAAE,SAAS3Q,CAAC,EAAE2Q,EAAE,GAAGv1B,EAAE,QAAQ,+BAA+Bu1B,CAAC,CAAC,MAAMvY,EAAE,OAAOhd,EAAE,UAAU,gBAAgB,EAAEA,EAAE,OAAM,EAAG,OAAO,EAAE6O,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI9O,EAAEipB,EAAC,EAAG/2B,EAAE8N,EAAE,SAAQ,EAAGnR,EAAEmR,EAAE,YAAY3F,EAAEnI,EAAE,UAAU,CAAC,OAAOupB,EAAE,IAAItC,CAAC,EAAE8D,EAAE,UAAU,EAAE,GAAG5iB,EAAEA,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI8e,EAAE,KAAK,QAAQ,cAAcsC,CAAC,EAAE,YAAY,GAAGA,CAAC,IAAItC,CAAC,GAAG,GAAG,cAAc,OAAO,mBAAmB,CAAC,EAAE,OAAO,GAAG,IAAI8D,EAAE,UAAU,OAAO,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAEA,EAAE,UAAU,GAAG,GAAGpuB,EAAE,CAAC,IAAIigB,EAAEmO,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,CAAC,EAAEA,EAAE,KAAK,CAAC,GAAG,CAAE,EAAC,IAAIhd,EAAEgd,EAAE,KAAK,CAAC,EAAEhd,EAAE,QAAQw1B,GAAG3mB,EAAEjgB,EAAEqD,EAAE+N,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAASw1B,GAAGxY,EAAEja,EAAE,EAAE,EAAE,EAAE,CAAC,IAAIhD,EAAE,GAAG,EAAE,QAAS,EAAC9N,EAAE8N,GAAGA,EAAE,YAAY,CAAC,QAAQnR,EAAE,QAAQwL,EAAE,IAAIohB,CAAC,EAAE,EAAE,sBAAuB,EAACtC,EAAEnZ,EAAEA,EAAE,gBAAgB8mB,GAAGj4B,EAAE,OAAOwL,CAAC,EAAE,EAAEnI,EAAEA,EAAE,0BAA2B,EAACupB,GAAGmO,GAAG/6B,EAAEmU,EAAE,CAAC,EAAE8L,EAAE2X,GAAG,CAAC,EAAExmB,EAAE,OAAO,QAAS,KAAa+d,GAAEf,EAAE,OAAO,EAAEA,EAAE,QAAQ,EAAE,QAAQ,GAAGhd,EAAE,GAAG,OAAO,QAAS,KAAa+d,GAAE/d,EAAE,OAAO,EAAE,CAAC,IAAI4kB,EAAE,IAAI,QAAQ5kB,CAAC,EAAE,OAAO4kB,EAAE,OAAO,eAAe1L,CAAC,EAAErK,GAAG+V,EAAE,OAAOsB,GAAGrX,CAAC,EAAE+V,CAAC,SAAS,MAAM,QAAQ5kB,CAAC,EAAE,CAAC,IAAI4kB,EAAE,CAAC,GAAG5kB,EAAE,CAAC,eAAekZ,CAAC,CAAC,EAAE,OAAOrK,GAAG+V,EAAE,KAAK,CAACsB,GAAGrX,CAAC,CAAC,EAAE+V,CAAC,KAAK,CAAC,IAAIA,EAAE,YAAY5kB,EAAEA,EAAE,QAAQ,OAAOu1B,EAAE,CAAA,EAAG,OAAO,MAAM,QAAQ3Q,CAAC,EAAE2Q,EAAE,KAAK,GAAG3Q,CAAC,EAAEA,GAAG2Q,EAAE,KAAK3Q,CAAC,EAAE/V,GAAG0mB,EAAE,KAAK1mB,CAAC,EAAEqO,EAAED,EAAE,GAAGjd,CAAC,EAAE,CAAC,eAAekZ,EAAE,QAAQqc,EAAE,OAAO,EAAEA,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,CAAC,KAAM,OAAM,CAAC,eAAerc,EAAE,QAAQrK,CAAC,CAAC,CAAC,SAASsmB,GAAGnY,EAAEja,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEia,EAAE,IAAIjd,EAAE,GAAG,EAAEqiB,EAAE,EAAE,GAAG,CAAC+G,GAAI,GAAE,GAAG,EAAE,wBAAwB,CAAC,GAAG,CAACppB,EAAE,OAAO,IAAI9N,EAAE8Q,EAAEhD,EAAE,GAAG,EAAE,GAAGid,EAAE,cAAc/qB,EAAE,CAAC,IAAI,EAAE,EAAE,uBAAuB,GAAG,CAAC,EAAE,OAAO,IAAI4c,EAAE,EAAE,CAAC,EAAEA,IAAIA,EAAE,cAAc9O,EAAE,WAAW,EAAE8O,EAAE,SAAS,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,IAAIjgB,EAAEo6B,EAAG,EAAC5uB,EAAExL,EAAE,SAAU,EAAC4sB,EAAEphB,EAAE,QAAO,EAAG8e,EAAEjnB,GAAGupB,EAAEA,EAAE,WAAW,CAAC,KAAK0B,EAAED,EAAE,GAAGld,EAAE,IAAI,EAAE,CAAC,KAAK,MAAM,cAAcA,EAAE,OAAO,IAAIA,EAAE,GAAG,CAAC,EAAE,YAAY,GAAGA,EAAE,MAAM,IAAIA,EAAE,GAAG,GAAG,GAAG,cAAc,OAAO,mBAAmB,CAAC,EAAE,OAAO,GAAGmZ,IAAI,EAAE,uBAAuBA,EAAE,OAAO,EAAE,EAAE,sBAAsB,EAAEA,GAAG,EAAE,kBAAkB,EAAEnZ,EAAE,GAAG,EAAE,GAAGmZ,EAAE,CAAC,IAAI,EAAEA,GAAGA,EAAE,YAAYrK,EAAE,GAAG,EAAE,0BAA2B,EAAC7O,EAAEwmB,GAAG3X,CAAC,EAAE4mB,GAAG,EAAEvc,EAAE,cAAe,EAAClZ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAEpR,EAAE,YAAY,CAAC,QAAQigB,EAAE,QAAQ7O,EAAE,IAAI4kB,CAAC,EAAExqB,EAAE,sBAAqB,EAAGm7B,EAAE1O,GAAGhY,EAAE,OAAO7O,CAAC,EAAE01B,EAAG9Q,IAAI,EAAE+E,GAAG9a,EAAE,EAAEzU,CAAC,EAAE,QAAQu7B,EAAEnP,GAAGkP,CAAE,EAAED,GAAG,EAAEF,EAAEI,CAAC,CAAC,CAAC,OAAOzc,CAAC,CAAC,SAASuc,GAAGzY,EAAEja,EAAE,EAAE,CAAC,GAAG,CAACia,EAAE,iBAAiB,eAAeja,CAAC,EAAE,GAAGia,EAAE,iBAAiBkJ,GAAG,CAAC,CAAC,MAAS,CAAE,CAAA,CAAC,SAAS0P,GAAG5Y,EAAEja,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAACwvB,GAAG,CAACA,EAAE,SAAS,EAAE,OAAO,iBAAkB,KAAa,mBAAmBpS,EAAE,KAAK,sEAAsE,EAAE,MAAM,CAAC,IAAI,EAAEoS,EAAE,SAAS,KAAK,EAAExvB,IAAI,EAAEia,EAAE,CAAC,KAAKuV,EAAE,SAAS,SAAS,eAAetM,GAAEA,GAAE,IAAI,OAAO,GAAG,WAAW,OAAO,wBAAwB,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,GAAGlD,EAAE,UAAU,CAAC,CAAC,GAAGhjB,EAAE,KAAK9N,CAAC,IAAI,CAAC,GAAGA,IAAI,QAAQ,GAAG,EAAE,QAAQ8N,CAAC,IAAI,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC9N,IAAI8N,IAAI,EAAE,OAAO,KAAK,OAAO,iBAAkB,KAAa,mBAAmBogB,EAAE,IAAI,oDAAoD,EAAE,EAAE,EAAE,EAAE,EAAE,OAAQ,GAAE,EAAEnD,EAAE,CAAC,KAAKuV,EAAE,SAAS,SAAS,GAAG,aAAa,OAAO,0BAA0B,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAIsD,GAAG,iBAAiBC,GAAG7Y,EAAEC,EAAED,EAAE,GAAG4M,EAAE,EAAE,CAAC,2BAA2B,GAAG,uBAAuB+L,GAAG,iCAAiC,GAAG,2BAA2B,GAAG,eAAe,GAAG,aAAa,CAAE,CAAA,CAAC,EAAEb,EAAE,EAAEgB,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,KAAKF,GAAG,KAAK,+BAA+B,GAAGtL,MAAM,OAAO,iBAAkB,KAAa,oBAAoB,KAAK,+BAA+B,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,kBAAkB,KAAK,QAAQtN,EAAEA,EAAE,CAAE,EAAC6Y,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,aAAa,iBAAiB,SAAS,KAAK,QAAQ,eAAe,KAAK,QAAQ,aAAa,gBAAgB,GAAG,CAAC,EAAE,yBAAyB,EAAE,iBAAiB,KAAK,QAAQ,wBAAwB,EAAE,gBAAgB,KAAK,kBAAkB7B,GAAE,EAAG,KAAK,QAAQ,gBAAgBI,GAAI,EAAC,KAAK,QAAQ,aAAa,oBAAoBC,GAAE,CAAE,CAAC,UAAU,EAAE5T,EAAE,CAAC,KAAK,eAAeA,EAAE,IAAInmB,EAAEmmB,EAAG,EAAC,UAAS,EAAG3gB,EAAExF,GAAGA,EAAE,WAAU,EAAG,CAAC,uBAAuBtI,EAAE,iCAAiCrD,EAAE,2BAA2BwL,EAAE,2BAA2BohB,EAAE,WAAW,EAAE,SAASprB,EAAE,2BAA2Bye,EAAE,kBAAkB7O,EAAE,aAAa4kB,CAAC,EAAE,KAAK,QAAQ2Q,EAAEx1B,GAAGA,EAAE,wBAAwB21B,EAAGH,GAAG,KAAK,QAAQ,yBAAyB,OAAO,iBAAkB,KAAa,mBAAmB,KAAK,gCAAgCA,GAAGpV,EAAE,KAAK,wKAAwK,EAAEluB,EAAE0jC,GAAG,CAAC,IAAIK,EAAG,KAAK,wBAAwBL,CAAC,EAAE,OAAO,KAAK,QAAQ,aAAa,yBAAyB,KAAK,QAAQ,aAAa,wBAAwBK,EAAGL,EAAEjV,CAAC,EAAEsV,CAAE,EAAE57B,EAAExL,CAAC,EAAE4sB,GAAGgX,GAAE,EAAG5N,EAAE,oBAAoB,KAAK,6BAA4B,EAAGze,GAAG,CAAC,WAAW,EAAE,SAAS/V,EAAE,wBAAwBslC,EAAG,2BAA2B7mB,EAAE,kBAAkB7O,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,GAAG,CAAC,KAAK,eAAe,EAAE,OAAO,iBAAkB,KAAa,mBAAmBmgB,EAAE,KAAK,4BAA4B,EAAE,EAAE,iDAAiD,EAAE,MAAM,CAAC,IAAIO,EAAE,KAAK,eAAgB,EAAC,CAAC,eAAesE,EAAE,YAAYzqB,EAAE,aAAawF,EAAE,kBAAkB,CAAC,EAAE,KAAK,QAAQ,EAAE,EAAE,KAAK,WAAW3F,EAAE,EAAE67B,GAAG,cAAc,EAAE,GAAGza,EAAE,EAAEya,GAAG,SAAS,EAAE,GAAG,CAAC,gBAAgB/c,EAAE,uBAAuB9oB,EAAE,mBAAmBye,CAAC,EAAE+X,GAAGxsB,EAAEohB,CAAC,EAAExb,EAAEkd,EAAED,EAAEA,EAAE,CAAE,EAAC,CAAC,EAAE/D,CAAC,EAAE,CAAC,SAASgE,EAAED,EAAE,CAAE,EAAC,EAAE,QAAQ,EAAE,CAAC,uBAAuB/D,GAAG,CAAC9oB,EAAE,CAAA,EAAGA,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAEw0B,EAAE,OAAOI,GAAG,WAAWA,EAAEhlB,CAAC,EAAEA,EAAEu1B,EAAE3Q,IAAI,OAAO1H,EAAED,EAAE,CAAE,EAACjd,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE4kB,EAAE2Q,EAAE,SAASA,EAAE,OAAOv1B,EAAE,KAAKkd,EAAED,EAAE,CAAE,EAACsY,EAAE,QAAQ,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAEA,EAAE,SAAS,KAAK,iBAAiBA,EAAE,KAAK,KAAK,mBAAmBA,EAAE,UAAUA,EAAE,SAAS,OAAOA,EAAE,UAAU,KAAK,OAAO,iBAAkB,KAAa,mBAAmBpV,EAAE,IAAI,2BAA2BoV,EAAE,EAAE,yCAAyC,GAAG,OAAO,iBAAkB,KAAa,mBAAmBpV,EAAE,IAAI,sBAAsBoV,EAAE,EAAE,uBAAuB,EAAE,GAAG,CAAC,SAASG,CAAE,EAAEnD,EAAEoD,EAAErL,GAAG5J,EAAE6U,EAAEh7B,EAAEwF,EAAE,GAAG,CAAC,SAAS21B,CAAE,EAAE,CAAC,EAAEM,EAAGtV,EAAE,SAAU,EAAC,OAAO,GAAGxH,EAAE8c,EAAG,sBAAsBnnB,CAAC,EAAEmnB,EAAG,sBAAsB,CAAC,QAAQL,EAAE,QAAQ,OAAOA,EAAE,OAAO,aAAaA,EAAE,aAAa,QAAQA,EAAE,OAAO,CAAC,EAAEA,EAAE,6BAA6BO,GAAI,CAAC,KAAK,kBAAiB,EAAG3B,GAAG2B,CAAE,CAAC,CAAC,EAAEP,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAEjV,EAAE,IAAI,CAAC,GAAG,CAAC,YAAYsE,EAAE,aAAazqB,EAAE,kBAAkBwF,CAAC,EAAE,KAAK,QAAQ,EAAE,kBAAkB,EAAEqpB,GAAC,EAAG,GAAG,GAAG,EAAE,IAAI,CAAC,aAAa,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,iBAAkB,KAAa,mBAAmBjJ,EAAE,KAAK,4BAA4B,CAAC,2EAA2E,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,gBAAgB,wBAAwB,EAAE,EAAE,OAAM,EAAG,EAAE,QAAQ,CAAC,KAAK,eAAe,EAAE,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,KAAK,4BAA4B,CAAC,iDAAiD,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,iBAAiB,EAAE,OAAO,iBAAkB,KAAa,mBAAmBA,EAAE,KAAK,4BAA4B,CAAC,mDAAmD,EAAE,MAAM,CAAC,IAAI/lB,EAAE,KAAK,eAAc,EAAG,CAAC,SAASohB,CAAC,EAAE+W,EAAErZ,EAAE,CAAC,KAAK,KAAK,iBAAiB,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC,OAAO,KAAK,oBAAoB,KAAK,CAAC,EAAE,EAAEoR,GAAGlwB,EAAE8e,EAAE8L,EAAEzqB,EAAE,GAAG,CAAC,SAASihB,CAAC,EAAEzb,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQilB,GAAG,CAAC,iBAAiBA,EAAEtE,EAAE,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAASuV,GAAGjZ,EAAE,CAAC,IAAIja,EAAEjS,GAAG,aAAaksB,CAAC,GAAG,EAAE,OAAOja,EAAEA,EAAE,aAAa,SAAS,EAAE,MAAM,CAAC,IAAIozB,GAAG,CAAE,EAAC7I,EAAE,QAAQA,EAAE,OAAO,eAAe6I,GAAG7I,EAAE,OAAO,cAAqBrQ,EAAEA,EAAEA,EAAE,CAAE,EAACkZ,EAAE,EAAE7J,EAAE,EAAEgG,EAAE,EAAE,IAAI8D,GAAG,iEAAiEC,GAAG,KAAK,SAASC,GAAGtZ,EAAEja,EAAE,CAAC,GAAGia,IAAI,GAAG,OAAOuZ,GAAGvZ,CAAC,EAAE,GAAGqZ,GAAG,OAAOE,GAAGF,GAAGtzB,CAAC,EAAE,IAAI,EAAE,IAAI2rB,GAAG,CAAC,IAAI0H,GAAG,UAAU,OAAO,MAAMvH,GAAGE,GAAG,YAAYkB,GAAG,aAAa,CAAC,IAAIiB,GAAE,IAAIhB,GAAE,IAAI0B,GAAE,IAAIE,GAAG,IAAID,GAAE,IAAIkE,EAAE,CAAC,CAAC,EAAE,OAAOM,GAAG,IAAI1N,GAAG,CAAC,EAAE4N,GAAGF,GAAGtzB,CAAC,CAAC,CAAgC,SAASwzB,GAAGvZ,EAAEja,EAAE,CAAC,IAAI,SAAS,MAAM,kBAAkB,EAAE,CAAC,MAAM,CAAC,cAAc,GAAG,CAACia,GAAGA,EAAE,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,CAACA,GAAGA,EAAE,UAAU,SAAS,EAAE,CAAC,EAAE,OAAOja,EAAE,IAAIA,EAAE,KAAK,EAAEia,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAACA,GAAGA,EAAE,UAAU,SAAS,EAAE,CAAC,EAAE,OAAOja,EAAE,IAAIA,EAAE,KAAK,EAAEia,EAAE,aAAa,CAAC,QAAQW,GAAG,MAAM,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS6Y,GAAG,CAAC,eAAexZ,EAAE,MAAMja,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,QAAQ,EAAE,0BAA0B,QAAQhD,EAAE,GAAG,UAAU9N,EAAE,GAAG,aAAarD,EAAE,EAAE,EAAE,CAAE,EAAC,CAAC,IAAIwL,EAAEojB,GAAGR,CAAC,EAAExB,EAAE+B,GAAGnjB,CAAC,EAAE,OAAO,IAAI,QAAQ,CAAC8e,EAAE,IAAI,CAAC,IAAIrK,EAAE2M,EAAE,SAAS,cAAc,QAAQ,EAAE3M,EAAE,GAAG4O,GAAG7uB,EAAEigB,EAAE,IAAI,GAAGjgB,CAAC,WAAW8uB,EAAE,GAAGzrB,EAAE4c,EAAE,IAAI,GAAG,CAAC,2BAA2B6O,EAAE,GAAG7O,EAAE,IAAI,GAAG,CAAC,oBAAoB6O,EAAE,GAAG7O,EAAE,YAAY,EAAEA,EAAE,MAAM,EAAE,IAAI7O,EAAE,CAAC4kB,EAAE2Q,IAAI,CAAC,GAAG,CAAC,CAACtjC,GAAG8N,GAAG3F,EAAE,YAAYyU,CAAC,EAAE0mB,EAAE3Q,CAAC,CAAC,OAAO8Q,EAAG,CAAC,EAAEA,CAAE,CAAC,CAAC,EAAE7mB,EAAE,OAAO+V,GAAG5kB,EAAE4kB,EAAE1L,CAAC,EAAErK,EAAE,QAAQ+V,GAAG5kB,EAAE4kB,EAAE,CAAC,EAAE/V,EAAE,KAAK9L,IAAI,GAAG,IAAIA,CAAC,GAAG,GAAG3I,EAAE,YAAYyU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI4nB,GAAG,CAAA,EAAG,SAASC,GAAG1Z,EAAE,CAAC,QAAQ,EAAE,EAAEja,EAAE,CAAC,GAAG,CAACA,EAAE,cAAc,CAAC,SAAS6a,GAAG,QAAQ,yBAAyB,KAAKZ,CAAC,CAAC,EAAE,IAAI,EAAEQ,GAAGR,EAAE,cAAc,EAAE,EAAEO,GAAG,CAAC,EAAE,EAAEkZ,GAAG,KAAK,CAAC,CAAC,MAAMxkC,CAAC,IAAIA,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO8Q,EAAE,cAAc,CAAC,SAAS6a,GAAG,QAAQ,yBAAyB,CAAC,EAAE,EAAE,QAAQ,IAAI7d,EAAE,IAAI,QAAQ,CAAC9N,EAAErD,IAAIyuB,GAAG,KAAK,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE,OAAOK,EAAE,EAAE,IAAI,CAAC3a,EAAE,cAAc,CAAC,SAAS6a,GAAG,QAAQ,wCAAwC,CAAC,EAAE3rB,EAAE,EAAE,OAAO,QAAQ,CAAC,EAAE,IAAImI,EAAEkjB,GAAG,CAAC,OAAON,EAAE,OAAO,OAAOA,EAAE,OAAO,OAAOA,EAAE,OAAO,UAAUA,EAAE,UAAU,QAAQA,EAAE,QAAQ,UAAUA,EAAE,UAAU,SAASA,EAAE,SAAS,KAAKA,EAAE,KAAK,gBAAgBA,EAAE,gBAAgB,GAAGA,EAAE,EAAE,CAAC,EAAE,MAAMwZ,GAAGvZ,EAAE,CAAC,MAAM7iB,CAAC,EAAE4iB,CAAC,CAAC,EAAEja,EAAE,cAAc,CAAC,SAAS6a,GAAG,QAAQ,kBAAkB,KAAK,CAAC,CAAC,CAAC,OAAOxjB,EAAE,CAAC2I,EAAE,cAAc,CAAC,SAAS6a,GAAG,QAAQ,0BAA0B,KAAKxjB,CAAC,CAAC,EAAE,IAAIohB,EAAEib,GAAG,UAAUvd,GAAGA,EAAE,QAAQ,EAAE,MAAM,EAAEsC,IAAI,IAAIib,GAAG,OAAOjb,EAAE,CAAC,EAAEzY,EAAE,iBAAiB3I,CAAC,EAAExL,EAAE,IAAI,MAAM+uB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO8Y,GAAG,KAAK,CAAC,QAAQ12B,EAAE,MAAM,EAAE,MAAM,CAAC,EAAEA,CAAC,OAAO,EAAE,CAAC,OAAOgD,EAAE,iBAAiB,CAAC,EAAE,QAAQ,OAAO,IAAI,MAAM4a,EAAE,CAAC,CAAC,CAAC,CAAC,SAASgZ,GAAG3Z,EAAEja,EAAE,EAAE,CAAC,OAAOsa,GAAG,KAAK,KAAK,WAAW,CAAC,IAAI,EAAEta,EAAE,EAAE,6BAA6B,2BAA2B,EAAEuzB,GAAGtZ,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,MAAM0Z,GAAG1Z,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,cAAcY,GAAG,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE7a,GAAG,GAAG,EAAE,iBAAiB,CAAC,EAAE,QAAQ,OAAO,CAAC,IAAIA,GAAG,EAAE4zB,GAAG3Z,EAAEja,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS6zB,IAAI,CAAC,OAAOvZ,GAAG,KAAK,UAAU,UAAUL,EAAE,CAAA,EAAG,CAAC,OAAO,MAAM2Z,GAAG3Z,CAAC,CAAC,CAAC,CAAC,CClBntrC,SAAS6Z,GAASC,EAAS,CACzB,IAAIC,EAAMD,GAAWA,EAAQ,eAAiB,SAC1CE,EAAMD,EAAI,aAAeA,EAAI,cAAgB,OACjD,MAAO,CACL,SAAUA,EACV,OAAQC,CACT,CACH,CACA,SAASC,GAAgBH,EAAS,CAChC,OAAOA,GAAW,SAAS,IAC7B,CCVO,IAAII,GAAW,CACpB,IAAK,SACL,MAAO,iBACT,EACWC,GAAqB,CAC9B,QAAS,6BACT,QAAS,mBACT,UAAW,+BACX,MAAO,iBACP,QAAS,kBACX,ECJIC,GAAwB,SAAUC,EAAkB,CACtDhb,GAAe+a,EAAUC,CAAgB,EACzC,SAASD,EAAS/pC,EAAO,CACvB,IAAIiqC,EACJ,OAAAA,EAAQD,EAAiB,KAAK,KAAMhqC,CAAK,GAAK,KAQ9CiqC,EAAM,UAAY,OAGlBA,EAAM,cAAgBA,EAAM,cAAc,KAAKpb,EAAuBob,CAAK,CAAC,EAC5EA,EAAM,aAAeA,EAAM,aAAa,KAAKpb,EAAuBob,CAAK,CAAC,EAC1EA,EAAM,cAAgBA,EAAM,cAAc,KAAKpb,EAAuBob,CAAK,CAAC,EAC5EA,EAAM,QAAUA,EAAM,QAAQ,KAAKpb,EAAuBob,CAAK,CAAC,EAChEA,EAAM,SAAW,KAGjBA,EAAM,YAAcA,EAAM,YAAY,KAAKpb,EAAuBob,CAAK,CAAC,EACxEA,EAAM,aAAeA,EAAM,aAAa,KAAKpb,EAAuBob,CAAK,CAAC,EAC1EA,EAAM,aAAeA,EAAM,aAAa,KAAKpb,EAAuBob,CAAK,CAAC,EAC1EA,EAAM,aAAeA,EAAM,aAAa,KAAKpb,EAAuBob,CAAK,CAAC,EAC1EA,EAAM,YAAcA,EAAM,YAAY,KAAKpb,EAAuBob,CAAK,CAAC,EACxEA,EAAM,WAAaA,EAAM,WAAW,KAAKpb,EAAuBob,CAAK,CAAC,EACtEA,EAAM,YAAcA,EAAM,YAAY,KAAKpb,EAAuBob,CAAK,CAAC,EACxEA,EAAM,uBAAyBA,EAAM,uBAAuB,KAAKpb,EAAuBob,CAAK,CAAC,EAC9FA,EAAM,IAAmBC,YAAiB,EAC1CD,EAAM,mBAAqB,GAC3BA,EAAM,UAAY,KAClBA,EAAM,UAAY,GAClBA,EAAM,MAAQ,CACZ,WAAY,GACZ,UAAW,GACX,UAAWjqC,EAAM,EAClB,EACMiqC,CACX,CACE,IAAIE,EAASJ,EAAS,UACtB,OAAAI,EAAO,kBAAoB,UAA6B,CACtD,IAAIC,EAAS,KAETX,EAAUG,GAAgB,KAAK,MAAM,cAAc,EACnDS,EAAQb,GAASC,CAAO,EAC5B,KAAK,UAAYY,EAAM,OAAO,UAAY,OAC1C,IAAIC,EAAa,OAAO,KAAK,UAAc,IAY3C,GAXA,KAAK,UAAYC,GAAW,KAAK,MAAM,OAAQV,EAAQ,EACvD,KAAK,UAAU,cAAc,CAC3B,SAAUA,GAAS,MACnB,QAASC,GAAmB,OAClC,CAAK,EAOGQ,EAAY,CACd,KAAK,SAAS,CACZ,WAAY,EACpB,EAAS,UAAY,CACbF,EAAO,cAAe,CAC9B,CAAO,EACD,MACN,CACI,KAAK,YAAa,CACnB,EACDD,EAAO,qBAAuB,UAAgC,CAC5D,IAAIK,EAAW,KAAK,UAChBC,EAAY,KAAK,UAChB,KAAK,YAKVD,EAAS,MAAMC,CAAS,EACxBD,EAAS,OAAOC,CAAS,EACzB,KAAK,UAAU,cAAc,CAC3B,SAAUZ,GAAS,MACnB,QAASC,GAAmB,SAClC,CAAK,EACF,EACDK,EAAO,sBAAwB,SAA+BO,EAAWC,EAAW,CAElF,MAAI,OAAK,MAAM,aAAeA,EAAU,YAAc,KAAK,MAAM,YAAcA,EAAU,UAI1F,EACDR,EAAO,mBAAqB,SAA4BzpC,EAAW,CACjE,IAAIkqC,EAAS,KAETC,EAAO,CAAC,UAAW,OAAQ,QAAS,WAAY,mBAAoB,UAAU,EAE9EC,EAAQD,EAAK,MAAM,SAAU1hC,EAAK,CACpC,OAAOzI,EAAUyI,CAAG,IAAMyhC,EAAO,MAAMzhC,CAAG,CAChD,CAAK,EAGI2hC,GACH,KAAK,cAAc,UAAY,CAC7BF,EAAO,cAAe,CAC9B,CAAO,CAEJ,EACDT,EAAO,YAAc,UAAuB,CAC1C,GAAI,MAAK,mBAGT,KAAIhqC,EAAc,KAAK,MACrB4qC,EAAU5qC,EAAY,QACtB6qC,EAAY7qC,EAAY,UACxB8qC,EAAW9qC,EAAY,SACvBgb,EAAOhb,EAAY,KACnB+qC,EAAU/qC,EAAY,QACtBgrC,EAAKhrC,EAAY,iBACjBirC,EAAkBjrC,EAAY,gBAC9BkrC,EAAYlrC,EAAY,UACxBmrC,EAASnrC,EAAY,OACrBorC,EAASprC,EAAY,OACrBqrC,EAAYrrC,EAAY,UACxBsrC,EAAiBtrC,EAAY,eAC7BurC,EAAevrC,EAAY,aAC3BwrC,EAAYxrC,EAAY,UACxByrC,EAAsBzrC,EAAY,QAClC0rC,EAAUD,IAAwB,OAAS,GAAOA,EAChDE,EAAc,CAChB,OAAQ,WACR,QAASf,EACT,UAAWC,EACX,SAAUC,EACV,GAAIE,EACJ,KAAMhwB,EACN,QAAS+vB,EACT,gBAAiBE,IAAoB,GAAQ,MAAQ,KACrD,UAAWC,EACX,OAAQC,EACR,OAAQC,EACR,UAAWC,EACX,eAAgBC,EAChB,aAAcC,EACd,UAAWC,EACX,QAASE,CACV,EACDE,GAAeD,CAAW,EAAE,KAAK,KAAK,aAAc,KAAK,WAAW,EAAE,MAAS,KAAK,WAAW,EAC/F,KAAK,mBAAqB,GAC3B,EACD3B,EAAO,cAAgB,SAAuB6B,EAAU,CACtD,IAAIC,EAAS,KACTC,EAAU,KAAK,MAAM,QACrB5B,EAAa,KAAK,MAAM,WACxBG,EAAY,KAAK,UAKrB,GAAI,GAACH,GAAcG,GACnB,KAAI0B,EAAe,OAAO,OAAO,CAC/B,gBAAiB,KAAK,WACtB,iBAAkB,KAAK,YACvB,iBAAkB,KAAK,YACvB,uBAAwB,KAAK,uBAC7B,mBAAoB,KAAK,aACzB,SAAY,KAAK,YACvB,EAAO,KAAK,MAAO,CACb,GAAI,KAAK,MAAM,IAAM,KAAK,MAAM,iBAChC,iBAAkB,MACxB,CAAK,EACG3B,EAAW,KAAK,UAEhB7/B,EAAK6/B,EAAS,OAAO,KAAK,IAAI,QAAS2B,CAAY,EACvD,KAAK,UAAYxhC,EACjB,KAAK,SAAS,CACZ,UAAW,EACjB,EAAO,UAAY,CACbqhC,GAAYA,EAAU,EACtBE,GAAWA,EAAS,EACpBD,EAAO,UAAYA,EAAO,SAASthC,CAAE,CAC3C,CAAK,EACF,EACDw/B,EAAO,aAAe,UAAwB,CAC5C,IAAIK,EAAW,KAAK,UAChBC,EAAY,KAAK,UAChB,KAAK,YAIVD,EAAS,MAAMC,CAAS,EACxB,KAAK,UAAU,cAAc,CAC3B,SAAUZ,GAAS,MACnB,QAASC,GAAmB,KAClC,CAAK,EACF,EACDK,EAAO,cAAgB,SAAuBlhC,EAAU,CACtD,IAAIuhC,EAAW,KAAK,UAChBC,EAAY,KAAK,UAChB,KAAK,YAGV,KAAK,SAAS,CACZ,UAAW,EACjB,EAAO,UAAY,CACbD,EAAS,OAAOC,CAAS,EACzBxhC,GAAYA,EAAU,CAC5B,CAAK,EACD,KAAK,UAAU,cAAc,CAC3B,SAAU4gC,GAAS,MACnB,QAASC,GAAmB,OAClC,CAAK,EACF,EACDK,EAAO,aAAe,UAAwB,CAC5C,IAAIiC,EAAS,KACb,KAAK,SAAS,CACZ,WAAY,EAClB,EAAO,UAAY,CACb,GAAI,CACF,IAAI3C,EAAUG,GAAgBwC,EAAO,MAAM,cAAc,EACrD/B,EAAQb,GAASC,CAAO,EAC5B2C,EAAO,UAAY/B,EAAM,OAAO,SAGhC+B,EAAO,cAAc,UAAY,CAG/B,IAAIC,EAASD,EAAO,MAAM,OACtBC,GAAQA,EAAQ,CAC9B,CAAS,CACF,OAAQpsC,EAAO,CACdmsC,EAAO,UAAU,iBAAiBnsC,CAAK,CAC/C,CACA,CAAK,CACF,EACDkqC,EAAO,aAAe,SAAsB1hC,EAAO,CACjD,IAAI6jC,EAAW,KAAK,MAAM,SACtBC,EAAY,KAAK,MAAM,UACvB/B,EAAW,KAAK,UAChBC,EAAY,KAAK,UACrB,GAAI,SAAOD,EAAa,KAAe+B,GACvC,KAAI9nB,EAAQ+lB,EAAS,YAAYC,CAAS,EACtC+B,EAAOhC,EAAS,WAAWC,CAAS,EACpC6B,GAAUA,EAAS7nB,EAAO+nB,CAAI,EACnC,EACDrC,EAAO,aAAe,UAAwB,CAC5C,IAAIsC,EAAW,KAAK,MAAM,SACtBjC,EAAW,KAAK,UAChBC,EAAY,KAAK,UAChB,KAAK,YAGVD,EAAS,MAAMC,CAAS,EAEpBgC,GAAUA,EAAU,EACxB,KAAK,UAAU,cAAc,CAC3B,SAAU5C,GAAS,MACnB,QAASC,GAAmB,OAClC,CAAK,EACF,EACDK,EAAO,YAAc,SAAqB1hC,EAAO,CAC/C,IAAIlB,EAAU,KAAK,MAAM,QACrBijC,EAAW,KAAK,UAChBC,EAAY,KAAK,UACjB,KAAK,WAEPD,EAAS,MAAMC,CAAS,EAEtBljC,GAASA,EAAQkB,CAAK,CAC3B,EACD0hC,EAAO,QAAU,UAAmB,CAClC,IAAIuC,EAAc,KAAK,MACrBpC,EAAaoC,EAAY,WACzBH,EAAYG,EAAY,UAC1B,OAAOpC,GAAc,CAACiC,CACvB,EACDpC,EAAO,WAAa,UAAsB,CACpC,CAAC,KAAK,QAAO,GAAM,CAAC,KAAK,MAAM,QAGnC,KAAK,MAAM,OAAQ,CACpB,EACDA,EAAO,YAAc,UAAuB,CACtC,CAAC,KAAK,QAAO,GAAM,CAAC,KAAK,MAAM,SAGnC,KAAK,MAAM,QAAS,CACrB,EACDA,EAAO,uBAAyB,UAAkC,CAC5D,CAAC,KAAK,QAAO,GAAM,CAAC,KAAK,MAAM,eAGnC,KAAK,MAAM,cAAe,CAC3B,EACDA,EAAO,QAAU,SAAiBwC,EAAM,CACtC,IAAIC,EAAS,KACTD,IAAS,SACXA,EAAO,MAETA,EAAO,OAAOA,GAAS,SAAWA,EAAO,KACzC,GAAI,CACF,IAAInC,EAAW,KAAK,UAChBC,EAAY,KAAK,UACrB,GAAI,CAAC,KAAK,UAAW,CACnB,IAAIoC,EACAX,EAAU,IAAI,QAAQ,SAAUY,EAASC,EAAQ,CACnDH,EAAO,SAAW,SAAUjiC,EAAI,CAC9B,GAAI,CACF,IAAIqiC,EAAYJ,EAAO,UACnBD,GAAQA,EAAK,MACfK,EAAU,QAAQriC,EAAIgiC,CAAI,EAAE,KAAKG,CAAO,EAAE,MAASC,CAAM,EAEzDD,EAAQE,EAAU,QAAQriC,EAAIgiC,CAAI,CAAC,CAEtC,OAAQj3B,EAAG,CACVq3B,EAAOr3B,CAAC,CACtB,CACW,CACX,CAAS,EACD,OAAQm3B,EAAQF,IAAS,MAAQE,EAAM,MAAQX,EAAU,IACjE,CACM,OAAO1B,EAAS,QAAQC,EAAWkC,CAAI,CACxC,OAAQ1sC,EAAO,CAEd,OADA,KAAK,UAAU,iBAAiBA,CAAK,EACjC0sC,GAAQA,EAAK,MACR,QAAQ,OAAO1sC,CAAK,EAEtB,IACb,CACG,EACDkqC,EAAO,MAAQ,UAAiB,CAC9B,IAAIK,EAAW,KAAK,UAChBC,EAAY,KAAK,UACrB,GAAK,KAAK,UAGV,OAAOD,EAAS,MAAMC,CAAS,CAChC,EACDN,EAAO,QAAU,SAAiBxkC,EAAM,CACtC,IAAI6kC,EAAW,KAAK,UAChBC,EAAY,KAAK,UAChB,KAAK,YAGN9kC,GAAQ,OAAOA,GAAS,WAC1BA,EAAO,MAET6kC,EAAS,QAAQC,EAAW9kC,CAAI,EACjC,EACDwkC,EAAO,YAAc,UAAuB,CAC1C,IAAIK,EAAW,KAAK,UACpB,OAAOA,EAAS,YAAY,KAAK,SAAS,CAC3C,EACDL,EAAO,WAAa,UAAsB,CACxC,IAAIK,EAAW,KAAK,UACpB,OAAOA,EAAS,WAAW,KAAK,SAAS,CAC1C,EACDL,EAAO,OAAS,UAAkB,CAChC,IAAI8C,EAAY,KAAK,MAAM,UAC3B,OAAoBC,EAAAA,cAAoB,MAAO,CAC7C,IAAK,KAAK,IACV,GAAID,CACV,CAAK,CACF,EACMlD,CACT,EAAEoD,WAAe,ECjXjB,MAAM9xB,GACJ,OAAO+xB,OAAW,IACd,KACAA,OAAOC,WAAW,8BAAA,EAEjB,SAASC,IAAAA,CACR,KAAA,CAACC,EAAOC,CAAAA,EAAYtrC,EAAAA,SACxBmZ,IAAAA,MAAAA,GAAOc,QAAU,OAAS,OAAA,EAG5BhV,OAAAA,EAAAA,UAAU,IAAA,CACR,GAAI,CAACkU,GAAO,OAEZ,MAAM7S,EAAW,IAAA,CACN6S,EAAAA,GAAMc,QAAU,OAAS,OAAA,CACpC,EAEMrT,OAAAA,GAAAA,iBAAiB,SAAUN,CAAAA,EAE1B,IAAA,CACCO,GAAAA,oBAAoB,SAAUP,CAAAA,CACtC,CAIF,EAAG,EAAE,EAEE+kC,CACT,CCCO,SAASE,GAAmB,CACjCC,QAAAA,EAEAjpB,MAAOkpB,EACPppB,QAAAA,EAEAyG,UAAAA,EACAmB,OAAAA,EAEAlB,UAAAA,EACAG,OAAAA,EAEA9iB,IAAAA,EAGAoL,QAAAA,EACAzS,SAAAA,EACA,GAAGjB,CACqB,EAAA,CAClB4tC,MAAAA,EAAa9jC,SAAiB,IAAA,EAC9ByjC,EAAQD,GAAAA,EACR,CAAC7oB,EAAOC,CAAS,EAAGxiB,EAAAA,SAA6ByrC,CAAAA,EAEjDtB,EAASzoC,EAAAA,YAAY,IAAA,QAKzBgqC,EAAAA,EAAWjlC,UAAXilC,MAAAA,EAAoBC,SACtB,EAAG,EAAE,EAECvB,EAAW1oC,EAAAA,YACf,CAAC6gB,EAAe+nB,IAAAA,CACd9nB,EAASD,CAAAA,EACTF,EAAQE,EAAO+nB,CAAAA,CAAAA,EAEjB,CAACjoB,CAAAA,CAAQ,EAGL3E,EAAWhc,cACdgC,GAAAA,CACK6e,GAAAA,EAAc2G,OAAAA,EAAOxlB,CAAAA,EAAAA,GAChBgoC,EAAWjlC,QAAoBA,EAAAA,QAAQklC,QAAO,MAClD,OAAM,IAAI9uB,MAAM,yBAAA,CAAA,EAEvB,CAAC0F,EAAO2G,CAAAA,CAAO,EAGjB,aACG7L,GAAAA,CACE,GAAGvf,EACJ0f,YAAasL,EACbvL,SAAU0M,EACV3M,YAAayL,EACbjO,SAAU4C,EACVnW,OAAQxI,EACRyS,QAASA,GAAW,CAAC+Q,EAErB,eAACslB,GAAAA,CACCwD,MAAAA,EACAO,QAASJ,EACTrB,OAAAA,EACAC,SAAAA,EACAhkC,IAAKoZ,GAAU,CAACpZ,EAAKslC,CAAW,CAAA,KAIxC,CC3DO,SAASG,GAAW,CACzBzrC,kBAAmB,CACjB0rC,qBAAAA,EAAuB,CAAA,EACvBC,gBAAAA,EAAkBvrC,OAClBqpB,mBAAAA,EAAqB,GACrBJ,MAAAA,CAAK,EACH,CAAC,EAELuiB,oBAAAA,EACAhjB,OAAAA,EACAtO,OAAAA,EACAC,UAAAA,EAGAta,MAAAA,EACAC,SAAAA,EACA,GAAGxC,CACa,EAAA,CAChB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACR,CAACynB,EAAamiB,CAAe,EAAGjsC,EAAAA,SAEpCQ,MAAAA,EACI,CAACorB,EAAQsgB,CAAU,EAAGlsC,EAAAA,SAA6BQ,MAAAA,EACnD,CAAC8nC,EAAU6D,CAAY,EAAGnsC,EAAAA,SAA6BQ,MAAAA,EAKvD4rC,EAAgBL,GAAmB,KAAOvrC,OAAY8nC,GAAY,GAElE+D,EAAS3qC,cACZgC,GAAAA,CACKomB,GAAAA,GAAe8B,GAAUwgB,IAAkB,GAC7C,OAAOpjB,EAAO,CAAE,GAAGc,EAAa8B,OAAAA,EAAQwgB,cAAAA,GAAiB1oC,CAAAA,CAC3D,EAEF,CAAComB,EAAa8B,EAAQwgB,EAAepjB,CAAAA,CAAO,EAG9C,cACG7oB,GAAAA,CACE,GAAGrC,EACJuC,MAAOA,GAAAA,EAAAA,EAAAA,eACPC,SACEA,GAAY4E,EAAA,IAAA8N,EAAA,+BAGb6V,GAAAA,CACCI,gBAAWjW,EAAA,eACX0H,OAAAA,EACAC,UAAAA,EACAqO,OAAQqjB,EACR/kB,MAAO,CAKL,CACE9V,QAAS,CAACoa,EACVvC,YAAa,IAAMnkB,EAAA,IAAA8N,EAAA,eACnBuW,cAAe,CAAC,CAAErhB,KAAAA,EAAM4gB,UAAAA,EAAWK,KAAAA,EAAMJ,UAAAA,EAAWvX,QAAAA,CAAAA,IAClDtM,EAAA,IAACumB,GAAAA,CACChrB,UAAU,OACV+Q,QAAAA,EACAka,QAASogB,EACTlgB,OAAAA,EACAE,SAAUogB,EACVpjB,UAAAA,EACAmB,OAAQ/hB,EACR6gB,UAAAA,EACAG,OAAQ,MAAOxlB,GAAAA,CAEb,GADIkoB,SAAcogB,EAAoB,CAAEpgB,OAAAA,GAAUloB,CAAAA,EAC9C,CAACA,EAAOsZ,QAAS,OAAOmM,EAAKzlB,CAAAA,CACnC,EAEA,eAAC2mB,GAAAA,CAAiBZ,MAAAA,KAGxB,EACA,CACEjY,QAAS,CAACsY,EACVT,YAAa,IAAMnkB,EAAA,IAAA8N,EAAA,eACnBuW,cAAe,CAAC,CAAErhB,KAAAA,EAAM4gB,UAAAA,EAAWK,KAAAA,EAAMJ,UAAAA,EAAWvX,QAAAA,CAAAA,IAClDtM,EAAA,IAAC0kB,GAAAA,CACCnpB,UAAU,OACV+Q,QAAAA,EACAsX,UAAAA,EACAmB,OAAQ/hB,EACR6gB,UAAAA,EACAG,OAAQC,EACRU,mBAAAA,EACAC,YAAAA,EACAE,cAAeiiB,EAEf,eAAC5hB,GAAAA,CAAiBZ,MAAAA,KAGxB,EACAsiB,GAAmB,MAAQ,CACzBv6B,QAAS46B,IAAkB,GAC3B/iB,YAAa,IAAMnkB,EAAA,IAAA8N,EAAA,eACnBuW,cAAe,CAAC,CAAErhB,KAAAA,EAAM4gB,UAAAA,EAAWK,KAAAA,EAAMJ,UAAAA,EAAWvX,QAAAA,CAAAA,IAClDtM,EAAA,IAACqmC,GAAAA,CACC9qC,UAAU,OACV+Q,QAAAA,EACAg6B,QAASO,EACTxpB,MAAO+lB,EACPjmB,QAAS8pB,EACTrjB,UAAAA,EACAmB,OAAQ/hB,EACR6gB,UAAAA,EACAG,OAAQC,EAER,eAACkB,GAAAA,CAAiBZ,MAAAA,MAGxB,CACD,SAGFD,GAAAA,CAAS/oB,UAAU,OAAOgpB,MAAAA,MAGjC,CCjJO,SAAS6iB,GAAY,CAC1B/lB,SAAAA,EACAO,SAAAA,EACAvJ,SAAAA,EAGA,GAAGzf,CACe,EAAA,CAClB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EACd,cACGkqC,GAAAA,CAAe,GAAGzuC,EAAOuC,MAAOvC,EAAMuC,OAAKgT,EAAA,EAAA,yBACzCkT,SACEhhB,EAAAA,CACC9E,UAAW,gCACX+E,MAAOshB,EAAW,UAAYtmB,OAC9BwF,QAASugB,iBAETvT,EAAA,iBAIH8T,SACEvhB,EAAAA,CACC9E,UAAW,gCACX+E,MAAO+gB,EAAW/lB,OAAY,UAC9BwF,QAAS8gB,iBAET9T,EAAA,iBAIHuK,SACEhY,EAAAA,CAAO9E,UAAU,gCAAgCuF,QAASuX,iBACzDvK,EAAA,mBAKV,CCpBO,SAASw5B,GAAc,CAC5BC,cAAAA,EACAC,gBAAAA,EACAtsC,kBAAAA,EAGA,GAAGtC,CACgB,EAAA,QACnB,KAAM,CAAQuE,KAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,EAERsqC,EAAcF,EAAc5lB,WAAa,KAEzC+lB,EACJ,CAACD,GAAeE,IAAQzsC,GAAAA,GAAAA,YAAAA,EAAmB0rC,uBAAnB1rC,MAAAA,GAAyCqU,QAE7Dq4B,EACJ,CAACF,GAAaF,EAAgBj4B,OAAM,EAAA,EAEhC,CAAC2P,EAAMC,CAAQ,EAAGrkB,EAAAA,SAAe8sC,CAAAA,EAEjCC,EAAW1oC,GAAiBggB,EAAAA,CAAAA,EAC5B2oB,EAAa3oC,GAAiBggB,EAAAA,CAAAA,EAC9B4oB,EAAoB5oC,GAAiBggB,EAAAA,CAAAA,EACrC6oB,EAAa7oC,GAAiBggB,EAAAA,CAAAA,EAC9B8oB,EAAc9oC,GAAiBggB,EAAAA,CAAAA,EAE/B,CAAC+oB,EAAmBC,CAAqB,EAAGrtC,EAAAA,SAEhDQ,MAAAA,EAEI,CACJsB,SAAAA,EACAS,UAAAA,EACAwB,oBAAAA,EACAC,SAAAA,EACAR,SAAAA,EACAK,wBAAAA,EACAC,uBAAAA,EACAG,UAAAA,EACAG,SAAAA,CAAQ,EACNvC,GAAO,CACTC,SAAU4qC,EACV1qC,aAAc+qC,CAAAA,CAChB,EAEMO,EAAW,CAACV,GAAa9qC,EAAS2S,OAAM,EAAA,EACxC84B,EAAWlpC,GAAiBggB,EAASipB,CAAAA,EACrCE,EAAsBZ,EAAYM,EAAa1sC,OAG/C0C,EAAUpB,EAASW,KAAMC,IAAMA,GAAEC,UAAY,CAACD,GAAEO,aAAa,EAmBnE,GAlBAgC,EAAAA,UAAU,IAAA,CACJ/B,IACEA,EAAQF,gBAAiBmqC,EAAAA,EACxBlpC,EAAUf,EAAQN,QAAQJ,GAAG,EACpC,EACC,CAACU,EAASe,EAAWkpC,CAAAA,CAAY,EAGpCloC,EAAAA,UAAU,IAAA,CACJmf,IAAAA,GAAwB,CAACwoB,KAAmBU,CAAAA,CAAAA,EAC/C,CAAClpB,EAAMkpB,EAAU,CAACV,CAAAA,CAAU,EAC/B3nC,EAAAA,UAAU,IAAA,CACJmf,IAAAA,GAAyB,CAAClhB,KAAiBoqC,CAAAA,CAAAA,EAC9C,CAAClpB,EAAMkpB,EAAU,CAACpqC,CAAAA,CAAQ,EAC7B+B,EAAAA,UAAU,IAAA,CACJmf,IAAAA,GAAyBkpB,SAAmCA,CAAAA,CAAAA,EAC/D,CAAClpB,EAAMkpB,CAAAA,CAAS,EAEflpB,IAAuB,EACzB,aACGkoB,GAAAA,CACE,GAAGxuC,EACJsC,kBAAAA,EACA0mB,SAAUkmB,EACVzmB,SAAUinB,EACVjwB,SAAUnZ,CAAAA,GAKhB,GAAIggB,IAAsB,EACxB,aACGynB,GAAAA,CACE,GAAG/tC,EACJsC,kBAAAA,EACA4rC,oBAAqBjoC,EACrB2W,OAAQ6yB,EACRvkB,OAAQhlB,CAAAA,GAKd,GAAIogB,IAA6B,EAC/B,aACGH,GAAAA,CACE,GAAGnmB,EACJgmB,aAAcspB,EACdlpB,uBAAwBrgB,EACxBsgB,uBAAwBrgB,EACxB4W,OAAQ6yB,CAAAA,GAKd,GAAInpB,IAAsB,EACxB,aACGwC,GAAAA,CACE,GAAG9oB,EACJ+oB,UAAW4lB,EAAc5lB,UACzB/kB,SAAAA,EACAS,UAAAA,EACAukB,SAAUtjB,EACV+iB,SAAUinB,EACV9yB,OAAQ4yB,MAA2BlpC,EAAWmpC,EAC9C5yB,UAAW2yB,IAAAA,EAAAA,EAAAA,EAAAA,YAAuC9sC,CAAAA,EAAAA,OAClD0kB,iBAAmB1M,IAAAA,CACjBy0B,EAAAA,EACAI,EAAqB70B,EAAAA,CAAAA,CACvB,GAKN,GAAI4L,IAAuB,EAErB,OAAClhB,QAGFmY,GAAAA,CACE,GAAGvd,EACJ0G,SAAUioC,EAAcjoC,SACxBC,eAAgBgoC,EAAchoC,eAC9BC,cAAe+nC,EAAc/nC,cAC7BkN,iBAAkB66B,EAAc76B,iBAChChP,QAASM,EAAQN,QACjBsB,MAAOuoC,EAAcvoC,MACrBoW,UAAYpW,IAAUD,EAAUf,EAAQN,QAAQJ,IAAK0B,EAAAA,EACrDsW,SAAUpW,EACVsW,OACEiyB,EACInsC,OACA,IAAA,CACE+B,EAAU,IAAA,EACVgrC,EAAAA,CAAAA,CACF,GAnBW,KAyBvB,GAAInpB,IAAoB,EACtB,aACGjkB,GAAAA,CAAiB,GAAGrC,EAAOuC,MAAOvC,EAAMuC,OAAKgT,EAAA,EAAA,8BAC5CL,EAAA,iBAMA,MAAA,IAAI6J,MAAM,8BAAA,CAClB,CC1LA,KAAM,CACJ4wB,gBAAiBhB,GACjBiB,oBAAqBttC,GACrButC,WAAYjB,IACVxB,OAKE9nC,GAAM,IAAIsV,IAAIwyB,OAAO7nC,SAASC,IAAI,EAEtCF,GAAIwV,WAAa,oBACjB,CAACxV,GAAIwqC,aAAaz7B,IAAI,aACtB,IACA/O,GAAI0V,OAAS,GACb1V,GAAIwqC,aAAa/hC,IAAI,YAAa4gC,GAAcjoC,QAAQ,EACxDpB,GAAIwqC,aAAa/hC,IAAI,cAAe4gC,GAAcoB,UAAU,EACrDC,OAAAA,QAAQC,aAAaD,QAAQhuC,MAAO,GAAIsD,GAAIwV,SAAWxV,GAAI0V,MAAM,GAG1E,MAAMk1B,GAAYC,SAASC,eAAe,MAAA,SAE1CC,GAAAA,WAAWH,EAAAA,EAAWI,OACpBlpC,EAAAA,IAACmpC,EAAAA,WAAAA,CACC,eAACC,GAAAA,CAAeC,aAAa9B,GAAAA,GAAc+B,YAAd/B,YAAAA,GAAyBtyB,MAAM,KAC1D,eAACvc,GAAAA,CACCoB,eAAgB,CAAC,CAAEjB,MAAAA,WAChB0wC,GAAAA,CAAU1wC,MAAAA,EAAcqC,kBAAAA,EAAAA,GAG3B,eAACosC,GAAAA,CACCC,cAAAA,GACArsC,kBAAAA,GACAssC,gBAAAA","x_google_ignoreList":[0,64,65,66,67,68,69,70]}
|