@atproto/oauth-provider-ui 0.3.0 → 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 +93 -93
- package/dist/error-page-QY8FHhOr.js +2 -0
- package/dist/{error-page-BO-n3qk2.js.map → error-page-QY8FHhOr.js.map} +1 -1
- package/dist/{error-view-gpr0V5cU.js → error-view-3rFNXZAL.js} +2 -2
- package/dist/error-view-3rFNXZAL.js.map +1 -0
- package/dist/messages-1IrU-_Vi.js.map +1 -1
- package/dist/messages-4v1Nam8h.js.map +1 -1
- package/dist/messages-B75WrZJr.js.map +1 -1
- package/dist/messages-BA3akJZw.js.map +1 -1
- package/dist/messages-BvEGsymN.js.map +1 -1
- package/dist/messages-C7tVmlQS.js +2 -0
- package/dist/messages-C7tVmlQS.js.map +1 -0
- package/dist/messages-CoHfWL1D.js.map +1 -1
- package/dist/messages-Cro0v3rI.js.map +1 -1
- package/dist/messages-CwJv_fQs.js.map +1 -1
- package/dist/messages-Czj9Py78.js.map +1 -1
- package/dist/messages-D9auq5jB.js.map +1 -1
- package/dist/messages-DH4DM5Sn.js.map +1 -1
- package/dist/messages-DqYJdZHM.js.map +1 -1
- package/dist/messages-KnJQiomY.js.map +1 -1
- package/dist/messages-P9tooA-S.js.map +1 -1
- package/dist/messages-eQS9zEPK.js.map +1 -1
- package/dist/messages-lD5uWYft.js.map +1 -1
- package/package.json +2 -2
- package/dist/authorization-page-DZLeX4tu.js +0 -20
- package/dist/authorization-page-DZLeX4tu.js.map +0 -1
- package/dist/error-page-BO-n3qk2.js +0 -2
- package/dist/error-view-gpr0V5cU.js.map +0 -1
- package/dist/messages-CC-Ack1N.js +0 -2
- package/dist/messages-CC-Ack1N.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-page-DZLeX4tu.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/lib/syntax.js","../../oauth-scopes/dist/lib/util.js","../../oauth-scopes/dist/lib/syntax-string.js","../../oauth-scopes/dist/lib/parser.js","../../oauth-scopes/dist/scopes/account-permission.js","../../oauth-scopes/dist/lib/mime.js","../../oauth-scopes/dist/scopes/blob-permission.js","../../oauth-scopes/dist/scopes/identity-permission.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/helpers/util.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/ZodError.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/locales/en.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/errors.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/helpers/parseUtil.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/helpers/typeAliases.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/helpers/errorUtil.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/types.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/external.js","../../../../node_modules/.pnpm/zod@3.24.2/node_modules/zod/lib/index.js","../../../did/dist/did-error.js","../../../did/dist/lib/uri.js","../../../did/dist/methods/plc.js","../../../did/dist/did.js","../../../did/dist/methods/web.js","../../../did/dist/methods.js","../../../did/dist/atproto.js","../../../did/dist/did-document.js","../../../did/dist/index.js","../../../syntax/dist/handle.js","../../../syntax/dist/did.js","../../../syntax/dist/nsid.js","../../../syntax/dist/aturi_validation.js","../../../syntax/dist/aturi.js","../../../syntax/dist/tid.js","../../../syntax/dist/recordkey.js","../../../syntax/dist/datetime.js","../../../syntax/dist/index.js","../../oauth-scopes/dist/lib/nsid.js","../../oauth-scopes/dist/lib/syntax-lexicon.js","../../oauth-scopes/dist/scopes/repo-permission.js","../../oauth-scopes/dist/scopes/rpc-permission.js","../../oauth-scopes/dist/scopes/include-scope.js","../../oauth-scopes/dist/atproto-oauth-scope.js","../../oauth-scopes/dist/scope-missing-error.js","../../oauth-scopes/dist/scopes-set.js","../../oauth-scopes/dist/scope-permissions.js","../../oauth-scopes/dist/scope-permissions-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-center',\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\n // Transition\n 'transition duration-300 ease-in-out',\n\n // Outline\n 'outline-none',\n 'focus:ring-primary focus:ring-2 focus:ring-offset-1 focus:ring-offset-white dark:focus:ring-offset-black',\n\n // Background & Text\n color === 'primary'\n ? clsx(\n 'accent-slate-100',\n transparent\n ? 'text-primary bg-transparent'\n : 'bg-primary text-primary-contrast',\n )\n : color === 'grey'\n ? clsx(\n 'accent-primary',\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={open ? t`Collapse details` : hint ?? t`Expand 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.isScopeStringFor = isScopeStringFor;\n/**\n * Allows to quickly check if a scope is for a specific resource.\n */\nfunction isScopeStringFor(value, prefix) {\n if (value.length > prefix.length) {\n // First, check the next char is either : or ?\n const nextChar = value.charCodeAt(prefix.length);\n if (nextChar !== 0x3a /* : */ && nextChar !== 0x3f /* ? */) {\n return false;\n }\n // Then check the full prefix\n return value.startsWith(prefix);\n }\n else {\n // value and prefix must be equal\n return value === prefix;\n }\n}\n//# sourceMappingURL=syntax.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.minIdx = minIdx;\nexports.knownValuesValidator = knownValuesValidator;\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 knownValuesValidator(values) {\n const set = new Set(values);\n return (value) => set.has(value);\n}\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopeStringSyntax = void 0;\nconst util_js_1 = require(\"./util.js\");\n/**\n * Translates a scope string into a {@link ScopeSyntax}.\n */\nclass ScopeStringSyntax {\n constructor(prefix, positional, params) {\n Object.defineProperty(this, \"prefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: prefix\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 *keys() {\n if (this.params)\n yield* this.params.keys();\n }\n getSingle(key) {\n if (!this.params?.has(key))\n return undefined;\n const value = this.params.getAll(key);\n if (value.length > 1)\n return null;\n return value[0];\n }\n getMulti(key) {\n if (!this.params?.has(key))\n return undefined;\n return this.params.getAll(key);\n }\n toString() {\n let scope = this.prefix;\n if (this.positional !== undefined) {\n scope += `:${normalizeURIComponent(encodeURIComponent(this.positional))}`;\n }\n if (this.params?.size) {\n scope += `?${normalizeURIComponent(this.params.toString())}`;\n }\n return scope;\n }\n static fromString(scopeValue) {\n const paramIdx = scopeValue.indexOf('?');\n const colonIdx = scopeValue.indexOf(':');\n const prefixEnd = (0, util_js_1.minIdx)(paramIdx, colonIdx);\n // No param or positional\n if (prefixEnd === -1) {\n return new ScopeStringSyntax(scopeValue);\n }\n const prefix = scopeValue.slice(0, prefixEnd);\n // Parse the positional parameter if present\n const positional = colonIdx !== -1\n ? paramIdx === -1\n ? decodeURIComponent(scopeValue.slice(colonIdx + 1))\n : colonIdx < paramIdx\n ? decodeURIComponent(scopeValue.slice(colonIdx + 1, paramIdx))\n : undefined\n : undefined;\n // Parse the query string if present and non empty\n const params = paramIdx !== -1 && paramIdx < scopeValue.length - 1\n ? new URLSearchParams(scopeValue.slice(paramIdx + 1))\n : undefined;\n return new ScopeStringSyntax(prefix, positional, params);\n }\n}\nexports.ScopeStringSyntax = ScopeStringSyntax;\n/**\n * Set of characters that are allowed in scope components without encoding. This\n * is used to normalize scope components.\n */\nconst ALLOWED_SCOPE_CHARS = new Set(\n// @NOTE This list must not contain \"?\" or \"&\" as it would interfere with\n// query string parsing.\n[':', '/', '+', ',', '@', '%']);\nconst NORMALIZABLE_CHARS_MAP = new Map(Array.from(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 normalizeURIComponent 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 normalizeURIComponent(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-string.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parser = void 0;\nconst syntax_string_js_1 = require(\"./syntax-string.js\");\nclass Parser {\n constructor(prefix, schema, positionalName) {\n Object.defineProperty(this, \"prefix\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: prefix\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 = new Set(Object.keys(schema));\n }\n format(values) {\n const params = new URLSearchParams();\n let positional = undefined;\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 // 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 if (Array.isArray(normalized)) {\n if (key === this.positionalName && normalized.length === 1) {\n positional = String(normalized[0]);\n }\n else {\n // remove duplicates\n const unique = new Set(normalized.map(String));\n for (const v of unique)\n params.append(key, v);\n }\n }\n else {\n if (key === this.positionalName) {\n positional = String(normalized);\n }\n else {\n params.set(key, String(normalized));\n }\n }\n }\n return new syntax_string_js_1.ScopeStringSyntax(this.prefix, positional, params).toString();\n }\n // @NOTE If we needed to ever have more detailed reason as to why parsing\n // fails, this function could easily be updated to return a\n // ValidationResult<T> type that explains the reason for failure.\n parse(syntax) {\n // @NOTE no need to check prefix, since the typing (P generic) already\n // ensures it matches\n for (const key of syntax.keys()) {\n if (!this.schemaKeys.has(key))\n return null;\n }\n const result = Object.create(null);\n for (const key of this.schemaKeys) {\n const definition = this.schema[key];\n const param = definition.multiple\n ? syntax.getMulti(key)\n : syntax.getSingle(key);\n if (param === null) {\n return null; // Value is not valid\n }\n else if (param !== undefined) {\n if (key === this.positionalName && syntax.positional !== undefined) {\n // Positional parameter cannot be used with named parameters\n return null;\n }\n if (definition.multiple) {\n // Empty array is not valid\n if (!param.length)\n return null;\n if (!param.every(definition.validate)) {\n return null;\n }\n }\n else {\n if (!definition.validate(param)) {\n return null;\n }\n }\n result[key] = param;\n }\n else if (key === this.positionalName &&\n syntax.positional !== undefined) {\n // No named parameters found, but there is a positional parameter\n const { positional } = syntax;\n if (!definition.validate(positional)) {\n return null;\n }\n result[key] = definition.multiple ? [positional] : positional;\n }\n else if (definition.required) {\n return null;\n }\n else {\n result[key] = definition.default;\n }\n }\n return result;\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}\n//# sourceMappingURL=parser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AccountPermission = exports.ACCOUNT_ACTIONS = exports.ACCOUNT_ATTRIBUTES = void 0;\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nconst util_js_1 = require(\"../lib/util.js\");\nexports.ACCOUNT_ATTRIBUTES = Object.freeze([\n 'email',\n 'repo',\n 'status',\n]);\nexports.ACCOUNT_ACTIONS = Object.freeze(['read', 'manage']);\nclass AccountPermission {\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 AccountPermission.parser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'account'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return AccountPermission.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = AccountPermission.parser.parse(syntax);\n if (!result)\n return null;\n return new AccountPermission(result.attr, result.action);\n }\n static scopeNeededFor(options) {\n return AccountPermission.parser.format(options);\n }\n}\nexports.AccountPermission = AccountPermission;\nObject.defineProperty(AccountPermission, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new parser_js_1.Parser('account', {\n attr: {\n multiple: false,\n required: true,\n validate: (0, util_js_1.knownValuesValidator)(exports.ACCOUNT_ATTRIBUTES),\n },\n action: {\n multiple: false,\n required: false,\n validate: (0, util_js_1.knownValuesValidator)(exports.ACCOUNT_ACTIONS),\n default: 'read',\n },\n }, 'attr')\n});\n//# sourceMappingURL=account-permission.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 (typeof value !== 'string')\n return false;\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.BlobPermission = exports.DEFAULT_ACCEPT = void 0;\nconst mime_js_1 = require(\"../lib/mime.js\");\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nexports.DEFAULT_ACCEPT = Object.freeze(['*/*']);\nclass BlobPermission {\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 BlobPermission.parser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'blob'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return BlobPermission.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = BlobPermission.parser.parse(syntax);\n if (!result)\n return null;\n return new BlobPermission(result.accept);\n }\n static scopeNeededFor(options) {\n return BlobPermission.parser.format({\n accept: [options.mime],\n });\n }\n}\nexports.BlobPermission = BlobPermission;\nObject.defineProperty(BlobPermission, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 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\n .map(toLowerCase)\n .filter(isNonRedundant)\n .sort();\n },\n },\n }, 'accept')\n});\nfunction toLowerCase(value) {\n return (typeof value === 'string' ? value.toLowerCase() : value);\n}\nfunction isNonRedundant(value, index, arr) {\n if (typeof value !== 'string') {\n return true;\n }\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-permission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdentityPermission = exports.IDENTITY_ATTRIBUTES = void 0;\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nconst util_js_1 = require(\"../lib/util.js\");\nexports.IDENTITY_ATTRIBUTES = Object.freeze(['handle', '*']);\nclass IdentityPermission {\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 IdentityPermission.parser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'identity'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return IdentityPermission.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = IdentityPermission.parser.parse(syntax);\n if (!result)\n return null;\n return new IdentityPermission(result.attr);\n }\n static scopeNeededFor(options) {\n return IdentityPermission.parser.format(options);\n }\n}\nexports.IdentityPermission = IdentityPermission;\nObject.defineProperty(IdentityPermission, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new parser_js_1.Parser('identity', {\n attr: {\n multiple: false,\n required: true,\n validate: (0, util_js_1.knownValuesValidator)(exports.IDENTITY_ATTRIBUTES),\n },\n }, 'attr')\n});\n//# sourceMappingURL=identity-permission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n util.assertEqual = (val) => val;\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array\n .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n .join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (exports.util = util = {}));\nvar objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (exports.objectUtil = objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nconst getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return exports.ZodParsedType.undefined;\n case \"string\":\n return exports.ZodParsedType.string;\n case \"number\":\n return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n case \"boolean\":\n return exports.ZodParsedType.boolean;\n case \"function\":\n return exports.ZodParsedType.function;\n case \"bigint\":\n return exports.ZodParsedType.bigint;\n case \"symbol\":\n return exports.ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return exports.ZodParsedType.array;\n }\n if (data === null) {\n return exports.ZodParsedType.null;\n }\n if (data.then &&\n typeof data.then === \"function\" &&\n data.catch &&\n typeof data.catch === \"function\") {\n return exports.ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return exports.ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return exports.ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return exports.ZodParsedType.date;\n }\n return exports.ZodParsedType.object;\n default:\n return exports.ZodParsedType.unknown;\n }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_1 = require(\"./helpers/util\");\nexports.ZodIssueCode = util_1.util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util_1.util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n fieldErrors[sub.path[0]].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../helpers/util\");\nconst ZodError_1 = require(\"../ZodError\");\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodError_1.ZodIssueCode.invalid_type:\n if (issue.received === util_1.ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodError_1.ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_1.util.jsonStringifyReplacer)}`;\n break;\n case ZodError_1.ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util_1.util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util_1.util.joinValues(issue.options)}`;\n break;\n case ZodError_1.ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodError_1.ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodError_1.ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodError_1.ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodError_1.ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util_1.util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodError_1.ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly equal to `\n : issue.inclusive\n ? `greater than or equal to `\n : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `less than or equal to`\n : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact\n ? `exactly`\n : issue.inclusive\n ? `smaller than or equal to`\n : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodError_1.ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodError_1.ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodError_1.ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodError_1.ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util_1.util.assertNever(issue);\n }\n return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getErrorMap = exports.setErrorMap = exports.defaultErrorMap = void 0;\nconst en_1 = __importDefault(require(\"./locales/en\"));\nexports.defaultErrorMap = en_1.default;\nlet overrideErrorMap = en_1.default;\nfunction setErrorMap(map) {\n overrideErrorMap = map;\n}\nexports.setErrorMap = setErrorMap;\nfunction getErrorMap() {\n return overrideErrorMap;\n}\nexports.getErrorMap = getErrorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;\nconst errors_1 = require(\"../errors\");\nconst en_1 = __importDefault(require(\"../locales/en\"));\nconst makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n const overrideMap = (0, errors_1.getErrorMap)();\n const issue = (0, exports.makeIssue)({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === en_1.default ? undefined : en_1.default, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexports.addIssueToContext = addIssueToContext;\nclass ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return exports.INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return exports.INVALID;\n if (value.status === \"aborted\")\n return exports.INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" &&\n (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil || (exports.errorUtil = errorUtil = {}));\n","\"use strict\";\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar _ZodEnum_cache, _ZodNativeEnum_cache;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodReadonly = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.datetimeRegex = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = exports.discriminatedUnion = exports.date = void 0;\nconst errors_1 = require(\"./errors\");\nconst errorUtil_1 = require(\"./helpers/errorUtil\");\nconst parseUtil_1 = require(\"./helpers/parseUtil\");\nconst util_1 = require(\"./helpers/util\");\nconst ZodError_1 = require(\"./ZodError\");\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (this._key instanceof Array) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if ((0, parseUtil_1.isValid)(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError_1.ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n var _a, _b;\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message !== null && message !== void 0 ? message : ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nclass ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return (0, util_1.getParsedType)(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new parseUtil_1.ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: (0, util_1.getParsedType)(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if ((0, parseUtil_1.isAsync)(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n var _a;\n const ctx = {\n common: {\n issues: [],\n async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n var _a, _b;\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return (0, parseUtil_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if ((_b = (_a = err === null || err === void 0 ? void 0 : err.message) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === null || _b === void 0 ? void 0 : _b.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => (0, parseUtil_1.isValid)(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n async: true,\n },\n path: (params === null || params === void 0 ? void 0 : params.path) || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: (0, util_1.getParsedType)(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await ((0, parseUtil_1.isAsync)(maybeAsyncResult)\n ? maybeAsyncResult\n : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodError_1.ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\"\n ? refinementData(val, ctx)\n : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n // let regex = `\\\\d{2}:\\\\d{2}:\\\\d{2}`;\n let regex = `([01]\\\\d|2[0-3]):[0-5]\\\\d:[0-5]\\\\d`;\n if (args.precision) {\n regex = `${regex}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n regex = `${regex}(\\\\.\\\\d+)?`;\n }\n return regex;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nfunction datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nexports.datetimeRegex = datetimeRegex;\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (!decoded.typ || !decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nclass ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.string,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"email\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"emoji\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"uuid\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"nanoid\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cuid2\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ulid\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch (_a) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"url\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"regex\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"duration\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"ip\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"jwt\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"cidr\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"base64\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n validation: \"base64url\",\n code: ZodError_1.ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodError_1.ZodIssueCode.invalid_string,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil_1.errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil_1.errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil_1.errorUtil.errToObj(options) });\n }\n datetime(options) {\n var _a, _b;\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n local: (_b = options === null || options === void 0 ? void 0 : options.local) !== null && _b !== void 0 ? _b : false,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil_1.errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options === null || options === void 0 ? void 0 : options.position,\n ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil_1.errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil_1.errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n var _a;\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.number,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util_1.util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil_1.errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n (ch.kind === \"multipleOf\" && util_1.util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null, min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" ||\n ch.kind === \"int\" ||\n ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch (_a) {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new parseUtil_1.ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive\n ? input.data < check.value\n : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive\n ? input.data > check.value\n : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil_1.errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n var _a;\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n ...processCreateParams(params),\n });\n};\nclass ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n ...processCreateParams(params),\n });\n};\nclass ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.date,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_date,\n });\n return parseUtil_1.INVALID;\n }\n const status = new parseUtil_1.ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util_1.util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil_1.errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nclass ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nclass ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nclass ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.null,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nclass ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nclass ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nclass ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.never,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nclass ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.void,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nclass ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: tooBig ? ZodError_1.ZodIssueCode.too_big : ZodError_1.ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return parseUtil_1.ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return parseUtil_1.ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nclass ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util_1.util.objectKeys(shape);\n return (this._cached = { shape, keys });\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever &&\n this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil_1.errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n var _a, _b, _c, _d;\n const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n util_1.util.objectKeys(mask).forEach((key) => {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n util_1.util.objectKeys(this.shape).forEach((key) => {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n util_1.util.objectKeys(this.shape).forEach((key) => {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n util_1.util.objectKeys(this.shape).forEach((key) => {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n });\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util_1.util.objectKeys(this.shape));\n }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nclass ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError_1.ZodError(result.ctx.common.issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError_1.ZodError(issues));\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union,\n unionErrors,\n });\n return parseUtil_1.INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util_1.util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return parseUtil_1.INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n const aType = (0, util_1.getParsedType)(a);\n const bType = (0, util_1.getParsedType)(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === util_1.ZodParsedType.object && bType === util_1.ZodParsedType.object) {\n const bKeys = util_1.util.objectKeys(b);\n const sharedKeys = util_1.util\n .objectKeys(a)\n .filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === util_1.ZodParsedType.array && bType === util_1.ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === util_1.ZodParsedType.date &&\n bType === util_1.ZodParsedType.date &&\n +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nclass ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) {\n return parseUtil_1.INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_intersection_types,\n });\n return parseUtil_1.INVALID;\n }\n if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.isDirty)(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\nclass ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.array) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.array,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return parseUtil_1.INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return parseUtil_1.ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return parseUtil_1.ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nclass ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.object) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.object,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.map) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.map,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return parseUtil_1.INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nclass ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.set) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.set,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil_1.errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nclass ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.function) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.function,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n function makeArgsIssue(args, error) {\n return (0, parseUtil_1.makeIssue)({\n data: args,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return (0, parseUtil_1.makeIssue)({\n data: returns,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap,\n ctx.schemaErrorMap,\n (0, errors_1.getErrorMap)(),\n errors_1.defaultErrorMap,\n ].filter((x) => !!x),\n issueData: {\n code: ZodError_1.ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_1.OK)(async function (...args) {\n const error = new ZodError_1.ZodError([]);\n const parsedArgs = await me._def.args\n .parseAsync(args, params)\n .catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return (0, parseUtil_1.OK)(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args\n ? args\n : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nclass ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nclass ZodEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodEnum_cache.set(this, void 0);\n }\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodEnum_cache, new Set(this._def.values), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodEnum_cache, \"f\").has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nexports.ZodEnum = ZodEnum;\n_ZodEnum_cache = new WeakMap();\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n constructor() {\n super(...arguments);\n _ZodNativeEnum_cache.set(this, void 0);\n }\n _parse(input) {\n const nativeEnumValues = util_1.util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== util_1.ZodParsedType.string &&\n ctx.parsedType !== util_1.ZodParsedType.number) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n expected: util_1.util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodError_1.ZodIssueCode.invalid_type,\n });\n return parseUtil_1.INVALID;\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\")) {\n __classPrivateFieldSet(this, _ZodNativeEnum_cache, new Set(util_1.util.getValidEnumValues(this._def.values)), \"f\");\n }\n if (!__classPrivateFieldGet(this, _ZodNativeEnum_cache, \"f\").has(input.data)) {\n const expectedValues = util_1.util.objectValues(nativeEnumValues);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n received: ctx.data,\n code: ZodError_1.ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return parseUtil_1.INVALID;\n }\n return (0, parseUtil_1.OK)(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\n_ZodNativeEnum_cache = new WeakMap();\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nclass ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== util_1.ZodParsedType.promise &&\n ctx.common.async === false) {\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n const promisified = ctx.parsedType === util_1.ZodParsedType.promise\n ? ctx.data\n : Promise.resolve(ctx.data);\n return (0, parseUtil_1.OK)(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nclass ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n (0, parseUtil_1.addIssueToContext)(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return parseUtil_1.INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_1.DIRTY)(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return parseUtil_1.INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (result.status === \"dirty\")\n return (0, parseUtil_1.DIRTY)(result.value);\n if (status.value === \"dirty\")\n return (0, parseUtil_1.DIRTY)(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((inner) => {\n if (inner.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!(0, parseUtil_1.isValid)(base))\n return base;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema\n ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n .then((base) => {\n if (!(0, parseUtil_1.isValid)(base))\n return base;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n });\n }\n }\n util_1.util.assertNever(effect);\n }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nclass ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.undefined) {\n return (0, parseUtil_1.OK)(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nclass ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === util_1.ZodParsedType.null) {\n return (0, parseUtil_1.OK)(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nclass ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === util_1.ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\"\n ? params.default\n : () => params.default,\n ...processCreateParams(params),\n });\n};\nclass ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if ((0, parseUtil_1.isAsync)(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError_1.ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nclass ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== util_1.ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n (0, parseUtil_1.addIssueToContext)(ctx, {\n code: ZodError_1.ZodIssueCode.invalid_type,\n expected: util_1.ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return parseUtil_1.INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return (0, parseUtil_1.DIRTY)(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return parseUtil_1.INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexports.ZodPipeline = ZodPipeline;\nclass ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if ((0, parseUtil_1.isValid)(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return (0, parseUtil_1.isAsync)(result)\n ? result.then((data) => freeze(data))\n : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nexports.ZodReadonly = ZodReadonly;\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\"\n ? params(data)\n : typeof params === \"string\"\n ? { message: params }\n : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nfunction custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n var _a, _b;\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n var _a, _b;\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = (_b = (_a = params.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexports.custom = custom;\nexports.late = {\n object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_1.INVALID;\n","\"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(\"./errors\"), exports);\n__exportStar(require(\"./helpers/parseUtil\"), exports);\n__exportStar(require(\"./helpers/typeAliases\"), exports);\n__exportStar(require(\"./helpers/util\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./ZodError\"), exports);\n","\"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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\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 });\nexports.z = void 0;\nconst z = __importStar(require(\"./external\"));\nexports.z = z;\n__exportStar(require(\"./external\"), exports);\nexports.default = z;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidDidError = exports.DidError = void 0;\nclass DidError extends Error {\n constructor(did, message, code, status = 400, cause) {\n super(message, { cause });\n Object.defineProperty(this, \"did\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: did\n });\n Object.defineProperty(this, \"code\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: code\n });\n Object.defineProperty(this, \"status\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: status\n });\n }\n /**\n * For compatibility with error handlers in common HTTP frameworks.\n */\n get statusCode() {\n return this.status;\n }\n toString() {\n return `${this.constructor.name} ${this.code} (${this.did}): ${this.message}`;\n }\n static from(cause, did) {\n if (cause instanceof DidError) {\n return cause;\n }\n const message = cause instanceof Error\n ? cause.message\n : typeof cause === 'string'\n ? cause\n : 'An unknown error occurred';\n const status = (typeof cause?.['statusCode'] === 'number'\n ? cause['statusCode']\n : undefined) ??\n (typeof cause?.['status'] === 'number' ? cause['status'] : undefined);\n return new DidError(did, message, 'did-unknown-error', status, cause);\n }\n}\nexports.DidError = DidError;\nclass InvalidDidError extends DidError {\n constructor(did, message, cause) {\n super(did, message, 'did-invalid', 400, cause);\n }\n}\nexports.InvalidDidError = InvalidDidError;\n//# sourceMappingURL=did-error.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isFragment = isFragment;\nexports.isHexDigit = isHexDigit;\n/**\n * @see {@link https://www.w3.org/TR/did-1.0/#dfn-did-fragments}\n * @see {@link https://datatracker.ietf.org/doc/html/rfc3986#section-3.5}\n */\nfunction isFragment(value, startIdx = 0, endIdx = value.length) {\n let charCode;\n for (let i = startIdx; i < endIdx; i++) {\n charCode = value.charCodeAt(i);\n // fragment = *( pchar / \"/\" / \"?\" )\n // pchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\n // unreserved = ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\"\n // pct-encoded = \"%\" HEXDIG HEXDIG\n // sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n if ((charCode >= 65 /* A */ && charCode <= 90) /* Z */ ||\n (charCode >= 97 /* a */ && charCode <= 122) /* z */ ||\n (charCode >= 48 /* 0 */ && charCode <= 57) /* 9 */ ||\n charCode === 45 /* \"-\" */ ||\n charCode === 46 /* \".\" */ ||\n charCode === 95 /* \"_\" */ ||\n charCode === 126 /* \"~\" */) {\n // unreserved\n }\n else if (charCode === 33 /* \"!\" */ ||\n charCode === 36 /* \"$\" */ ||\n charCode === 38 /* \"&\" */ ||\n charCode === 39 /* \"'\" */ ||\n charCode === 40 /* \"(\" */ ||\n charCode === 41 /* \")\" */ ||\n charCode === 42 /* \"*\" */ ||\n charCode === 43 /* \"+\" */ ||\n charCode === 44 /* \",\" */ ||\n charCode === 59 /* \";\" */ ||\n charCode === 61 /* \"=\" */) {\n // sub-delims\n }\n else if (charCode === 58 /* \":\" */ || charCode === 64 /* \"@\" */) {\n // pchar extra\n }\n else if (charCode === 47 /* \"/\" */ || charCode === 63 /* \"?\" */) {\n // fragment extra\n }\n else if (charCode === 37 /* \"%\" */) {\n // pct-enc\n if (i + 2 >= endIdx)\n return false;\n if (!isHexDigit(value.charCodeAt(i + 1)))\n return false;\n if (!isHexDigit(value.charCodeAt(i + 2)))\n return false;\n i += 2;\n }\n else {\n return false;\n }\n }\n return true;\n}\nfunction isHexDigit(code) {\n return ((code >= 48 && code <= 57) || // 0-9\n (code >= 65 && code <= 70) || // A-F\n (code >= 97 && code <= 102) // a-f\n );\n}\n//# sourceMappingURL=uri.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DID_PLC_PREFIX = void 0;\nexports.isDidPlc = isDidPlc;\nexports.asDidPlc = asDidPlc;\nexports.assertDidPlc = assertDidPlc;\nconst did_error_js_1 = require(\"../did-error.js\");\nconst DID_PLC_PREFIX = `did:plc:`;\nexports.DID_PLC_PREFIX = DID_PLC_PREFIX;\nconst DID_PLC_PREFIX_LENGTH = DID_PLC_PREFIX.length;\nconst DID_PLC_LENGTH = 32;\nfunction isDidPlc(input) {\n // Optimization: equivalent to try/catch around \"assertDidPlc\"\n if (typeof input !== 'string')\n return false;\n if (input.length !== DID_PLC_LENGTH)\n return false;\n if (!input.startsWith(DID_PLC_PREFIX))\n return false;\n for (let i = DID_PLC_PREFIX_LENGTH; i < DID_PLC_LENGTH; i++) {\n if (!isBase32Char(input.charCodeAt(i)))\n return false;\n }\n return true;\n}\nfunction asDidPlc(input) {\n assertDidPlc(input);\n return input;\n}\nfunction assertDidPlc(input) {\n if (typeof input !== 'string') {\n throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);\n }\n if (!input.startsWith(DID_PLC_PREFIX)) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid did:plc prefix`);\n }\n if (input.length !== DID_PLC_LENGTH) {\n throw new did_error_js_1.InvalidDidError(input, `did:plc must be ${DID_PLC_LENGTH} characters long`);\n }\n // The following check is not necessary, as the check below is more strict:\n // assertDidMsid(input, DID_PLC_PREFIX.length)\n for (let i = DID_PLC_PREFIX_LENGTH; i < DID_PLC_LENGTH; i++) {\n if (!isBase32Char(input.charCodeAt(i))) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid character at position ${i}`);\n }\n }\n}\nconst isBase32Char = (c) => (c >= 0x61 && c <= 0x7a) || (c >= 0x32 && c <= 0x37); // [a-z2-7]\n//# sourceMappingURL=plc.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.didSchema = exports.DID_PREFIX = void 0;\nexports.assertDidMethod = assertDidMethod;\nexports.extractDidMethod = extractDidMethod;\nexports.assertDidMsid = assertDidMsid;\nexports.assertDid = assertDid;\nexports.isDid = isDid;\nexports.asDid = asDid;\nconst zod_1 = require(\"zod\");\nconst did_error_js_1 = require(\"./did-error.js\");\nconst DID_PREFIX = 'did:';\nexports.DID_PREFIX = DID_PREFIX;\nconst DID_PREFIX_LENGTH = DID_PREFIX.length;\n/**\n * DID Method-name check function.\n *\n * Check if the input is a valid DID method name, at the position between\n * `start` (inclusive) and `end` (exclusive).\n */\nfunction assertDidMethod(input, start = 0, end = input.length) {\n if (!Number.isFinite(end) ||\n !Number.isFinite(start) ||\n end < start ||\n end > input.length) {\n throw new TypeError('Invalid start or end position');\n }\n if (end === start) {\n throw new did_error_js_1.InvalidDidError(input, `Empty method name`);\n }\n let c;\n for (let i = start; i < end; i++) {\n c = input.charCodeAt(i);\n if ((c < 0x61 || c > 0x7a) && // a-z\n (c < 0x30 || c > 0x39) // 0-9\n ) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid character at position ${i} in DID method name`);\n }\n }\n}\n/**\n * This method assumes the input is a valid Did\n */\nfunction extractDidMethod(did) {\n const msidSep = did.indexOf(':', DID_PREFIX_LENGTH);\n const method = did.slice(DID_PREFIX_LENGTH, msidSep);\n return method;\n}\n/**\n * DID Method-specific identifier check function.\n *\n * Check if the input is a valid DID method-specific identifier, at the position\n * between `start` (inclusive) and `end` (exclusive).\n */\nfunction assertDidMsid(input, start = 0, end = input.length) {\n if (!Number.isFinite(end) ||\n !Number.isFinite(start) ||\n end < start ||\n end > input.length) {\n throw new TypeError('Invalid start or end position');\n }\n if (end === start) {\n throw new did_error_js_1.InvalidDidError(input, `DID method-specific id must not be empty`);\n }\n let c;\n for (let i = start; i < end; i++) {\n c = input.charCodeAt(i);\n // Check for frequent chars first\n if ((c < 0x61 || c > 0x7a) && // a-z\n (c < 0x41 || c > 0x5a) && // A-Z\n (c < 0x30 || c > 0x39) && // 0-9\n c !== 0x2e && // .\n c !== 0x2d && // -\n c !== 0x5f // _\n ) {\n // Less frequent chars are checked here\n // \":\"\n if (c === 0x3a) {\n if (i === end - 1) {\n throw new did_error_js_1.InvalidDidError(input, `DID cannot end with \":\"`);\n }\n continue;\n }\n // pct-encoded\n if (c === 0x25) {\n c = input.charCodeAt(++i);\n if ((c < 0x30 || c > 0x39) && (c < 0x41 || c > 0x46)) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid pct-encoded character at position ${i}`);\n }\n c = input.charCodeAt(++i);\n if ((c < 0x30 || c > 0x39) && (c < 0x41 || c > 0x46)) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid pct-encoded character at position ${i}`);\n }\n // There must always be 2 HEXDIG after a \"%\"\n if (i >= end) {\n throw new did_error_js_1.InvalidDidError(input, `Incomplete pct-encoded character at position ${i - 2}`);\n }\n continue;\n }\n throw new did_error_js_1.InvalidDidError(input, `Disallowed character in DID at position ${i}`);\n }\n }\n}\nfunction assertDid(input) {\n if (typeof input !== 'string') {\n throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);\n }\n const { length } = input;\n if (length > 2048) {\n throw new did_error_js_1.InvalidDidError(input, `DID is too long (2048 chars max)`);\n }\n if (!input.startsWith(DID_PREFIX)) {\n throw new did_error_js_1.InvalidDidError(input, `DID requires \"${DID_PREFIX}\" prefix`);\n }\n const idSep = input.indexOf(':', DID_PREFIX_LENGTH);\n if (idSep === -1) {\n throw new did_error_js_1.InvalidDidError(input, `Missing colon after method name`);\n }\n assertDidMethod(input, DID_PREFIX_LENGTH, idSep);\n assertDidMsid(input, idSep + 1, length);\n}\nfunction isDid(input) {\n try {\n assertDid(input);\n return true;\n }\n catch (err) {\n if (err instanceof did_error_js_1.DidError) {\n return false;\n }\n // Unexpected TypeError (should never happen)\n throw err;\n }\n}\nfunction asDid(input) {\n assertDid(input);\n return input;\n}\nexports.didSchema = zod_1.z\n .string()\n .superRefine((value, ctx) => {\n try {\n assertDid(value);\n return true;\n }\n catch (err) {\n ctx.addIssue({\n code: zod_1.z.ZodIssueCode.custom,\n message: err instanceof Error ? err.message : 'Unexpected error',\n });\n return false;\n }\n});\n//# sourceMappingURL=did.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DID_WEB_PREFIX = void 0;\nexports.isDidWeb = isDidWeb;\nexports.asDidWeb = asDidWeb;\nexports.assertDidWeb = assertDidWeb;\nexports.didWebToUrl = didWebToUrl;\nexports.urlToDidWeb = urlToDidWeb;\nexports.buildDidWebUrl = buildDidWebUrl;\nconst did_error_js_1 = require(\"../did-error.js\");\nconst did_js_1 = require(\"../did.js\");\nexports.DID_WEB_PREFIX = `did:web:`;\nconst canParse = URL.canParse?.bind(URL) ??\n ((url, base) => {\n try {\n new URL(url, base);\n return true;\n }\n catch {\n return false;\n }\n });\n/**\n * This function checks if the input is a valid Web DID, as per DID spec.\n */\nfunction isDidWeb(input) {\n // Optimization: make cheap checks first\n if (typeof input !== 'string')\n return false;\n if (!input.startsWith(exports.DID_WEB_PREFIX))\n return false;\n if (input.charAt(exports.DID_WEB_PREFIX.length) === ':')\n return false;\n try {\n (0, did_js_1.assertDidMsid)(input, exports.DID_WEB_PREFIX.length);\n }\n catch {\n return false;\n }\n return canParse(buildDidWebUrl(input));\n}\nfunction asDidWeb(input) {\n assertDidWeb(input);\n return input;\n}\nfunction assertDidWeb(input) {\n if (typeof input !== 'string') {\n throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);\n }\n if (!input.startsWith(exports.DID_WEB_PREFIX)) {\n throw new did_error_js_1.InvalidDidError(input, `Invalid did:web prefix`);\n }\n if (input.charAt(exports.DID_WEB_PREFIX.length) === ':') {\n throw new did_error_js_1.InvalidDidError(input, 'did:web MSID must not start with a colon');\n }\n // Make sure every char is valid (per DID spec)\n (0, did_js_1.assertDidMsid)(input, exports.DID_WEB_PREFIX.length);\n if (!canParse(buildDidWebUrl(input))) {\n throw new did_error_js_1.InvalidDidError(input, 'Invalid Web DID');\n }\n}\nfunction didWebToUrl(did) {\n try {\n return new URL(buildDidWebUrl(did));\n }\n catch (cause) {\n throw new did_error_js_1.InvalidDidError(did, 'Invalid Web DID', cause);\n }\n}\nfunction urlToDidWeb(url) {\n const port = url.port ? `%3A${url.port}` : '';\n const path = url.pathname === '/' ? '' : url.pathname.replaceAll('/', ':');\n return `did:web:${url.hostname}${port}${path}`;\n}\nfunction buildDidWebUrl(did) {\n const hostIdx = exports.DID_WEB_PREFIX.length;\n const pathIdx = did.indexOf(':', hostIdx);\n const hostEnc = pathIdx === -1 ? did.slice(hostIdx) : did.slice(hostIdx, pathIdx);\n const host = hostEnc.replaceAll('%3A', ':');\n const path = pathIdx === -1 ? '' : did.slice(pathIdx).replaceAll(':', '/');\n const proto = host.startsWith('localhost') &&\n (host.length === 9 || host.charCodeAt(9) === 58) /* ':' */\n ? 'http'\n : 'https';\n return `${proto}://${host}${path}`;\n}\n//# sourceMappingURL=web.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(\"./methods/plc.js\"), exports);\n__exportStar(require(\"./methods/web.js\"), exports);\n//# sourceMappingURL=methods.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAtprotoAudience = exports.atprotoDidSchema = void 0;\nexports.isAtprotoDid = isAtprotoDid;\nexports.asAtprotoDid = asAtprotoDid;\nexports.assertAtprotoDid = assertAtprotoDid;\nexports.assertAtprotoDidWeb = assertAtprotoDidWeb;\nexports.isAtprotoDidWeb = isAtprotoDidWeb;\nconst zod_1 = require(\"zod\");\nconst did_error_js_1 = require(\"./did-error.js\");\nconst uri_js_1 = require(\"./lib/uri.js\");\nconst methods_js_1 = require(\"./methods.js\");\nexports.atprotoDidSchema = zod_1.z\n .string()\n .refine(isAtprotoDid, `Atproto only allows \"plc\" and \"web\" DID methods`);\nfunction isAtprotoDid(input) {\n // Optimized equivalent of:\n // return isDidPlc(input) || isAtprotoDidWeb(input)\n if (typeof input !== 'string') {\n return false;\n }\n else if (input.startsWith(methods_js_1.DID_PLC_PREFIX)) {\n return (0, methods_js_1.isDidPlc)(input);\n }\n else if (input.startsWith(methods_js_1.DID_WEB_PREFIX)) {\n return isAtprotoDidWeb(input);\n }\n else {\n return false;\n }\n}\nfunction asAtprotoDid(input) {\n assertAtprotoDid(input);\n return input;\n}\nfunction assertAtprotoDid(input) {\n if (typeof input !== 'string') {\n throw new did_error_js_1.InvalidDidError(typeof input, `DID must be a string`);\n }\n else if (input.startsWith(methods_js_1.DID_PLC_PREFIX)) {\n (0, methods_js_1.assertDidPlc)(input);\n }\n else if (input.startsWith(methods_js_1.DID_WEB_PREFIX)) {\n assertAtprotoDidWeb(input);\n }\n else {\n throw new did_error_js_1.InvalidDidError(input, `Atproto only allows \"plc\" and \"web\" DID methods`);\n }\n}\nfunction assertAtprotoDidWeb(input) {\n (0, methods_js_1.assertDidWeb)(input);\n if (isDidWebWithPath(input)) {\n throw new did_error_js_1.InvalidDidError(input, `Atproto does not allow path components in Web DIDs`);\n }\n if (isDidWebWithHttpsPort(input)) {\n throw new did_error_js_1.InvalidDidError(input, `Atproto does not allow port numbers in Web DIDs, except for localhost`);\n }\n}\n/**\n * @see {@link https://atproto.com/specs/did#blessed-did-methods}\n */\nfunction isAtprotoDidWeb(input) {\n if (!(0, methods_js_1.isDidWeb)(input)) {\n return false;\n }\n if (isDidWebWithPath(input)) {\n return false;\n }\n if (isDidWebWithHttpsPort(input)) {\n return false;\n }\n return true;\n}\nfunction isDidWebWithPath(did) {\n return did.includes(':', methods_js_1.DID_WEB_PREFIX.length);\n}\nfunction isLocalhostDid(did) {\n return (did === 'did:web:localhost' ||\n did.startsWith('did:web:localhost:') ||\n did.startsWith('did:web:localhost%3A'));\n}\nfunction isDidWebWithHttpsPort(did) {\n if (isLocalhostDid(did))\n return false;\n const pathIdx = did.indexOf(':', methods_js_1.DID_WEB_PREFIX.length);\n const hasPort = pathIdx === -1\n ? // No path component, check if there's a port separator anywhere after\n // the \"did:web:\" prefix\n did.includes('%3A', methods_js_1.DID_WEB_PREFIX.length)\n : // There is a path component; if there is an encoded colon *before* it,\n // then there is a port number\n did.lastIndexOf('%3A', pathIdx) !== -1;\n return hasPort;\n}\nconst isAtprotoAudience = (value) => {\n if (typeof value !== 'string')\n return false;\n const hashIndex = value.indexOf('#');\n if (hashIndex === -1)\n return false;\n if (value.indexOf('#', hashIndex + 1) !== -1)\n return false;\n return ((0, uri_js_1.isFragment)(value, hashIndex + 1) && isAtprotoDid(value.slice(0, hashIndex)));\n};\nexports.isAtprotoAudience = isAtprotoAudience;\n//# sourceMappingURL=atproto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.didDocumentValidator = exports.didDocumentSchema = void 0;\nconst zod_1 = require(\"zod\");\nconst did_js_1 = require(\"./did.js\");\nconst uri_js_1 = require(\"./lib/uri.js\");\n/**\n * RFC3968 compliant URI\n *\n * @see {@link https://www.rfc-editor.org/rfc/rfc3986}\n */\nconst rfc3968UriSchema = zod_1.z.string().url('RFC3968 compliant URI');\nconst didControllerSchema = zod_1.z.union([did_js_1.didSchema, zod_1.z.array(did_js_1.didSchema)]);\n/**\n * @note this schema is too permissive\n */\nconst didRelativeUriSchema = zod_1.z.union([\n rfc3968UriSchema.refine((value) => {\n const fragmentIndex = value.indexOf('#');\n if (fragmentIndex === -1)\n return false;\n return (0, uri_js_1.isFragment)(value, fragmentIndex + 1);\n }, {\n message: 'Missing or invalid fragment in RFC3968 URI',\n }),\n zod_1.z\n .string()\n .refine((value) => value.charCodeAt(0) === 35 /* # */, {\n message: 'Fragment must start with #',\n })\n .refine((value) => (0, uri_js_1.isFragment)(value, 1), {\n message: 'Invalid char in URI fragment',\n }),\n]);\nconst didVerificationMethodSchema = zod_1.z.object({\n id: didRelativeUriSchema,\n type: zod_1.z.string().min(1),\n controller: didControllerSchema,\n publicKeyJwk: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),\n publicKeyMultibase: zod_1.z.string().optional(),\n});\n/**\n * The value of the id property MUST be a URI conforming to [RFC3986]. A\n * conforming producer MUST NOT produce multiple service entries with the same\n * id. A conforming consumer MUST produce an error if it detects multiple\n * service entries with the same id.\n *\n * @note Normally, only rfc3968UriSchema should be allowed here. However, the\n * did:plc uses relative URI. For this reason, we also allow relative URIs\n * here.\n */\nconst didServiceIdSchema = didRelativeUriSchema;\n/**\n * The value of the type property MUST be a string or a set of strings. In order\n * to maximize interoperability, the service type and its associated properties\n * SHOULD be registered in the DID Specification Registries\n * [DID-SPEC-REGISTRIES].\n */\nconst didServiceTypeSchema = zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]);\n/**\n * The value of the serviceEndpoint property MUST be a string, a map, or a set\n * composed of one or more strings and/or maps. All string values MUST be valid\n * URIs conforming to [RFC3986] and normalized according to the Normalization\n * and Comparison rules in RFC3986 and to any normalization rules in its\n * applicable URI scheme specification.\n */\nconst didServiceEndpointSchema = zod_1.z.union([\n rfc3968UriSchema,\n zod_1.z.record(zod_1.z.string(), rfc3968UriSchema),\n zod_1.z\n .array(zod_1.z.union([rfc3968UriSchema, zod_1.z.record(zod_1.z.string(), rfc3968UriSchema)]))\n .nonempty(),\n]);\n/**\n * Each service map MUST contain id, type, and serviceEndpoint properties.\n * @see {@link https://www.w3.org/TR/did-core/#services}\n */\nconst didServiceSchema = zod_1.z.object({\n id: didServiceIdSchema,\n type: didServiceTypeSchema,\n serviceEndpoint: didServiceEndpointSchema,\n});\nconst didAuthenticationSchema = zod_1.z.union([\n //\n didRelativeUriSchema,\n didVerificationMethodSchema,\n]);\n/**\n * @note This schema is incomplete\n * @see {@link https://www.w3.org/TR/did-core/#production-0}\n */\nexports.didDocumentSchema = zod_1.z.object({\n '@context': zod_1.z.union([\n zod_1.z.literal('https://www.w3.org/ns/did/v1'),\n zod_1.z\n .array(zod_1.z.string().url())\n .nonempty()\n .refine((data) => data[0] === 'https://www.w3.org/ns/did/v1', {\n message: 'First @context must be https://www.w3.org/ns/did/v1',\n }),\n ]),\n id: did_js_1.didSchema,\n controller: didControllerSchema.optional(),\n alsoKnownAs: zod_1.z.array(rfc3968UriSchema).optional(),\n service: zod_1.z.array(didServiceSchema).optional(),\n authentication: zod_1.z.array(didAuthenticationSchema).optional(),\n verificationMethod: zod_1.z\n .array(zod_1.z.union([didVerificationMethodSchema, didRelativeUriSchema]))\n .optional(),\n});\n// @TODO: add other refinements ?\nexports.didDocumentValidator = exports.didDocumentSchema\n // Ensure that every service id is unique\n .superRefine(({ id: did, service }, ctx) => {\n if (service) {\n const visited = new Set();\n for (let i = 0; i < service.length; i++) {\n const current = service[i];\n const serviceId = current.id.startsWith('#')\n ? `${did}${current.id}`\n : current.id;\n if (!visited.has(serviceId)) {\n visited.add(serviceId);\n }\n else {\n ctx.addIssue({\n code: zod_1.z.ZodIssueCode.custom,\n message: `Duplicate service id (${current.id}) found in the document`,\n path: ['service', i, 'id'],\n });\n }\n }\n }\n});\n//# sourceMappingURL=did-document.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(\"./atproto.js\"), exports);\n__exportStar(require(\"./did-document.js\"), exports);\n__exportStar(require(\"./did-error.js\"), exports);\n__exportStar(require(\"./did.js\"), exports);\n__exportStar(require(\"./methods.js\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DisallowedDomainError = exports.UnsupportedDomainError = exports.ReservedHandleError = exports.InvalidHandleError = exports.isValidTld = exports.isValidHandle = exports.normalizeAndEnsureValidHandle = exports.normalizeHandle = exports.ensureValidHandleRegex = exports.ensureValidHandle = exports.DISALLOWED_TLDS = exports.INVALID_HANDLE = void 0;\nexports.INVALID_HANDLE = 'handle.invalid';\n// Currently these are registration-time restrictions, not protocol-level\n// restrictions. We have a couple accounts in the wild that we need to clean up\n// before hard-disallow.\n// See also: https://en.wikipedia.org/wiki/Top-level_domain#Reserved_domains\nexports.DISALLOWED_TLDS = [\n '.local',\n '.arpa',\n '.invalid',\n '.localhost',\n '.internal',\n '.example',\n '.alt',\n // policy could concievably change on \".onion\" some day\n '.onion',\n // NOTE: .test is allowed in testing and devopment. In practical terms\n // \"should\" \"never\" actually resolve and get registered in production\n];\n// Handle constraints, in English:\n// - must be a possible domain name\n// - RFC-1035 is commonly referenced, but has been updated. eg, RFC-3696,\n// section 2. and RFC-3986, section 3. can now have leading numbers (eg,\n// 4chan.org)\n// - \"labels\" (sub-names) are made of ASCII letters, digits, hyphens\n// - can not start or end with a hyphen\n// - TLD (last component) should not start with a digit\n// - can't end with a hyphen (can end with digit)\n// - each segment must be between 1 and 63 characters (not including any periods)\n// - overall length can't be more than 253 characters\n// - separated by (ASCII) periods; does not start or end with period\n// - case insensitive\n// - domains (handles) are equal if they are the same lower-case\n// - punycode allowed for internationalization\n// - no whitespace, null bytes, joining chars, etc\n// - does not validate whether domain or TLD exists, or is a reserved or\n// special TLD (eg, .onion or .local)\n// - does not validate punycode\nconst ensureValidHandle = (handle) => {\n // check that all chars are boring ASCII\n if (!/^[a-zA-Z0-9.-]*$/.test(handle)) {\n throw new InvalidHandleError('Disallowed characters in handle (ASCII letters, digits, dashes, periods only)');\n }\n if (handle.length > 253) {\n throw new InvalidHandleError('Handle is too long (253 chars max)');\n }\n const labels = handle.split('.');\n if (labels.length < 2) {\n throw new InvalidHandleError('Handle domain needs at least two parts');\n }\n for (let i = 0; i < labels.length; i++) {\n const l = labels[i];\n if (l.length < 1) {\n throw new InvalidHandleError('Handle parts can not be empty');\n }\n if (l.length > 63) {\n throw new InvalidHandleError('Handle part too long (max 63 chars)');\n }\n if (l.endsWith('-') || l.startsWith('-')) {\n throw new InvalidHandleError('Handle parts can not start or end with hyphens');\n }\n if (i + 1 === labels.length && !/^[a-zA-Z]/.test(l)) {\n throw new InvalidHandleError('Handle final component (TLD) must start with ASCII letter');\n }\n }\n};\nexports.ensureValidHandle = ensureValidHandle;\n// simple regex translation of above constraints\nconst ensureValidHandleRegex = (handle) => {\n if (!/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?$/.test(handle)) {\n throw new InvalidHandleError(\"Handle didn't validate via regex\");\n }\n if (handle.length > 253) {\n throw new InvalidHandleError('Handle is too long (253 chars max)');\n }\n};\nexports.ensureValidHandleRegex = ensureValidHandleRegex;\nconst normalizeHandle = (handle) => {\n return handle.toLowerCase();\n};\nexports.normalizeHandle = normalizeHandle;\nconst normalizeAndEnsureValidHandle = (handle) => {\n const normalized = (0, exports.normalizeHandle)(handle);\n (0, exports.ensureValidHandle)(normalized);\n return normalized;\n};\nexports.normalizeAndEnsureValidHandle = normalizeAndEnsureValidHandle;\nconst isValidHandle = (handle) => {\n try {\n (0, exports.ensureValidHandle)(handle);\n }\n catch (err) {\n if (err instanceof InvalidHandleError) {\n return false;\n }\n throw err;\n }\n return true;\n};\nexports.isValidHandle = isValidHandle;\nconst isValidTld = (handle) => {\n return !exports.DISALLOWED_TLDS.some((domain) => handle.endsWith(domain));\n};\nexports.isValidTld = isValidTld;\nclass InvalidHandleError extends Error {\n}\nexports.InvalidHandleError = InvalidHandleError;\n/** @deprecated Never used */\nclass ReservedHandleError extends Error {\n}\nexports.ReservedHandleError = ReservedHandleError;\n/** @deprecated Never used */\nclass UnsupportedDomainError extends Error {\n}\nexports.UnsupportedDomainError = UnsupportedDomainError;\n/** @deprecated Never used */\nclass DisallowedDomainError extends Error {\n}\nexports.DisallowedDomainError = DisallowedDomainError;\n//# sourceMappingURL=handle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidDidError = exports.ensureValidDidRegex = exports.ensureValidDid = void 0;\n// Human-readable constraints:\n// - valid W3C DID (https://www.w3.org/TR/did-core/#did-syntax)\n// - entire URI is ASCII: [a-zA-Z0-9._:%-]\n// - always starts \"did:\" (lower-case)\n// - method name is one or more lower-case letters, followed by \":\"\n// - remaining identifier can have any of the above chars, but can not end in \":\"\n// - it seems that a bunch of \":\" can be included, and don't need spaces between\n// - \"%\" is used only for \"percent encoding\" and must be followed by two hex characters (and thus can't end in \"%\")\n// - query (\"?\") and fragment (\"#\") stuff is defined for \"DID URIs\", but not as part of identifier itself\n// - \"The current specification does not take a position on the maximum length of a DID\"\n// - in current atproto, only allowing did:plc and did:web. But not *forcing* this at lexicon layer\n// - hard length limit of 8KBytes\n// - not going to validate \"percent encoding\" here\nconst ensureValidDid = (did) => {\n if (!did.startsWith('did:')) {\n throw new InvalidDidError('DID requires \"did:\" prefix');\n }\n // check that all chars are boring ASCII\n if (!/^[a-zA-Z0-9._:%-]*$/.test(did)) {\n throw new InvalidDidError('Disallowed characters in DID (ASCII letters, digits, and a couple other characters only)');\n }\n const { length, 1: method } = did.split(':');\n if (length < 3) {\n throw new InvalidDidError('DID requires prefix, method, and method-specific content');\n }\n if (!/^[a-z]+$/.test(method)) {\n throw new InvalidDidError('DID method must be lower-case letters');\n }\n if (did.endsWith(':') || did.endsWith('%')) {\n throw new InvalidDidError('DID can not end with \":\" or \"%\"');\n }\n if (did.length > 2 * 1024) {\n throw new InvalidDidError('DID is too long (2048 chars max)');\n }\n};\nexports.ensureValidDid = ensureValidDid;\nconst ensureValidDidRegex = (did) => {\n // simple regex to enforce most constraints via just regex and length.\n // hand wrote this regex based on above constraints\n if (!/^did:[a-z]+:[a-zA-Z0-9._:%-]*[a-zA-Z0-9._-]$/.test(did)) {\n throw new InvalidDidError(\"DID didn't validate via regex\");\n }\n if (did.length > 2 * 1024) {\n throw new InvalidDidError('DID is too long (2048 chars max)');\n }\n};\nexports.ensureValidDidRegex = ensureValidDidRegex;\nclass InvalidDidError extends Error {\n}\nexports.InvalidDidError = InvalidDidError;\n//# sourceMappingURL=did.js.map","\"use strict\";\n/*\nGrammar:\n\nalpha = \"a\" / \"b\" / \"c\" / \"d\" / \"e\" / \"f\" / \"g\" / \"h\" / \"i\" / \"j\" / \"k\" / \"l\" / \"m\" / \"n\" / \"o\" / \"p\" / \"q\" / \"r\" / \"s\" / \"t\" / \"u\" / \"v\" / \"w\" / \"x\" / \"y\" / \"z\" / \"A\" / \"B\" / \"C\" / \"D\" / \"E\" / \"F\" / \"G\" / \"H\" / \"I\" / \"J\" / \"K\" / \"L\" / \"M\" / \"N\" / \"O\" / \"P\" / \"Q\" / \"R\" / \"S\" / \"T\" / \"U\" / \"V\" / \"W\" / \"X\" / \"Y\" / \"Z\"\nnumber = \"1\" / \"2\" / \"3\" / \"4\" / \"5\" / \"6\" / \"7\" / \"8\" / \"9\" / \"0\"\ndelim = \".\"\nsegment = alpha *( alpha / number / \"-\" )\nauthority = segment *( delim segment )\nname = alpha *( alpha / number )\nnsid = authority delim name\n\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidNsidError = exports.NSID = void 0;\nexports.ensureValidNsid = ensureValidNsid;\nexports.parseNsid = parseNsid;\nexports.isValidNsid = isValidNsid;\nexports.validateNsid = validateNsid;\nexports.ensureValidNsidRegex = ensureValidNsidRegex;\nexports.validateNsidRegex = validateNsidRegex;\nclass NSID {\n static parse(input) {\n return new NSID(input);\n }\n static create(authority, name) {\n const input = [...authority.split('.').reverse(), name].join('.');\n return new NSID(input);\n }\n static isValid(nsid) {\n return isValidNsid(nsid);\n }\n static from(input) {\n if (input instanceof NSID) {\n // No need to clone, NSID is immutable\n return input;\n }\n if (Array.isArray(input)) {\n return new NSID(input.join('.'));\n }\n return new NSID(String(input));\n }\n constructor(nsid) {\n Object.defineProperty(this, \"segments\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n this.segments = parseNsid(nsid);\n }\n get authority() {\n return this.segments\n .slice(0, this.segments.length - 1)\n .reverse()\n .join('.');\n }\n get name() {\n return this.segments.at(this.segments.length - 1);\n }\n toString() {\n return this.segments.join('.');\n }\n}\nexports.NSID = NSID;\nfunction ensureValidNsid(nsid) {\n const result = validateNsid(nsid);\n if (!result.success)\n throw new InvalidNsidError(result.message);\n}\nfunction parseNsid(nsid) {\n const result = validateNsid(nsid);\n if (!result.success)\n throw new InvalidNsidError(result.message);\n return result.value;\n}\nfunction isValidNsid(nsid) {\n // Since the regex version is more performant for valid NSIDs, we use it when\n // we don't care about error details.\n return validateNsidRegex(nsid).success;\n}\n// Human readable constraints on NSID:\n// - a valid domain in reversed notation\n// - followed by an additional period-separated name, which is camel-case letters\nfunction validateNsid(input) {\n if (input.length > 253 + 1 + 63) {\n return {\n success: false,\n message: 'NSID is too long (317 chars max)',\n };\n }\n if (hasDisallowedCharacters(input)) {\n return {\n success: false,\n message: 'Disallowed characters in NSID (ASCII letters, digits, dashes, periods only)',\n };\n }\n const segments = input.split('.');\n if (segments.length < 3) {\n return {\n success: false,\n message: 'NSID needs at least three parts',\n };\n }\n for (const l of segments) {\n if (l.length < 1) {\n return {\n success: false,\n message: 'NSID parts can not be empty',\n };\n }\n if (l.length > 63) {\n return {\n success: false,\n message: 'NSID part too long (max 63 chars)',\n };\n }\n if (startsWithHyphen(l) || endsWithHyphen(l)) {\n return {\n success: false,\n message: 'NSID parts can not start or end with hyphen',\n };\n }\n }\n if (startsWithNumber(segments[0])) {\n return {\n success: false,\n message: 'NSID first part may not start with a digit',\n };\n }\n if (!isValidIdentifier(segments[segments.length - 1])) {\n return {\n success: false,\n message: 'NSID name part must be only letters and digits (and no leading digit)',\n };\n }\n return {\n success: true,\n value: segments,\n };\n}\nfunction hasDisallowedCharacters(v) {\n return !/^[a-zA-Z0-9.-]*$/.test(v);\n}\nfunction startsWithNumber(v) {\n const charCode = v.charCodeAt(0);\n return charCode >= 48 && charCode <= 57;\n}\nfunction startsWithHyphen(v) {\n return v.charCodeAt(0) === 45; /* - */\n}\nfunction endsWithHyphen(v) {\n return v.charCodeAt(v.length - 1) === 45; /* - */\n}\nfunction isValidIdentifier(v) {\n // Note, since we already know that \"v\" only contains [a-zA-Z0-9-], we can\n // simplify the following regex by checking only the first char and presence\n // of \"-\".\n // return /^[a-zA-Z][a-zA-Z0-9]*$/.test(v)\n return !startsWithNumber(v) && !v.includes('-');\n}\n/**\n * @deprecated Use {@link ensureValidNsid} if you care about error details,\n * {@link parseNsid}/{@link NSID.parse} if you need the parsed segments, or\n * {@link isValidNsid} if you just want a boolean.\n */\nfunction ensureValidNsidRegex(nsid) {\n const result = validateNsidRegex(nsid);\n if (!result.success)\n throw new InvalidNsidError(result.message);\n}\n/**\n * Regexp based validation that behaves identically to the previous code but\n * provides less detailed error messages (while being 20% to 50% faster).\n */\nfunction validateNsidRegex(value) {\n if (value.length > 253 + 1 + 63) {\n return {\n success: false,\n message: 'NSID is too long (317 chars max)',\n };\n }\n if (!/^[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?:\\.[a-zA-Z](?:[a-zA-Z0-9]{0,62})?)$/.test(value)) {\n return {\n success: false,\n message: \"NSID didn't validate via regex\",\n };\n }\n return {\n success: true,\n value,\n };\n}\nclass InvalidNsidError extends Error {\n}\nexports.InvalidNsidError = InvalidNsidError;\n//# sourceMappingURL=nsid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ensureValidAtUriRegex = exports.ensureValidAtUri = void 0;\nconst did_1 = require(\"./did\");\nconst handle_1 = require(\"./handle\");\nconst nsid_1 = require(\"./nsid\");\n// Human-readable constraints on ATURI:\n// - following regular URLs, a 8KByte hard total length limit\n// - follows ATURI docs on website\n// - all ASCII characters, no whitespace. non-ASCII could be URL-encoded\n// - starts \"at://\"\n// - \"authority\" is a valid DID or a valid handle\n// - optionally, follow \"authority\" with \"/\" and valid NSID as start of path\n// - optionally, if NSID given, follow that with \"/\" and rkey\n// - rkey path component can include URL-encoded (\"percent encoded\"), or:\n// ALPHA / DIGIT / \"-\" / \".\" / \"_\" / \"~\" / \":\" / \"@\" / \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n// [a-zA-Z0-9._~:@!$&'\\(\\)*+,;=-]\n// - rkey must have at least one char\n// - regardless of path component, a fragment can follow as \"#\" and then a JSON pointer (RFC-6901)\nconst ensureValidAtUri = (uri) => {\n // JSON pointer is pretty different from rest of URI, so split that out first\n const uriParts = uri.split('#');\n if (uriParts.length > 2) {\n throw new Error('ATURI can have at most one \"#\", separating fragment out');\n }\n const fragmentPart = uriParts[1] || null;\n uri = uriParts[0];\n // check that all chars are boring ASCII\n if (!/^[a-zA-Z0-9._~:@!$&')(*+,;=%/-]*$/.test(uri)) {\n throw new Error('Disallowed characters in ATURI (ASCII)');\n }\n const parts = uri.split('/');\n if (parts.length >= 3 && (parts[0] !== 'at:' || parts[1].length !== 0)) {\n throw new Error('ATURI must start with \"at://\"');\n }\n if (parts.length < 3) {\n throw new Error('ATURI requires at least method and authority sections');\n }\n try {\n if (parts[2].startsWith('did:')) {\n (0, did_1.ensureValidDid)(parts[2]);\n }\n else {\n (0, handle_1.ensureValidHandle)(parts[2]);\n }\n }\n catch {\n throw new Error('ATURI authority must be a valid handle or DID');\n }\n if (parts.length >= 4) {\n if (parts[3].length === 0) {\n throw new Error('ATURI can not have a slash after authority without a path segment');\n }\n if (!(0, nsid_1.isValidNsid)(parts[3])) {\n throw new Error('ATURI requires first path segment (if supplied) to be valid NSID');\n }\n }\n if (parts.length >= 5) {\n if (parts[4].length === 0) {\n throw new Error('ATURI can not have a slash after collection, unless record key is provided');\n }\n // would validate rkey here, but there are basically no constraints!\n }\n if (parts.length >= 6) {\n throw new Error('ATURI path can have at most two parts, and no trailing slash');\n }\n if (uriParts.length >= 2 && fragmentPart == null) {\n throw new Error('ATURI fragment must be non-empty and start with slash');\n }\n if (fragmentPart != null) {\n if (fragmentPart.length === 0 || fragmentPart[0] !== '/') {\n throw new Error('ATURI fragment must be non-empty and start with slash');\n }\n // NOTE: enforcing *some* checks here for sanity. Eg, at least no whitespace\n if (!/^\\/[a-zA-Z0-9._~:@!$&')(*+,;=%[\\]/-]*$/.test(fragmentPart)) {\n throw new Error('Disallowed characters in ATURI fragment (ASCII)');\n }\n }\n if (uri.length > 8 * 1024) {\n throw new Error('ATURI is far too long');\n }\n};\nexports.ensureValidAtUri = ensureValidAtUri;\nconst ensureValidAtUriRegex = (uri) => {\n // simple regex to enforce most constraints via just regex and length.\n // hand wrote this regex based on above constraints. whew!\n const aturiRegex = /^at:\\/\\/(?<authority>[a-zA-Z0-9._:%-]+)(\\/(?<collection>[a-zA-Z0-9-.]+)(\\/(?<rkey>[a-zA-Z0-9._~:@!$&%')(*+,;=-]+))?)?(#(?<fragment>\\/[a-zA-Z0-9._~:@!$&%')(*+,;=\\-[\\]/\\\\]*))?$/;\n const rm = uri.match(aturiRegex);\n if (!rm || !rm.groups) {\n throw new Error(\"ATURI didn't validate via regex\");\n }\n const groups = rm.groups;\n try {\n (0, handle_1.ensureValidHandleRegex)(groups.authority);\n }\n catch {\n try {\n (0, did_1.ensureValidDidRegex)(groups.authority);\n }\n catch {\n throw new Error('ATURI authority must be a valid handle or DID');\n }\n }\n if (groups.collection && !(0, nsid_1.isValidNsid)(groups.collection)) {\n throw new Error('ATURI collection path segment must be a valid NSID');\n }\n if (uri.length > 8 * 1024) {\n throw new Error('ATURI is far too long');\n }\n};\nexports.ensureValidAtUriRegex = ensureValidAtUriRegex;\n//# sourceMappingURL=aturi_validation.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 });\nexports.AtUri = exports.ATP_URI_REGEX = void 0;\n__exportStar(require(\"./aturi_validation\"), exports);\nexports.ATP_URI_REGEX = \n// proto- --did-------------- --name---------------- --path---- --query-- --hash--\n/^(at:\\/\\/)?((?:did:[a-z0-9:%-]+)|(?:[a-z0-9][a-z0-9.:-]*))(\\/[^?#\\s]*)?(\\?[^#\\s]+)?(#[^\\s]+)?$/i;\n// --path----- --query-- --hash--\nconst RELATIVE_REGEX = /^(\\/[^?#\\s]*)?(\\?[^#\\s]+)?(#[^\\s]+)?$/i;\nclass AtUri {\n constructor(uri, base) {\n Object.defineProperty(this, \"hash\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"host\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"pathname\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"searchParams\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n let parsed;\n if (base) {\n parsed = parse(base);\n if (!parsed) {\n throw new Error(`Invalid at uri: ${base}`);\n }\n const relativep = parseRelative(uri);\n if (!relativep) {\n throw new Error(`Invalid path: ${uri}`);\n }\n Object.assign(parsed, relativep);\n }\n else {\n parsed = parse(uri);\n if (!parsed) {\n throw new Error(`Invalid at uri: ${uri}`);\n }\n }\n this.hash = parsed.hash;\n this.host = parsed.host;\n this.pathname = parsed.pathname;\n this.searchParams = parsed.searchParams;\n }\n static make(handleOrDid, collection, rkey) {\n let str = handleOrDid;\n if (collection)\n str += '/' + collection;\n if (rkey)\n str += '/' + rkey;\n return new AtUri(str);\n }\n get protocol() {\n return 'at:';\n }\n get origin() {\n return `at://${this.host}`;\n }\n get hostname() {\n return this.host;\n }\n set hostname(v) {\n this.host = v;\n }\n get search() {\n return this.searchParams.toString();\n }\n set search(v) {\n this.searchParams = new URLSearchParams(v);\n }\n get collection() {\n return this.pathname.split('/').filter(Boolean)[0] || '';\n }\n set collection(v) {\n const parts = this.pathname.split('/').filter(Boolean);\n parts[0] = v;\n this.pathname = parts.join('/');\n }\n get rkey() {\n return this.pathname.split('/').filter(Boolean)[1] || '';\n }\n set rkey(v) {\n const parts = this.pathname.split('/').filter(Boolean);\n if (!parts[0])\n parts[0] = 'undefined';\n parts[1] = v;\n this.pathname = parts.join('/');\n }\n get href() {\n return this.toString();\n }\n toString() {\n let path = this.pathname || '/';\n if (!path.startsWith('/')) {\n path = `/${path}`;\n }\n let qs = this.searchParams.toString();\n if (qs && !qs.startsWith('?')) {\n qs = `?${qs}`;\n }\n let hash = this.hash;\n if (hash && !hash.startsWith('#')) {\n hash = `#${hash}`;\n }\n return `at://${this.host}${path}${qs}${hash}`;\n }\n}\nexports.AtUri = AtUri;\nfunction parse(str) {\n const match = exports.ATP_URI_REGEX.exec(str);\n if (match) {\n return {\n hash: match[5] || '',\n host: match[2] || '',\n pathname: match[3] || '',\n searchParams: new URLSearchParams(match[4] || ''),\n };\n }\n return undefined;\n}\nfunction parseRelative(str) {\n const match = RELATIVE_REGEX.exec(str);\n if (match) {\n return {\n hash: match[3] || '',\n pathname: match[1] || '',\n searchParams: new URLSearchParams(match[2] || ''),\n };\n }\n return undefined;\n}\n//# sourceMappingURL=aturi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidTidError = exports.isValidTid = exports.ensureValidTid = void 0;\nconst TID_LENGTH = 13;\nconst TID_REGEX = /^[234567abcdefghij][234567abcdefghijklmnopqrstuvwxyz]{12}$/;\nconst ensureValidTid = (tid) => {\n if (tid.length !== TID_LENGTH) {\n throw new InvalidTidError(`TID must be ${TID_LENGTH} characters`);\n }\n // simple regex to enforce most constraints via just regex and length.\n if (!TID_REGEX.test(tid)) {\n throw new InvalidTidError('TID syntax not valid (regex)');\n }\n};\nexports.ensureValidTid = ensureValidTid;\nconst isValidTid = (tid) => {\n return tid.length === TID_LENGTH && TID_REGEX.test(tid);\n};\nexports.isValidTid = isValidTid;\nclass InvalidTidError extends Error {\n}\nexports.InvalidTidError = InvalidTidError;\n//# sourceMappingURL=tid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidRecordKeyError = exports.isValidRecordKey = exports.ensureValidRecordKey = void 0;\nconst ensureValidRecordKey = (rkey) => {\n if (rkey.length > 512 || rkey.length < 1) {\n throw new InvalidRecordKeyError('record key must be 1 to 512 characters');\n }\n // simple regex to enforce most constraints via just regex and length.\n if (!/^[a-zA-Z0-9_~.:-]{1,512}$/.test(rkey)) {\n throw new InvalidRecordKeyError('record key syntax not valid (regex)');\n }\n if (rkey === '.' || rkey === '..')\n throw new InvalidRecordKeyError('record key can not be \".\" or \"..\"');\n};\nexports.ensureValidRecordKey = ensureValidRecordKey;\nconst isValidRecordKey = (rkey) => {\n try {\n (0, exports.ensureValidRecordKey)(rkey);\n }\n catch (err) {\n if (err instanceof InvalidRecordKeyError) {\n return false;\n }\n throw err;\n }\n return true;\n};\nexports.isValidRecordKey = isValidRecordKey;\nclass InvalidRecordKeyError extends Error {\n}\nexports.InvalidRecordKeyError = InvalidRecordKeyError;\n//# sourceMappingURL=recordkey.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InvalidDatetimeError = exports.normalizeDatetimeAlways = exports.normalizeDatetime = exports.isValidDatetime = exports.ensureValidDatetime = void 0;\n/* Validates datetime string against atproto Lexicon 'datetime' format.\n * Syntax is described at: https://atproto.com/specs/lexicon#datetime\n */\nconst ensureValidDatetime = (dtStr) => {\n const date = new Date(dtStr);\n // must parse as ISO 8601; this also verifies semantics like month is not 13 or 00\n if (isNaN(date.getTime())) {\n throw new InvalidDatetimeError('datetime did not parse as ISO 8601');\n }\n if (date.toISOString().startsWith('-')) {\n throw new InvalidDatetimeError('datetime normalized to a negative time');\n }\n // regex and other checks for RFC-3339\n if (!/^[0-9]{4}-[01][0-9]-[0-3][0-9]T[0-2][0-9]:[0-6][0-9]:[0-6][0-9](.[0-9]{1,20})?(Z|([+-][0-2][0-9]:[0-5][0-9]))$/.test(dtStr)) {\n throw new InvalidDatetimeError(\"datetime didn't validate via regex\");\n }\n if (dtStr.length > 64) {\n throw new InvalidDatetimeError('datetime is too long (64 chars max)');\n }\n if (dtStr.endsWith('-00:00')) {\n throw new InvalidDatetimeError('datetime can not use \"-00:00\" for UTC timezone');\n }\n if (dtStr.startsWith('000')) {\n throw new InvalidDatetimeError('datetime so close to year zero not allowed');\n }\n};\nexports.ensureValidDatetime = ensureValidDatetime;\n/* Same logic as ensureValidDatetime(), but returns a boolean instead of throwing an exception.\n */\nconst isValidDatetime = (dtStr) => {\n try {\n (0, exports.ensureValidDatetime)(dtStr);\n }\n catch (err) {\n if (err instanceof InvalidDatetimeError) {\n return false;\n }\n throw err;\n }\n return true;\n};\nexports.isValidDatetime = isValidDatetime;\n/* Takes a flexible datetime string and normalizes representation.\n *\n * This function will work with any valid atproto datetime (eg, anything which isValidDatetime() is true for). It *additionally* is more flexible about accepting datetimes that don't comply to RFC 3339, or are missing timezone information, and normalizing them to a valid datetime.\n *\n * One use-case is a consistent, sortable string. Another is to work with older invalid createdAt datetimes.\n *\n * Successful output will be a valid atproto datetime with millisecond precision (3 sub-second digits) and UTC timezone with trailing 'Z' syntax. Throws `InvalidDatetimeError` if the input string could not be parsed as a datetime, even with permissive parsing.\n *\n * Expected output format: YYYY-MM-DDTHH:mm:ss.sssZ\n */\nconst normalizeDatetime = (dtStr) => {\n if ((0, exports.isValidDatetime)(dtStr)) {\n const outStr = new Date(dtStr).toISOString();\n if ((0, exports.isValidDatetime)(outStr)) {\n return outStr;\n }\n }\n // check if this permissive datetime is missing a timezone\n if (!/.*(([+-]\\d\\d:?\\d\\d)|[a-zA-Z])$/.test(dtStr)) {\n const date = new Date(dtStr + 'Z');\n if (!isNaN(date.getTime())) {\n const tzStr = date.toISOString();\n if ((0, exports.isValidDatetime)(tzStr)) {\n return tzStr;\n }\n }\n }\n // finally try parsing as simple datetime\n const date = new Date(dtStr);\n if (isNaN(date.getTime())) {\n throw new InvalidDatetimeError('datetime did not parse as any timestamp format');\n }\n const isoStr = date.toISOString();\n if ((0, exports.isValidDatetime)(isoStr)) {\n return isoStr;\n }\n else {\n throw new InvalidDatetimeError('datetime normalized to invalid timestamp string');\n }\n};\nexports.normalizeDatetime = normalizeDatetime;\n/* Variant of normalizeDatetime() which always returns a valid datetime strings.\n *\n * If a InvalidDatetimeError is encountered, returns the UNIX epoch time as a UTC datetime (1970-01-01T00:00:00.000Z).\n */\nconst normalizeDatetimeAlways = (dtStr) => {\n try {\n return (0, exports.normalizeDatetime)(dtStr);\n }\n catch (err) {\n if (err instanceof InvalidDatetimeError) {\n return new Date(0).toISOString();\n }\n throw err;\n }\n};\nexports.normalizeDatetimeAlways = normalizeDatetimeAlways;\n/* Indicates a datetime string did not pass full atproto Lexicon datetime string format checks.\n */\nclass InvalidDatetimeError extends Error {\n}\nexports.InvalidDatetimeError = InvalidDatetimeError;\n//# sourceMappingURL=datetime.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(\"./handle\"), exports);\n__exportStar(require(\"./did\"), exports);\n__exportStar(require(\"./nsid\"), exports);\n__exportStar(require(\"./aturi\"), exports);\n__exportStar(require(\"./tid\"), exports);\n__exportStar(require(\"./recordkey\"), exports);\n__exportStar(require(\"./datetime\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isNsid = void 0;\nconst syntax_1 = require(\"@atproto/syntax\");\nconst isNsid = (v) => typeof v === 'string' && (0, syntax_1.isValidNsid)(v);\nexports.isNsid = isNsid;\n//# sourceMappingURL=nsid.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LexPermissionSyntax = void 0;\n/**\n * Translates a {@link LexPermission} into a {@link ScopeSyntax}.\n */\nclass LexPermissionSyntax {\n constructor(lexPermission) {\n Object.defineProperty(this, \"lexPermission\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: lexPermission\n });\n }\n get prefix() {\n return this.lexPermission.resource;\n }\n get positional() {\n return undefined;\n }\n get(key) {\n // Ignore reserved keywords\n if (key === 'type')\n return undefined;\n if (key === 'resource')\n return undefined;\n // Ignore inherited properties (toString(), etc.)\n if (!Object.hasOwn(this.lexPermission, key))\n return undefined;\n return this.lexPermission[key];\n }\n *keys() {\n for (const key of Object.keys(this.lexPermission)) {\n if (this.get(key) !== undefined)\n yield key;\n }\n }\n getSingle(key) {\n const value = this.get(key);\n if (Array.isArray(value))\n return null;\n return value;\n }\n getMulti(key) {\n const value = this.get(key);\n if (value === undefined)\n return undefined;\n if (!Array.isArray(value))\n return null;\n return value;\n }\n toJSON() {\n return this.lexPermission;\n }\n}\nexports.LexPermissionSyntax = LexPermissionSyntax;\n//# sourceMappingURL=syntax-lexicon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RepoPermission = exports.isCollectionParam = exports.isRepoAction = exports.REPO_ACTIONS = exports.isNsid = void 0;\nconst nsid_js_1 = require(\"../lib/nsid.js\");\nObject.defineProperty(exports, \"isNsid\", { enumerable: true, get: function () { return nsid_js_1.isNsid; } });\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nconst util_js_1 = require(\"../lib/util.js\");\nexports.REPO_ACTIONS = Object.freeze([\n 'create',\n 'update',\n 'delete',\n]);\nexports.isRepoAction = (0, util_js_1.knownValuesValidator)(exports.REPO_ACTIONS);\nconst isCollectionParam = (value) => value === '*' || (0, nsid_js_1.isNsid)(value);\nexports.isCollectionParam = isCollectionParam;\nclass RepoPermission {\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 matches({ action, collection }) {\n return (this.action.includes(action) &&\n (this.collection.includes('*') ||\n this.collection.includes(collection)));\n }\n toString() {\n return RepoPermission.parser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'repo'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return RepoPermission.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = RepoPermission.parser.parse(syntax);\n if (!result)\n return null;\n return new RepoPermission(result.collection, result.action);\n }\n static scopeNeededFor(options) {\n return RepoPermission.parser.format({\n collection: [options.collection],\n action: [options.action],\n });\n }\n}\nexports.RepoPermission = RepoPermission;\nObject.defineProperty(RepoPermission, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new parser_js_1.Parser('repo', {\n collection: {\n multiple: true,\n required: true,\n validate: exports.isCollectionParam,\n normalize: (value) => {\n if (value.length > 1) {\n if (value.includes('*'))\n return ['*'];\n return [...new Set(value)].sort();\n }\n return value;\n },\n },\n action: {\n multiple: true,\n required: false,\n validate: exports.isRepoAction,\n default: exports.REPO_ACTIONS,\n normalize: (value) => {\n return value === exports.REPO_ACTIONS\n ? exports.REPO_ACTIONS // No need to filter if the default was used\n : exports.REPO_ACTIONS.filter(includedIn, value);\n },\n },\n }, 'collection')\n});\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-permission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RpcPermission = exports.isAudParam = exports.isLxmParam = exports.isNsid = exports.isAtprotoAudience = void 0;\nconst did_1 = require(\"@atproto/did\");\nObject.defineProperty(exports, \"isAtprotoAudience\", { enumerable: true, get: function () { return did_1.isAtprotoAudience; } });\nconst nsid_js_1 = require(\"../lib/nsid.js\");\nObject.defineProperty(exports, \"isNsid\", { enumerable: true, get: function () { return nsid_js_1.isNsid; } });\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nconst isLxmParam = (value) => value === '*' || (0, nsid_js_1.isNsid)(value);\nexports.isLxmParam = isLxmParam;\nconst isAudParam = (value) => value === '*' || (0, did_1.isAtprotoAudience)(value);\nexports.isAudParam = isAudParam;\nclass RpcPermission {\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 return RpcPermission.parser.format(this);\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'rpc'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return RpcPermission.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = RpcPermission.parser.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 RpcPermission(result.aud, result.lxm);\n }\n static scopeNeededFor(options) {\n return RpcPermission.parser.format({\n aud: options.aud,\n lxm: [options.lxm],\n });\n }\n}\nexports.RpcPermission = RpcPermission;\nObject.defineProperty(RpcPermission, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new parser_js_1.Parser('rpc', {\n lxm: {\n multiple: true,\n required: true,\n validate: exports.isLxmParam,\n normalize: (value) => value.length > 1 && value.includes('*')\n ? ['*']\n : [...new Set(value)].sort(),\n },\n aud: {\n multiple: false,\n required: true,\n validate: exports.isAudParam,\n },\n }, 'lxm')\n});\n//# sourceMappingURL=rpc-permission.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IncludeScope = exports.isNsid = void 0;\nconst did_1 = require(\"@atproto/did\");\nconst nsid_js_1 = require(\"../lib/nsid.js\");\nObject.defineProperty(exports, \"isNsid\", { enumerable: true, get: function () { return nsid_js_1.isNsid; } });\nconst parser_js_1 = require(\"../lib/parser.js\");\nconst syntax_lexicon_js_1 = require(\"../lib/syntax-lexicon.js\");\nconst syntax_string_js_1 = require(\"../lib/syntax-string.js\");\nconst syntax_js_1 = require(\"../lib/syntax.js\");\nconst blob_permission_js_1 = require(\"./blob-permission.js\");\nconst repo_permission_js_1 = require(\"./repo-permission.js\");\nconst rpc_permission_js_1 = require(\"./rpc-permission.js\");\n/**\n * This is used to handle \"include:\" oauth scope values, used to include\n * permissions from a lexicon defined permission set. Not being a resource\n * permission, it does not implement `Matchable`.\n */\nclass IncludeScope {\n constructor(nsid, aud = undefined) {\n Object.defineProperty(this, \"nsid\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: nsid\n });\n Object.defineProperty(this, \"aud\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: aud\n });\n }\n toString() {\n return IncludeScope.parser.format(this);\n }\n /**\n * Converts an \"include:\" to the list of permissions it includes, based on the\n * lexicon defined permission set.\n */\n toPermissions(permissionSet) {\n return permissionSet.permissions\n .map(this.parsePermission, this)\n .filter(this.isAllowedPermission, this);\n }\n parsePermission(permission) {\n if (permission.resource === 'rpc' &&\n permission.inheritAud === true &&\n permission.aud === undefined &&\n this.aud !== undefined) {\n // \"rpc\" permissions can \"inherit\" their audience from \"aud\" param defined\n // in the \"include:<nsid>?aud=<audience>\" scope the permission set was\n // loaded from.\n return parsePermission({\n ...permission,\n inheritAud: undefined,\n aud: this.aud,\n });\n }\n return parsePermission(permission);\n }\n /**\n * Verifies that a permission included through a lexicon permission set is\n * allowed in the context of the `include:` scope. This basically checks that\n * the permission is \"under\" the namespace authority of the `include:` scope,\n * and that it only contains \"repo:\", \"rpc:\", or \"blob:\" permissions.\n */\n isAllowedPermission(permission) {\n if (permission instanceof rpc_permission_js_1.RpcPermission) {\n return permission.lxm.every(this.isParentAuthorityOf, this);\n }\n if (permission instanceof repo_permission_js_1.RepoPermission) {\n return permission.collection.every(this.isParentAuthorityOf, this);\n }\n if (permission instanceof blob_permission_js_1.BlobPermission) {\n return true;\n }\n return false;\n }\n /**\n * Verifies that a permission item's nsid is under the same authority as the\n * nsid of the lexicon itself (which is the same as the nsid of the `include:`\n * scope).\n */\n isParentAuthorityOf(otherNsid) {\n if (otherNsid === '*') {\n return false;\n }\n const lexiconNsid = this.nsid;\n const groupPrefixEnd = lexiconNsid.lastIndexOf('.');\n // There should always be a dot, but since this is a security feature, let's\n // be strict about it.\n if (groupPrefixEnd === -1) {\n throw new TypeError('Dot character (\".\") missing from lexicon NSID');\n }\n // Make sure that otherNsid is at least as long as the \"group prefix\"\n if (groupPrefixEnd >= otherNsid.length - 1) {\n return false;\n }\n // Make sure that the \"otherNsid\" starts with the group of the lexiconNsid,\n // up to the dot itself. We check in reverse order as nsids tend to have\n // long common prefixes.\n for (let i = groupPrefixEnd; i >= 0; i--) {\n if (lexiconNsid.charCodeAt(i) !== otherNsid.charCodeAt(i)) {\n return false;\n }\n }\n return true;\n }\n static fromString(scope) {\n if (!(0, syntax_js_1.isScopeStringFor)(scope, 'include'))\n return null;\n const syntax = syntax_string_js_1.ScopeStringSyntax.fromString(scope);\n return IncludeScope.fromSyntax(syntax);\n }\n static fromSyntax(syntax) {\n const result = IncludeScope.parser.parse(syntax);\n if (!result)\n return null;\n return new IncludeScope(result.nsid, result.aud);\n }\n}\nexports.IncludeScope = IncludeScope;\nObject.defineProperty(IncludeScope, \"parser\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: new parser_js_1.Parser('include', {\n nsid: {\n multiple: false,\n required: true,\n validate: nsid_js_1.isNsid,\n },\n aud: {\n multiple: false,\n required: false,\n validate: did_1.isAtprotoAudience,\n },\n }, 'nsid')\n});\nfunction parsePermission(permission) {\n if (isPermissionForResource(permission, 'repo')) {\n return repo_permission_js_1.RepoPermission.fromSyntax(new syntax_lexicon_js_1.LexPermissionSyntax(permission));\n }\n if (isPermissionForResource(permission, 'rpc')) {\n return rpc_permission_js_1.RpcPermission.fromSyntax(new syntax_lexicon_js_1.LexPermissionSyntax(permission));\n }\n if (isPermissionForResource(permission, 'blob')) {\n return blob_permission_js_1.BlobPermission.fromSyntax(new syntax_lexicon_js_1.LexPermissionSyntax(permission));\n }\n return null;\n}\nfunction isPermissionForResource(permission, type) {\n return permission.resource === type;\n}\n//# sourceMappingURL=include-scope.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isScopeStringFor = void 0;\nexports.isAtprotoOauthScope = isAtprotoOauthScope;\nconst syntax_js_1 = require(\"./lib/syntax.js\");\nObject.defineProperty(exports, \"isScopeStringFor\", { enumerable: true, get: function () { return syntax_js_1.isScopeStringFor; } });\nconst account_permission_js_1 = require(\"./scopes/account-permission.js\");\nconst blob_permission_js_1 = require(\"./scopes/blob-permission.js\");\nconst identity_permission_js_1 = require(\"./scopes/identity-permission.js\");\nconst include_scope_js_1 = require(\"./scopes/include-scope.js\");\nconst repo_permission_js_1 = require(\"./scopes/repo-permission.js\");\nconst rpc_permission_js_1 = require(\"./scopes/rpc-permission.js\");\n/**\n * @note This function does not only verify the scope string format (with\n * {@link isScopeStringFor}), but also checks if the provided parameters are\n * valid according to the respective scope syntax definition. This allows\n * excluding scopes that cannot be fully interpreted by the current version of\n * the code.\n */\nfunction isAtprotoOauthScope(value) {\n return (value === 'atproto' ||\n value === 'transition:email' ||\n value === 'transition:generic' ||\n value === 'transition:chat.bsky' ||\n account_permission_js_1.AccountPermission.fromString(value) != null ||\n blob_permission_js_1.BlobPermission.fromString(value) != null ||\n identity_permission_js_1.IdentityPermission.fromString(value) != null ||\n include_scope_js_1.IncludeScope.fromString(value) != null ||\n repo_permission_js_1.RepoPermission.fromString(value) != null ||\n rpc_permission_js_1.RpcPermission.fromString(value) != null);\n}\n//# sourceMappingURL=atproto-oauth-scope.js.map","\"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.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 account_permission_js_1 = require(\"./scopes/account-permission.js\");\nconst blob_permission_js_1 = require(\"./scopes/blob-permission.js\");\nconst identity_permission_js_1 = require(\"./scopes/identity-permission.js\");\nconst repo_permission_js_1 = require(\"./scopes/repo-permission.js\");\nconst rpc_permission_js_1 = require(\"./scopes/rpc-permission.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 (permissionScopeMatches(scope, resource, options))\n return true;\n }\n return false;\n }\n assert(resource, options) {\n if (!this.matches(resource, options)) {\n const scope = 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;\nfunction scopeNeededFor(resource, options) {\n switch (resource) {\n case 'account':\n return account_permission_js_1.AccountPermission.scopeNeededFor(options);\n case 'identity':\n return identity_permission_js_1.IdentityPermission.scopeNeededFor(options);\n case 'repo':\n return repo_permission_js_1.RepoPermission.scopeNeededFor(options);\n case 'rpc':\n return rpc_permission_js_1.RpcPermission.scopeNeededFor(options);\n case 'blob':\n return blob_permission_js_1.BlobPermission.scopeNeededFor(options);\n }\n // @ts-expect-error\n throw new TypeError(`Unknown resource: ${resource}`);\n}\nfunction permissionScopeMatches(scope, resource, options) {\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 const permission = parsePermissionScope(resource, scope);\n if (!permission)\n return false;\n // @ts-expect-error\n return permission.matches(options);\n}\nfunction parsePermissionScope(resource, scope) {\n switch (resource) {\n case 'account':\n return account_permission_js_1.AccountPermission.fromString(scope);\n case 'identity':\n return identity_permission_js_1.IdentityPermission.fromString(scope);\n case 'repo':\n return repo_permission_js_1.RepoPermission.fromString(scope);\n case 'rpc':\n return rpc_permission_js_1.RpcPermission.fromString(scope);\n case 'blob':\n return blob_permission_js_1.BlobPermission.fromString(scope);\n default:\n return null;\n }\n}\n//# sourceMappingURL=scopes-set.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopePermissions = void 0;\nconst scope_missing_error_js_1 = require(\"./scope-missing-error.js\");\nconst account_permission_js_1 = require(\"./scopes/account-permission.js\");\nconst blob_permission_js_1 = require(\"./scopes/blob-permission.js\");\nconst identity_permission_js_1 = require(\"./scopes/identity-permission.js\");\nconst repo_permission_js_1 = require(\"./scopes/repo-permission.js\");\nconst rpc_permission_js_1 = require(\"./scopes/rpc-permission.js\");\nconst scopes_set_js_1 = require(\"./scopes-set.js\");\nclass ScopePermissions {\n constructor(scope) {\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(!scope // \"\" | null | undefined\n ? undefined\n : typeof scope === 'string'\n ? scope.split(' ')\n : scope);\n }\n allowsAccount(options) {\n return this.scopes.matches('account', options);\n }\n assertAccount(options) {\n if (!this.allowsAccount(options)) {\n const scope = account_permission_js_1.AccountPermission.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_permission_js_1.IdentityPermission.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_permission_js_1.BlobPermission.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_permission_js_1.RepoPermission.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_permission_js_1.RpcPermission.scopeNeededFor(options);\n throw new scope_missing_error_js_1.ScopeMissingError(scope);\n }\n }\n}\nexports.ScopePermissions = ScopePermissions;\n//# sourceMappingURL=scope-permissions.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScopePermissionsTransition = void 0;\nconst scope_permissions_js_1 = require(\"./scope-permissions.js\");\n/**\n * Overrides the default permission set to allow transitional scopes to be used\n * in place of the generic scopes.\n */\nclass ScopePermissionsTransition extends scope_permissions_js_1.ScopePermissions {\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.ScopePermissionsTransition = ScopePermissionsTransition;\n//# sourceMappingURL=scope-permissions-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(\"./atproto-oauth-scope.js\"), exports);\n__exportStar(require(\"./scope-missing-error.js\"), exports);\n__exportStar(require(\"./scope-permissions-transition.js\"), exports);\n__exportStar(require(\"./scope-permissions.js\"), exports);\n__exportStar(require(\"./scopes-set.js\"), exports);\n__exportStar(require(\"./scopes/account-permission.js\"), exports);\n__exportStar(require(\"./scopes/blob-permission.js\"), exports);\n__exportStar(require(\"./scopes/identity-permission.js\"), exports);\n__exportStar(require(\"./scopes/include-scope.js\"), exports);\n__exportStar(require(\"./scopes/repo-permission.js\"), exports);\n__exportStar(require(\"./scopes/rpc-permission.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',\n 'accent-primary',\n 'transition duration-300 ease-in-out',\n 'outline-none',\n 'focus:ring-primary focus:ring-2 focus:ring-offset-1 focus:ring-offset-white dark:focus:ring-offset-black',\n invalid && 'accent-error focus:border-error',\n disabled && 'bg-contrast-50 text-contrast-500 cursor-not-allowed',\n className,\n ])}\n />\n )\n },\n)\n\nCheckbox.displayName = 'Checkbox'\n","import type { PermissionSet, PermissionSets } from '#/hydration-data.d.ts'\nimport { Trans, useLingui } from '@lingui/react/macro'\nimport { Fragment, HTMLAttributes, ReactNode, useMemo } from 'react'\nimport { Override } from '#/lib/util'\nimport {\n AudParam,\n BlobPermission,\n CollectionParam,\n IncludeScope,\n LxmParam,\n RepoPermission,\n RpcPermission,\n ScopePermissionsTransition,\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 AtomIcon,\n AuthenticateIcon,\n ButterflyIcon,\n ChatIcon,\n CheckMarkIcon,\n EmailIcon,\n NewspaperIcon,\n RaisingHandIcon,\n} from './icons'\nimport { LangProp } from './lang-string'\n\nexport type ScopeDescriptionProps = Override<\n HTMLAttributes<HTMLDivElement>,\n {\n clientTrusted?: boolean\n clientFirstParty?: boolean\n scope?: string\n permissionSets: PermissionSets\n\n allowEmail?: boolean\n onAllowEmail?: (allowed: boolean) => void\n }\n>\n\nexport function ScopeDescription({\n scope,\n permissionSets,\n clientTrusted = false,\n clientFirstParty = false,\n allowEmail,\n onAllowEmail,\n\n // div\n className = '',\n ...attrs\n}: ScopeDescriptionProps) {\n const includeScopes = useMemo(() => {\n return Array.from(\n new Set(\n scope\n ?.split(' ')\n .map((v) => IncludeScope.fromString(v))\n .filter((v) => v != null),\n ),\n )\n }, [scope])\n const permissions = useMemo(() => {\n return new ScopePermissionsTransition(scope)\n }, [scope])\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 <IncludedPermissions\n includeScopes={includeScopes}\n permissionSets={permissionSets}\n />\n\n <FineGrainedPermissions permissions={permissions} />\n\n {(!clientFirstParty || !clientTrusted) && (\n <IdentityWarning className=\"mt-2\" permissions={permissions} />\n )}\n </div>\n )\n}\n\nfunction IncludedPermissions({\n includeScopes,\n permissionSets,\n}: {\n includeScopes: IncludeScope[]\n permissionSets: PermissionSets\n}) {\n if (!includeScopes.length) return null\n\n return (\n <>\n {includeScopes.map((includeScope, i) => (\n <IncludeScopePermissions\n key={i}\n includeScope={includeScope}\n permissionSet={permissionSets[includeScope.nsid]}\n />\n ))}\n </>\n )\n}\n\nfunction IncludeScopePermissions({\n includeScope,\n permissionSet,\n}: {\n includeScope: IncludeScope\n permissionSet?: PermissionSet\n}) {\n const { nsid } = includeScope\n\n const permissions = useMemo(() => {\n if (!permissionSet) return null\n const parsedPermissions = includeScope.toPermissions(permissionSet)\n return new ScopePermissionsTransition(\n parsedPermissions.map((p) => p.toString()),\n )\n }, [includeScope, permissionSet])\n\n return (\n <DescriptionCard\n role=\"listitem\"\n image={\n isBskyAppNsid(nsid) ? (\n <ButterflyIcon className=\"size-6\" />\n ) : isBskyChatNsid(nsid) ? (\n <ChatIcon className=\"size-6\" />\n ) : nsid.startsWith('com.atproto.moderation.') ? (\n <RaisingHandIcon className=\"size-6\" />\n ) : (\n <AtomIcon className=\"size-6\" />\n )\n }\n title={\n <LangProp object={permissionSet} property=\"title\" fallback={nsid} />\n }\n description={\n <LangProp\n object={permissionSet}\n property=\"detail\"\n fallback={\n // Do not set the \"nsid\" as fallback for the \"detail\" if is was already used when displaying the \"title\"\n permissionSet?.title ? nsid : null\n }\n />\n }\n >\n <p className=\"mt-1\">\n <Trans>\n The application requests the permissions necessary to perform the\n following actions on your behalf:\n </Trans>\n </p>\n {permissions ? (\n <>\n <RpcMethodsTable className=\"mt-2\" permissions={permissions} />\n <RepoTable className=\"mt-2\" permissions={permissions} />\n </>\n ) : null}\n </DescriptionCard>\n )\n}\n\nfunction IdentityWarning({\n permissions,\n\n // Admonition\n type = 'alert',\n prominent = true,\n ...props\n}: {\n permissions: ScopePermissionsTransition\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 <p>\n <Trans>\n The application is asking for full control over your network\n identity, meaning that it could <b>permanently break</b>, or even{' '}\n <b>steal</b>, your account. Only grant this permission to\n applications you really trust.\n </Trans>\n </p>\n </Admonition>\n )\n }\n\n return null\n}\n\nfunction EmailPermissions({\n permissions,\n allowEmail,\n onAllowEmail,\n}: {\n permissions: ScopePermissionsTransition\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\nfunction AccountPermissions({\n permissions,\n}: {\n permissions: ScopePermissionsTransition\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 * Will display detailed rep and rpc permissions unless the app only has\n * app.bsky or chat.bsky specific permissions, in which case the\n * <BlueskyAppviewPermissions /> and <BlueskyChatPermissions /> components cover\n * them.\n */\nfunction FineGrainedPermissions({\n permissions,\n}: {\n permissions: ScopePermissionsTransition\n}) {\n const hasOnlyBskyAppSpecificPermissions = 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 = RpcPermission.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 = RepoPermission.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 if (hasOnlyBskyAppSpecificPermissions) return null\n\n return (\n <>\n <RepoPermissions permissions={permissions} />\n <RpcMethodsDetails permissions={permissions} />\n </>\n )\n}\n\nfunction BlueskyAppviewPermissions({\n permissions,\n}: {\n permissions: ScopePermissionsTransition\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: ScopePermissionsTransition\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: ScopePermissionsTransition\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: ScopePermissionsTransition\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) => RpcPermission.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 the\n following actions on your behalf:\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: ScopePermissionsTransition\n children?: never\n }\n>\nfunction RpcMethodsTable({\n permissions,\n className = '',\n ...attrs\n}: RpcMethodsTableProps) {\n const audLxmsEntries = useMemo(() => {\n const map = new Map<AudParam, Set<LxmParam>>()\n\n for (const s of permissions.scopes) {\n const parsed = RpcPermission.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 [\n aud,\n lxms.has('*')\n ? (['*'] as const)\n : Array.from(lxms).sort((a, b) => a.localeCompare(b)),\n ] as const,\n )\n }, [permissions])\n\n if (!audLxmsEntries.length) return null\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\">\n <Trans context=\"RPC lxm\">Call</Trans>\n </th>\n <th className=\"text-left font-normal\">\n <Trans context=\"RPC aud\">Towards</Trans>\n </th>\n </tr>\n </thead>\n <tbody>\n {audLxmsEntries.map(([aud, lxms]) =>\n lxms.map((lxm, i, array) => (\n <tr key={lxm} className=\"text-xs\">\n <td className={i > 0 ? 'pt-1' : undefined}>\n <Lxm lxm={lxm} />\n </td>\n {i === 0 && (\n <td className=\"align-top\" rowSpan={array.length}>\n <Aud aud={aud} />\n </td>\n )}\n </tr>\n )),\n )}\n </tbody>\n </table>\n )\n}\n\nfunction RepoPermissions({\n permissions,\n}: {\n permissions: ScopePermissionsTransition\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) => RepoPermission.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 requests the permissions necessary to perform the\n following actions on your behalf:\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: ScopePermissionsTransition\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 CollectionParam,\n {\n create: boolean\n update: boolean\n delete: boolean\n }\n >()\n\n for (const s of permissions.scopes) {\n const parsed = RepoPermission.fromString(s)\n if (!parsed) continue\n\n for (const coll of parsed.collection) {\n if (map.has(coll)) {\n const actions = map.get(coll)!\n for (const action of parsed.action) actions[action] = true\n } else {\n map.set(coll, {\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 blobScopes = useMemo(() => {\n if (permissions.hasTransitionGeneric) {\n return [new BlobPermission(['*/*'])]\n }\n return Array.from(\n permissions.scopes.map((v) => BlobPermission.fromString(v)),\n ).filter((v) => v != null)\n }, [permissions])\n\n if (!nsidActions.size) return null\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(([coll, actions], i) => (\n <tr key={coll} className=\"text-xs\">\n <td className={i > 0 ? 'pt-1' : undefined}>\n <Collection coll={coll} />\n </td>\n <td className=\"text-center\">\n {starActions?.create || actions.create ? (\n <CheckMarkIcon className=\"inline-block size-3\" />\n ) : null}\n </td>\n <td className=\"text-center\">\n {starActions?.update || actions.update ? (\n <CheckMarkIcon className=\"inline-block size-3\" />\n ) : null}\n </td>\n <td className=\"text-center\">\n {starActions?.delete || actions.delete ? (\n <CheckMarkIcon className=\"inline-block size-3\" />\n ) : null}\n </td>\n </tr>\n ))}\n {blobScopes.length > 0 && (\n <tr>\n <td className=\"pt-2\">\n <Trans>Blob storage</Trans>\n </td>\n <td colSpan={3} className=\"pt-2 text-center\">\n <Trans>Upload files</Trans>\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 = RpcPermission.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: CollectionParam | LxmParam): 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 = RepoPermission.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 = RpcPermission.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\ntype LxmProps = Override<\n Omit<HTMLAttributes<HTMLDivElement>, 'children'>,\n { lxm: LxmParam }\n>\nfunction Lxm({ lxm, ...attrs }: LxmProps) {\n return lxm === '*' ? (\n <ItemDescription {...attrs}>\n <Trans>Any method</Trans>\n </ItemDescription>\n ) : (\n <Nsid {...attrs} nsid={lxm} />\n )\n}\n\ntype AudProps = Override<\n Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title'>,\n { aud: AudParam }\n>\nfunction Aud({ aud, ...attrs }: AudProps) {\n if (aud.startsWith('did:web:api.bsky.app#')) {\n return (\n <ItemDescription {...attrs} title={aud}>\n <Trans>Bluesky App services</Trans>\n </ItemDescription>\n )\n }\n if (aud.startsWith('did:web:api.bsky.chat#')) {\n return (\n <ItemDescription {...attrs} title={aud}>\n <Trans>Bluesky Chat services</Trans>\n </ItemDescription>\n )\n }\n if (aud.startsWith('did:web:') && aud.includes('#')) {\n const domain = aud.slice(8, aud.indexOf('#'))\n return (\n <ItemDescription {...attrs} title={aud}>\n <Trans>\n A service controlled by <b>{domain}</b>\n </Trans>\n </ItemDescription>\n )\n }\n if (aud === '*') {\n return (\n <ItemDescription {...attrs}>\n <Trans>Any service</Trans>\n </ItemDescription>\n )\n }\n\n return (\n <Identifier {...attrs} title={aud}>\n {aud}\n </Identifier>\n )\n}\n\ntype CollectionProps = Override<\n HTMLAttributes<HTMLDivElement>,\n { coll: CollectionParam; children?: never }\n>\nfunction Collection({ coll, ...attrs }: CollectionProps) {\n return coll === '*' ? (\n <ItemDescription {...attrs}>\n <Trans>Any collection</Trans>\n </ItemDescription>\n ) : (\n <Nsid {...attrs} nsid={coll} />\n )\n}\n\ntype ItemDescriptionProps = HTMLAttributes<HTMLDivElement>\nfunction ItemDescription({\n children,\n className = '',\n ...attrs\n}: ItemDescriptionProps) {\n return (\n <em {...attrs} className={`text-slate-500 ${className}`}>\n {children}\n </em>\n )\n}\n\ntype NsidProps = Override<IdentifierProps, { nsid: string; children?: never }>\nfunction Nsid({ nsid, ...attrs }: NsidProps) {\n return (\n <Identifier {...attrs}>\n {nsid.split('.').map((part, i) =>\n i === 0 ? (\n part\n ) : (\n // line break **after** the dot\n <Fragment key={i}>\n {'.'}\n <wbr />\n {part}\n </Fragment>\n ),\n )}\n </Identifier>\n )\n}\n\ntype IdentifierProps = HTMLAttributes<HTMLDivElement>\nfunction Identifier({\n children,\n className = '',\n ...attrs\n}: IdentifierProps): ReactNode {\n return (\n <code {...attrs} className={`text-slate-500 ${className}`}>\n {children}\n </code>\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 type { PermissionSets } from '#/hydration-data.d.ts'\nimport { 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 { AccountPermission } 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 permissionSets: PermissionSets\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 = AccountPermission.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 permissionSets,\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 permissionSets={permissionSets}\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 type { PermissionSets } from '#/hydration-data.d.ts'\nimport { 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 permissionSets: PermissionSets\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 permissionSets,\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 permissionSets={permissionSets}\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 actionable?: boolean\n }\n>\n\nexport function InputContainer({\n icon,\n append,\n bellow,\n actionable,\n\n // div\n className,\n children,\n onFocus,\n onBlur,\n ...props\n}: InputContainerProps) {\n const [hasFocus, setHasFocus] = useState(false)\n\n actionable ??= props.onClick != null\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\n // Transition\n 'transition duration-300 ease-in-out',\n\n // Outline\n 'outline-none',\n 'focus:ring-primary focus:ring-2 focus:ring-offset-1 focus:ring-offset-white dark:focus:ring-offset-black',\n 'has-focus:ring-primary has-focus:ring-2 has-focus:ring-offset-1 has-focus:ring-offset-white dark:has-focus:ring-offset-black',\n\n // Background\n 'bg-gray-100 dark:bg-gray-800',\n actionable\n ? 'cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700'\n : undefined,\n\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\n // Font\n 'text-slate-600 dark:text-slate-300',\n )}\n >\n {icon && (\n <div\n className={clsx(\n 'flex shrink-0 grow-0 items-center justify-center',\n 'mx-2',\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 actionable={false}\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 />\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 inputRef.current?.focus()\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 >\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 >\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\n 'accent-primary',\n 'cursor-pointer',\n // Background\n 'bg-gray-100 dark:bg-gray-800',\n 'hover:bg-gray-200 dark:hover:bg-gray-700',\n // Border\n 'transition duration-300 ease-in-out',\n 'outline-none',\n 'focus:ring-primary focus:ring-2 focus:ring-offset-1 focus:ring-offset-white dark:focus:ring-offset-black',\n // Font\n 'text-slate-600 dark:text-slate-300',\n // Layout\n 'rounded-lg',\n 'p-2 pr-1',\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 permissionSets={authorizeData.permissionSets}\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","syntax","isScopeStringFor","prefix","nextChar","util","minIdx","knownValuesValidator","values","set","syntaxString","util_js_1","require$$0","ScopeStringSyntax","positional","params","_a","normalizeURIComponent","scopeValue","paramIdx","colonIdx","prefixEnd","ALLOWED_SCOPE_CHARS","NORMALIZABLE_CHARS_MAP","c","encoded","end","i","encodedChar","normalizedChar","parser","syntax_string_js_1","Parser","schema","positionalName","normalized","arrayParamEquals","unique","v","result","definition","param","exports","parser_js_1","require$$1","syntax_js_1","require$$2","require$$3","AccountPermission","attr","action","options","mime","isMime","isAccept","matchesAccept","matchesAnyAccept","isStringSlashString","slashIndex","matchesAcceptUnsafe","accept","matchesAnyAcceptUnsafe","acceptable","mime_js_1","BlobPermission","toLowerCase","isNonRedundant","base","IdentityPermission","val","assertIs","_arg","assertNever","_x","items","obj","validKeys","k","filtered","e","object","keys","checker","joinValues","array","separator","_","objectUtil","first","second","getParsedType","ZodError_1","util_1","quotelessJson","ZodError","issues","subs","actualProto","_mapper","mapper","issue","fieldErrors","processError","curr","el","formErrors","en","errorMap","_ctx","message","__importDefault","this","mod","errors","en_1","overrideErrorMap","setErrorMap","getErrorMap","errors_1","makeIssue","path","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","addIssueToContext","ctx","overrideMap","x","ParseStatus","status","results","arrayValue","pairs","syncPairs","pair","finalObject","DIRTY","OK","isAborted","isDirty","isValid","isAsync","typeAliases","errorUtil_1","errorUtil","__classPrivateFieldGet","receiver","kind","f","__classPrivateFieldSet","_ZodEnum_cache","_ZodNativeEnum_cache","types","parseUtil_1","require$$4","ParseInputLazyPath","parent","handleResult","processCreateParams","invalid_type_error","required_error","iss","_b","ZodType","input","err","maybeAsyncResult","check","getIssueProperties","setError","refinementData","refinement","ZodEffects","ZodFirstPartyTypeKind","def","ZodOptional","ZodNullable","ZodArray","ZodPromise","option","ZodUnion","incoming","ZodIntersection","transform","defaultValueFunc","ZodDefault","ZodBranded","catchValueFunc","ZodCatch","This","ZodPipeline","ZodReadonly","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","nanoidRegex","jwtRegex","durationRegex","emailRegex","_emojiRegex","emojiRegex","ipv4Regex","ipv4CidrRegex","ipv6Regex","ipv6CidrRegex","base64Regex","base64urlRegex","dateRegexSource","dateRegex","timeRegexSource","regex","timeRegex","datetimeRegex","opts","isValidIP","ip","version","isValidJWT","jwt","alg","header","base64","decoded","isValidCidr","ZodString","tooBig","tooSmall","validation","minLength","maxLength","len","ch","min","max","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","valInt","stepInt","ZodNumber","inclusive","ZodBigInt","ZodBoolean","ZodDate","minDate","maxDate","ZodSymbol","ZodUndefined","ZodNull","ZodAny","ZodUnknown","ZodNever","ZodVoid","deepPartialify","ZodObject","newShape","fieldSchema","ZodTuple","shapeKeys","extraKeys","keyValidator","unknownKeys","catchall","_c","_d","defaultError","augmentation","merging","mask","newField","createZodEnum","handleResults","unionErrors","childCtx","dirty","getDiscriminator","ZodLazy","ZodLiteral","ZodEnum","ZodNativeEnum","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","bKeys","sharedKeys","newObj","sharedValue","newArray","itemA","itemB","handleParsed","parsedLeft","parsedRight","merged","left","right","itemIndex","rest","schemas","ZodRecord","keyType","valueType","third","ZodMap","finalMap","ZodSet","finalizeSet","elements","parsedSet","element","minSize","maxSize","size","ZodFunction","makeArgsIssue","makeReturnsIssue","returns","me","parsedArgs","parsedReturns","returnType","func","getter","expectedValues","enumValues","newDef","opt","nativeEnumValues","promisified","effect","checkCtx","arg","processed","executeRefinement","acc","inner","preprocess","newCtx","ZodNaN","inResult","freeze","cleanParams","custom","_params","fatal","r","_fatal","instanceOfType","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","onumber","oboolean","__createBinding","o","k2","desc","__exportStar","require$$5","__setModuleDefault","__importStar","z","didError","DidError","did","code","cause","InvalidDidError","uri","isFragment","isHexDigit","startIdx","endIdx","charCode","plc","isDidPlc","asDidPlc","assertDidPlc","did_error_js_1","DID_PLC_PREFIX","DID_PLC_PREFIX_LENGTH","DID_PLC_LENGTH","isBase32Char","assertDidMethod","extractDidMethod","assertDidMsid","assertDid","isDid","asDid","zod_1","DID_PREFIX","DID_PREFIX_LENGTH","start","msidSep","length","idSep","isDidWeb","asDidWeb","assertDidWeb","didWebToUrl","urlToDidWeb","buildDidWebUrl","did_js_1","canParse","port","hostIdx","pathIdx","host","atproto","isAtprotoDid","asAtprotoDid","assertAtprotoDid","assertAtprotoDidWeb","isAtprotoDidWeb","uri_js_1","methods_js_1","isDidWebWithPath","isDidWebWithHttpsPort","isLocalhostDid","isAtprotoAudience","hashIndex","rfc3968UriSchema","didControllerSchema","didRelativeUriSchema","fragmentIndex","didVerificationMethodSchema","didServiceIdSchema","didServiceTypeSchema","didServiceEndpointSchema","didServiceSchema","didAuthenticationSchema","service","visited","serviceId","ensureValidHandle","handle","InvalidHandleError","labels","l","ensureValidHandleRegex","normalizeHandle","normalizeAndEnsureValidHandle","isValidHandle","isValidTld","domain","ReservedHandleError","UnsupportedDomainError","DisallowedDomainError","ensureValidDid","method","ensureValidDidRegex","nsid","ensureValidNsid","parseNsid","isValidNsid","validateNsid","ensureValidNsidRegex","validateNsidRegex","NSID","authority","name","InvalidNsidError","hasDisallowedCharacters","segments","startsWithHyphen","endsWithHyphen","startsWithNumber","isValidIdentifier","aturi_validation","did_1","handle_1","nsid_1","ensureValidAtUri","uriParts","fragmentPart","parts","ensureValidAtUriRegex","aturiRegex","rm","groups","RELATIVE_REGEX","AtUri","parsed","parse","relativep","parseRelative","handleOrDid","collection","rkey","str","qs","hash","match","tid","TID_LENGTH","TID_REGEX","ensureValidTid","InvalidTidError","isValidTid","ensureValidRecordKey","InvalidRecordKeyError","isValidRecordKey","ensureValidDatetime","dtStr","date","InvalidDatetimeError","isValidDatetime","normalizeDatetime","outStr","tzStr","isoStr","normalizeDatetimeAlways","require$$6","syntax_1","isNsid","syntaxLexicon","LexPermissionSyntax","lexPermission","nsid_js_1","isCollectionParam","RepoPermission","includedIn","isLxmParam","isAudParam","RpcPermission","aud","lxm","syntax_lexicon_js_1","blob_permission_js_1","repo_permission_js_1","require$$7","rpc_permission_js_1","require$$8","IncludeScope","permissionSet","permission","parsePermission","otherNsid","lexiconNsid","groupPrefixEnd","isPermissionForResource","isAtprotoOauthScope","account_permission_js_1","identity_permission_js_1","include_scope_js_1","scopeMissingError","ScopeMissingError","scope_missing_error_js_1","ScopesSet","resource","permissionScopeMatches","scopeNeededFor","string","parsePermissionScope","scopePermissions","scopes_set_js_1","ScopePermissions","scopePermissionsTransition","scope_permissions_js_1","ScopePermissionsTransition","require$$9","require$$10","Checkbox","forwardRef","invalid","displayName","ScopeDescription","permissionSets","clientFirstParty","allowEmail","onAllowEmail","includeScopes","Array","from","Set","split","fromString","filter","permissions","scopes","has","EmailPermissions","IdentityPermissions","AccountPermissions","BlueskyAppviewPermissions","BlueskyChatPermissions","IncludedPermissions","FineGrainedPermissions","IdentityWarning","_Fragment","includeScope","IncludeScopePermissions","parsedPermissions","toPermissions","toString","isBskyAppNsid","ButterflyIcon","isBskyChatNsid","ChatIcon","startsWith","RaisingHandIcon","AtomIcon","LangProp","property","Trans_","RpcMethodsTable","RepoTable","prominent","allowsIdentity","allowedAction","allowsAccount","label","EmailIcon","$__i18n","checked","onChange","AccountOutlinedIcon","foundOne","rpc","isOfficialBlueskyAppviewServiceId","every","isBlueskySpecificNsid","repo","RepoPermissions","RpcMethodsDetails","hasBskyAppRepo","some","scopeEnablesBskyAppRepo","hasBskyAppRpc","scopeEnablesPrivateBskyAppMethods","hasTransitionChatBsky","scopeEnablesChat","AtSymbolIcon","hasTransitionGeneric","AuthenticateIcon","RpcDescription","audLxmsEntries","Map","get","add","entries","sort","localeCompare","lxms","table","thead","tr","th","tbody","td","Lxm","rowSpan","Aud","allowsRepo","NewspaperIcon","RepoDescription","nsidActions","coll","actions","create","includes","update","delete","blobScopes","starActions","nsidActionsEntries","_jsxs","Collection","CheckMarkIcon","colSpan","ItemDescription","Nsid","indexOf","Identifier","em","part","Fragment","wbr","FormCard","cancel","prepend","inert","form","AccountIdentifier","preferred_username","email","isConventionalOAuthClientId","URL","protocol","pathname","search","UrlViewer","proto","query","as","As","urlObj","UrlPartViewer","faded","bold","Comp","ClientName","span","simplifiedView","isTransitionScope","isAccountEmailScope","matches","stripAccountEmailScope","join","ConsentForm","onConsent","consentLabel","onReject","rejectLabel","onBack","backLabel","setAllowEmail","canUnsetEmail","onSubmit","acceptedScope","ul","li","tos_uri","rel","policy_uri","ConsentView","FieldsetContext","Fieldset","labelId","contextValue","fieldset","aria-labelledby","legend","useAsyncAction","onLoading","setLoading","doSetError","doSetLoading","controllerRef","resetRef","abort","useImperativeHandle","reset","run","controller","AbortController","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","inputRef","focusedRef","stopPropagation","focus","onMouseDown","InputPassword","autoHide","autoComplete","LockIcon","defaultValue","dir","autoCapitalize","autoCorrect","spellCheck","setVisible","setPassword","doChange","InputNewPassword","passwordInit","onPassword","validity","valid","OTP_CODE_EXAMPLE","InputToken","example","onToken","TokenIcon","token","setToken","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","count","completed","broken","atFirst","atLast","WizardCard","prevLabel","nextLabel","onDone","doneLabel","onNext","next","stepTitle","titleRender","stepContent","contentRender","HelpCard","links","helpLink","SignUpAccountForm","inviteCodeRequired","credentials","creds","onCredentials","onPrev","inviteCode","setInviteCode","resetForm","SignUpDisclaimer","tosLink","ppLink","LinkAnchor","link","MAX_LENGTH","MIN_LENGTH","MAX_FULL_LENGTH","isValidDomain","endsWith","useSegmentValidator","minLen","maxLen","Math","validateSegment","segment","validLength","validCharset","SignUpHandleForm","domains","availableDomains","handleInit","onHandle","domainIdx","setDomainIdx","d","setSegment","preview","ValidationMessage","hasValue","setSelectionRange","select","Number","XMarkIcon","_assertThisInitialized","self","_setPrototypeOf","_inheritsLoose","subClass","superClass","setPrototypeOf","ir","Ki","Ji","ht","or","sr","rr","t","n","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","yt","pr","ue","un","Qi","cn","lr","_r","Tt","F","Qe","bt","Zi","V","eo","dn","Ze","Oe","Rt","no","ro","io","X","mr","oo","vt","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","Sn","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","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","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","la","er","_t","ya","Ta","Li","Ra","ga","Sa","Ea","ne","ba","Fi","M","Hi","ji","va","We","T","qe","$i","Xi","Wi","Na","mt","nr","tn","qi","nn","Ia","Vi","Oa","getFrame","doc","win","getMountElement","scopeTag","breadcrumbMessages","HCaptcha","_React$Component","_this","React.createRef","_proto","_this2","frame","isApiReady","initSentry","hcaptcha","captchaId","nextProps","nextState","_this3","apihost","assethost","endpoint","imghost","hl","reCaptchaCompat","reportapi","sentry","loadAsync","scriptLocation","scriptSource","secureApi","_this$props$cleanup","cleanup","mountParams","hCaptchaLoader","onRender","_this4","onReady","renderParams","_this5","onLoad","onVerify","isRemoved","ekey","onExpire","_this$state","_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":"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","x_google_ignoreList":[0,18,19,20,21,22,23,24,25,26,27,94,95,96,97,98,99,100]}
|