{"version":3,"mappings":"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","names":["detectHtmlTag","htmlTagIdentifier","document","detect","args","i","res","m","require$$0","client","RouterProvider2","props","React.createElement","RouterProvider","ReactDOM.flushSync","ssrInfo","router","initSsrInfo","createHydratedRouter","localSsrInfo","stream","invariant","decodeViaTurboStream","value","e","routes","createClientRoutes","hydrationData","loaderData","initialMatches","matchRoutes","_a","match","routeId","route","manifestRoute","shouldHydrateRouteLoader","deserializeErrors","router2","createRouter","createBrowserHistory","mapRouteProperties","getSingleFetchDataStrategy","getPatchRoutesOnNavigationFunction","createClientRoutesWithHMRRevalidationOptOut","HydratedRouter","criticalCss","setCriticalCss","React2.useState","location","setLocation","React2.useLayoutEffect","newState","useFogOFWarDiscovery","React2.createElement","React2.Fragment","FrameworkContext","RemixErrorBoundary","specificErrorMessages","email","i18n","_","id","string","setupLinguiValidation","v","__vitePreload","init","then","main","locale","window","model","language","fromHtmlTag","loadCatalog","startTransition","jsx","StrictMode","I18nProvider","catch","error","console"],"ignoreList":[0,1,2],"sources":["../../../../../node_modules/.pnpm/@lingui+detect-locale@4.14.1/node_modules/@lingui/detect-locale/dist/index.mjs","../../../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","../../../../../node_modules/.pnpm/react-router@7.2.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router/dist/development/dom-export.mjs","../../../app/modules/lingui/validation.ts","../../../app/entry.client.tsx"],"sourcesContent":["function getCookie(key) {\n if (!key) {\n return;\n }\n const cookies = globalThis.document.cookie ? globalThis.document.cookie.split(\"; \") : [];\n const jar = {};\n for (let i = 0; i < cookies.length; i++) {\n const parts = cookies[i].split(\"=\");\n let value = parts.slice(1).join(\"=\");\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n try {\n const foundKey = parts[0].replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\n jar[foundKey] = value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent);\n if (key === foundKey) {\n break;\n }\n } catch (e) {\n }\n }\n return key ? jar[key] : jar;\n}\n\nfunction detectFromCookie(key) {\n return getCookie(key);\n}\n\nfunction detectFromPath(localePathIndex, location = globalThis.location) {\n const locale = location.pathname.match(/\\/([a-zA-Z-]*)/g);\n if (Array.isArray(locale)) {\n return locale[localePathIndex].replace(\"/\", \"\");\n }\n return null;\n}\n\nfunction detectFromStorage(key, options = { useSessionStorage: false }) {\n if (options.useSessionStorage) {\n return globalThis.sessionStorage.getItem(key);\n }\n return globalThis.localStorage.getItem(key);\n}\n\nfunction detectFromNavigator(navigator = globalThis.navigator) {\n const result = navigator.language || navigator.userLanguage;\n return result;\n}\n\nfunction detectFromSubdomain(localeSubdomainIndex, location = globalThis.location) {\n const locale = location.href.match(\n /(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi\n );\n if (Array.isArray(locale)) {\n return locale[localeSubdomainIndex].replace(\"http://\", \"\").replace(\"https://\", \"\").replace(\".\", \"\");\n }\n return null;\n}\n\nfunction detectHtmlTag(htmlTagIdentifier, document = globalThis.document) {\n if (htmlTagIdentifier) {\n return document.documentElement.getAttribute(htmlTagIdentifier);\n }\n return null;\n}\n\nfunction parse(query) {\n const parser = /([^=?#&]+)=?([^&]*)/g;\n const result = {};\n let part;\n while (part = parser.exec(query)) {\n const key = decode(part[1]);\n const value = decode(part[2]);\n if (key === null || value === null || key in result)\n continue;\n result[key] = value;\n }\n return result;\n}\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, \" \"));\n } catch (e) {\n return null;\n }\n}\n\nfunction detectFromUrl(parameter, location = globalThis.location) {\n if (!parameter)\n throw new Error(\"fromUrl parameter is required\");\n const result = parse(location.search)[parameter] || null;\n return result;\n}\n\nfunction detect(...args) {\n for (let i = 0; i < args.length; i++) {\n const res = typeof args[i] === \"function\" ? args[i]() : args[i];\n if (res)\n return res;\n }\n return null;\n}\nfunction multipleDetect(...args) {\n const locales = [];\n for (let i = 0; i < args.length; i++) {\n const res = typeof args[i] === \"function\" ? args[i]() : args[i];\n if (res)\n locales.push(res);\n }\n return locales;\n}\n\nexport { detect, detectFromCookie as fromCookie, detectHtmlTag as fromHtmlTag, detectFromNavigator as fromNavigator, detectFromPath as fromPath, detectFromStorage as fromStorage, detectFromSubdomain as fromSubdomain, detectFromUrl as fromUrl, multipleDetect };\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * react-router v7.2.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport {\n FrameworkContext,\n RemixErrorBoundary,\n RouterProvider,\n createBrowserHistory,\n createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut,\n createRouter,\n decodeViaTurboStream,\n deserializeErrors,\n getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy,\n invariant,\n mapRouteProperties,\n matchRoutes,\n shouldHydrateRouteLoader,\n useFogOFWarDiscovery\n} from \"./chunk-HA7DTUK3.mjs\";\n\n// lib/dom-export/dom-router-provider.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nfunction RouterProvider2(props) {\n return /* @__PURE__ */ React.createElement(RouterProvider, { flushSync: ReactDOM.flushSync, ...props });\n}\n\n// lib/dom-export/hydrated-router.tsx\nimport * as React2 from \"react\";\nvar ssrInfo = null;\nvar router = null;\nfunction initSsrInfo() {\n if (!ssrInfo && window.__reactRouterContext && window.__reactRouterManifest && window.__reactRouterRouteModules) {\n ssrInfo = {\n context: window.__reactRouterContext,\n manifest: window.__reactRouterManifest,\n routeModules: window.__reactRouterRouteModules,\n stateDecodingPromise: void 0,\n router: void 0,\n routerInitialized: false\n };\n }\n}\nfunction createHydratedRouter() {\n initSsrInfo();\n if (!ssrInfo) {\n throw new Error(\n \"You must be using the SSR features of React Router in order to skip passing a `router` prop to ``\"\n );\n }\n let localSsrInfo = ssrInfo;\n if (!ssrInfo.stateDecodingPromise) {\n let stream = ssrInfo.context.stream;\n invariant(stream, \"No stream found for single fetch decoding\");\n ssrInfo.context.stream = void 0;\n ssrInfo.stateDecodingPromise = decodeViaTurboStream(stream, window).then((value) => {\n ssrInfo.context.state = value.value;\n localSsrInfo.stateDecodingPromise.value = true;\n }).catch((e) => {\n localSsrInfo.stateDecodingPromise.error = e;\n });\n }\n if (ssrInfo.stateDecodingPromise.error) {\n throw ssrInfo.stateDecodingPromise.error;\n }\n if (!ssrInfo.stateDecodingPromise.value) {\n throw ssrInfo.stateDecodingPromise;\n }\n let routes = createClientRoutes(\n ssrInfo.manifest.routes,\n ssrInfo.routeModules,\n ssrInfo.context.state,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode\n );\n let hydrationData = void 0;\n let loaderData = ssrInfo.context.state.loaderData;\n if (ssrInfo.context.isSpaMode) {\n hydrationData = { loaderData };\n } else {\n hydrationData = {\n ...ssrInfo.context.state,\n loaderData: { ...loaderData }\n };\n let initialMatches = matchRoutes(\n routes,\n window.location,\n window.__reactRouterContext?.basename\n );\n if (initialMatches) {\n for (let match of initialMatches) {\n let routeId = match.route.id;\n let route = ssrInfo.routeModules[routeId];\n let manifestRoute = ssrInfo.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(\n manifestRoute,\n route,\n ssrInfo.context.isSpaMode\n ) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete hydrationData.loaderData[routeId];\n } else if (manifestRoute && !manifestRoute.hasLoader) {\n hydrationData.loaderData[routeId] = null;\n }\n }\n }\n if (hydrationData && hydrationData.errors) {\n hydrationData.errors = deserializeErrors(hydrationData.errors);\n }\n }\n let router2 = createRouter({\n routes,\n history: createBrowserHistory(),\n basename: ssrInfo.context.basename,\n hydrationData,\n mapRouteProperties,\n dataStrategy: getSingleFetchDataStrategy(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n () => router2\n ),\n patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode,\n ssrInfo.context.basename\n )\n });\n ssrInfo.router = router2;\n if (router2.state.initialized) {\n ssrInfo.routerInitialized = true;\n router2.initialize();\n }\n router2.createRoutesForHMR = /* spacer so ts-ignore does not affect the right hand of the assignment */\n createClientRoutesWithHMRRevalidationOptOut;\n window.__reactRouterDataRouter = router2;\n return router2;\n}\nfunction HydratedRouter() {\n if (!router) {\n router = createHydratedRouter();\n }\n let [criticalCss, setCriticalCss] = React2.useState(\n process.env.NODE_ENV === \"development\" ? ssrInfo?.context.criticalCss : void 0\n );\n if (process.env.NODE_ENV === \"development\") {\n if (ssrInfo) {\n window.__reactRouterClearCriticalCss = () => setCriticalCss(void 0);\n }\n }\n let [location, setLocation] = React2.useState(router.state.location);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router && !ssrInfo.routerInitialized) {\n ssrInfo.routerInitialized = true;\n ssrInfo.router.initialize();\n }\n }, []);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router) {\n return ssrInfo.router.subscribe((newState) => {\n if (newState.location !== location) {\n setLocation(newState.location);\n }\n });\n }\n }, [location]);\n invariant(ssrInfo, \"ssrInfo unavailable for HydratedRouter\");\n useFogOFWarDiscovery(\n router,\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode\n );\n return (\n // This fragment is important to ensure we match the JSX\n // structure so that useId values hydrate correctly\n /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\n FrameworkContext.Provider,\n {\n value: {\n manifest: ssrInfo.manifest,\n routeModules: ssrInfo.routeModules,\n future: ssrInfo.context.future,\n criticalCss,\n ssr: ssrInfo.context.ssr,\n isSpaMode: ssrInfo.context.isSpaMode\n }\n },\n /* @__PURE__ */ React2.createElement(RemixErrorBoundary, { location }, /* @__PURE__ */ React2.createElement(RouterProvider2, { router }))\n ), /* @__PURE__ */ React2.createElement(React2.Fragment, null))\n );\n}\nexport {\n HydratedRouter,\n RouterProvider2 as RouterProvider\n};\n","import { t } from \"@lingui/macro\";\nimport * as v from \"valibot\";\n\nexport const specificValidationRules = [\n \"bic\",\n \"bytes\",\n \"creditCard\",\n \"cuid2\",\n \"custom\",\n \"customAsync\",\n \"decimal\",\n \"email\",\n \"emoji\",\n \"endsWith\",\n \"excludes\",\n \"finite\",\n \"hash\",\n \"hexColor\",\n \"hexadecimal\",\n \"imei\",\n \"includes\",\n \"integer\",\n \"ip\",\n \"ipv4\",\n \"ipv6\",\n \"isoDate\",\n \"isoDateTime\",\n \"isoTime\",\n \"isoTimeSecond\",\n \"isoTimestamp\",\n \"isoWeek\",\n \"length\",\n \"mac\",\n \"mac48\",\n \"mac64\",\n \"maxBytes\",\n \"maxLength\",\n \"maxSize\",\n \"maxValue\",\n \"mimeType\",\n \"minBytes\",\n \"minLength\",\n \"minSize\",\n \"minValue\",\n \"multipleOf\",\n \"notBytes\",\n \"notLength\",\n \"notSize\",\n \"notValue\",\n \"octal\",\n \"regex\",\n \"safeInteger\",\n \"size\",\n \"startsWith\",\n \"ulid\",\n \"url\",\n \"uuid\",\n \"value\",\n] as const;\n\nconst specificErrorMessages = {\n email: t`The email address is invalid.`,\n string: t`This field is required.`,\n};\n\nexport const setupLinguiValidation = () => {\n // v.setGlobalMessage(\n // (issue) => t(\"validation.global\", { issue }),\n // i18n.language,\n // );\n // v.setSchemaMessage(\n // (issue) => t(\"validation.schema\", { issue }),\n // i18n.language,\n // );\n\n v.setSpecificMessage(v.string, specificErrorMessages.string);\n v.setSpecificMessage(v.email, specificErrorMessages.email);\n};\n","import { i18n } from \"@lingui/core\";\nimport { detect, fromHtmlTag } from \"@lingui/detect-locale\";\nimport { I18nProvider } from \"@lingui/react\";\nimport { StrictMode, startTransition } from \"react\";\nimport { hydrateRoot } from \"react-dom/client\";\nimport { HydratedRouter } from \"react-router/dom\";\nimport { loadCatalog } from \"./modules/lingui/lingui.ts\";\nimport { setupLinguiValidation } from \"./modules/lingui/validation.ts\";\n\nif (import.meta.env.MODE === \"production\" && import.meta.env.VITE_SENTRY_DSN) {\n import(\"./modules/sentry/monitoring.client.tsx\").then(({ init }) => init());\n}\n\nasync function main() {\n const locale = window.model?.language || detect(fromHtmlTag(\"lang\")) || \"en\";\n\n await loadCatalog(locale);\n\n setupLinguiValidation();\n\n startTransition(() => {\n hydrateRoot(\n document,\n \n \n \n \n ,\n );\n });\n}\n\nmain().catch((error) => console.error(error));\n"],"file":"assets/entry.client-jyur3QGY.js"}