@baseplate-dev/plugin-auth 2.0.3 → 2.0.5
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/auth0/constants/model-names.d.ts +4 -0
- package/dist/auth0/constants/model-names.d.ts.map +1 -0
- package/dist/auth0/constants/model-names.js +4 -0
- package/dist/auth0/constants/model-names.js.map +1 -0
- package/dist/auth0/core/common.d.ts.map +1 -1
- package/dist/auth0/core/common.js +3 -5
- package/dist/auth0/core/common.js.map +1 -1
- package/dist/auth0/core/components/auth0-definition-editor.d.ts.map +1 -1
- package/dist/auth0/core/components/auth0-definition-editor.js +11 -15
- package/dist/auth0/core/components/auth0-definition-editor.js.map +1 -1
- package/dist/auth0/core/node.d.ts.map +1 -1
- package/dist/auth0/core/node.js +2 -4
- package/dist/auth0/core/node.js.map +1 -1
- package/dist/auth0/core/schema/models.d.ts +2 -4
- package/dist/auth0/core/schema/models.d.ts.map +1 -1
- package/dist/auth0/core/schema/models.js +3 -2
- package/dist/auth0/core/schema/models.js.map +1 -1
- package/dist/auth0/core/schema/plugin-definition.d.ts +1 -18
- package/dist/auth0/core/schema/plugin-definition.d.ts.map +1 -1
- package/dist/auth0/core/schema/plugin-definition.js +2 -9
- package/dist/auth0/core/schema/plugin-definition.js.map +1 -1
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.d.ts +0 -1
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.d.ts.map +1 -1
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js +3 -3
- package/dist/auth0/generators/fastify/auth0-module/auth0-module.generator.js.map +1 -1
- package/dist/auth0/generators/react/auth0-apollo/auth0-apollo.generator.d.ts.map +1 -1
- package/dist/auth0/generators/react/react-auth0/react-auth0.generator.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.d.ts.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js +1 -0
- package/dist/local-auth/admin/generators/admin-crud-manage-roles-action/admin-crud-manage-roles-action.generator.js.map +1 -1
- package/dist/local-auth/admin/generators/admin-crud-reset-password-action/admin-crud-reset-password-action.generator.d.ts +1 -1
- package/dist/local-auth/admin/schema/manage-role-action.d.ts +3 -4
- package/dist/local-auth/admin/schema/manage-role-action.d.ts.map +1 -1
- package/dist/local-auth/admin/schema/reset-password-action.d.ts +3 -4
- package/dist/local-auth/admin/schema/reset-password-action.d.ts.map +1 -1
- package/dist/local-auth/admin/schema/roles-column.d.ts +3 -4
- package/dist/local-auth/admin/schema/roles-column.d.ts.map +1 -1
- package/dist/local-auth/admin/web.d.ts.map +1 -1
- package/dist/local-auth/admin/web.js +8 -13
- package/dist/local-auth/admin/web.js.map +1 -1
- package/dist/local-auth/constants/model-names.d.ts +19 -0
- package/dist/local-auth/constants/model-names.d.ts.map +1 -0
- package/dist/local-auth/constants/model-names.js +19 -0
- package/dist/local-auth/constants/model-names.js.map +1 -0
- package/dist/local-auth/core/common.d.ts.map +1 -1
- package/dist/local-auth/core/common.js +3 -5
- package/dist/local-auth/core/common.js.map +1 -1
- package/dist/local-auth/core/components/local-auth-definition-editor.d.ts.map +1 -1
- package/dist/local-auth/core/components/local-auth-definition-editor.js +10 -16
- package/dist/local-auth/core/components/local-auth-definition-editor.js.map +1 -1
- package/dist/local-auth/core/generators/auth-apollo/auth-apollo.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +0 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js +3 -3
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.js +1 -0
- package/dist/local-auth/core/generators/auth-hooks/templates/src/hooks/use-session.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +0 -2
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +5 -6
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.js +5 -5
- package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/services/user-session.service.ts +6 -6
- package/dist/local-auth/core/generators/auth-module/templates/module/utils/session-cookie.js +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/utils/session-cookie.js.map +1 -1
- package/dist/local-auth/core/generators/react-session/react-session.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.js +4 -24
- package/dist/local-auth/core/generators/react-session/templates/src/services/user-session-client.js.map +1 -1
- package/dist/local-auth/core/node.d.ts.map +1 -1
- package/dist/local-auth/core/node.js +0 -3
- package/dist/local-auth/core/node.js.map +1 -1
- package/dist/local-auth/core/schema/models.d.ts +2 -7
- package/dist/local-auth/core/schema/models.d.ts.map +1 -1
- package/dist/local-auth/core/schema/models.js +9 -8
- package/dist/local-auth/core/schema/models.js.map +1 -1
- package/dist/local-auth/core/schema/plugin-definition.d.ts +0 -28
- package/dist/local-auth/core/schema/plugin-definition.d.ts.map +1 -1
- package/dist/local-auth/core/schema/plugin-definition.js +1 -19
- package/dist/local-auth/core/schema/plugin-definition.js.map +1 -1
- package/dist/placeholder-auth/constants/model-names.d.ts +4 -0
- package/dist/placeholder-auth/constants/model-names.d.ts.map +1 -0
- package/dist/placeholder-auth/constants/model-names.js +4 -0
- package/dist/placeholder-auth/constants/model-names.js.map +1 -0
- package/dist/placeholder-auth/core/common.d.ts.map +1 -1
- package/dist/placeholder-auth/core/common.js +3 -5
- package/dist/placeholder-auth/core/common.js.map +1 -1
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.d.ts.map +1 -1
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js +12 -16
- package/dist/placeholder-auth/core/components/placeholder-auth-definition-editor.js.map +1 -1
- package/dist/placeholder-auth/core/schema/models.d.ts +2 -4
- package/dist/placeholder-auth/core/schema/models.d.ts.map +1 -1
- package/dist/placeholder-auth/core/schema/models.js +3 -2
- package/dist/placeholder-auth/core/schema/models.js.map +1 -1
- package/dist/placeholder-auth/core/schema/plugin-definition.d.ts +2 -18
- package/dist/placeholder-auth/core/schema/plugin-definition.d.ts.map +1 -1
- package/dist/placeholder-auth/core/schema/plugin-definition.js +2 -9
- package/dist/placeholder-auth/core/schema/plugin-definition.js.map +1 -1
- package/dist/web/assets/{__federation_expose_auth0CoreCommon-Dd4OxG3J.js → __federation_expose_auth0CoreCommon-zQL4xAil.js} +5 -11
- package/dist/web/assets/__federation_expose_auth0CoreCommon-zQL4xAil.js.map +1 -0
- package/dist/web/assets/{__federation_expose_auth0CoreWeb-C_de43BE.js → __federation_expose_auth0CoreWeb-BQJHnPPM.js} +26 -41
- package/dist/web/assets/__federation_expose_auth0CoreWeb-BQJHnPPM.js.map +1 -0
- package/dist/web/assets/{__federation_expose_authCoreCommon-BAF30G9e.js → __federation_expose_authCoreCommon-hEy5zrff.js} +3 -3
- package/dist/web/assets/{__federation_expose_authCoreCommon-BAF30G9e.js.map → __federation_expose_authCoreCommon-hEy5zrff.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_authCoreWeb-B26BFarY.js → __federation_expose_authCoreWeb-UlIYc0cq.js} +6 -6
- package/dist/web/assets/{__federation_expose_authCoreWeb-B26BFarY.js.map → __federation_expose_authCoreWeb-UlIYc0cq.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-DLbuTALX.js → __federation_expose_local-authAdminCommon-DyMAwXJ7.js} +2 -2
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-DLbuTALX.js.map → __federation_expose_local-authAdminCommon-DyMAwXJ7.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminWeb-bT8Js4V6.js → __federation_expose_local-authAdminWeb-B6PdHqzu.js} +7 -25
- package/dist/web/assets/__federation_expose_local-authAdminWeb-B6PdHqzu.js.map +1 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BtQr1I4Q.js +27 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BtQr1I4Q.js.map +1 -0
- package/dist/web/assets/{__federation_expose_local-authCoreWeb-DKVkRzEo.js → __federation_expose_local-authCoreWeb-DsK2Dfpr.js} +33 -87
- package/dist/web/assets/__federation_expose_local-authCoreWeb-DsK2Dfpr.js.map +1 -0
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-BZy2rgIt.js +26 -0
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-BZy2rgIt.js.map +1 -0
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-tw3UiMLM.js → __federation_expose_placeholder-authCoreWeb-OEDsMJ_b.js} +28 -43
- package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-OEDsMJ_b.js.map +1 -0
- package/dist/web/assets/{__federation_fn_import-B_QMlAIe.js → __federation_fn_import-v1QB_w7U.js} +2 -2
- package/dist/web/assets/{__federation_fn_import-B_QMlAIe.js.map → __federation_fn_import-v1QB_w7U.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-DdrB9jrq.js → web-Cb2knzA_.js} +6 -6
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-Cb2knzA_.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{project-builder-lib-BvG5Zcxb.js → project-builder-lib-CJdJXC1f.js} +25 -98
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CJdJXC1f.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{ui-components-CjIA8Av2.js → ui-components-CrL3nReP.js} +6 -6
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-CrL3nReP.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-LpAGNm5N.js → utils-CJgKqZu4.js} +173 -4
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-CJgKqZu4.js.map +1 -0
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-CEcQRiV1.js → react-router-DdszvTPE.js} +2 -2
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-CEcQRiV1.js.map → react-router-DdszvTPE.js.map} +1 -1
- package/dist/web/assets/{__federation_shared_zod-BK7IELHt.js → __federation_shared_zod-BGUJlEOa.js} +213 -302
- package/dist/web/assets/__federation_shared_zod-BGUJlEOa.js.map +1 -0
- package/dist/web/assets/{get-auth-plugin-definition-BrApugiB.js → get-auth-plugin-definition-Qo_0oJFS.js} +2 -2
- package/dist/web/assets/{get-auth-plugin-definition-BrApugiB.js.map → get-auth-plugin-definition-Qo_0oJFS.js.map} +1 -1
- package/dist/web/assets/{index-DAcyTb_o.js → index-KXYo3x9T.js} +2 -2
- package/dist/web/assets/{index-DAcyTb_o.js.map → index-KXYo3x9T.js.map} +1 -1
- package/dist/web/assets/{index.esm-BFQQfZNu.js → index.esm-BsVb2e-m.js} +2 -2
- package/dist/web/assets/{index.esm-BFQQfZNu.js.map → index.esm-BsVb2e-m.js.map} +1 -1
- package/dist/web/assets/{model-merger-boZDknXa.js → model-merger-BeuqGz00.js} +35 -59
- package/dist/web/assets/model-merger-BeuqGz00.js.map +1 -0
- package/dist/web/assets/model-names-CEoSIalq.js +21 -0
- package/dist/web/assets/model-names-CEoSIalq.js.map +1 -0
- package/dist/web/assets/plugin-definition-C1FCvorP.js +16 -0
- package/dist/web/assets/plugin-definition-C1FCvorP.js.map +1 -0
- package/dist/web/assets/plugin-definition-CeI3VlQi.js +31 -0
- package/dist/web/assets/plugin-definition-CeI3VlQi.js.map +1 -0
- package/dist/web/assets/plugin-definition-CpmhXG71.js +16 -0
- package/dist/web/assets/plugin-definition-CpmhXG71.js.map +1 -0
- package/dist/web/assets/{plugin-definition-CyqVivit.js → plugin-definition-p6J3lSNe.js} +2 -2
- package/dist/web/assets/{plugin-definition-CyqVivit.js.map → plugin-definition-p6J3lSNe.js.map} +1 -1
- package/dist/web/assets/{react-CKjL52W8.js → react-BUJ02Ozg.js} +2 -2
- package/dist/web/assets/{react-CKjL52W8.js.map → react-BUJ02Ozg.js.map} +1 -1
- package/dist/web/assets/remoteEntry.js +20 -20
- package/dist/web/assets/{style-BhUCMIWI.css → style-Cu4lNOci.css} +0 -18
- package/dist/web/assets/{styles-CyTaudys.js → styles-DMYfkBXJ.js} +3 -3
- package/dist/web/assets/{styles-CyTaudys.js.map → styles-DMYfkBXJ.js.map} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +14 -14
- package/dist/web/assets/__federation_expose_auth0CoreCommon-Dd4OxG3J.js.map +0 -1
- package/dist/web/assets/__federation_expose_auth0CoreWeb-C_de43BE.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authAdminWeb-bT8Js4V6.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreCommon-D9tovFrj.js +0 -32
- package/dist/web/assets/__federation_expose_local-authCoreCommon-D9tovFrj.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreWeb-DKVkRzEo.js.map +0 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-D1fszuKq.js +0 -32
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-D1fszuKq.js.map +0 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreWeb-tw3UiMLM.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DdrB9jrq.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-BvG5Zcxb.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-CjIA8Av2.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-LpAGNm5N.js.map +0 -1
- package/dist/web/assets/__federation_shared_zod-BK7IELHt.js.map +0 -1
- package/dist/web/assets/model-merger-boZDknXa.js.map +0 -1
- package/dist/web/assets/plugin-definition-B7A-hS1o.js +0 -19
- package/dist/web/assets/plugin-definition-B7A-hS1o.js.map +0 -1
- package/dist/web/assets/plugin-definition-BeK0C-OP.js +0 -49
- package/dist/web/assets/plugin-definition-BeK0C-OP.js.map +0 -1
- package/dist/web/assets/plugin-definition-DfsGhMRb.js +0 -19
- package/dist/web/assets/plugin-definition-DfsGhMRb.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-router-CEcQRiV1.js","sources":["../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../../../node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/scheduler.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/types.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/store.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/derived.js","../../../../../../node_modules/.pnpm/@tanstack+history@1.129.7/node_modules/@tanstack/history/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/path.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/qss.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchParams.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/root.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/lru-cache.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/defer.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/awaited.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ClientOnly.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/with-selector.js","../../../../../../node_modules/.pnpm/@tanstack+react-store@0.7.3_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-store/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/routerContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouter.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouterState.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/matchContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useMatch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderData.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderDeps.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useParams.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useSearch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useNavigate.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/fileRoute.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/lazyRouteComponent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Transitioner.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/SafeFragment.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Match.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/RouterProvider.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScrollRestoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useBlocker.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouteContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLocation.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useCanGoBack.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Asset.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/HeadContent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Scripts.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n store.listeners.forEach(\n (listener) => listener({\n prevVal: store.prevState,\n currentVal: store.state\n })\n );\n}\nfunction __notifyDerivedListeners(derived) {\n derived.listeners.forEach(\n (listener) => listener({\n prevVal: derived.prevState,\n currentVal: derived.state\n })\n );\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = Array.from(__pendingUpdates)[0];\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","function isUpdaterFunction(updater) {\n return typeof updater === \"function\";\n}\nexport {\n isUpdaterFunction\n};\n//# sourceMappingURL=types.js.map\n","import { __flush } from \"./scheduler.js\";\nimport { isUpdaterFunction } from \"./types.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n setState(updater) {\n var _a, _b, _c;\n this.prevState = this.state;\n if ((_a = this.options) == null ? void 0 : _a.updateFn) {\n this.state = this.options.updateFn(this.prevState)(updater);\n } else {\n if (isUpdaterFunction(updater)) {\n this.state = updater(this.prevState);\n } else {\n this.state = updater;\n }\n }\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const prevDepVals = [];\n const currDepVals = [];\n for (const dep of this.options.deps) {\n prevDepVals.push(dep.prevState);\n currDepVals.push(dep.state);\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const { prevDepVals, currDepVals, prevVal } = this.getDepVals();\n this.state = this.options.fn({\n prevDepVals,\n currDepVals,\n prevVal\n });\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","const stateIndexKey = \"__TSR_index\";\nconst popStateEvent = \"popstate\";\nconst beforeUnloadEvent = \"beforeunload\";\nfunction createHistory(opts) {\n let location = opts.getLocation();\n const subscribers = /* @__PURE__ */ new Set();\n const notify = (action) => {\n location = opts.getLocation();\n subscribers.forEach((subscriber) => subscriber({ location, action }));\n };\n const handleIndexChange = (action) => {\n if (opts.notifyOnIndexChange ?? true) notify(action);\n else location = opts.getLocation();\n };\n const tryNavigation = async ({\n task,\n navigateOpts,\n ...actionInfo\n }) => {\n var _a, _b;\n const ignoreBlocker = (navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false;\n if (ignoreBlocker) {\n task();\n return;\n }\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n const isPushOrReplace = actionInfo.type === \"PUSH\" || actionInfo.type === \"REPLACE\";\n if (typeof document !== \"undefined\" && blockers.length && isPushOrReplace) {\n for (const blocker of blockers) {\n const nextLocation = parseHref(actionInfo.path, actionInfo.state);\n const isBlocked = await blocker.blockerFn({\n currentLocation: location,\n nextLocation,\n action: actionInfo.type\n });\n if (isBlocked) {\n (_b = opts.onBlocked) == null ? void 0 : _b.call(opts);\n return;\n }\n }\n }\n task();\n };\n return {\n get location() {\n return location;\n },\n get length() {\n return opts.getLength();\n },\n subscribers,\n subscribe: (cb) => {\n subscribers.add(cb);\n return () => {\n subscribers.delete(cb);\n };\n },\n push: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex + 1, state);\n tryNavigation({\n task: () => {\n opts.pushState(path, state);\n notify({ type: \"PUSH\" });\n },\n navigateOpts,\n type: \"PUSH\",\n path,\n state\n });\n },\n replace: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex, state);\n tryNavigation({\n task: () => {\n opts.replaceState(path, state);\n notify({ type: \"REPLACE\" });\n },\n navigateOpts,\n type: \"REPLACE\",\n path,\n state\n });\n },\n go: (index, navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.go(index);\n handleIndexChange({ type: \"GO\", index });\n },\n navigateOpts,\n type: \"GO\"\n });\n },\n back: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.back((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"BACK\" });\n },\n navigateOpts,\n type: \"BACK\"\n });\n },\n forward: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.forward((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"FORWARD\" });\n },\n navigateOpts,\n type: \"FORWARD\"\n });\n },\n canGoBack: () => location.state[stateIndexKey] !== 0,\n createHref: (str) => opts.createHref(str),\n block: (blocker) => {\n var _a;\n if (!opts.setBlockers) return () => {\n };\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n opts.setBlockers([...blockers, blocker]);\n return () => {\n var _a2, _b;\n const blockers2 = ((_a2 = opts.getBlockers) == null ? void 0 : _a2.call(opts)) ?? [];\n (_b = opts.setBlockers) == null ? void 0 : _b.call(opts, blockers2.filter((b) => b !== blocker));\n };\n },\n flush: () => {\n var _a;\n return (_a = opts.flush) == null ? void 0 : _a.call(opts);\n },\n destroy: () => {\n var _a;\n return (_a = opts.destroy) == null ? void 0 : _a.call(opts);\n },\n notify\n };\n}\nfunction assignKeyAndIndex(index, state) {\n if (!state) {\n state = {};\n }\n const key = createRandomKey();\n return {\n ...state,\n key,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: key,\n [stateIndexKey]: index\n };\n}\nfunction createBrowserHistory(opts) {\n var _a, _b;\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n const originalPushState = win.history.pushState;\n const originalReplaceState = win.history.replaceState;\n let blockers = [];\n const _getBlockers = () => blockers;\n const _setBlockers = (newBlockers) => blockers = newBlockers;\n const createHref = (opts == null ? void 0 : opts.createHref) ?? ((path) => path);\n const parseLocation = (opts == null ? void 0 : opts.parseLocation) ?? (() => parseHref(\n `${win.location.pathname}${win.location.search}${win.location.hash}`,\n win.history.state\n ));\n if (!((_a = win.history.state) == null ? void 0 : _a.__TSR_key) && !((_b = win.history.state) == null ? void 0 : _b.key)) {\n const addedKey = createRandomKey();\n win.history.replaceState(\n {\n [stateIndexKey]: 0,\n key: addedKey,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: addedKey\n },\n \"\"\n );\n }\n let currentLocation = parseLocation();\n let rollbackLocation;\n let nextPopIsGo = false;\n let ignoreNextPop = false;\n let skipBlockerNextPop = false;\n let ignoreNextBeforeUnload = false;\n const getLocation = () => currentLocation;\n let next;\n let scheduled;\n const flush = () => {\n if (!next) {\n return;\n }\n history._ignoreSubscribers = true;\n (next.isPush ? win.history.pushState : win.history.replaceState)(\n next.state,\n \"\",\n next.href\n );\n history._ignoreSubscribers = false;\n next = void 0;\n scheduled = void 0;\n rollbackLocation = void 0;\n };\n const queueHistoryAction = (type, destHref, state) => {\n const href = createHref(destHref);\n if (!scheduled) {\n rollbackLocation = currentLocation;\n }\n currentLocation = parseHref(destHref, state);\n next = {\n href,\n state,\n isPush: (next == null ? void 0 : next.isPush) || type === \"push\"\n };\n if (!scheduled) {\n scheduled = Promise.resolve().then(() => flush());\n }\n };\n const onPushPop = (type) => {\n currentLocation = parseLocation();\n history.notify({ type });\n };\n const onPushPopEvent = async () => {\n if (ignoreNextPop) {\n ignoreNextPop = false;\n return;\n }\n const nextLocation = parseLocation();\n const delta = nextLocation.state[stateIndexKey] - currentLocation.state[stateIndexKey];\n const isForward = delta === 1;\n const isBack = delta === -1;\n const isGo = !isForward && !isBack || nextPopIsGo;\n nextPopIsGo = false;\n const action = isGo ? \"GO\" : isBack ? \"BACK\" : \"FORWARD\";\n const notify = isGo ? {\n type: \"GO\",\n index: delta\n } : {\n type: isBack ? \"BACK\" : \"FORWARD\"\n };\n if (skipBlockerNextPop) {\n skipBlockerNextPop = false;\n } else {\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const isBlocked = await blocker.blockerFn({\n currentLocation,\n nextLocation,\n action\n });\n if (isBlocked) {\n ignoreNextPop = true;\n win.history.go(1);\n history.notify(notify);\n return;\n }\n }\n }\n }\n currentLocation = parseLocation();\n history.notify(notify);\n };\n const onBeforeUnload = (e) => {\n if (ignoreNextBeforeUnload) {\n ignoreNextBeforeUnload = false;\n return;\n }\n let shouldBlock = false;\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const shouldHaveBeforeUnload = blocker.enableBeforeUnload ?? true;\n if (shouldHaveBeforeUnload === true) {\n shouldBlock = true;\n break;\n }\n if (typeof shouldHaveBeforeUnload === \"function\" && shouldHaveBeforeUnload() === true) {\n shouldBlock = true;\n break;\n }\n }\n }\n if (shouldBlock) {\n e.preventDefault();\n return e.returnValue = \"\";\n }\n return;\n };\n const history = createHistory({\n getLocation,\n getLength: () => win.history.length,\n pushState: (href, state) => queueHistoryAction(\"push\", href, state),\n replaceState: (href, state) => queueHistoryAction(\"replace\", href, state),\n back: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n return win.history.back();\n },\n forward: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n win.history.forward();\n },\n go: (n) => {\n nextPopIsGo = true;\n win.history.go(n);\n },\n createHref: (href) => createHref(href),\n flush,\n destroy: () => {\n win.history.pushState = originalPushState;\n win.history.replaceState = originalReplaceState;\n win.removeEventListener(beforeUnloadEvent, onBeforeUnload, {\n capture: true\n });\n win.removeEventListener(popStateEvent, onPushPopEvent);\n },\n onBlocked: () => {\n if (rollbackLocation && currentLocation !== rollbackLocation) {\n currentLocation = rollbackLocation;\n }\n },\n getBlockers: _getBlockers,\n setBlockers: _setBlockers,\n notifyOnIndexChange: false\n });\n win.addEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });\n win.addEventListener(popStateEvent, onPushPopEvent);\n win.history.pushState = function(...args) {\n const res = originalPushState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"PUSH\");\n return res;\n };\n win.history.replaceState = function(...args) {\n const res = originalReplaceState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"REPLACE\");\n return res;\n };\n return history;\n}\nfunction createHashHistory(opts) {\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n return createBrowserHistory({\n window: win,\n parseLocation: () => {\n const hashSplit = win.location.hash.split(\"#\").slice(1);\n const pathPart = hashSplit[0] ?? \"/\";\n const searchPart = win.location.search;\n const hashEntries = hashSplit.slice(1);\n const hashPart = hashEntries.length === 0 ? \"\" : `#${hashEntries.join(\"#\")}`;\n const hashHref = `${pathPart}${searchPart}${hashPart}`;\n return parseHref(hashHref, win.history.state);\n },\n createHref: (href) => `${win.location.pathname}${win.location.search}#${href}`\n });\n}\nfunction createMemoryHistory(opts = {\n initialEntries: [\"/\"]\n}) {\n const entries = opts.initialEntries;\n let index = opts.initialIndex ? Math.min(Math.max(opts.initialIndex, 0), entries.length - 1) : entries.length - 1;\n const states = entries.map(\n (_entry, index2) => assignKeyAndIndex(index2, void 0)\n );\n const getLocation = () => parseHref(entries[index], states[index]);\n return createHistory({\n getLocation,\n getLength: () => entries.length,\n pushState: (path, state) => {\n if (index < entries.length - 1) {\n entries.splice(index + 1);\n states.splice(index + 1);\n }\n states.push(state);\n entries.push(path);\n index = Math.max(entries.length - 1, 0);\n },\n replaceState: (path, state) => {\n states[index] = state;\n entries[index] = path;\n },\n back: () => {\n index = Math.max(index - 1, 0);\n },\n forward: () => {\n index = Math.min(index + 1, entries.length - 1);\n },\n go: (n) => {\n index = Math.min(Math.max(index + n, 0), entries.length - 1);\n },\n createHref: (path) => path\n });\n}\nfunction parseHref(href, state) {\n const hashIndex = href.indexOf(\"#\");\n const searchIndex = href.indexOf(\"?\");\n const addedKey = createRandomKey();\n return {\n href,\n pathname: href.substring(\n 0,\n hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : href.length\n ),\n hash: hashIndex > -1 ? href.substring(hashIndex) : \"\",\n search: searchIndex > -1 ? href.slice(searchIndex, hashIndex === -1 ? void 0 : hashIndex) : \"\",\n state: state || { [stateIndexKey]: 0, key: addedKey, __TSR_key: addedKey }\n };\n}\nfunction createRandomKey() {\n return (Math.random() + 1).toString(36).substring(7);\n}\nexport {\n createBrowserHistory,\n createHashHistory,\n createHistory,\n createMemoryHistory,\n parseHref\n};\n//# sourceMappingURL=index.js.map\n","function last(arr) {\n return arr[arr.length - 1];\n}\nfunction isFunction(d) {\n return typeof d === \"function\";\n}\nfunction functionalUpdate(updater, previous) {\n if (isFunction(updater)) {\n return updater(previous);\n }\n return updater;\n}\nfunction pick(parent, keys) {\n return keys.reduce((obj, key) => {\n obj[key] = parent[key];\n return obj;\n }, {});\n}\nfunction replaceEqualDeep(prev, _next) {\n if (prev === _next) {\n return prev;\n }\n const next = _next;\n const array = isPlainArray(prev) && isPlainArray(next);\n if (array || isSimplePlainObject(prev) && isSimplePlainObject(next)) {\n const prevItems = array ? prev : Object.keys(prev).concat(\n Object.getOwnPropertySymbols(prev)\n );\n const prevSize = prevItems.length;\n const nextItems = array ? next : Object.keys(next).concat(\n Object.getOwnPropertySymbols(next)\n );\n const nextSize = nextItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < nextSize; i++) {\n const key = array ? i : nextItems[i];\n if ((!array && prevItems.includes(key) || array) && prev[key] === void 0 && next[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(prev[key], next[key]);\n if (copy[key] === prev[key] && prev[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return prevSize === nextSize && equalItems === prevSize ? prev : copy;\n }\n return next;\n}\nfunction isSimplePlainObject(o) {\n return (\n // all the checks from isPlainObject are more likely to hit so we perform them first\n isPlainObject(o) && Object.getOwnPropertyNames(o).length === Object.keys(o).length\n );\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction getObjectKeys(obj, ignoreUndefined) {\n let keys = Object.keys(obj);\n if (ignoreUndefined) {\n keys = keys.filter((key) => obj[key] !== void 0);\n }\n return keys;\n}\nfunction deepEqual(a, b, opts) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (isPlainObject(a) && isPlainObject(b)) {\n const ignoreUndefined = (opts == null ? void 0 : opts.ignoreUndefined) ?? true;\n const aKeys = getObjectKeys(a, ignoreUndefined);\n const bKeys = getObjectKeys(b, ignoreUndefined);\n if (!(opts == null ? void 0 : opts.partial) && aKeys.length !== bKeys.length) {\n return false;\n }\n return bKeys.every((key) => deepEqual(a[key], b[key], opts));\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n return !a.some((item, index) => !deepEqual(item, b[index], opts));\n }\n return false;\n}\nfunction createControlledPromise(onResolve) {\n let resolveLoadPromise;\n let rejectLoadPromise;\n const controlledPromise = new Promise((resolve, reject) => {\n resolveLoadPromise = resolve;\n rejectLoadPromise = reject;\n });\n controlledPromise.status = \"pending\";\n controlledPromise.resolve = (value) => {\n controlledPromise.status = \"resolved\";\n controlledPromise.value = value;\n resolveLoadPromise(value);\n onResolve == null ? void 0 : onResolve(value);\n };\n controlledPromise.reject = (e) => {\n controlledPromise.status = \"rejected\";\n rejectLoadPromise(e);\n };\n return controlledPromise;\n}\nfunction escapeJSON(jsonString) {\n return jsonString.replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\'\").replace(/\"/g, '\\\\\"');\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const item of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, item) || !Object.is(objA[item], objB[item])) {\n return false;\n }\n }\n return true;\n}\nfunction isModuleNotFoundError(error) {\n if (typeof (error == null ? void 0 : error.message) !== \"string\") return false;\n return error.message.startsWith(\"Failed to fetch dynamically imported module\") || error.message.startsWith(\"error loading dynamically imported module\") || error.message.startsWith(\"Importing a module script failed\");\n}\nexport {\n createControlledPromise,\n deepEqual,\n escapeJSON,\n functionalUpdate,\n isModuleNotFoundError,\n isPlainArray,\n isPlainObject,\n last,\n pick,\n replaceEqualDeep,\n shallow\n};\n//# sourceMappingURL=utils.js.map\n","import { last } from \"./utils.js\";\nconst SEGMENT_TYPE_PATHNAME = 0;\nconst SEGMENT_TYPE_PARAM = 1;\nconst SEGMENT_TYPE_WILDCARD = 2;\nconst SEGMENT_TYPE_OPTIONAL_PARAM = 3;\nfunction joinPaths(paths) {\n return cleanPath(\n paths.filter((val) => {\n return val !== void 0;\n }).join(\"/\")\n );\n}\nfunction cleanPath(path) {\n return path.replace(/\\/{2,}/g, \"/\");\n}\nfunction trimPathLeft(path) {\n return path === \"/\" ? path : path.replace(/^\\/{1,}/, \"\");\n}\nfunction trimPathRight(path) {\n return path === \"/\" ? path : path.replace(/\\/{1,}$/, \"\");\n}\nfunction trimPath(path) {\n return trimPathRight(trimPathLeft(path));\n}\nfunction removeTrailingSlash(value, basepath) {\n if ((value == null ? void 0 : value.endsWith(\"/\")) && value !== \"/\" && value !== `${basepath}/`) {\n return value.slice(0, -1);\n }\n return value;\n}\nfunction exactPathTest(pathName1, pathName2, basepath) {\n return removeTrailingSlash(pathName1, basepath) === removeTrailingSlash(pathName2, basepath);\n}\nfunction segmentToString(segment) {\n const { type, value } = segment;\n if (type === SEGMENT_TYPE_PATHNAME) {\n return value;\n }\n const { prefixSegment, suffixSegment } = segment;\n if (type === SEGMENT_TYPE_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$${param}}`;\n } else if (suffixSegment) {\n return `{$${param}}${suffixSegment}`;\n }\n }\n if (type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{-$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{-$${param}}`;\n } else if (suffixSegment) {\n return `{-$${param}}${suffixSegment}`;\n }\n return `{-$${param}}`;\n }\n if (type === SEGMENT_TYPE_WILDCARD) {\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$}`;\n } else if (suffixSegment) {\n return `{$}${suffixSegment}`;\n }\n }\n return value;\n}\nfunction resolvePath({\n basepath,\n base,\n to,\n trailingSlash = \"never\",\n caseSensitive,\n parseCache\n}) {\n var _a;\n base = removeBasepath(basepath, base, caseSensitive);\n to = removeBasepath(basepath, to, caseSensitive);\n let baseSegments = parsePathname(base, parseCache).slice();\n const toSegments = parsePathname(to, parseCache);\n if (baseSegments.length > 1 && ((_a = last(baseSegments)) == null ? void 0 : _a.value) === \"/\") {\n baseSegments.pop();\n }\n for (let index = 0, length = toSegments.length; index < length; index++) {\n const toSegment = toSegments[index];\n const value = toSegment.value;\n if (value === \"/\") {\n if (!index) {\n baseSegments = [toSegment];\n } else if (index === length - 1) {\n baseSegments.push(toSegment);\n } else ;\n } else if (value === \"..\") {\n baseSegments.pop();\n } else if (value === \".\") ;\n else {\n baseSegments.push(toSegment);\n }\n }\n if (baseSegments.length > 1) {\n if (last(baseSegments).value === \"/\") {\n if (trailingSlash === \"never\") {\n baseSegments.pop();\n }\n } else if (trailingSlash === \"always\") {\n baseSegments.push({ type: SEGMENT_TYPE_PATHNAME, value: \"/\" });\n }\n }\n const segmentValues = baseSegments.map(segmentToString);\n const joined = joinPaths([basepath, ...segmentValues]);\n return joined;\n}\nconst parsePathname = (pathname, cache) => {\n if (!pathname) return [];\n const cached = cache == null ? void 0 : cache.get(pathname);\n if (cached) return cached;\n const parsed = baseParsePathname(pathname);\n cache == null ? void 0 : cache.set(pathname, parsed);\n return parsed;\n};\nconst PARAM_RE = /^\\$.{1,}$/;\nconst PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst OPTIONAL_PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{-(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst WILDCARD_RE = /^\\$$/;\nconst WILDCARD_W_CURLY_BRACES_RE = /^(.*?)\\{\\$\\}(.*)$/;\nfunction baseParsePathname(pathname) {\n pathname = cleanPath(pathname);\n const segments = [];\n if (pathname.slice(0, 1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n if (!pathname) {\n return segments;\n }\n const split = pathname.split(\"/\").filter(Boolean);\n segments.push(\n ...split.map((part) => {\n const wildcardBracesMatch = part.match(WILDCARD_W_CURLY_BRACES_RE);\n if (wildcardBracesMatch) {\n const prefix = wildcardBracesMatch[1];\n const suffix = wildcardBracesMatch[2];\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const optionalParamBracesMatch = part.match(\n OPTIONAL_PARAM_W_CURLY_BRACES_RE\n );\n if (optionalParamBracesMatch) {\n const prefix = optionalParamBracesMatch[1];\n const paramName = optionalParamBracesMatch[2];\n const suffix = optionalParamBracesMatch[3];\n return {\n type: SEGMENT_TYPE_OPTIONAL_PARAM,\n value: paramName,\n // Now just $paramName (no prefix)\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const paramBracesMatch = part.match(PARAM_W_CURLY_BRACES_RE);\n if (paramBracesMatch) {\n const prefix = paramBracesMatch[1];\n const paramName = paramBracesMatch[2];\n const suffix = paramBracesMatch[3];\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"\" + paramName,\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n if (PARAM_RE.test(part)) {\n const paramName = part.substring(1);\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"$\" + paramName,\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n if (WILDCARD_RE.test(part)) {\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n return {\n type: SEGMENT_TYPE_PATHNAME,\n value: part.includes(\"%25\") ? part.split(\"%25\").map((segment) => decodeURI(segment)).join(\"%25\") : decodeURI(part)\n };\n })\n );\n if (pathname.slice(-1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n return segments;\n}\nfunction interpolatePath({\n path,\n params,\n leaveWildcards,\n leaveParams,\n decodeCharMap,\n parseCache\n}) {\n const interpolatedPathSegments = parsePathname(path, parseCache);\n function encodeParam(key) {\n const value = params[key];\n const isValueString = typeof value === \"string\";\n if (key === \"*\" || key === \"_splat\") {\n return isValueString ? encodeURI(value) : value;\n } else {\n return isValueString ? encodePathParam(value, decodeCharMap) : value;\n }\n }\n let isMissingParams = false;\n const usedParams = {};\n const interpolatedPath = joinPaths(\n interpolatedPathSegments.map((segment) => {\n if (segment.type === SEGMENT_TYPE_PATHNAME) {\n return segment.value;\n }\n if (segment.type === SEGMENT_TYPE_WILDCARD) {\n usedParams._splat = params._splat;\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(\"_splat\" in params)) {\n isMissingParams = true;\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n const value = encodeParam(\"_splat\");\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${value}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_PARAM) {\n const key = segment.value.substring(1);\n if (!isMissingParams && !(key in params)) {\n isMissingParams = true;\n }\n usedParams[key] = params[key];\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"undefined\"}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const key = segment.value.substring(1);\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(key in params) || params[key] == null) {\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n usedParams[key] = params[key];\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return segment.value;\n })\n );\n return { usedParams, interpolatedPath, isMissingParams };\n}\nfunction encodePathParam(value, decodeCharMap) {\n let encoded = encodeURIComponent(value);\n if (decodeCharMap) {\n for (const [encodedChar, char] of decodeCharMap) {\n encoded = encoded.replaceAll(encodedChar, char);\n }\n }\n return encoded;\n}\nfunction matchPathname(basepath, currentPathname, matchLocation, parseCache) {\n const pathParams = matchByPath(\n basepath,\n currentPathname,\n matchLocation,\n parseCache\n );\n if (matchLocation.to && !pathParams) {\n return;\n }\n return pathParams ?? {};\n}\nfunction removeBasepath(basepath, pathname, caseSensitive = false) {\n const normalizedBasepath = caseSensitive ? basepath : basepath.toLowerCase();\n const normalizedPathname = caseSensitive ? pathname : pathname.toLowerCase();\n switch (true) {\n // default behaviour is to serve app from the root - pathname\n // left untouched\n case normalizedBasepath === \"/\":\n return pathname;\n // shortcut for removing the basepath if it matches the pathname\n case normalizedPathname === normalizedBasepath:\n return \"\";\n // in case pathname is shorter than basepath - there is\n // nothing to remove\n case pathname.length < basepath.length:\n return pathname;\n // avoid matching partial segments - strict equality handled\n // earlier, otherwise, basepath separated from pathname with\n // separator, therefore lack of separator means partial\n // segment match (`/app` should not match `/application`)\n case normalizedPathname[normalizedBasepath.length] !== \"/\":\n return pathname;\n // remove the basepath from the pathname if it starts with it\n case normalizedPathname.startsWith(normalizedBasepath):\n return pathname.slice(basepath.length);\n // otherwise, return the pathname as is\n default:\n return pathname;\n }\n}\nfunction matchByPath(basepath, from, {\n to,\n fuzzy,\n caseSensitive\n}, parseCache) {\n if (basepath !== \"/\" && !from.startsWith(basepath)) {\n return void 0;\n }\n from = removeBasepath(basepath, from, caseSensitive);\n to = removeBasepath(basepath, `${to ?? \"$\"}`, caseSensitive);\n const baseSegments = parsePathname(\n from.startsWith(\"/\") ? from : `/${from}`,\n parseCache\n );\n const routeSegments = parsePathname(\n to.startsWith(\"/\") ? to : `/${to}`,\n parseCache\n );\n const params = {};\n const result = isMatch(\n baseSegments,\n routeSegments,\n params,\n fuzzy,\n caseSensitive\n );\n return result ? params : void 0;\n}\nfunction isMatch(baseSegments, routeSegments, params, fuzzy, caseSensitive) {\n var _a, _b, _c;\n let baseIndex = 0;\n let routeIndex = 0;\n while (baseIndex < baseSegments.length || routeIndex < routeSegments.length) {\n const baseSegment = baseSegments[baseIndex];\n const routeSegment = routeSegments[routeIndex];\n if (routeSegment) {\n if (routeSegment.type === SEGMENT_TYPE_WILDCARD) {\n const remainingBaseSegments = baseSegments.slice(baseIndex);\n let _splat;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n if (!baseSegment) return false;\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (\"prefixSegment\" in routeSegment) {\n if (!baseValue.startsWith(prefix)) {\n return false;\n }\n }\n if (\"suffixSegment\" in routeSegment) {\n if (!((_a = baseSegments[baseSegments.length - 1]) == null ? void 0 : _a.value.endsWith(suffix))) {\n return false;\n }\n }\n let rejoinedSplat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n if (prefix && rejoinedSplat.startsWith(prefix)) {\n rejoinedSplat = rejoinedSplat.slice(prefix.length);\n }\n if (suffix && rejoinedSplat.endsWith(suffix)) {\n rejoinedSplat = rejoinedSplat.slice(\n 0,\n rejoinedSplat.length - suffix.length\n );\n }\n _splat = rejoinedSplat;\n } else {\n _splat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n }\n params[\"*\"] = _splat;\n params[\"_splat\"] = _splat;\n return true;\n }\n if (routeSegment.type === SEGMENT_TYPE_PATHNAME) {\n if (routeSegment.value === \"/\" && !(baseSegment == null ? void 0 : baseSegment.value)) {\n routeIndex++;\n continue;\n }\n if (baseSegment) {\n if (caseSensitive) {\n if (routeSegment.value !== baseSegment.value) {\n return false;\n }\n } else if (routeSegment.value.toLowerCase() !== baseSegment.value.toLowerCase()) {\n return false;\n }\n baseIndex++;\n routeIndex++;\n continue;\n } else {\n return false;\n }\n }\n if (routeSegment.type === SEGMENT_TYPE_PARAM) {\n if (!baseSegment) {\n return false;\n }\n if (baseSegment.value === \"/\") {\n return false;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (prefix && !baseValue.startsWith(prefix)) {\n return false;\n }\n if (suffix && !baseValue.endsWith(suffix)) {\n return false;\n }\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(0, paramValue.length - suffix.length);\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n } else {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n if (routeSegment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n if (!baseSegment) {\n routeIndex++;\n continue;\n }\n if (baseSegment.value === \"/\") {\n routeIndex++;\n continue;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if ((!prefix || baseValue.startsWith(prefix)) && (!suffix || baseValue.endsWith(suffix))) {\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(\n 0,\n paramValue.length - suffix.length\n );\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n }\n } else {\n let shouldMatchOptional = true;\n for (let lookAhead = routeIndex + 1; lookAhead < routeSegments.length; lookAhead++) {\n const futureRouteSegment = routeSegments[lookAhead];\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PATHNAME && futureRouteSegment.value === baseSegment.value) {\n shouldMatchOptional = false;\n break;\n }\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PARAM || (futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_WILDCARD) {\n break;\n }\n }\n if (shouldMatchOptional) {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n }\n if (baseIndex < baseSegments.length && routeIndex >= routeSegments.length) {\n params[\"**\"] = joinPaths(\n baseSegments.slice(baseIndex).map((d) => d.value)\n );\n return !!fuzzy && ((_b = routeSegments[routeSegments.length - 1]) == null ? void 0 : _b.value) !== \"/\";\n }\n if (routeIndex < routeSegments.length && baseIndex >= baseSegments.length) {\n for (let i = routeIndex; i < routeSegments.length; i++) {\n if (((_c = routeSegments[i]) == null ? void 0 : _c.type) !== SEGMENT_TYPE_OPTIONAL_PARAM) {\n return false;\n }\n }\n break;\n }\n break;\n }\n return true;\n}\nexport {\n SEGMENT_TYPE_OPTIONAL_PARAM,\n SEGMENT_TYPE_PARAM,\n SEGMENT_TYPE_PATHNAME,\n SEGMENT_TYPE_WILDCARD,\n cleanPath,\n exactPathTest,\n interpolatePath,\n joinPaths,\n matchByPath,\n matchPathname,\n parsePathname,\n removeBasepath,\n removeTrailingSlash,\n resolvePath,\n trimPath,\n trimPathLeft,\n trimPathRight\n};\n//# sourceMappingURL=path.js.map\n","function notFound(options = {}) {\n options.isNotFound = true;\n if (options.throw) throw options;\n return options;\n}\nfunction isNotFound(obj) {\n return !!(obj == null ? void 0 : obj.isNotFound);\n}\nexport {\n isNotFound,\n notFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { functionalUpdate } from \"./utils.js\";\nfunction getSafeSessionStorage() {\n try {\n if (typeof window !== \"undefined\" && typeof window.sessionStorage === \"object\") {\n return window.sessionStorage;\n }\n } catch {\n return void 0;\n }\n return void 0;\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst throttle = (fn, wait) => {\n let timeout;\n return (...args) => {\n if (!timeout) {\n timeout = setTimeout(() => {\n fn(...args);\n timeout = null;\n }, wait);\n }\n };\n};\nfunction createScrollRestorationCache() {\n const safeSessionStorage = getSafeSessionStorage();\n if (!safeSessionStorage) {\n return void 0;\n }\n const persistedState = safeSessionStorage.getItem(storageKey);\n let state = persistedState ? JSON.parse(persistedState) : {};\n return {\n state,\n // This setter is simply to make sure that we set the sessionStorage right\n // after the state is updated. It doesn't necessarily need to be a functional\n // update.\n set: (updater) => (state = functionalUpdate(updater, state) || state, safeSessionStorage.setItem(storageKey, JSON.stringify(state)))\n };\n}\nconst scrollRestorationCache = createScrollRestorationCache();\nconst defaultGetScrollRestorationKey = (location) => {\n return location.state.__TSR_key || location.href;\n};\nfunction getCssSelector(el) {\n const path = [];\n let parent;\n while (parent = el.parentNode) {\n path.unshift(\n `${el.tagName}:nth-child(${[].indexOf.call(parent.children, el) + 1})`\n );\n el = parent;\n }\n return `${path.join(\" > \")}`.toLowerCase();\n}\nlet ignoreScroll = false;\nfunction restoreScroll({\n storageKey: storageKey2,\n key,\n behavior,\n shouldScrollRestoration,\n scrollToTopSelectors,\n location\n}) {\n var _a;\n let byKey;\n try {\n byKey = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n } catch (error) {\n console.error(error);\n return;\n }\n const resolvedKey = key || ((_a = window.history.state) == null ? void 0 : _a.key);\n const elementEntries = byKey[resolvedKey];\n ignoreScroll = true;\n (() => {\n if (shouldScrollRestoration && elementEntries && Object.keys(elementEntries).length > 0) {\n for (const elementSelector in elementEntries) {\n const entry = elementEntries[elementSelector];\n if (elementSelector === \"window\") {\n window.scrollTo({\n top: entry.scrollY,\n left: entry.scrollX,\n behavior\n });\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n element.scrollLeft = entry.scrollX;\n element.scrollTop = entry.scrollY;\n }\n }\n }\n return;\n }\n const hash = (location ?? window.location).hash.split(\"#\")[1];\n if (hash) {\n const hashScrollIntoViewOptions = (window.history.state || {}).__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions) {\n const el = document.getElementById(hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n return;\n }\n [\n \"window\",\n ...(scrollToTopSelectors == null ? void 0 : scrollToTopSelectors.filter((d) => d !== \"window\")) ?? []\n ].forEach((selector) => {\n const element = selector === \"window\" ? window : typeof selector === \"function\" ? selector() : document.querySelector(selector);\n if (element) {\n element.scrollTo({\n top: 0,\n left: 0,\n behavior\n });\n }\n });\n })();\n ignoreScroll = false;\n}\nfunction setupScrollRestoration(router, force) {\n if (scrollRestorationCache === void 0) {\n return;\n }\n const shouldScrollRestoration = force ?? router.options.scrollRestoration ?? false;\n if (shouldScrollRestoration) {\n router.isScrollRestoring = true;\n }\n if (typeof document === \"undefined\" || router.isScrollRestorationSetup) {\n return;\n }\n router.isScrollRestorationSetup = true;\n ignoreScroll = false;\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n window.history.scrollRestoration = \"manual\";\n const onScroll = (event) => {\n if (ignoreScroll || !router.isScrollRestoring) {\n return;\n }\n let elementSelector = \"\";\n if (event.target === document || event.target === window) {\n elementSelector = \"window\";\n } else {\n const attrId = event.target.getAttribute(\n \"data-scroll-restoration-id\"\n );\n if (attrId) {\n elementSelector = `[data-scroll-restoration-id=\"${attrId}\"]`;\n } else {\n elementSelector = getCssSelector(event.target);\n }\n }\n const restoreKey = getKey(router.state.location);\n scrollRestorationCache.set((state) => {\n const keyEntry = state[restoreKey] = state[restoreKey] || {};\n const elementEntry = keyEntry[elementSelector] = keyEntry[elementSelector] || {};\n if (elementSelector === \"window\") {\n elementEntry.scrollX = window.scrollX || 0;\n elementEntry.scrollY = window.scrollY || 0;\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n elementEntry.scrollX = element.scrollLeft || 0;\n elementEntry.scrollY = element.scrollTop || 0;\n }\n }\n return state;\n });\n };\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"scroll\", throttle(onScroll, 100), true);\n }\n router.subscribe(\"onRendered\", (event) => {\n const cacheKey = getKey(event.toLocation);\n if (!router.resetNextScroll) {\n router.resetNextScroll = true;\n return;\n }\n restoreScroll({\n storageKey,\n key: cacheKey,\n behavior: router.options.scrollRestorationBehavior,\n shouldScrollRestoration: router.isScrollRestoring,\n scrollToTopSelectors: router.options.scrollToTopSelectors,\n location: router.history.location\n });\n if (router.isScrollRestoring) {\n scrollRestorationCache.set((state) => {\n state[cacheKey] = state[cacheKey] || {};\n return state;\n });\n }\n });\n}\nfunction handleHashScroll(router) {\n if (typeof document !== \"undefined\" && document.querySelector) {\n const hashScrollIntoViewOptions = router.state.location.state.__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions && router.state.location.hash !== \"\") {\n const el = document.getElementById(router.state.location.hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n }\n}\nexport {\n defaultGetScrollRestorationKey,\n getCssSelector,\n handleHashScroll,\n restoreScroll,\n scrollRestorationCache,\n setupScrollRestoration,\n storageKey\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","function encode(obj, pfx) {\n const normalizedObject = Object.entries(obj).flatMap(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((v) => [key, String(v)]);\n } else {\n return [[key, String(value)]];\n }\n });\n const searchParams = new URLSearchParams(normalizedObject);\n return (pfx || \"\") + searchParams.toString();\n}\nfunction toValue(str) {\n if (!str) return \"\";\n if (str === \"false\") return false;\n if (str === \"true\") return true;\n return +str * 0 === 0 && +str + \"\" === str ? +str : str;\n}\nfunction decode(str, pfx) {\n const searchParamsPart = pfx ? str.slice(pfx.length) : str;\n const searchParams = new URLSearchParams(searchParamsPart);\n const entries = [...searchParams.entries()];\n return entries.reduce((acc, [key, value]) => {\n const previousValue = acc[key];\n if (previousValue == null) {\n acc[key] = toValue(value);\n } else {\n acc[key] = Array.isArray(previousValue) ? [...previousValue, toValue(value)] : [previousValue, toValue(value)];\n }\n return acc;\n }, {});\n}\nexport {\n decode,\n encode\n};\n//# sourceMappingURL=qss.js.map\n","import { decode, encode } from \"./qss.js\";\nconst defaultParseSearch = parseSearchWith(JSON.parse);\nconst defaultStringifySearch = stringifySearchWith(\n JSON.stringify,\n JSON.parse\n);\nfunction parseSearchWith(parser) {\n return (searchStr) => {\n if (searchStr.substring(0, 1) === \"?\") {\n searchStr = searchStr.substring(1);\n }\n const query = decode(searchStr);\n for (const key in query) {\n const value = query[key];\n if (typeof value === \"string\") {\n try {\n query[key] = parser(value);\n } catch (err) {\n }\n }\n }\n return query;\n };\n}\nfunction stringifySearchWith(stringify, parser) {\n function stringifyValue(val) {\n if (typeof val === \"object\" && val !== null) {\n try {\n return stringify(val);\n } catch (err) {\n }\n } else if (typeof val === \"string\" && typeof parser === \"function\") {\n try {\n parser(val);\n return stringify(val);\n } catch (err) {\n }\n }\n return val;\n }\n return (search) => {\n search = { ...search };\n Object.keys(search).forEach((key) => {\n const val = search[key];\n if (typeof val === \"undefined\" || val === void 0) {\n delete search[key];\n } else {\n search[key] = stringifyValue(val);\n }\n });\n const searchStr = encode(search).toString();\n return searchStr ? `?${searchStr}` : \"\";\n };\n}\nexport {\n defaultParseSearch,\n defaultStringifySearch,\n parseSearchWith,\n stringifySearchWith\n};\n//# sourceMappingURL=searchParams.js.map\n","const rootRouteId = \"__root__\";\nexport {\n rootRouteId\n};\n//# sourceMappingURL=root.js.map\n","function redirect(opts) {\n opts.statusCode = opts.statusCode || opts.code || 307;\n if (!opts.reloadDocument) {\n try {\n new URL(`${opts.href}`);\n opts.reloadDocument = true;\n } catch {\n }\n }\n const headers = new Headers(opts.headers || {});\n if (opts.href && headers.get(\"Location\") === null) {\n headers.set(\"Location\", opts.href);\n }\n const response = new Response(null, {\n status: opts.statusCode,\n headers\n });\n response.options = opts;\n if (opts.throw) {\n throw response;\n }\n return response;\n}\nfunction isRedirect(obj) {\n return obj instanceof Response && !!obj.options;\n}\nfunction isResolvedRedirect(obj) {\n return isRedirect(obj) && !!obj.options.href;\n}\nfunction parseRedirect(obj) {\n if (typeof obj === \"object\" && obj.isSerializedRedirect) {\n return redirect(obj);\n }\n return void 0;\n}\nexport {\n isRedirect,\n isResolvedRedirect,\n parseRedirect,\n redirect\n};\n//# sourceMappingURL=redirect.js.map\n","function createLRUCache(max) {\n const cache = /* @__PURE__ */ new Map();\n let oldest;\n let newest;\n const touch = (entry) => {\n if (!entry.next) return;\n if (!entry.prev) {\n entry.next.prev = void 0;\n oldest = entry.next;\n entry.next = void 0;\n if (newest) {\n entry.prev = newest;\n newest.next = entry;\n }\n } else {\n entry.prev.next = entry.next;\n entry.next.prev = entry.prev;\n entry.next = void 0;\n if (newest) {\n newest.next = entry;\n entry.prev = newest;\n }\n }\n newest = entry;\n };\n return {\n get(key) {\n const entry = cache.get(key);\n if (!entry) return void 0;\n touch(entry);\n return entry.value;\n },\n set(key, value) {\n if (cache.size >= max && oldest) {\n const toDelete = oldest;\n cache.delete(toDelete.key);\n if (toDelete.next) {\n oldest = toDelete.next;\n toDelete.next.prev = void 0;\n }\n if (toDelete === newest) {\n newest = void 0;\n }\n }\n const existing = cache.get(key);\n if (existing) {\n existing.value = value;\n touch(existing);\n } else {\n const entry = { key, value, prev: newest };\n if (newest) newest.next = entry;\n newest = entry;\n if (!oldest) oldest = entry;\n cache.set(key, entry);\n }\n }\n };\n}\nexport {\n createLRUCache\n};\n//# sourceMappingURL=lru-cache.js.map\n","import { Store, batch } from \"@tanstack/store\";\nimport { createMemoryHistory, createBrowserHistory, parseHref } from \"@tanstack/history\";\nimport invariant from \"tiny-invariant\";\nimport { pick, createControlledPromise, deepEqual, replaceEqualDeep, last, functionalUpdate } from \"./utils.js\";\nimport { trimPath, resolvePath, cleanPath, matchPathname, trimPathRight, interpolatePath, joinPaths, trimPathLeft, parsePathname, SEGMENT_TYPE_PARAM, SEGMENT_TYPE_OPTIONAL_PARAM, SEGMENT_TYPE_WILDCARD, SEGMENT_TYPE_PATHNAME } from \"./path.js\";\nimport { isNotFound } from \"./not-found.js\";\nimport { setupScrollRestoration } from \"./scroll-restoration.js\";\nimport { defaultParseSearch, defaultStringifySearch } from \"./searchParams.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect, isRedirect } from \"./redirect.js\";\nimport { createLRUCache } from \"./lru-cache.js\";\nfunction defaultSerializeError(err) {\n if (err instanceof Error) {\n const obj = {\n name: err.name,\n message: err.message\n };\n if (process.env.NODE_ENV === \"development\") {\n obj.stack = err.stack;\n }\n return obj;\n }\n return {\n data: err\n };\n}\nfunction getLocationChangeInfo(routerState) {\n const fromLocation = routerState.resolvedLocation;\n const toLocation = routerState.location;\n const pathChanged = (fromLocation == null ? void 0 : fromLocation.pathname) !== toLocation.pathname;\n const hrefChanged = (fromLocation == null ? void 0 : fromLocation.href) !== toLocation.href;\n const hashChanged = (fromLocation == null ? void 0 : fromLocation.hash) !== toLocation.hash;\n return { fromLocation, toLocation, pathChanged, hrefChanged, hashChanged };\n}\nclass RouterCore {\n /**\n * @deprecated Use the `createRouter` function instead\n */\n constructor(options) {\n this.tempLocationKey = `${Math.round(\n Math.random() * 1e7\n )}`;\n this.resetNextScroll = true;\n this.shouldViewTransition = void 0;\n this.isViewTransitionTypesSupported = void 0;\n this.subscribers = /* @__PURE__ */ new Set();\n this.isScrollRestoring = false;\n this.isScrollRestorationSetup = false;\n this.startTransition = (fn) => fn();\n this.update = (newOptions) => {\n var _a;\n if (newOptions.notFoundRoute) {\n console.warn(\n \"The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.\"\n );\n }\n const previousOptions = this.options;\n this.options = {\n ...this.options,\n ...newOptions\n };\n this.isServer = this.options.isServer ?? typeof document === \"undefined\";\n this.pathParamsDecodeCharMap = this.options.pathParamsAllowedCharacters ? new Map(\n this.options.pathParamsAllowedCharacters.map((char) => [\n encodeURIComponent(char),\n char\n ])\n ) : void 0;\n if (!this.basepath || newOptions.basepath && newOptions.basepath !== previousOptions.basepath) {\n if (newOptions.basepath === void 0 || newOptions.basepath === \"\" || newOptions.basepath === \"/\") {\n this.basepath = \"/\";\n } else {\n this.basepath = `/${trimPath(newOptions.basepath)}`;\n }\n }\n if (!this.history || this.options.history && this.options.history !== this.history) {\n this.history = this.options.history ?? (this.isServer ? createMemoryHistory({\n initialEntries: [this.basepath || \"/\"]\n }) : createBrowserHistory());\n this.latestLocation = this.parseLocation();\n }\n if (this.options.routeTree !== this.routeTree) {\n this.routeTree = this.options.routeTree;\n this.buildRouteTree();\n }\n if (!this.__store) {\n this.__store = new Store(getInitialRouterState(this.latestLocation), {\n onUpdate: () => {\n this.__store.state = {\n ...this.state,\n cachedMatches: this.state.cachedMatches.filter(\n (d) => ![\"redirected\"].includes(d.status)\n )\n };\n }\n });\n setupScrollRestoration(this);\n }\n if (typeof window !== \"undefined\" && \"CSS\" in window && typeof ((_a = window.CSS) == null ? void 0 : _a.supports) === \"function\") {\n this.isViewTransitionTypesSupported = window.CSS.supports(\n \"selector(:active-view-transition-type(a)\"\n );\n }\n };\n this.buildRouteTree = () => {\n const { routesById, routesByPath, flatRoutes } = processRouteTree({\n routeTree: this.routeTree,\n initRoute: (route, i) => {\n route.init({\n originalIndex: i\n });\n }\n });\n this.routesById = routesById;\n this.routesByPath = routesByPath;\n this.flatRoutes = flatRoutes;\n const notFoundRoute = this.options.notFoundRoute;\n if (notFoundRoute) {\n notFoundRoute.init({\n originalIndex: 99999999999\n });\n this.routesById[notFoundRoute.id] = notFoundRoute;\n }\n };\n this.subscribe = (eventType, fn) => {\n const listener = {\n eventType,\n fn\n };\n this.subscribers.add(listener);\n return () => {\n this.subscribers.delete(listener);\n };\n };\n this.emit = (routerEvent) => {\n this.subscribers.forEach((listener) => {\n if (listener.eventType === routerEvent.type) {\n listener.fn(routerEvent);\n }\n });\n };\n this.parseLocation = (previousLocation, locationToParse) => {\n const parse = ({\n pathname,\n search,\n hash,\n state\n }) => {\n const parsedSearch = this.options.parseSearch(search);\n const searchStr = this.options.stringifySearch(parsedSearch);\n return {\n pathname,\n searchStr,\n search: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.search, parsedSearch),\n hash: hash.split(\"#\").reverse()[0] ?? \"\",\n href: `${pathname}${searchStr}${hash}`,\n state: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.state, state)\n };\n };\n const location = parse(locationToParse ?? this.history.location);\n const { __tempLocation, __tempKey } = location.state;\n if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) {\n const parsedTempLocation = parse(__tempLocation);\n parsedTempLocation.state.key = location.state.key;\n parsedTempLocation.state.__TSR_key = location.state.__TSR_key;\n delete parsedTempLocation.state.__tempLocation;\n return {\n ...parsedTempLocation,\n maskedLocation: location\n };\n }\n return location;\n };\n this.resolvePathWithBase = (from, path) => {\n const resolvedPath = resolvePath({\n basepath: this.basepath,\n base: from,\n to: cleanPath(path),\n trailingSlash: this.options.trailingSlash,\n caseSensitive: this.options.caseSensitive,\n parseCache: this.parsePathnameCache\n });\n return resolvedPath;\n };\n this.matchRoutes = (pathnameOrNext, locationSearchOrOpts, opts) => {\n if (typeof pathnameOrNext === \"string\") {\n return this.matchRoutesInternal(\n {\n pathname: pathnameOrNext,\n search: locationSearchOrOpts\n },\n opts\n );\n }\n return this.matchRoutesInternal(pathnameOrNext, locationSearchOrOpts);\n };\n this.parsePathnameCache = createLRUCache(1e3);\n this.getMatchedRoutes = (pathname, routePathname) => {\n return getMatchedRoutes({\n pathname,\n routePathname,\n basepath: this.basepath,\n caseSensitive: this.options.caseSensitive,\n routesByPath: this.routesByPath,\n routesById: this.routesById,\n flatRoutes: this.flatRoutes,\n parseCache: this.parsePathnameCache\n });\n };\n this.cancelMatch = (id) => {\n const match = this.getMatch(id);\n if (!match) return;\n match.abortController.abort();\n this.updateMatch(id, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n pendingTimeout: void 0\n };\n });\n };\n this.cancelMatches = () => {\n var _a;\n (_a = this.state.pendingMatches) == null ? void 0 : _a.forEach((match) => {\n this.cancelMatch(match.id);\n });\n };\n this.buildLocation = (opts) => {\n const build = (dest = {}) => {\n var _a;\n const currentLocation = dest._fromLocation || this.latestLocation;\n const allCurrentLocationMatches = this.matchRoutes(currentLocation, {\n _buildLocation: true\n });\n const lastMatch = last(allCurrentLocationMatches);\n let fromPath = lastMatch.fullPath;\n const toPath = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n const routeIsChanging = !!dest.to && !comparePaths(dest.to.toString(), fromPath) && !comparePaths(toPath, fromPath);\n if (dest.unsafeRelative === \"path\") {\n fromPath = currentLocation.pathname;\n } else if (routeIsChanging && dest.from) {\n fromPath = dest.from;\n if (process.env.NODE_ENV !== \"production\" && dest._isNavigate) {\n const allFromMatches = this.getMatchedRoutes(\n dest.from,\n void 0\n ).matchedRoutes;\n const matchedFrom = [...allCurrentLocationMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, fromPath);\n });\n const matchedCurrent = [...allFromMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, currentLocation.pathname);\n });\n if (!matchedFrom && !matchedCurrent) {\n console.warn(`Could not find match for from: ${fromPath}`);\n }\n }\n }\n const fromSearch = lastMatch.search;\n const fromParams = { ...lastMatch.params };\n const nextTo = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n let nextParams = dest.params === false || dest.params === null ? {} : (dest.params ?? true) === true ? fromParams : {\n ...fromParams,\n ...functionalUpdate(dest.params, fromParams)\n };\n const interpolatedNextTo = interpolatePath({\n path: nextTo,\n params: nextParams ?? {},\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n const destRoutes = this.matchRoutes(\n interpolatedNextTo,\n {},\n {\n _buildLocation: true\n }\n ).map((d) => this.looseRoutesById[d.routeId]);\n if (Object.keys(nextParams).length > 0) {\n destRoutes.map((route) => {\n var _a2;\n return ((_a2 = route.options.params) == null ? void 0 : _a2.stringify) ?? route.options.stringifyParams;\n }).filter(Boolean).forEach((fn) => {\n nextParams = { ...nextParams, ...fn(nextParams) };\n });\n }\n const nextPathname = interpolatePath({\n // Use the original template path for interpolation\n // This preserves the original parameter syntax including optional parameters\n path: nextTo,\n params: nextParams ?? {},\n leaveWildcards: false,\n leaveParams: opts.leaveParams,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n let nextSearch = fromSearch;\n if (opts._includeValidateSearch && ((_a = this.options.search) == null ? void 0 : _a.strict)) {\n let validatedSearch = {};\n destRoutes.forEach((route) => {\n try {\n if (route.options.validateSearch) {\n validatedSearch = {\n ...validatedSearch,\n ...validateSearch(route.options.validateSearch, {\n ...validatedSearch,\n ...nextSearch\n }) ?? {}\n };\n }\n } catch {\n }\n });\n nextSearch = validatedSearch;\n }\n nextSearch = applySearchMiddleware({\n search: nextSearch,\n dest,\n destRoutes,\n _includeValidateSearch: opts._includeValidateSearch\n });\n nextSearch = replaceEqualDeep(fromSearch, nextSearch);\n const searchStr = this.options.stringifySearch(nextSearch);\n const hash = dest.hash === true ? currentLocation.hash : dest.hash ? functionalUpdate(dest.hash, currentLocation.hash) : void 0;\n const hashStr = hash ? `#${hash}` : \"\";\n let nextState = dest.state === true ? currentLocation.state : dest.state ? functionalUpdate(dest.state, currentLocation.state) : {};\n nextState = replaceEqualDeep(currentLocation.state, nextState);\n return {\n pathname: nextPathname,\n search: nextSearch,\n searchStr,\n state: nextState,\n hash: hash ?? \"\",\n href: `${nextPathname}${searchStr}${hashStr}`,\n unmaskOnReload: dest.unmaskOnReload\n };\n };\n const buildWithMatches = (dest = {}, maskedDest) => {\n var _a;\n const next = build(dest);\n let maskedNext = maskedDest ? build(maskedDest) : void 0;\n if (!maskedNext) {\n let params = {};\n const foundMask = (_a = this.options.routeMasks) == null ? void 0 : _a.find((d) => {\n const match = matchPathname(\n this.basepath,\n next.pathname,\n {\n to: d.from,\n caseSensitive: false,\n fuzzy: false\n },\n this.parsePathnameCache\n );\n if (match) {\n params = match;\n return true;\n }\n return false;\n });\n if (foundMask) {\n const { from: _from, ...maskProps } = foundMask;\n maskedDest = {\n ...pick(opts, [\"from\"]),\n ...maskProps,\n params\n };\n maskedNext = build(maskedDest);\n }\n }\n if (maskedNext) {\n const maskedFinal = build(maskedDest);\n next.maskedLocation = maskedFinal;\n }\n return next;\n };\n if (opts.mask) {\n return buildWithMatches(opts, {\n ...pick(opts, [\"from\"]),\n ...opts.mask\n });\n }\n return buildWithMatches(opts);\n };\n this.commitLocation = ({\n viewTransition,\n ignoreBlocker,\n ...next\n }) => {\n const isSameState = () => {\n const ignoredProps = [\n \"key\",\n // TODO: Remove in v2 - use __TSR_key instead\n \"__TSR_key\",\n \"__TSR_index\",\n \"__hashScrollIntoViewOptions\"\n ];\n ignoredProps.forEach((prop) => {\n next.state[prop] = this.latestLocation.state[prop];\n });\n const isEqual = deepEqual(next.state, this.latestLocation.state);\n ignoredProps.forEach((prop) => {\n delete next.state[prop];\n });\n return isEqual;\n };\n const isSameUrl = this.latestLocation.href === next.href;\n const previousCommitPromise = this.commitLocationPromise;\n this.commitLocationPromise = createControlledPromise(() => {\n previousCommitPromise == null ? void 0 : previousCommitPromise.resolve();\n });\n if (isSameUrl && isSameState()) {\n this.load();\n } else {\n let { maskedLocation, hashScrollIntoView, ...nextHistory } = next;\n if (maskedLocation) {\n nextHistory = {\n ...maskedLocation,\n state: {\n ...maskedLocation.state,\n __tempKey: void 0,\n __tempLocation: {\n ...nextHistory,\n search: nextHistory.searchStr,\n state: {\n ...nextHistory.state,\n __tempKey: void 0,\n __tempLocation: void 0,\n __TSR_key: void 0,\n key: void 0\n // TODO: Remove in v2 - use __TSR_key instead\n }\n }\n }\n };\n if (nextHistory.unmaskOnReload ?? this.options.unmaskOnReload ?? false) {\n nextHistory.state.__tempKey = this.tempLocationKey;\n }\n }\n nextHistory.state.__hashScrollIntoViewOptions = hashScrollIntoView ?? this.options.defaultHashScrollIntoView ?? true;\n this.shouldViewTransition = viewTransition;\n this.history[next.replace ? \"replace\" : \"push\"](\n nextHistory.href,\n nextHistory.state,\n { ignoreBlocker }\n );\n }\n this.resetNextScroll = next.resetScroll ?? true;\n if (!this.history.subscribers.size) {\n this.load();\n }\n return this.commitLocationPromise;\n };\n this.buildAndCommitLocation = ({\n replace,\n resetScroll,\n hashScrollIntoView,\n viewTransition,\n ignoreBlocker,\n href,\n ...rest\n } = {}) => {\n if (href) {\n const currentIndex = this.history.location.state.__TSR_index;\n const parsed = parseHref(href, {\n __TSR_index: replace ? currentIndex : currentIndex + 1\n });\n rest.to = parsed.pathname;\n rest.search = this.options.parseSearch(parsed.search);\n rest.hash = parsed.hash.slice(1);\n }\n const location = this.buildLocation({\n ...rest,\n _includeValidateSearch: true\n });\n return this.commitLocation({\n ...location,\n viewTransition,\n replace,\n resetScroll,\n hashScrollIntoView,\n ignoreBlocker\n });\n };\n this.navigate = ({ to, reloadDocument, href, ...rest }) => {\n if (!reloadDocument && href) {\n try {\n new URL(`${href}`);\n reloadDocument = true;\n } catch {\n }\n }\n if (reloadDocument) {\n if (!href) {\n const location = this.buildLocation({ to, ...rest });\n href = this.history.createHref(location.href);\n }\n if (rest.replace) {\n window.location.replace(href);\n } else {\n window.location.href = href;\n }\n return Promise.resolve();\n }\n return this.buildAndCommitLocation({\n ...rest,\n href,\n to,\n _isNavigate: true\n });\n };\n this.beforeLoad = () => {\n this.cancelMatches();\n this.latestLocation = this.parseLocation(this.latestLocation);\n if (this.isServer) {\n const nextLocation = this.buildLocation({\n to: this.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n const normalizeUrl = (url) => {\n try {\n return encodeURI(decodeURI(url));\n } catch {\n return url;\n }\n };\n if (trimPath(normalizeUrl(this.latestLocation.href)) !== trimPath(normalizeUrl(nextLocation.href))) {\n throw redirect({ href: nextLocation.href });\n }\n }\n const pendingMatches = this.matchRoutes(this.latestLocation);\n this.__store.setState((s) => ({\n ...s,\n status: \"pending\",\n statusCode: 200,\n isLoading: true,\n location: this.latestLocation,\n pendingMatches,\n // If a cached moved to pendingMatches, remove it from cachedMatches\n cachedMatches: s.cachedMatches.filter(\n (d) => !pendingMatches.some((e) => e.id === d.id)\n )\n }));\n };\n this.load = async (opts) => {\n let redirect2;\n let notFound;\n let loadPromise;\n loadPromise = new Promise((resolve) => {\n this.startTransition(async () => {\n var _a;\n try {\n this.beforeLoad();\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n if (!this.state.redirect) {\n this.emit({\n type: \"onBeforeNavigate\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n }\n this.emit({\n type: \"onBeforeLoad\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n await this.loadMatches({\n sync: opts == null ? void 0 : opts.sync,\n matches: this.state.pendingMatches,\n location: next,\n // eslint-disable-next-line @typescript-eslint/require-await\n onReady: async () => {\n this.startViewTransition(async () => {\n let exitingMatches;\n let enteringMatches;\n let stayingMatches;\n batch(() => {\n this.__store.setState((s) => {\n const previousMatches = s.matches;\n const newMatches = s.pendingMatches || s.matches;\n exitingMatches = previousMatches.filter(\n (match) => !newMatches.some((d) => d.id === match.id)\n );\n enteringMatches = newMatches.filter(\n (match) => !previousMatches.some((d) => d.id === match.id)\n );\n stayingMatches = previousMatches.filter(\n (match) => newMatches.some((d) => d.id === match.id)\n );\n return {\n ...s,\n isLoading: false,\n loadedAt: Date.now(),\n matches: newMatches,\n pendingMatches: void 0,\n cachedMatches: [\n ...s.cachedMatches,\n ...exitingMatches.filter((d) => d.status !== \"error\")\n ]\n };\n });\n this.clearExpiredCache();\n });\n [\n [exitingMatches, \"onLeave\"],\n [enteringMatches, \"onEnter\"],\n [stayingMatches, \"onStay\"]\n ].forEach(([matches, hook]) => {\n matches.forEach((match) => {\n var _a2, _b;\n (_b = (_a2 = this.looseRoutesById[match.routeId].options)[hook]) == null ? void 0 : _b.call(_a2, match);\n });\n });\n });\n }\n });\n } catch (err) {\n if (isRedirect(err)) {\n redirect2 = err;\n if (!this.isServer) {\n this.navigate({\n ...redirect2.options,\n replace: true,\n ignoreBlocker: true\n });\n }\n } else if (isNotFound(err)) {\n notFound = err;\n }\n this.__store.setState((s) => ({\n ...s,\n statusCode: redirect2 ? redirect2.status : notFound ? 404 : s.matches.some((d) => d.status === \"error\") ? 500 : 200,\n redirect: redirect2\n }));\n }\n if (this.latestLoadPromise === loadPromise) {\n (_a = this.commitLocationPromise) == null ? void 0 : _a.resolve();\n this.latestLoadPromise = void 0;\n this.commitLocationPromise = void 0;\n }\n resolve();\n });\n });\n this.latestLoadPromise = loadPromise;\n await loadPromise;\n while (this.latestLoadPromise && loadPromise !== this.latestLoadPromise) {\n await this.latestLoadPromise;\n }\n if (this.hasNotFoundMatch()) {\n this.__store.setState((s) => ({\n ...s,\n statusCode: 404\n }));\n }\n };\n this.startViewTransition = (fn) => {\n const shouldViewTransition = this.shouldViewTransition ?? this.options.defaultViewTransition;\n delete this.shouldViewTransition;\n if (shouldViewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document && typeof document.startViewTransition === \"function\") {\n let startViewTransitionParams;\n if (typeof shouldViewTransition === \"object\" && this.isViewTransitionTypesSupported) {\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n const resolvedViewTransitionTypes = typeof shouldViewTransition.types === \"function\" ? shouldViewTransition.types(\n getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n ) : shouldViewTransition.types;\n startViewTransitionParams = {\n update: fn,\n types: resolvedViewTransitionTypes\n };\n } else {\n startViewTransitionParams = fn;\n }\n document.startViewTransition(startViewTransitionParams);\n } else {\n fn();\n }\n };\n this.updateMatch = (id, updater) => {\n var _a;\n const matchesKey = ((_a = this.state.pendingMatches) == null ? void 0 : _a.some((d) => d.id === id)) ? \"pendingMatches\" : this.state.matches.some((d) => d.id === id) ? \"matches\" : this.state.cachedMatches.some((d) => d.id === id) ? \"cachedMatches\" : \"\";\n if (matchesKey) {\n this.__store.setState((s) => {\n var _a2;\n return {\n ...s,\n [matchesKey]: (_a2 = s[matchesKey]) == null ? void 0 : _a2.map((d) => d.id === id ? updater(d) : d)\n };\n });\n }\n };\n this.getMatch = (matchId) => {\n var _a;\n const findFn = (d) => d.id === matchId;\n return this.state.cachedMatches.find(findFn) ?? ((_a = this.state.pendingMatches) == null ? void 0 : _a.find(findFn)) ?? this.state.matches.find(findFn);\n };\n this.loadMatches = async ({\n location,\n matches,\n preload: allPreload,\n onReady,\n updateMatch = this.updateMatch,\n sync\n }) => {\n let firstBadMatchIndex;\n let rendered = false;\n const triggerOnReady = async () => {\n if (!rendered) {\n rendered = true;\n await (onReady == null ? void 0 : onReady());\n }\n };\n const resolvePreload = (matchId) => {\n return !!(allPreload && !this.state.matches.some((d) => d.id === matchId));\n };\n if (!this.isServer && this.state.matches.some((d) => d._forcePending)) {\n triggerOnReady();\n }\n const handleRedirectAndNotFound = (match, err) => {\n var _a, _b, _c;\n if (isRedirect(err) || isNotFound(err)) {\n if (isRedirect(err)) {\n if (err.redirectHandled) {\n if (!err.options.reloadDocument) {\n throw err;\n }\n }\n }\n (_a = match.beforeLoadPromise) == null ? void 0 : _a.resolve();\n (_b = match.loaderPromise) == null ? void 0 : _b.resolve();\n updateMatch(match.id, (prev) => ({\n ...prev,\n status: isRedirect(err) ? \"redirected\" : isNotFound(err) ? \"notFound\" : \"error\",\n isFetching: false,\n error: err,\n beforeLoadPromise: void 0,\n loaderPromise: void 0\n }));\n if (!err.routeId) {\n err.routeId = match.routeId;\n }\n (_c = match.loadPromise) == null ? void 0 : _c.resolve();\n if (isRedirect(err)) {\n rendered = true;\n err.options._fromLocation = location;\n err.redirectHandled = true;\n err = this.resolveRedirect(err);\n throw err;\n } else if (isNotFound(err)) {\n this._handleNotFound(matches, err, {\n updateMatch\n });\n throw err;\n }\n }\n };\n const shouldSkipLoader = (matchId) => {\n const match = this.getMatch(matchId);\n if (!this.isServer && match._dehydrated) {\n return true;\n }\n if (this.isServer) {\n if (match.ssr === false) {\n return true;\n }\n }\n return false;\n };\n try {\n await new Promise((resolveAll, rejectAll) => {\n ;\n (async () => {\n var _a, _b, _c, _d;\n try {\n const handleSerialError = (index, err, routerCode) => {\n var _a2, _b2;\n const { id: matchId, routeId } = matches[index];\n const route = this.looseRoutesById[routeId];\n if (err instanceof Promise) {\n throw err;\n }\n err.routerCode = routerCode;\n firstBadMatchIndex = firstBadMatchIndex ?? index;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n try {\n (_b2 = (_a2 = route.options).onError) == null ? void 0 : _b2.call(_a2, err);\n } catch (errorHandlerErr) {\n err = errorHandlerErr;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n updateMatch(matchId, (prev) => {\n var _a3, _b3;\n (_a3 = prev.beforeLoadPromise) == null ? void 0 : _a3.resolve();\n (_b3 = prev.loadPromise) == null ? void 0 : _b3.resolve();\n return {\n ...prev,\n error: err,\n status: \"error\",\n isFetching: false,\n updatedAt: Date.now(),\n abortController: new AbortController(),\n beforeLoadPromise: void 0\n };\n });\n };\n for (const [index, { id: matchId, routeId }] of matches.entries()) {\n const existingMatch = this.getMatch(matchId);\n const parentMatchId = (_a = matches[index - 1]) == null ? void 0 : _a.id;\n const parentMatch = parentMatchId ? this.getMatch(parentMatchId) : void 0;\n const route = this.looseRoutesById[routeId];\n const pendingMs = route.options.pendingMs ?? this.options.defaultPendingMs;\n if (this.isServer) {\n let ssr;\n if (this.isShell()) {\n ssr = matchId === rootRouteId;\n } else {\n const defaultSsr = this.options.defaultSsr ?? true;\n if ((parentMatch == null ? void 0 : parentMatch.ssr) === false) {\n ssr = false;\n } else {\n let tempSsr;\n if (route.options.ssr === void 0) {\n tempSsr = defaultSsr;\n } else if (typeof route.options.ssr === \"function\") {\n let makeMaybe = function(value, error) {\n if (error) {\n return { status: \"error\", error };\n }\n return { status: \"success\", value };\n };\n const { search, params } = this.getMatch(matchId);\n const ssrFnContext = {\n search: makeMaybe(search, existingMatch.searchError),\n params: makeMaybe(params, existingMatch.paramsError),\n location,\n matches: matches.map((match) => ({\n index: match.index,\n pathname: match.pathname,\n fullPath: match.fullPath,\n staticData: match.staticData,\n id: match.id,\n routeId: match.routeId,\n search: makeMaybe(match.search, match.searchError),\n params: makeMaybe(match.params, match.paramsError),\n ssr: match.ssr\n }))\n };\n tempSsr = await route.options.ssr(ssrFnContext) ?? defaultSsr;\n } else {\n tempSsr = route.options.ssr;\n }\n if (tempSsr === true && (parentMatch == null ? void 0 : parentMatch.ssr) === \"data-only\") {\n ssr = \"data-only\";\n } else {\n ssr = tempSsr;\n }\n }\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n ssr\n }));\n }\n if (shouldSkipLoader(matchId)) {\n continue;\n }\n const shouldPending = !!(onReady && !this.isServer && !resolvePreload(matchId) && (route.options.loader || route.options.beforeLoad || routeNeedsPreload(route)) && typeof pendingMs === \"number\" && pendingMs !== Infinity && (route.options.pendingComponent ?? ((_b = this.options) == null ? void 0 : _b.defaultPendingComponent)));\n let executeBeforeLoad = true;\n const setupPendingTimeout = () => {\n if (shouldPending && this.getMatch(matchId).pendingTimeout === void 0) {\n const pendingTimeout = setTimeout(() => {\n try {\n triggerOnReady();\n } catch {\n }\n }, pendingMs);\n updateMatch(matchId, (prev) => ({\n ...prev,\n pendingTimeout\n }));\n }\n };\n if (\n // If we are in the middle of a load, either of these will be present\n // (not to be confused with `loadPromise`, which is always defined)\n existingMatch.beforeLoadPromise || existingMatch.loaderPromise\n ) {\n setupPendingTimeout();\n await existingMatch.beforeLoadPromise;\n const match = this.getMatch(matchId);\n if (match.status === \"error\") {\n executeBeforeLoad = true;\n } else if (match.preload && (match.status === \"redirected\" || match.status === \"notFound\")) {\n handleRedirectAndNotFound(match, match.error);\n }\n }\n if (executeBeforeLoad) {\n try {\n updateMatch(matchId, (prev) => {\n const prevLoadPromise = prev.loadPromise;\n return {\n ...prev,\n loadPromise: createControlledPromise(() => {\n prevLoadPromise == null ? void 0 : prevLoadPromise.resolve();\n }),\n beforeLoadPromise: createControlledPromise()\n };\n });\n const { paramsError, searchError } = this.getMatch(matchId);\n if (paramsError) {\n handleSerialError(index, paramsError, \"PARSE_PARAMS\");\n }\n if (searchError) {\n handleSerialError(index, searchError, \"VALIDATE_SEARCH\");\n }\n setupPendingTimeout();\n const abortController = new AbortController();\n const parentMatchContext = (parentMatch == null ? void 0 : parentMatch.context) ?? this.options.context ?? {};\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"beforeLoad\",\n fetchCount: prev.fetchCount + 1,\n abortController,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext\n }\n }));\n const { search, params, context, cause } = this.getMatch(matchId);\n const preload = resolvePreload(matchId);\n const beforeLoadFnContext = {\n search,\n abortController,\n params,\n preload,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n buildLocation: this.buildLocation,\n cause: preload ? \"preload\" : cause,\n matches\n };\n const beforeLoadContext = await ((_d = (_c = route.options).beforeLoad) == null ? void 0 : _d.call(_c, beforeLoadFnContext));\n if (isRedirect(beforeLoadContext) || isNotFound(beforeLoadContext)) {\n handleSerialError(index, beforeLoadContext, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n return {\n ...prev,\n __beforeLoadContext: beforeLoadContext,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext,\n ...beforeLoadContext\n },\n abortController\n };\n });\n } catch (err) {\n handleSerialError(index, err, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n var _a2;\n (_a2 = prev.beforeLoadPromise) == null ? void 0 : _a2.resolve();\n return {\n ...prev,\n beforeLoadPromise: void 0,\n isFetching: false\n };\n });\n }\n }\n const validResolvedMatches = matches.slice(0, firstBadMatchIndex);\n const matchPromises = [];\n validResolvedMatches.forEach(({ id: matchId, routeId }, index) => {\n matchPromises.push(\n (async () => {\n let loaderShouldRunAsync = false;\n let loaderIsRunningAsync = false;\n const route = this.looseRoutesById[routeId];\n const executeHead = async () => {\n var _a2, _b2, _c2, _d2, _e, _f;\n const match = this.getMatch(matchId);\n if (!match) {\n return;\n }\n const assetContext = {\n matches,\n match,\n params: match.params,\n loaderData: match.loaderData\n };\n const headFnContent = await ((_b2 = (_a2 = route.options).head) == null ? void 0 : _b2.call(_a2, assetContext));\n const meta = headFnContent == null ? void 0 : headFnContent.meta;\n const links = headFnContent == null ? void 0 : headFnContent.links;\n const headScripts = headFnContent == null ? void 0 : headFnContent.scripts;\n const styles = headFnContent == null ? void 0 : headFnContent.styles;\n const scripts = await ((_d2 = (_c2 = route.options).scripts) == null ? void 0 : _d2.call(_c2, assetContext));\n const headers = await ((_f = (_e = route.options).headers) == null ? void 0 : _f.call(_e, assetContext));\n return {\n meta,\n links,\n headScripts,\n headers,\n scripts,\n styles\n };\n };\n const potentialPendingMinPromise = async () => {\n const latestMatch = this.getMatch(matchId);\n if (latestMatch.minPendingPromise) {\n await latestMatch.minPendingPromise;\n }\n };\n const prevMatch = this.getMatch(matchId);\n if (shouldSkipLoader(matchId)) {\n if (this.isServer) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n return this.getMatch(matchId);\n }\n } else if (prevMatch.loaderPromise) {\n if (prevMatch.status === \"success\" && !sync && !prevMatch.preload) {\n return this.getMatch(matchId);\n }\n await prevMatch.loaderPromise;\n const match = this.getMatch(matchId);\n if (match.error) {\n handleRedirectAndNotFound(match, match.error);\n }\n } else {\n const parentMatchPromise = matchPromises[index - 1];\n const getLoaderContext = () => {\n const {\n params,\n loaderDeps,\n abortController,\n context,\n cause\n } = this.getMatch(matchId);\n const preload2 = resolvePreload(matchId);\n return {\n params,\n deps: loaderDeps,\n preload: !!preload2,\n parentMatchPromise,\n abortController,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n cause: preload2 ? \"preload\" : cause,\n route\n };\n };\n const age = Date.now() - this.getMatch(matchId).updatedAt;\n const preload = resolvePreload(matchId);\n const staleAge = preload ? route.options.preloadStaleTime ?? this.options.defaultPreloadStaleTime ?? 3e4 : route.options.staleTime ?? this.options.defaultStaleTime ?? 0;\n const shouldReloadOption = route.options.shouldReload;\n const shouldReload = typeof shouldReloadOption === \"function\" ? shouldReloadOption(getLoaderContext()) : shouldReloadOption;\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: createControlledPromise(),\n preload: !!preload && !this.state.matches.some((d) => d.id === matchId)\n }));\n const runLoader = async () => {\n var _a2, _b2, _c2, _d2;\n try {\n try {\n if (!this.isServer || this.isServer && this.getMatch(matchId).ssr === true) {\n this.loadRouteChunk(route);\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"loader\"\n }));\n const loaderData = await ((_b2 = (_a2 = route.options).loader) == null ? void 0 : _b2.call(_a2, getLoaderContext()));\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n loaderData\n );\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderData\n }));\n await route._lazyPromise;\n const head = await executeHead();\n await potentialPendingMinPromise();\n await route._componentsPromise;\n updateMatch(matchId, (prev) => ({\n ...prev,\n error: void 0,\n status: \"success\",\n isFetching: false,\n updatedAt: Date.now(),\n ...head\n }));\n } catch (e) {\n let error = e;\n await potentialPendingMinPromise();\n handleRedirectAndNotFound(this.getMatch(matchId), e);\n try {\n (_d2 = (_c2 = route.options).onError) == null ? void 0 : _d2.call(_c2, e);\n } catch (onErrorError) {\n error = onErrorError;\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n onErrorError\n );\n }\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n error,\n status: \"error\",\n isFetching: false,\n ...head\n }));\n }\n } catch (err) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0,\n ...head\n }));\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n };\n const { status, invalid } = this.getMatch(matchId);\n loaderShouldRunAsync = status === \"success\" && (invalid || (shouldReload ?? age > staleAge));\n if (preload && route.options.preload === false) {\n } else if (loaderShouldRunAsync && !sync) {\n loaderIsRunningAsync = true;\n (async () => {\n try {\n await runLoader();\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0\n }));\n } catch (err) {\n if (isRedirect(err)) {\n await this.navigate(err.options);\n }\n }\n })();\n } else if (status !== \"success\" || loaderShouldRunAsync && sync) {\n await runLoader();\n } else {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n }\n }\n if (!loaderIsRunningAsync) {\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n }\n updateMatch(matchId, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n isFetching: loaderIsRunningAsync ? prev.isFetching : false,\n loaderPromise: loaderIsRunningAsync ? prev.loaderPromise : void 0,\n invalid: false,\n pendingTimeout: void 0,\n _dehydrated: void 0\n };\n });\n return this.getMatch(matchId);\n })()\n );\n });\n await Promise.all(matchPromises);\n resolveAll();\n } catch (err) {\n rejectAll(err);\n }\n })();\n });\n await triggerOnReady();\n } catch (err) {\n if (isRedirect(err) || isNotFound(err)) {\n if (isNotFound(err) && !allPreload) {\n await triggerOnReady();\n }\n throw err;\n }\n }\n return matches;\n };\n this.invalidate = (opts) => {\n const invalidate = (d) => {\n var _a;\n if (((_a = opts == null ? void 0 : opts.filter) == null ? void 0 : _a.call(opts, d)) ?? true) {\n return {\n ...d,\n invalid: true,\n ...(opts == null ? void 0 : opts.forcePending) || d.status === \"error\" ? { status: \"pending\", error: void 0 } : {}\n };\n }\n return d;\n };\n this.__store.setState((s) => {\n var _a;\n return {\n ...s,\n matches: s.matches.map(invalidate),\n cachedMatches: s.cachedMatches.map(invalidate),\n pendingMatches: (_a = s.pendingMatches) == null ? void 0 : _a.map(invalidate)\n };\n });\n this.shouldViewTransition = false;\n return this.load({ sync: opts == null ? void 0 : opts.sync });\n };\n this.resolveRedirect = (redirect2) => {\n if (!redirect2.options.href) {\n redirect2.options.href = this.buildLocation(redirect2.options).href;\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n if (!redirect2.headers.get(\"Location\")) {\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n return redirect2;\n };\n this.clearCache = (opts) => {\n const filter = opts == null ? void 0 : opts.filter;\n if (filter !== void 0) {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: s.cachedMatches.filter(\n (m) => !filter(m)\n )\n };\n });\n } else {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: []\n };\n });\n }\n };\n this.clearExpiredCache = () => {\n const filter = (d) => {\n const route = this.looseRoutesById[d.routeId];\n if (!route.options.loader) {\n return true;\n }\n const gcTime = (d.preload ? route.options.preloadGcTime ?? this.options.defaultPreloadGcTime : route.options.gcTime ?? this.options.defaultGcTime) ?? 5 * 60 * 1e3;\n const isError = d.status === \"error\";\n if (isError) return true;\n const gcEligible = Date.now() - d.updatedAt >= gcTime;\n return gcEligible;\n };\n this.clearCache({ filter });\n };\n this.loadRouteChunk = (route) => {\n if (route._lazyPromise === void 0) {\n if (route.lazyFn) {\n route._lazyPromise = route.lazyFn().then((lazyRoute) => {\n const { id: _id, ...options2 } = lazyRoute.options;\n Object.assign(route.options, options2);\n });\n } else {\n route._lazyPromise = Promise.resolve();\n }\n }\n if (route._componentsPromise === void 0) {\n route._componentsPromise = route._lazyPromise.then(\n () => Promise.all(\n componentTypes.map(async (type) => {\n const component = route.options[type];\n if (component == null ? void 0 : component.preload) {\n await component.preload();\n }\n })\n )\n );\n }\n return route._componentsPromise;\n };\n this.preloadRoute = async (opts) => {\n const next = this.buildLocation(opts);\n let matches = this.matchRoutes(next, {\n throwOnError: true,\n preload: true,\n dest: opts\n });\n const activeMatchIds = new Set(\n [...this.state.matches, ...this.state.pendingMatches ?? []].map(\n (d) => d.id\n )\n );\n const loadedMatchIds = /* @__PURE__ */ new Set([\n ...activeMatchIds,\n ...this.state.cachedMatches.map((d) => d.id)\n ]);\n batch(() => {\n matches.forEach((match) => {\n if (!loadedMatchIds.has(match.id)) {\n this.__store.setState((s) => ({\n ...s,\n cachedMatches: [...s.cachedMatches, match]\n }));\n }\n });\n });\n try {\n matches = await this.loadMatches({\n matches,\n location: next,\n preload: true,\n updateMatch: (id, updater) => {\n if (activeMatchIds.has(id)) {\n matches = matches.map((d) => d.id === id ? updater(d) : d);\n } else {\n this.updateMatch(id, updater);\n }\n }\n });\n return matches;\n } catch (err) {\n if (isRedirect(err)) {\n if (err.options.reloadDocument) {\n return void 0;\n }\n return await this.preloadRoute({\n ...err.options,\n _fromLocation: next\n });\n }\n if (!isNotFound(err)) {\n console.error(err);\n }\n return void 0;\n }\n };\n this.matchRoute = (location, opts) => {\n const matchLocation = {\n ...location,\n to: location.to ? this.resolvePathWithBase(\n location.from || \"\",\n location.to\n ) : void 0,\n params: location.params || {},\n leaveParams: true\n };\n const next = this.buildLocation(matchLocation);\n if ((opts == null ? void 0 : opts.pending) && this.state.status !== \"pending\") {\n return false;\n }\n const pending = (opts == null ? void 0 : opts.pending) === void 0 ? !this.state.isLoading : opts.pending;\n const baseLocation = pending ? this.latestLocation : this.state.resolvedLocation || this.state.location;\n const match = matchPathname(\n this.basepath,\n baseLocation.pathname,\n {\n ...opts,\n to: next.pathname\n },\n this.parsePathnameCache\n );\n if (!match) {\n return false;\n }\n if (location.params) {\n if (!deepEqual(match, location.params, { partial: true })) {\n return false;\n }\n }\n if (match && ((opts == null ? void 0 : opts.includeSearch) ?? true)) {\n return deepEqual(baseLocation.search, next.search, { partial: true }) ? match : false;\n }\n return match;\n };\n this._handleNotFound = (matches, err, {\n updateMatch = this.updateMatch\n } = {}) => {\n var _a;\n const routeCursor = this.routesById[err.routeId ?? \"\"] ?? this.routeTree;\n const matchesByRouteId = {};\n for (const match of matches) {\n matchesByRouteId[match.routeId] = match;\n }\n if (!routeCursor.options.notFoundComponent && ((_a = this.options) == null ? void 0 : _a.defaultNotFoundComponent)) {\n routeCursor.options.notFoundComponent = this.options.defaultNotFoundComponent;\n }\n invariant(\n routeCursor.options.notFoundComponent,\n \"No notFoundComponent found. Please set a notFoundComponent on your route or provide a defaultNotFoundComponent to the router.\"\n );\n const matchForRoute = matchesByRouteId[routeCursor.id];\n invariant(\n matchForRoute,\n \"Could not find match for route: \" + routeCursor.id\n );\n updateMatch(matchForRoute.id, (prev) => ({\n ...prev,\n status: \"notFound\",\n error: err,\n isFetching: false\n }));\n if (err.routerCode === \"BEFORE_LOAD\" && routeCursor.parentRoute) {\n err.routeId = routeCursor.parentRoute.id;\n this._handleNotFound(matches, err, {\n updateMatch\n });\n }\n };\n this.hasNotFoundMatch = () => {\n return this.__store.state.matches.some(\n (d) => d.status === \"notFound\" || d.globalNotFound\n );\n };\n this.update({\n defaultPreloadDelay: 50,\n defaultPendingMs: 1e3,\n defaultPendingMinMs: 500,\n context: void 0,\n ...options,\n caseSensitive: options.caseSensitive ?? false,\n notFoundMode: options.notFoundMode ?? \"fuzzy\",\n stringifySearch: options.stringifySearch ?? defaultStringifySearch,\n parseSearch: options.parseSearch ?? defaultParseSearch\n });\n if (typeof document !== \"undefined\") {\n self.__TSR_ROUTER__ = this;\n }\n }\n isShell() {\n return !!this.options.isShell;\n }\n isPrerendering() {\n return !!this.options.isPrerendering;\n }\n get state() {\n return this.__store.state;\n }\n get looseRoutesById() {\n return this.routesById;\n }\n matchRoutesInternal(next, opts) {\n var _a;\n const { foundRoute, matchedRoutes, routeParams } = this.getMatchedRoutes(\n next.pathname,\n (_a = opts == null ? void 0 : opts.dest) == null ? void 0 : _a.to\n );\n let isGlobalNotFound = false;\n if (\n // If we found a route, and it's not an index route and we have left over path\n foundRoute ? foundRoute.path !== \"/\" && routeParams[\"**\"] : (\n // Or if we didn't find a route and we have left over path\n trimPathRight(next.pathname)\n )\n ) {\n if (this.options.notFoundRoute) {\n matchedRoutes.push(this.options.notFoundRoute);\n } else {\n isGlobalNotFound = true;\n }\n }\n const globalNotFoundRouteId = (() => {\n if (!isGlobalNotFound) {\n return void 0;\n }\n if (this.options.notFoundMode !== \"root\") {\n for (let i = matchedRoutes.length - 1; i >= 0; i--) {\n const route = matchedRoutes[i];\n if (route.children) {\n return route.id;\n }\n }\n }\n return rootRouteId;\n })();\n const parseErrors = matchedRoutes.map((route) => {\n var _a2;\n let parsedParamsError;\n const parseParams = ((_a2 = route.options.params) == null ? void 0 : _a2.parse) ?? route.options.parseParams;\n if (parseParams) {\n try {\n const parsedParams = parseParams(routeParams);\n Object.assign(routeParams, parsedParams);\n } catch (err) {\n parsedParamsError = new PathParamError(err.message, {\n cause: err\n });\n if (opts == null ? void 0 : opts.throwOnError) {\n throw parsedParamsError;\n }\n return parsedParamsError;\n }\n }\n return;\n });\n const matches = [];\n const getParentContext = (parentMatch) => {\n const parentMatchId = parentMatch == null ? void 0 : parentMatch.id;\n const parentContext = !parentMatchId ? this.options.context ?? {} : parentMatch.context ?? this.options.context ?? {};\n return parentContext;\n };\n matchedRoutes.forEach((route, index) => {\n var _a2, _b;\n const parentMatch = matches[index - 1];\n const [preMatchSearch, strictMatchSearch, searchError] = (() => {\n const parentSearch = (parentMatch == null ? void 0 : parentMatch.search) ?? next.search;\n const parentStrictSearch = (parentMatch == null ? void 0 : parentMatch._strictSearch) ?? {};\n try {\n const strictSearch = validateSearch(route.options.validateSearch, { ...parentSearch }) ?? {};\n return [\n {\n ...parentSearch,\n ...strictSearch\n },\n { ...parentStrictSearch, ...strictSearch },\n void 0\n ];\n } catch (err) {\n let searchParamError = err;\n if (!(err instanceof SearchParamError)) {\n searchParamError = new SearchParamError(err.message, {\n cause: err\n });\n }\n if (opts == null ? void 0 : opts.throwOnError) {\n throw searchParamError;\n }\n return [parentSearch, {}, searchParamError];\n }\n })();\n const loaderDeps = ((_b = (_a2 = route.options).loaderDeps) == null ? void 0 : _b.call(_a2, {\n search: preMatchSearch\n })) ?? \"\";\n const loaderDepsHash = loaderDeps ? JSON.stringify(loaderDeps) : \"\";\n const { usedParams, interpolatedPath } = interpolatePath({\n path: route.fullPath,\n params: routeParams,\n decodeCharMap: this.pathParamsDecodeCharMap\n });\n const matchId = interpolatePath({\n path: route.id,\n params: routeParams,\n leaveWildcards: true,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath + loaderDepsHash;\n const existingMatch = this.getMatch(matchId);\n const previousMatch = this.state.matches.find(\n (d) => d.routeId === route.id\n );\n const cause = previousMatch ? \"stay\" : \"enter\";\n let match;\n if (existingMatch) {\n match = {\n ...existingMatch,\n cause,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : replaceEqualDeep(existingMatch.search, preMatchSearch),\n _strictSearch: strictMatchSearch\n };\n } else {\n const status = route.options.loader || route.options.beforeLoad || route.lazyFn || routeNeedsPreload(route) ? \"pending\" : \"success\";\n match = {\n id: matchId,\n index,\n routeId: route.id,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n pathname: joinPaths([this.basepath, interpolatedPath]),\n updatedAt: Date.now(),\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : preMatchSearch,\n _strictSearch: strictMatchSearch,\n searchError: void 0,\n status,\n isFetching: false,\n error: void 0,\n paramsError: parseErrors[index],\n __routeContext: {},\n __beforeLoadContext: void 0,\n context: {},\n abortController: new AbortController(),\n fetchCount: 0,\n cause,\n loaderDeps: previousMatch ? replaceEqualDeep(previousMatch.loaderDeps, loaderDeps) : loaderDeps,\n invalid: false,\n preload: false,\n links: void 0,\n scripts: void 0,\n headScripts: void 0,\n meta: void 0,\n staticData: route.options.staticData || {},\n loadPromise: createControlledPromise(),\n fullPath: route.fullPath\n };\n }\n if (!(opts == null ? void 0 : opts.preload)) {\n match.globalNotFound = globalNotFoundRouteId === route.id;\n }\n match.searchError = searchError;\n const parentContext = getParentContext(parentMatch);\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n matches.push(match);\n });\n matches.forEach((match, index) => {\n var _a2, _b;\n const route = this.looseRoutesById[match.routeId];\n const existingMatch = this.getMatch(match.id);\n if (!existingMatch && (opts == null ? void 0 : opts._buildLocation) !== true) {\n const parentMatch = matches[index - 1];\n const parentContext = getParentContext(parentMatch);\n const contextFnContext = {\n deps: match.loaderDeps,\n params: match.params,\n context: parentContext,\n location: next,\n navigate: (opts2) => this.navigate({ ...opts2, _fromLocation: next }),\n buildLocation: this.buildLocation,\n cause: match.cause,\n abortController: match.abortController,\n preload: !!match.preload,\n matches\n };\n match.__routeContext = ((_b = (_a2 = route.options).context) == null ? void 0 : _b.call(_a2, contextFnContext)) ?? {};\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n }\n });\n return matches;\n }\n}\nclass SearchParamError extends Error {\n}\nclass PathParamError extends Error {\n}\nconst normalize = (str) => str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\nfunction comparePaths(a, b) {\n return normalize(a) === normalize(b);\n}\nfunction lazyFn(fn, key) {\n return async (...args) => {\n const imported = await fn();\n return imported[key || \"default\"](...args);\n };\n}\nfunction getInitialRouterState(location) {\n return {\n loadedAt: 0,\n isLoading: false,\n isTransitioning: false,\n status: \"idle\",\n resolvedLocation: void 0,\n location,\n matches: [],\n pendingMatches: [],\n cachedMatches: [],\n statusCode: 200\n };\n}\nfunction validateSearch(validateSearch2, input) {\n if (validateSearch2 == null) return {};\n if (\"~standard\" in validateSearch2) {\n const result = validateSearch2[\"~standard\"].validate(input);\n if (result instanceof Promise)\n throw new SearchParamError(\"Async validation not supported\");\n if (result.issues)\n throw new SearchParamError(JSON.stringify(result.issues, void 0, 2), {\n cause: result\n });\n return result.value;\n }\n if (\"parse\" in validateSearch2) {\n return validateSearch2.parse(input);\n }\n if (typeof validateSearch2 === \"function\") {\n return validateSearch2(input);\n }\n return {};\n}\nconst componentTypes = [\n \"component\",\n \"errorComponent\",\n \"pendingComponent\",\n \"notFoundComponent\"\n];\nfunction routeNeedsPreload(route) {\n var _a;\n for (const componentType of componentTypes) {\n if ((_a = route.options[componentType]) == null ? void 0 : _a.preload) {\n return true;\n }\n }\n return false;\n}\nconst REQUIRED_PARAM_BASE_SCORE = 0.5;\nconst OPTIONAL_PARAM_BASE_SCORE = 0.4;\nconst WILDCARD_PARAM_BASE_SCORE = 0.25;\nfunction handleParam(segment, baseScore) {\n if (segment.prefixSegment && segment.suffixSegment) {\n return baseScore + 0.05;\n }\n if (segment.prefixSegment) {\n return baseScore + 0.02;\n }\n if (segment.suffixSegment) {\n return baseScore + 0.01;\n }\n return baseScore;\n}\nfunction processRouteTree({\n routeTree,\n initRoute\n}) {\n const routesById = {};\n const routesByPath = {};\n const recurseRoutes = (childRoutes) => {\n childRoutes.forEach((childRoute, i) => {\n initRoute == null ? void 0 : initRoute(childRoute, i);\n const existingRoute = routesById[childRoute.id];\n invariant(\n !existingRoute,\n `Duplicate routes found with id: ${String(childRoute.id)}`\n );\n routesById[childRoute.id] = childRoute;\n if (!childRoute.isRoot && childRoute.path) {\n const trimmedFullPath = trimPathRight(childRoute.fullPath);\n if (!routesByPath[trimmedFullPath] || childRoute.fullPath.endsWith(\"/\")) {\n routesByPath[trimmedFullPath] = childRoute;\n }\n }\n const children = childRoute.children;\n if (children == null ? void 0 : children.length) {\n recurseRoutes(children);\n }\n });\n };\n recurseRoutes([routeTree]);\n const scoredRoutes = [];\n const routes = Object.values(routesById);\n routes.forEach((d, i) => {\n var _a;\n if (d.isRoot || !d.path) {\n return;\n }\n const trimmed = trimPathLeft(d.fullPath);\n let parsed = parsePathname(trimmed);\n let skip = 0;\n while (parsed.length > skip + 1 && ((_a = parsed[skip]) == null ? void 0 : _a.value) === \"/\") {\n skip++;\n }\n if (skip > 0) parsed = parsed.slice(skip);\n let optionalParamCount = 0;\n let hasStaticAfter = false;\n const scores = parsed.map((segment, index) => {\n if (segment.value === \"/\") {\n return 0.75;\n }\n let baseScore = void 0;\n if (segment.type === SEGMENT_TYPE_PARAM) {\n baseScore = REQUIRED_PARAM_BASE_SCORE;\n } else if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n baseScore = OPTIONAL_PARAM_BASE_SCORE;\n optionalParamCount++;\n } else if (segment.type === SEGMENT_TYPE_WILDCARD) {\n baseScore = WILDCARD_PARAM_BASE_SCORE;\n }\n if (baseScore) {\n for (let i2 = index + 1; i2 < parsed.length; i2++) {\n const nextSegment = parsed[i2];\n if (nextSegment.type === SEGMENT_TYPE_PATHNAME && nextSegment.value !== \"/\") {\n hasStaticAfter = true;\n return handleParam(segment, baseScore + 0.2);\n }\n }\n return handleParam(segment, baseScore);\n }\n return 1;\n });\n scoredRoutes.push({\n child: d,\n trimmed,\n parsed,\n index: i,\n scores,\n optionalParamCount,\n hasStaticAfter\n });\n });\n const flatRoutes = scoredRoutes.sort((a, b) => {\n const minLength = Math.min(a.scores.length, b.scores.length);\n for (let i = 0; i < minLength; i++) {\n if (a.scores[i] !== b.scores[i]) {\n return b.scores[i] - a.scores[i];\n }\n }\n if (a.scores.length !== b.scores.length) {\n if (a.optionalParamCount !== b.optionalParamCount) {\n if (a.hasStaticAfter === b.hasStaticAfter) {\n return a.optionalParamCount - b.optionalParamCount;\n } else if (a.hasStaticAfter && !b.hasStaticAfter) {\n return -1;\n } else if (!a.hasStaticAfter && b.hasStaticAfter) {\n return 1;\n }\n }\n return b.scores.length - a.scores.length;\n }\n for (let i = 0; i < minLength; i++) {\n if (a.parsed[i].value !== b.parsed[i].value) {\n return a.parsed[i].value > b.parsed[i].value ? 1 : -1;\n }\n }\n return a.index - b.index;\n }).map((d, i) => {\n d.child.rank = i;\n return d.child;\n });\n return { routesById, routesByPath, flatRoutes };\n}\nfunction getMatchedRoutes({\n pathname,\n routePathname,\n basepath,\n caseSensitive,\n routesByPath,\n routesById,\n flatRoutes,\n parseCache\n}) {\n let routeParams = {};\n const trimmedPath = trimPathRight(pathname);\n const getMatchedParams = (route) => {\n var _a;\n const result = matchPathname(\n basepath,\n trimmedPath,\n {\n to: route.fullPath,\n caseSensitive: ((_a = route.options) == null ? void 0 : _a.caseSensitive) ?? caseSensitive,\n // we need fuzzy matching for `notFoundMode: 'fuzzy'`\n fuzzy: true\n },\n parseCache\n );\n return result;\n };\n let foundRoute = routePathname !== void 0 ? routesByPath[routePathname] : void 0;\n if (foundRoute) {\n routeParams = getMatchedParams(foundRoute);\n } else {\n let fuzzyMatch = void 0;\n for (const route of flatRoutes) {\n const matchedParams = getMatchedParams(route);\n if (matchedParams) {\n if (route.path !== \"/\" && matchedParams[\"**\"]) {\n if (!fuzzyMatch) {\n fuzzyMatch = { foundRoute: route, routeParams: matchedParams };\n }\n } else {\n foundRoute = route;\n routeParams = matchedParams;\n break;\n }\n }\n }\n if (!foundRoute && fuzzyMatch) {\n foundRoute = fuzzyMatch.foundRoute;\n routeParams = fuzzyMatch.routeParams;\n }\n }\n let routeCursor = foundRoute || routesById[rootRouteId];\n const matchedRoutes = [routeCursor];\n while (routeCursor.parentRoute) {\n routeCursor = routeCursor.parentRoute;\n matchedRoutes.push(routeCursor);\n }\n matchedRoutes.reverse();\n return { matchedRoutes, routeParams, foundRoute };\n}\nfunction applySearchMiddleware({\n search,\n dest,\n destRoutes,\n _includeValidateSearch\n}) {\n const allMiddlewares = destRoutes.reduce(\n (acc, route) => {\n var _a;\n const middlewares = [];\n if (\"search\" in route.options) {\n if ((_a = route.options.search) == null ? void 0 : _a.middlewares) {\n middlewares.push(...route.options.search.middlewares);\n }\n } else if (route.options.preSearchFilters || route.options.postSearchFilters) {\n const legacyMiddleware = ({\n search: search2,\n next\n }) => {\n let nextSearch = search2;\n if (\"preSearchFilters\" in route.options && route.options.preSearchFilters) {\n nextSearch = route.options.preSearchFilters.reduce(\n (prev, next2) => next2(prev),\n search2\n );\n }\n const result = next(nextSearch);\n if (\"postSearchFilters\" in route.options && route.options.postSearchFilters) {\n return route.options.postSearchFilters.reduce(\n (prev, next2) => next2(prev),\n result\n );\n }\n return result;\n };\n middlewares.push(legacyMiddleware);\n }\n if (_includeValidateSearch && route.options.validateSearch) {\n const validate = ({ search: search2, next }) => {\n const result = next(search2);\n try {\n const validatedSearch = {\n ...result,\n ...validateSearch(route.options.validateSearch, result) ?? {}\n };\n return validatedSearch;\n } catch {\n return result;\n }\n };\n middlewares.push(validate);\n }\n return acc.concat(middlewares);\n },\n []\n ) ?? [];\n const final = ({ search: search2 }) => {\n if (!dest.search) {\n return {};\n }\n if (dest.search === true) {\n return search2;\n }\n return functionalUpdate(dest.search, search2);\n };\n allMiddlewares.push(final);\n const applyNext = (index, currentSearch) => {\n if (index >= allMiddlewares.length) {\n return currentSearch;\n }\n const middleware = allMiddlewares[index];\n const next = (newSearch) => {\n return applyNext(index + 1, newSearch);\n };\n return middleware({ search: currentSearch, next });\n };\n return applyNext(0, search);\n}\nexport {\n PathParamError,\n RouterCore,\n SearchParamError,\n componentTypes,\n defaultSerializeError,\n getInitialRouterState,\n getLocationChangeInfo,\n getMatchedRoutes,\n lazyFn,\n processRouteTree\n};\n//# sourceMappingURL=router.js.map\n","import { defaultSerializeError } from \"./router.js\";\nconst TSR_DEFERRED_PROMISE = Symbol.for(\"TSR_DEFERRED_PROMISE\");\nfunction defer(_promise, options) {\n const promise = _promise;\n if (promise[TSR_DEFERRED_PROMISE]) {\n return promise;\n }\n promise[TSR_DEFERRED_PROMISE] = { status: \"pending\" };\n promise.then((data) => {\n promise[TSR_DEFERRED_PROMISE].status = \"success\";\n promise[TSR_DEFERRED_PROMISE].data = data;\n }).catch((error) => {\n promise[TSR_DEFERRED_PROMISE].status = \"error\";\n promise[TSR_DEFERRED_PROMISE].error = {\n data: ((options == null ? void 0 : options.serializeError) ?? defaultSerializeError)(error),\n __isServerError: true\n };\n });\n return promise;\n}\nexport {\n TSR_DEFERRED_PROMISE,\n defer\n};\n//# sourceMappingURL=defer.js.map\n","const preloadWarning = \"Error preloading route! ☝️\";\nexport {\n preloadWarning\n};\n//# sourceMappingURL=link.js.map\n","const isMatch = (match, path) => {\n const parts = path.split(\".\");\n let part;\n let value = match;\n while ((part = parts.shift()) != null && value != null) {\n value = value[part];\n }\n return value != null;\n};\nexport {\n isMatch\n};\n//# sourceMappingURL=Matches.js.map\n","import invariant from \"tiny-invariant\";\nimport { trimPathLeft, joinPaths } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nclass BaseRoute {\n constructor(options) {\n this.init = (opts) => {\n var _a, _b;\n this.originalIndex = opts.originalIndex;\n const options2 = this.options;\n const isRoot = !(options2 == null ? void 0 : options2.path) && !(options2 == null ? void 0 : options2.id);\n this.parentRoute = (_b = (_a = this.options).getParentRoute) == null ? void 0 : _b.call(_a);\n if (isRoot) {\n this._path = rootRouteId;\n } else if (!this.parentRoute) {\n invariant(\n false,\n `Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`\n );\n }\n let path = isRoot ? rootRouteId : options2 == null ? void 0 : options2.path;\n if (path && path !== \"/\") {\n path = trimPathLeft(path);\n }\n const customId = (options2 == null ? void 0 : options2.id) || path;\n let id = isRoot ? rootRouteId : joinPaths([\n this.parentRoute.id === rootRouteId ? \"\" : this.parentRoute.id,\n customId\n ]);\n if (path === rootRouteId) {\n path = \"/\";\n }\n if (id !== rootRouteId) {\n id = joinPaths([\"/\", id]);\n }\n const fullPath = id === rootRouteId ? \"/\" : joinPaths([this.parentRoute.fullPath, path]);\n this._path = path;\n this._id = id;\n this._fullPath = fullPath;\n this._to = fullPath;\n };\n this.clone = (other) => {\n this._path = other._path;\n this._id = other._id;\n this._fullPath = other._fullPath;\n this._to = other._to;\n this.options.getParentRoute = other.options.getParentRoute;\n this.children = other.children;\n };\n this.addChildren = (children) => {\n return this._addFileChildren(children);\n };\n this._addFileChildren = (children) => {\n if (Array.isArray(children)) {\n this.children = children;\n }\n if (typeof children === \"object\" && children !== null) {\n this.children = Object.values(children);\n }\n return this;\n };\n this._addFileTypes = () => {\n return this;\n };\n this.updateLoader = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.update = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.lazy = (lazyFn) => {\n this.lazyFn = lazyFn;\n return this;\n };\n this.options = options || {};\n this.isRoot = !(options == null ? void 0 : options.getParentRoute);\n if ((options == null ? void 0 : options.id) && (options == null ? void 0 : options.path)) {\n throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n }\n }\n get to() {\n return this._to;\n }\n get id() {\n return this._id;\n }\n get path() {\n return this._path;\n }\n get fullPath() {\n return this._fullPath;\n }\n}\nclass BaseRouteApi {\n constructor({ id }) {\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.id = id;\n }\n}\nclass BaseRootRoute extends BaseRoute {\n constructor(options) {\n super(options);\n }\n}\nexport {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi\n};\n//# sourceMappingURL=route.js.map\n","import { deepEqual } from \"./utils.js\";\nfunction retainSearchParams(keys) {\n return ({ search, next }) => {\n const result = next(search);\n if (keys === true) {\n return { ...search, ...result };\n }\n keys.forEach((key) => {\n if (!(key in result)) {\n result[key] = search[key];\n }\n });\n return result;\n };\n}\nfunction stripSearchParams(input) {\n return ({ search, next }) => {\n if (input === true) {\n return {};\n }\n const result = next(search);\n if (Array.isArray(input)) {\n input.forEach((key) => {\n delete result[key];\n });\n } else {\n Object.entries(input).forEach(\n ([key, value]) => {\n if (deepEqual(result[key], value)) {\n delete result[key];\n }\n }\n );\n }\n return result;\n };\n}\nexport {\n retainSearchParams,\n stripSearchParams\n};\n//# sourceMappingURL=searchMiddleware.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { defer, TSR_DEFERRED_PROMISE } from \"@tanstack/router-core\";\nfunction useAwaited({\n promise: _promise\n}) {\n const promise = defer(_promise);\n if (promise[TSR_DEFERRED_PROMISE].status === \"pending\") {\n throw promise;\n }\n if (promise[TSR_DEFERRED_PROMISE].status === \"error\") {\n throw promise[TSR_DEFERRED_PROMISE].error;\n }\n return [promise[TSR_DEFERRED_PROMISE].data, promise];\n}\nfunction Await(props) {\n const inner = /* @__PURE__ */ jsx(AwaitInner, { ...props });\n if (props.fallback) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: props.fallback, children: inner });\n }\n return inner;\n}\nfunction AwaitInner(props) {\n const [data] = useAwaited(props);\n return props.children(data);\n}\nexport {\n Await,\n useAwaited\n};\n//# sourceMappingURL=awaited.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction CatchBoundary(props) {\n const errorComponent = props.errorComponent ?? ErrorComponent;\n return /* @__PURE__ */ jsx(\n CatchBoundaryImpl,\n {\n getResetKey: props.getResetKey,\n onCatch: props.onCatch,\n children: ({ error, reset }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n reset\n });\n }\n return props.children;\n }\n }\n );\n}\nclass CatchBoundaryImpl extends React.Component {\n constructor() {\n super(...arguments);\n this.state = { error: null };\n }\n static getDerivedStateFromProps(props) {\n return { resetKey: props.getResetKey() };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n reset() {\n this.setState({ error: null });\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.error && prevState.resetKey !== this.state.resetKey) {\n this.reset();\n }\n }\n componentDidCatch(error, errorInfo) {\n if (this.props.onCatch) {\n this.props.onCatch(error, errorInfo);\n }\n }\n render() {\n return this.props.children({\n error: this.state.resetKey !== this.props.getResetKey() ? null : this.state.error,\n reset: () => {\n this.reset();\n }\n });\n }\n}\nfunction ErrorComponent({ error }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== \"production\");\n return /* @__PURE__ */ jsxs(\"div\", { style: { padding: \".5rem\", maxWidth: \"100%\" }, children: [\n /* @__PURE__ */ jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \".5rem\" }, children: [\n /* @__PURE__ */ jsx(\"strong\", { style: { fontSize: \"1rem\" }, children: \"Something went wrong!\" }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n style: {\n appearance: \"none\",\n fontSize: \".6em\",\n border: \"1px solid currentColor\",\n padding: \".1rem .2rem\",\n fontWeight: \"bold\",\n borderRadius: \".25rem\"\n },\n onClick: () => setShow((d) => !d),\n children: show ? \"Hide Error\" : \"Show Error\"\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n show ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\n \"pre\",\n {\n style: {\n fontSize: \".7em\",\n border: \"1px solid red\",\n borderRadius: \".25rem\",\n padding: \".3rem\",\n color: \"red\",\n overflow: \"auto\"\n },\n children: error.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n }\n ) }) : null\n ] });\n}\nexport {\n CatchBoundary,\n ErrorComponent\n};\n//# sourceMappingURL=CatchBoundary.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport React__default from \"react\";\nfunction ClientOnly({ children, fallback = null }) {\n return useHydrated() ? /* @__PURE__ */ jsx(React__default.Fragment, { children }) : /* @__PURE__ */ jsx(React__default.Fragment, { children: fallback });\n}\nfunction useHydrated() {\n return React__default.useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nexport {\n ClientOnly\n};\n//# sourceMappingURL=ClientOnly.js.map\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d) {\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n shallow\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nconst routerContext = React.createContext(null);\nfunction getRouterContext() {\n if (typeof document === \"undefined\") {\n return routerContext;\n }\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__;\n }\n window.__TSR_ROUTER_CONTEXT__ = routerContext;\n return routerContext;\n}\nexport {\n getRouterContext\n};\n//# sourceMappingURL=routerContext.js.map\n","import * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction useRouter(opts) {\n const value = React.useContext(getRouterContext());\n warning(\n !(((opts == null ? void 0 : opts.warn) ?? true) && !value),\n \"useRouter must be used inside a <RouterProvider> component!\"\n );\n return value;\n}\nexport {\n useRouter\n};\n//# sourceMappingURL=useRouter.js.map\n","import { useStore } from \"@tanstack/react-store\";\nimport { useRef } from \"react\";\nimport { replaceEqualDeep } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useRouterState(opts) {\n const contextRouter = useRouter({\n warn: (opts == null ? void 0 : opts.router) === void 0\n });\n const router = (opts == null ? void 0 : opts.router) || contextRouter;\n const previousResult = useRef(void 0);\n return useStore(router.__store, (state) => {\n if (opts == null ? void 0 : opts.select) {\n if (opts.structuralSharing ?? router.options.defaultStructuralSharing) {\n const newSlice = replaceEqualDeep(\n previousResult.current,\n opts.select(state)\n );\n previousResult.current = newSlice;\n return newSlice;\n }\n return opts.select(state);\n }\n return state;\n });\n}\nexport {\n useRouterState\n};\n//# sourceMappingURL=useRouterState.js.map\n","import * as React from \"react\";\nconst matchContext = React.createContext(void 0);\nconst dummyMatchContext = React.createContext(\n void 0\n);\nexport {\n dummyMatchContext,\n matchContext\n};\n//# sourceMappingURL=matchContext.js.map\n","import * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { dummyMatchContext, matchContext } from \"./matchContext.js\";\nfunction useMatch(opts) {\n const nearestMatchId = React.useContext(\n opts.from ? dummyMatchContext : matchContext\n );\n const matchSelection = useRouterState({\n select: (state) => {\n const match = state.matches.find(\n (d) => opts.from ? opts.from === d.routeId : d.id === nearestMatchId\n );\n invariant(\n !((opts.shouldThrow ?? true) && !match),\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : \"a nearest match!\"}`\n );\n if (match === void 0) {\n return void 0;\n }\n return opts.select ? opts.select(match) : match;\n },\n structuralSharing: opts.structuralSharing\n });\n return matchSelection;\n}\nexport {\n useMatch\n};\n//# sourceMappingURL=useMatch.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderData(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n structuralSharing: opts.structuralSharing,\n select: (s) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData;\n }\n });\n}\nexport {\n useLoaderData\n};\n//# sourceMappingURL=useLoaderData.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderDeps(opts) {\n const { select, ...rest } = opts;\n return useMatch({\n ...rest,\n select: (s) => {\n return select ? select(s.loaderDeps) : s.loaderDeps;\n }\n });\n}\nexport {\n useLoaderDeps\n};\n//# sourceMappingURL=useLoaderDeps.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useParams(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.params) : match.params;\n }\n });\n}\nexport {\n useParams\n};\n//# sourceMappingURL=useParams.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useSearch(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.search) : match.search;\n }\n });\n}\nexport {\n useSearch\n};\n//# sourceMappingURL=useSearch.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useNavigate(_defaultOpts) {\n const { navigate, state } = useRouter();\n const matchIndex = useMatch({\n strict: false,\n select: (match) => match.index\n });\n return React.useCallback(\n (options) => {\n const from = options.from ?? (_defaultOpts == null ? void 0 : _defaultOpts.from) ?? state.matches[matchIndex].fullPath;\n return navigate({\n ...options,\n from\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [_defaultOpts == null ? void 0 : _defaultOpts.from, navigate]\n );\n}\nfunction Navigate(props) {\n const router = useRouter();\n const navigate = useNavigate();\n const previousPropsRef = React.useRef(null);\n React.useEffect(() => {\n if (previousPropsRef.current !== props) {\n navigate(props);\n previousPropsRef.current = props;\n }\n }, [router, props, navigate]);\n return null;\n}\nexport {\n Navigate,\n useNavigate\n};\n//# sourceMappingURL=useNavigate.js.map\n","import * as React from \"react\";\nfunction useStableCallback(fn) {\n const fnRef = React.useRef(fn);\n fnRef.current = fn;\n const ref = React.useRef((...args) => fnRef.current(...args));\n return ref.current;\n}\nconst useLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction usePrevious(value) {\n const ref = React.useRef({\n value,\n prev: null\n });\n const current = ref.current.value;\n if (value !== current) {\n ref.current = {\n value,\n prev: current\n };\n }\n return ref.current.prev;\n}\nfunction useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {\n React.useEffect(() => {\n if (!ref.current || options.disabled || typeof IntersectionObserver !== \"function\") {\n return;\n }\n const observer = new IntersectionObserver(([entry]) => {\n callback(entry);\n }, intersectionObserverOptions);\n observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }, [callback, intersectionObserverOptions, options.disabled, ref]);\n}\nfunction useForwardedRef(ref) {\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => innerRef.current, []);\n return innerRef;\n}\nexport {\n useForwardedRef,\n useIntersectionObserver,\n useLayoutEffect,\n usePrevious,\n useStableCallback\n};\n//# sourceMappingURL=utils.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { preloadWarning, functionalUpdate, exactPathTest, removeTrailingSlash, deepEqual } from \"@tanstack/router-core\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useForwardedRef, useIntersectionObserver } from \"./utils.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useLinkProps(options, forwardedRef) {\n const router = useRouter();\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const hasRenderFetched = React.useRef(false);\n const innerRef = useForwardedRef(forwardedRef);\n const {\n // custom props\n activeProps,\n inactiveProps,\n activeOptions,\n to,\n preload: userPreload,\n preloadDelay: userPreloadDelay,\n hashScrollIntoView,\n replace,\n startTransition,\n resetScroll,\n viewTransition,\n // element props\n children,\n target,\n disabled,\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ignoreBlocker,\n // prevent these from being returned\n params: _params,\n search: _search,\n hash: _hash,\n state: _state,\n mask: _mask,\n reloadDocument: _reloadDocument,\n unsafeRelative: _unsafeRelative,\n from: _from,\n _fromLocation,\n ...propsSafeToSpread\n } = options;\n const type = React.useMemo(() => {\n try {\n new URL(to);\n return \"external\";\n } catch {\n }\n return \"internal\";\n }, [to]);\n const currentSearch = useRouterState({\n select: (s) => s.location.search,\n structuralSharing: true\n });\n const from = useMatch({\n strict: false,\n select: (match) => options.from ?? match.fullPath\n });\n const next = React.useMemo(\n () => router.buildLocation({ ...options, from }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n currentSearch,\n options._fromLocation,\n from,\n options.hash,\n options.to,\n options.search,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative\n ]\n );\n const isExternal = type === \"external\";\n const preload = options.reloadDocument || isExternal ? false : userPreload ?? router.options.defaultPreload;\n const preloadDelay = userPreloadDelay ?? router.options.defaultPreloadDelay ?? 0;\n const isActive = useRouterState({\n select: (s) => {\n if (isExternal) return false;\n if (activeOptions == null ? void 0 : activeOptions.exact) {\n const testExact = exactPathTest(\n s.location.pathname,\n next.pathname,\n router.basepath\n );\n if (!testExact) {\n return false;\n }\n } else {\n const currentPathSplit = removeTrailingSlash(\n s.location.pathname,\n router.basepath\n );\n const nextPathSplit = removeTrailingSlash(\n next.pathname,\n router.basepath\n );\n const pathIsFuzzyEqual = currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === \"/\");\n if (!pathIsFuzzyEqual) {\n return false;\n }\n }\n if ((activeOptions == null ? void 0 : activeOptions.includeSearch) ?? true) {\n const searchTest = deepEqual(s.location.search, next.search, {\n partial: !(activeOptions == null ? void 0 : activeOptions.exact),\n ignoreUndefined: !(activeOptions == null ? void 0 : activeOptions.explicitUndefined)\n });\n if (!searchTest) {\n return false;\n }\n }\n if (activeOptions == null ? void 0 : activeOptions.includeHash) {\n return s.location.hash === next.hash;\n }\n return true;\n }\n });\n const doPreload = React.useCallback(\n () => {\n router.preloadRoute({ ...options, from }).catch((err) => {\n console.warn(err);\n console.warn(preloadWarning);\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n options.to,\n options._fromLocation,\n from,\n options.search,\n options.hash,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative,\n options.hashScrollIntoView,\n options.href,\n options.ignoreBlocker,\n options.reloadDocument,\n options.replace,\n options.resetScroll,\n options.viewTransition\n ]\n );\n const preloadViewportIoCallback = React.useCallback(\n (entry) => {\n if (entry == null ? void 0 : entry.isIntersecting) {\n doPreload();\n }\n },\n [doPreload]\n );\n useIntersectionObserver(\n innerRef,\n preloadViewportIoCallback,\n intersectionObserverOptions,\n { disabled: !!disabled || !(preload === \"viewport\") }\n );\n React.useEffect(() => {\n if (hasRenderFetched.current) {\n return;\n }\n if (!disabled && preload === \"render\") {\n doPreload();\n hasRenderFetched.current = true;\n }\n }, [disabled, doPreload, preload]);\n if (isExternal) {\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n type,\n href: to,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className },\n ...onClick && { onClick },\n ...onFocus && { onFocus },\n ...onMouseEnter && { onMouseEnter },\n ...onMouseLeave && { onMouseLeave },\n ...onTouchStart && { onTouchStart }\n };\n }\n const handleClick = (e) => {\n if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!target || target === \"_self\") && e.button === 0) {\n e.preventDefault();\n flushSync(() => {\n setIsTransitioning(true);\n });\n const unsub = router.subscribe(\"onResolved\", () => {\n unsub();\n setIsTransitioning(false);\n });\n router.navigate({\n ...options,\n from,\n replace,\n resetScroll,\n hashScrollIntoView,\n startTransition,\n viewTransition,\n ignoreBlocker\n });\n }\n };\n const handleFocus = (_) => {\n if (disabled) return;\n if (preload) {\n doPreload();\n }\n };\n const handleTouchStart = handleFocus;\n const handleEnter = (e) => {\n if (disabled || !preload) return;\n if (!preloadDelay) {\n doPreload();\n } else {\n const eventTarget = e.target;\n if (timeoutMap.has(eventTarget)) {\n return;\n }\n const id = setTimeout(() => {\n timeoutMap.delete(eventTarget);\n doPreload();\n }, preloadDelay);\n timeoutMap.set(eventTarget, id);\n }\n };\n const handleLeave = (e) => {\n if (disabled || !preload || !preloadDelay) return;\n const eventTarget = e.target;\n const id = timeoutMap.get(eventTarget);\n if (id) {\n clearTimeout(id);\n timeoutMap.delete(eventTarget);\n }\n };\n const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT;\n const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT;\n const resolvedClassName = [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className\n ].filter(Boolean).join(\" \");\n const resolvedStyle = (style || resolvedActiveProps.style || resolvedInactiveProps.style) && {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style\n };\n return {\n ...propsSafeToSpread,\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n href: disabled ? void 0 : next.maskedLocation ? router.history.createHref(next.maskedLocation.href) : router.history.createHref(next.href),\n ref: innerRef,\n onClick: composeHandlers([onClick, handleClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n disabled: !!disabled,\n target,\n ...resolvedStyle && { style: resolvedStyle },\n ...resolvedClassName && { className: resolvedClassName },\n ...disabled && STATIC_DISABLED_PROPS,\n ...isActive && STATIC_ACTIVE_PROPS,\n ...isTransitioning && STATIC_TRANSITIONING_PROPS\n };\n}\nconst STATIC_EMPTY_OBJECT = {};\nconst STATIC_ACTIVE_OBJECT = { className: \"active\" };\nconst STATIC_DISABLED_PROPS = { role: \"link\", \"aria-disabled\": true };\nconst STATIC_ACTIVE_PROPS = { \"data-status\": \"active\", \"aria-current\": \"page\" };\nconst STATIC_TRANSITIONING_PROPS = { \"data-transitioning\": \"transitioning\" };\nconst timeoutMap = /* @__PURE__ */ new WeakMap();\nconst intersectionObserverOptions = {\n rootMargin: \"100px\"\n};\nconst composeHandlers = (handlers) => (e) => {\n handlers.filter(Boolean).forEach((handler) => {\n if (e.defaultPrevented) return;\n handler(e);\n });\n};\nfunction createLink(Comp) {\n return React.forwardRef(function CreatedLink(props, ref) {\n return /* @__PURE__ */ jsx(Link, { ...props, _asChild: Comp, ref });\n });\n}\nconst Link = React.forwardRef(\n (props, ref) => {\n const { _asChild, ...rest } = props;\n const {\n type: _type,\n ref: innerRef,\n ...linkProps\n } = useLinkProps(rest, ref);\n const children = typeof rest.children === \"function\" ? rest.children({\n isActive: linkProps[\"data-status\"] === \"active\"\n }) : rest.children;\n if (_asChild === void 0) {\n delete linkProps.disabled;\n }\n return React.createElement(\n _asChild ? _asChild : \"a\",\n {\n ...linkProps,\n ref: innerRef\n },\n children\n );\n }\n);\nfunction isCtrlEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n}\nconst linkOptions = (options) => {\n return options;\n};\nexport {\n Link,\n createLink,\n linkOptions,\n useLinkProps\n};\n//# sourceMappingURL=link.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { BaseRouteApi, notFound, BaseRoute, BaseRootRoute } from \"@tanstack/router-core\";\nimport React__default from \"react\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Link } from \"./link.js\";\nfunction getRouteApi(id) {\n return new RouteApi({ id });\n}\nclass RouteApi extends BaseRouteApi {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }) {\n super({ id });\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.id].fullPath });\n };\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.Link = React__default.forwardRef((props, ref) => {\n const router = useRouter();\n const fullPath = router.routesById[this.id].fullPath;\n return /* @__PURE__ */ jsx(Link, { ref, from: fullPath, ...props });\n });\n }\n}\nclass Route extends BaseRoute {\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRoute(options) {\n return new Route(options);\n}\nfunction createRootRouteWithContext() {\n return (options) => {\n return createRootRoute(options);\n };\n}\nconst rootRouteWithContext = createRootRouteWithContext;\nclass RootRoute extends BaseRootRoute {\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRootRoute(options) {\n return new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n return opts;\n}\nclass NotFoundRoute extends Route {\n constructor(options) {\n super({\n ...options,\n id: \"404\"\n });\n }\n}\nexport {\n NotFoundRoute,\n RootRoute,\n Route,\n RouteApi,\n createRootRoute,\n createRootRouteWithContext,\n createRoute,\n createRouteMask,\n getRouteApi,\n rootRouteWithContext\n};\n//# sourceMappingURL=route.js.map\n","import warning from \"tiny-warning\";\nimport { createRoute } from \"./route.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouter } from \"./useRouter.js\";\nfunction createFileRoute(path) {\n if (typeof path === \"object\") {\n return new FileRoute(path, {\n silent: true\n }).createRoute(path);\n }\n return new FileRoute(path, {\n silent: true\n }).createRoute;\n}\nclass FileRoute {\n constructor(path, _opts) {\n this.path = path;\n this.createRoute = (options) => {\n warning(\n this.silent,\n \"FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.\"\n );\n const route = createRoute(options);\n route.isRoot = false;\n return route;\n };\n this.silent = _opts == null ? void 0 : _opts.silent;\n }\n}\nfunction FileRouteLoader(_path) {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`\n );\n return (loaderFn) => loaderFn;\n}\nclass LazyRoute {\n constructor(opts) {\n this.useMatch = (opts2) => {\n return useMatch({\n select: opts2 == null ? void 0 : opts2.select,\n from: this.options.id,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing\n });\n };\n this.useRouteContext = (opts2) => {\n return useMatch({\n from: this.options.id,\n select: (d) => (opts2 == null ? void 0 : opts2.select) ? opts2.select(d.context) : d.context\n });\n };\n this.useSearch = (opts2) => {\n return useSearch({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useParams = (opts2) => {\n return useParams({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useLoaderDeps = (opts2) => {\n return useLoaderDeps({ ...opts2, from: this.options.id });\n };\n this.useLoaderData = (opts2) => {\n return useLoaderData({ ...opts2, from: this.options.id });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.options.id].fullPath });\n };\n this.options = opts;\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createLazyRoute(id) {\n return (opts) => {\n return new LazyRoute({\n id,\n ...opts\n });\n };\n}\nfunction createLazyFileRoute(id) {\n if (typeof id === \"object\") {\n return new LazyRoute(id);\n }\n return (opts) => new LazyRoute({ id, ...opts });\n}\nexport {\n FileRoute,\n FileRouteLoader,\n LazyRoute,\n createFileRoute,\n createLazyFileRoute,\n createLazyRoute\n};\n//# sourceMappingURL=fileRoute.js.map\n","import * as React from \"react\";\nimport { isModuleNotFoundError } from \"@tanstack/router-core\";\nfunction lazyRouteComponent(importer, exportName) {\n let loadPromise;\n let comp;\n let error;\n let reload;\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer().then((res) => {\n loadPromise = void 0;\n comp = res[exportName ?? \"default\"];\n }).catch((err) => {\n error = err;\n if (isModuleNotFoundError(error)) {\n if (error instanceof Error && typeof window !== \"undefined\" && typeof sessionStorage !== \"undefined\") {\n const storageKey = `tanstack_router_reload:${error.message}`;\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, \"1\");\n reload = true;\n }\n }\n }\n });\n }\n return loadPromise;\n };\n const lazyComp = function Lazy(props) {\n if (reload) {\n window.location.reload();\n throw new Promise(() => {\n });\n }\n if (error) {\n throw error;\n }\n if (!comp) {\n throw load();\n }\n return React.createElement(comp, props);\n };\n lazyComp.preload = load;\n return lazyComp;\n}\nexport {\n lazyRouteComponent\n};\n//# sourceMappingURL=lazyRouteComponent.js.map\n","import * as React from \"react\";\nimport { trimPathRight, getLocationChangeInfo, handleHashScroll } from \"@tanstack/router-core\";\nimport { usePrevious, useLayoutEffect } from \"./utils.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction Transitioner() {\n const router = useRouter();\n const mountLoadForRouter = React.useRef({ router, mounted: false });\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const { hasPendingMatches, isLoading } = useRouterState({\n select: (s) => ({\n isLoading: s.isLoading,\n hasPendingMatches: s.matches.some((d) => d.status === \"pending\")\n }),\n structuralSharing: true\n });\n const previousIsLoading = usePrevious(isLoading);\n const isAnyPending = isLoading || isTransitioning || hasPendingMatches;\n const previousIsAnyPending = usePrevious(isAnyPending);\n const isPagePending = isLoading || hasPendingMatches;\n const previousIsPagePending = usePrevious(isPagePending);\n router.startTransition = (fn) => {\n setIsTransitioning(true);\n React.startTransition(() => {\n fn();\n setIsTransitioning(false);\n });\n };\n React.useEffect(() => {\n const unsub = router.history.subscribe(router.load);\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n if (trimPathRight(router.latestLocation.href) !== trimPathRight(nextLocation.href)) {\n router.commitLocation({ ...nextLocation, replace: true });\n }\n return () => {\n unsub();\n };\n }, [router, router.history]);\n useLayoutEffect(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n typeof window !== \"undefined\" && router.ssr || mountLoadForRouter.current.router === router && mountLoadForRouter.current.mounted\n ) {\n return;\n }\n mountLoadForRouter.current = { router, mounted: true };\n const tryLoad = async () => {\n try {\n await router.load();\n } catch (err) {\n console.error(err);\n }\n };\n tryLoad();\n }, [router]);\n useLayoutEffect(() => {\n if (previousIsLoading && !isLoading) {\n router.emit({\n type: \"onLoad\",\n // When the new URL has committed, when the new matches have been loaded into state.matches\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [previousIsLoading, router, isLoading]);\n useLayoutEffect(() => {\n if (previousIsPagePending && !isPagePending) {\n router.emit({\n type: \"onBeforeRouteMount\",\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [isPagePending, previousIsPagePending, router]);\n useLayoutEffect(() => {\n if (previousIsAnyPending && !isAnyPending) {\n router.emit({\n type: \"onResolved\",\n ...getLocationChangeInfo(router.state)\n });\n router.__store.setState((s) => ({\n ...s,\n status: \"idle\",\n resolvedLocation: s.location\n }));\n handleHashScroll(router);\n }\n }, [isAnyPending, previousIsAnyPending, router]);\n return null;\n}\nexport {\n Transitioner\n};\n//# sourceMappingURL=Transitioner.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction CatchNotFound(props) {\n const resetKey = useRouterState({\n select: (s) => `not-found-${s.location.pathname}-${s.status}`\n });\n return /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n onCatch: (error, errorInfo) => {\n var _a;\n if (isNotFound(error)) {\n (_a = props.onCatch) == null ? void 0 : _a.call(props, error, errorInfo);\n } else {\n throw error;\n }\n },\n errorComponent: ({ error }) => {\n var _a;\n if (isNotFound(error)) {\n return (_a = props.fallback) == null ? void 0 : _a.call(props, error);\n } else {\n throw error;\n }\n },\n children: props.children\n }\n );\n}\nfunction DefaultGlobalNotFound() {\n return /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\nexport {\n CatchNotFound,\n DefaultGlobalNotFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nfunction SafeFragment(props) {\n return /* @__PURE__ */ jsx(Fragment, { children: props.children });\n}\nexport {\n SafeFragment\n};\n//# sourceMappingURL=SafeFragment.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport warning from \"tiny-warning\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nfunction renderRouteNotFound(router, route, data) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { data });\n }\n if (process.env.NODE_ENV === \"development\") {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<div>Not Found<div>)`\n );\n }\n return /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n }\n return /* @__PURE__ */ jsx(route.options.notFoundComponent, { data });\n}\nexport {\n renderRouteNotFound\n};\n//# sourceMappingURL=renderRouteNotFound.js.map\n","import { jsx } from \"react/jsx-runtime\";\nfunction ScriptOnce({\n children\n}) {\n if (typeof document !== \"undefined\") {\n return null;\n }\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n className: \"$tsr\",\n dangerouslySetInnerHTML: {\n __html: [children].filter(Boolean).join(\"\\n\")\n }\n }\n );\n}\nexport {\n ScriptOnce\n};\n//# sourceMappingURL=ScriptOnce.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { defaultGetScrollRestorationKey, restoreScroll, storageKey } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nfunction ScrollRestoration() {\n const router = useRouter();\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n const userKey = getKey(router.latestLocation);\n const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;\n if (!router.isScrollRestoring || !router.isServer) {\n return null;\n }\n const restoreScrollOptions = {\n storageKey,\n shouldScrollRestoration: true\n };\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey;\n }\n return /* @__PURE__ */ jsx(\n ScriptOnce,\n {\n children: `(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`\n }\n );\n}\nexport {\n ScrollRestoration\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","import { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\nimport { isNotFound, rootRouteId, pick, createControlledPromise, isRedirect, getLocationChangeInfo } from \"@tanstack/router-core\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nconst Match = React.memo(function MatchImpl({\n matchId\n}) {\n var _a, _b;\n const router = useRouter();\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === matchId);\n invariant(\n match,\n `Could not find match for matchId \"${matchId}\". Please file an issue!`\n );\n return pick(match, [\"routeId\", \"ssr\", \"_displayPending\"]);\n },\n structuralSharing: true\n });\n const route = router.routesById[matchState.routeId];\n const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent;\n const pendingElement = PendingComponent ? /* @__PURE__ */ jsx(PendingComponent, {}) : null;\n const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n const routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n const routeNotFoundComponent = route.isRoot ? (\n // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n route.options.notFoundComponent ?? ((_a = router.options.notFoundRoute) == null ? void 0 : _a.options.component)\n ) : route.options.notFoundComponent;\n const resolvedNoSsr = matchState.ssr === false || matchState.ssr === \"data-only\";\n const ResolvedSuspenseBoundary = (\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route.isRoot || route.options.wrapInSuspense || resolvedNoSsr) && (route.options.wrapInSuspense ?? PendingComponent ?? (((_b = route.options.errorComponent) == null ? void 0 : _b.preload) || resolvedNoSsr)) ? React.Suspense : SafeFragment\n );\n const ResolvedCatchBoundary = routeErrorComponent ? CatchBoundary : SafeFragment;\n const ResolvedNotFoundBoundary = routeNotFoundComponent ? CatchNotFound : SafeFragment;\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const parentRouteId = useRouterState({\n select: (s) => {\n var _a2;\n const index = s.matches.findIndex((d) => d.id === matchId);\n return (_a2 = s.matches[index - 1]) == null ? void 0 : _a2.routeId;\n }\n });\n const ShellComponent = route.isRoot ? route.options.shellComponent ?? SafeFragment : SafeFragment;\n return /* @__PURE__ */ jsxs(ShellComponent, { children: [\n /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: /* @__PURE__ */ jsx(ResolvedSuspenseBoundary, { fallback: pendingElement, children: /* @__PURE__ */ jsx(\n ResolvedCatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: routeErrorComponent || ErrorComponent,\n onCatch: (error, errorInfo) => {\n if (isNotFound(error)) throw error;\n warning(false, `Error in route match: ${matchId}`);\n routeOnCatch == null ? void 0 : routeOnCatch(error, errorInfo);\n },\n children: /* @__PURE__ */ jsx(\n ResolvedNotFoundBoundary,\n {\n fallback: (error) => {\n if (!routeNotFoundComponent || error.routeId && error.routeId !== matchState.routeId || !error.routeId && !route.isRoot)\n throw error;\n return React.createElement(routeNotFoundComponent, error);\n },\n children: resolvedNoSsr || matchState._displayPending ? /* @__PURE__ */ jsx(ClientOnly, { fallback: pendingElement, children: /* @__PURE__ */ jsx(MatchInner, { matchId }) }) : /* @__PURE__ */ jsx(MatchInner, { matchId })\n }\n )\n }\n ) }) }),\n parentRouteId === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(OnRendered, {}),\n /* @__PURE__ */ jsx(ScrollRestoration, {})\n ] }) : null\n ] });\n});\nfunction OnRendered() {\n const router = useRouter();\n const prevLocationRef = React.useRef(\n void 0\n );\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n suppressHydrationWarning: true,\n ref: (el) => {\n if (el && (prevLocationRef.current === void 0 || prevLocationRef.current.href !== router.latestLocation.href)) {\n router.emit({\n type: \"onRendered\",\n ...getLocationChangeInfo(router.state)\n });\n prevLocationRef.current = router.latestLocation;\n }\n }\n },\n router.latestLocation.state.__TSR_key\n );\n}\nconst MatchInner = React.memo(function MatchInnerImpl({\n matchId\n}) {\n var _a, _b, _c, _d, _e;\n const router = useRouter();\n const { match, key, routeId } = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === matchId);\n const match2 = s.matches[matchIndex];\n const routeId2 = match2.routeId;\n const remountFn = router.routesById[routeId2].options.remountDeps ?? router.options.defaultRemountDeps;\n const remountDeps = remountFn == null ? void 0 : remountFn({\n routeId: routeId2,\n loaderDeps: match2.loaderDeps,\n params: match2._strictParams,\n search: match2._strictSearch\n });\n const key2 = remountDeps ? JSON.stringify(remountDeps) : void 0;\n return {\n key: key2,\n routeId: routeId2,\n match: pick(match2, [\n \"id\",\n \"status\",\n \"error\",\n \"_forcePending\",\n \"_displayPending\"\n ])\n };\n },\n structuralSharing: true\n });\n const route = router.routesById[routeId];\n const out = React.useMemo(() => {\n const Comp = route.options.component ?? router.options.defaultComponent;\n if (Comp) {\n return /* @__PURE__ */ jsx(Comp, {}, key);\n }\n return /* @__PURE__ */ jsx(Outlet, {});\n }, [key, route.options.component, router.options.defaultComponent]);\n if (match._displayPending) {\n throw (_a = router.getMatch(match.id)) == null ? void 0 : _a.displayPendingPromise;\n }\n if (match._forcePending) {\n throw (_b = router.getMatch(match.id)) == null ? void 0 : _b.minPendingPromise;\n }\n if (match.status === \"pending\") {\n const pendingMinMs = route.options.pendingMinMs ?? router.options.defaultPendingMinMs;\n if (pendingMinMs && !((_c = router.getMatch(match.id)) == null ? void 0 : _c.minPendingPromise)) {\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise();\n Promise.resolve().then(() => {\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise\n }));\n });\n setTimeout(() => {\n minPendingPromise.resolve();\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise: void 0\n }));\n }, pendingMinMs);\n }\n }\n throw (_d = router.getMatch(match.id)) == null ? void 0 : _d.loadPromise;\n }\n if (match.status === \"notFound\") {\n invariant(isNotFound(match.error), \"Expected a notFound error\");\n return renderRouteNotFound(router, route, match.error);\n }\n if (match.status === \"redirected\") {\n invariant(isRedirect(match.error), \"Expected a redirect error\");\n throw (_e = router.getMatch(match.id)) == null ? void 0 : _e.loadPromise;\n }\n if (match.status === \"error\") {\n if (router.isServer) {\n const RouteErrorComponent = (route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent;\n return /* @__PURE__ */ jsx(\n RouteErrorComponent,\n {\n error: match.error,\n reset: void 0,\n info: {\n componentStack: \"\"\n }\n }\n );\n }\n throw match.error;\n }\n return out;\n});\nconst Outlet = React.memo(function OutletImpl() {\n const router = useRouter();\n const matchId = React.useContext(matchContext);\n const routeId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches.find((d) => d.id === matchId)) == null ? void 0 : _a.routeId;\n }\n });\n const route = router.routesById[routeId];\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches;\n const parentMatch = matches.find((d) => d.id === matchId);\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId}\"`\n );\n return parentMatch.globalNotFound;\n }\n });\n const childMatchId = useRouterState({\n select: (s) => {\n var _a;\n const matches = s.matches;\n const index = matches.findIndex((d) => d.id === matchId);\n return (_a = matches[index + 1]) == null ? void 0 : _a.id;\n }\n });\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n if (parentGlobalNotFound) {\n return renderRouteNotFound(router, route, void 0);\n }\n if (!childMatchId) {\n return null;\n }\n const nextMatch = /* @__PURE__ */ jsx(Match, { matchId: childMatchId });\n if (matchId === rootRouteId) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: pendingElement, children: nextMatch });\n }\n return nextMatch;\n});\nexport {\n Match,\n MatchInner,\n Outlet\n};\n//# sourceMappingURL=Match.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Transitioner } from \"./Transitioner.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { Match } from \"./Match.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nfunction Matches() {\n const router = useRouter();\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n const ResolvedSuspense = router.isServer || typeof document !== \"undefined\" && router.ssr ? SafeFragment : React.Suspense;\n const inner = /* @__PURE__ */ jsxs(ResolvedSuspense, { fallback: pendingElement, children: [\n !router.isServer && /* @__PURE__ */ jsx(Transitioner, {}),\n /* @__PURE__ */ jsx(MatchesInner, {})\n ] });\n return router.options.InnerWrap ? /* @__PURE__ */ jsx(router.options.InnerWrap, { children: inner }) : inner;\n}\nfunction MatchesInner() {\n const router = useRouter();\n const matchId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches[0]) == null ? void 0 : _a.id;\n }\n });\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const matchComponent = matchId ? /* @__PURE__ */ jsx(Match, { matchId }) : null;\n return /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: router.options.disableGlobalCatchBoundary ? matchComponent : /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: ErrorComponent,\n onCatch: (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`\n );\n warning(false, error.message || error.toString());\n },\n children: matchComponent\n }\n ) });\n}\nfunction useMatchRoute() {\n const router = useRouter();\n useRouterState({\n select: (s) => {\n var _a;\n return [s.location.href, (_a = s.resolvedLocation) == null ? void 0 : _a.href, s.status];\n },\n structuralSharing: true\n });\n return React.useCallback(\n (opts) => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts;\n return router.matchRoute(rest, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch\n });\n },\n [router]\n );\n}\nfunction MatchRoute(props) {\n const matchRoute = useMatchRoute();\n const params = matchRoute(props);\n if (typeof props.children === \"function\") {\n return props.children(params);\n }\n return params ? props.children : null;\n}\nfunction useMatches(opts) {\n return useRouterState({\n select: (state) => {\n const matches = state.matches;\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useParentMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId)\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useChildMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId) + 1\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nexport {\n MatchRoute,\n Matches,\n useChildMatches,\n useMatchRoute,\n useMatches,\n useParentMatches\n};\n//# sourceMappingURL=Matches.js.map\n","import { RouterCore } from \"@tanstack/router-core\";\nimport { createFileRoute, createLazyFileRoute } from \"./fileRoute.js\";\nconst createRouter = (options) => {\n return new Router(options);\n};\nclass Router extends RouterCore {\n constructor(options) {\n super(options);\n }\n}\nif (typeof globalThis !== \"undefined\") {\n globalThis.createFileRoute = createFileRoute;\n globalThis.createLazyFileRoute = createLazyFileRoute;\n} else if (typeof window !== \"undefined\") {\n window.createFileRoute = createFileRoute;\n window.createFileRoute = createLazyFileRoute;\n}\nexport {\n Router,\n createRouter\n};\n//# sourceMappingURL=router.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { Matches } from \"./Matches.js\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction RouterContextProvider({\n router,\n children,\n ...rest\n}) {\n if (Object.keys(rest).length > 0) {\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context\n }\n });\n }\n const routerContext = getRouterContext();\n const provider = /* @__PURE__ */ jsx(routerContext.Provider, { value: router, children });\n if (router.options.Wrap) {\n return /* @__PURE__ */ jsx(router.options.Wrap, { children: provider });\n }\n return provider;\n}\nfunction RouterProvider({ router, ...rest }) {\n return /* @__PURE__ */ jsx(RouterContextProvider, { router, ...rest, children: /* @__PURE__ */ jsx(Matches, {}) });\n}\nexport {\n RouterContextProvider,\n RouterProvider\n};\n//# sourceMappingURL=RouterProvider.js.map\n","import { defaultGetScrollRestorationKey, getCssSelector, scrollRestorationCache, setupScrollRestoration } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useScrollRestoration() {\n const router = useRouter();\n setupScrollRestoration(router, true);\n}\nfunction ScrollRestoration(_props) {\n useScrollRestoration();\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\"\n );\n }\n return null;\n}\nfunction useElementScrollRestoration(options) {\n var _a, _b;\n useScrollRestoration();\n const router = useRouter();\n const getKey = options.getKey || defaultGetScrollRestorationKey;\n let elementSelector = \"\";\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`;\n } else {\n const element = (_a = options.getElement) == null ? void 0 : _a.call(options);\n if (!element) {\n return;\n }\n elementSelector = element instanceof Window ? \"window\" : getCssSelector(element);\n }\n const restoreKey = getKey(router.latestLocation);\n const byKey = (_b = scrollRestorationCache) == null ? void 0 : _b.state[restoreKey];\n return byKey == null ? void 0 : byKey[elementSelector];\n}\nexport {\n ScrollRestoration,\n useElementScrollRestoration\n};\n//# sourceMappingURL=ScrollRestoration.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nfunction _resolveBlockerOpts(opts, condition) {\n if (opts === void 0) {\n return {\n shouldBlockFn: () => true,\n withResolver: false\n };\n }\n if (\"shouldBlockFn\" in opts) {\n return opts;\n }\n if (typeof opts === \"function\") {\n const shouldBlock2 = Boolean(condition ?? true);\n const _customBlockerFn2 = async () => {\n if (shouldBlock2) return await opts();\n return false;\n };\n return {\n shouldBlockFn: _customBlockerFn2,\n enableBeforeUnload: shouldBlock2,\n withResolver: false\n };\n }\n const shouldBlock = Boolean(opts.condition ?? true);\n const fn = opts.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n}\nfunction useBlocker(opts, condition) {\n const {\n shouldBlockFn,\n enableBeforeUnload = true,\n disabled = false,\n withResolver = false\n } = _resolveBlockerOpts(opts, condition);\n const router = useRouter();\n const { history } = router;\n const [resolver, setResolver] = React.useState({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n React.useEffect(() => {\n const blockerFnComposed = async (blockerFnArgs) => {\n function getLocation(location) {\n const parsedLocation = router.parseLocation(void 0, location);\n const matchedRoutes = router.getMatchedRoutes(\n parsedLocation.pathname,\n void 0\n );\n if (matchedRoutes.foundRoute === void 0) {\n throw new Error(`No route found for location ${location.href}`);\n }\n return {\n routeId: matchedRoutes.foundRoute.id,\n fullPath: matchedRoutes.foundRoute.fullPath,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: parsedLocation.search\n };\n }\n const current = getLocation(blockerFnArgs.currentLocation);\n const next = getLocation(blockerFnArgs.nextLocation);\n const shouldBlock = await shouldBlockFn({\n action: blockerFnArgs.action,\n current,\n next\n });\n if (!withResolver) {\n return shouldBlock;\n }\n if (!shouldBlock) {\n return false;\n }\n const promise = new Promise((resolve) => {\n setResolver({\n status: \"blocked\",\n current,\n next,\n action: blockerFnArgs.action,\n proceed: () => resolve(false),\n reset: () => resolve(true)\n });\n });\n const canNavigateAsync = await promise;\n setResolver({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n return canNavigateAsync;\n };\n return disabled ? void 0 : history.block({ blockerFn: blockerFnComposed, enableBeforeUnload });\n }, [\n shouldBlockFn,\n enableBeforeUnload,\n disabled,\n withResolver,\n history,\n router\n ]);\n return resolver;\n}\nconst _resolvePromptBlockerArgs = (props) => {\n if (\"shouldBlockFn\" in props) {\n return { ...props };\n }\n const shouldBlock = Boolean(props.condition ?? true);\n const fn = props.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n};\nfunction Block(opts) {\n const { children, ...rest } = opts;\n const args = _resolvePromptBlockerArgs(rest);\n const resolver = useBlocker(args);\n return children ? typeof children === \"function\" ? children(resolver) : children : null;\n}\nexport {\n Block,\n useBlocker\n};\n//# sourceMappingURL=useBlocker.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useRouteContext(opts) {\n return useMatch({\n ...opts,\n select: (match) => opts.select ? opts.select(match.context) : match.context\n });\n}\nexport {\n useRouteContext\n};\n//# sourceMappingURL=useRouteContext.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useLocation(opts) {\n return useRouterState({\n select: (state) => (opts == null ? void 0 : opts.select) ? opts.select(state.location) : state.location\n });\n}\nexport {\n useLocation\n};\n//# sourceMappingURL=useLocation.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useCanGoBack() {\n return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 });\n}\nexport {\n useCanGoBack\n};\n//# sourceMappingURL=useCanGoBack.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction Asset({\n tag,\n attrs,\n children\n}) {\n switch (tag) {\n case \"title\":\n return /* @__PURE__ */ jsx(\"title\", { ...attrs, suppressHydrationWarning: true, children });\n case \"meta\":\n return /* @__PURE__ */ jsx(\"meta\", { ...attrs, suppressHydrationWarning: true });\n case \"link\":\n return /* @__PURE__ */ jsx(\"link\", { ...attrs, suppressHydrationWarning: true });\n case \"style\":\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children }\n }\n );\n case \"script\":\n return /* @__PURE__ */ jsx(Script, { attrs, children });\n default:\n return null;\n }\n}\nfunction Script({\n attrs,\n children\n}) {\n React.useEffect(() => {\n if (attrs == null ? void 0 : attrs.src) {\n const script = document.createElement(\"script\");\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n if (typeof children === \"string\") {\n const script = document.createElement(\"script\");\n script.textContent = children;\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n return void 0;\n }, [attrs, children]);\n if ((attrs == null ? void 0 : attrs.src) && typeof attrs.src === \"string\") {\n return /* @__PURE__ */ jsx(\"script\", { ...attrs, suppressHydrationWarning: true });\n }\n if (typeof children === \"string\") {\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children },\n suppressHydrationWarning: true\n }\n );\n }\n return null;\n}\nexport {\n Asset\n};\n//# sourceMappingURL=Asset.js.map\n","import * as React from \"react\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nconst useTags = () => {\n const router = useRouter();\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta).filter(Boolean);\n }\n });\n const meta = React.useMemo(() => {\n const resultMeta = [];\n const metaByAttribute = {};\n let title;\n [...routeMeta].reverse().forEach((metas) => {\n [...metas].reverse().forEach((m) => {\n if (!m) return;\n if (m.title) {\n if (!title) {\n title = {\n tag: \"title\",\n children: m.title\n };\n }\n } else {\n const attribute = m.name ?? m.property;\n if (attribute) {\n if (metaByAttribute[attribute]) {\n return;\n } else {\n metaByAttribute[attribute] = true;\n }\n }\n resultMeta.push({\n tag: \"meta\",\n attrs: {\n ...m\n }\n });\n }\n });\n });\n if (title) {\n resultMeta.push(title);\n }\n resultMeta.reverse();\n return resultMeta;\n }, [routeMeta]);\n const links = useRouterState({\n select: (state) => {\n var _a;\n const constructed = state.matches.map((match) => match.links).filter(Boolean).flat(1).map((link) => ({\n tag: \"link\",\n attrs: {\n ...link\n }\n }));\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n const assets = state.matches.map((match) => {\n var _a2;\n return ((_a2 = manifest == null ? void 0 : manifest.routes[match.routeId]) == null ? void 0 : _a2.assets) ?? [];\n }).filter(Boolean).flat(1).filter((asset) => asset.tag === \"link\").map(\n (asset) => ({\n tag: \"link\",\n attrs: {\n ...asset.attrs,\n suppressHydrationWarning: true\n }\n })\n );\n return [...constructed, ...assets];\n },\n structuralSharing: true\n });\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta2 = [];\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = router.ssr) == null ? void 0 : _a.manifest) == null ? void 0 : _b.routes[route.id]) == null ? void 0 : _c.preloads) == null ? void 0 : _d.filter(Boolean).forEach((preload) => {\n preloadMeta2.push({\n tag: \"link\",\n attrs: {\n rel: \"modulepreload\",\n href: preload\n }\n });\n });\n }\n );\n return preloadMeta2;\n },\n structuralSharing: true\n });\n const styles = useRouterState({\n select: (state) => state.matches.map((match) => match.styles).flat(1).filter(Boolean).map(({ children, ...attrs }) => ({\n tag: \"style\",\n attrs,\n children\n })),\n structuralSharing: true\n });\n const headScripts = useRouterState({\n select: (state) => state.matches.map((match) => match.headScripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script\n },\n children\n })),\n structuralSharing: true\n });\n return uniqBy(\n [\n ...meta,\n ...preloadMeta,\n ...links,\n ...styles,\n ...headScripts\n ],\n (d) => {\n return JSON.stringify(d);\n }\n );\n};\nfunction HeadContent() {\n const tags = useTags();\n return tags.map((tag) => /* @__PURE__ */ createElement(Asset, { ...tag, key: `tsr-meta-${JSON.stringify(tag)}` }));\n}\nfunction uniqBy(arr, fn) {\n const seen = /* @__PURE__ */ new Set();\n return arr.filter((item) => {\n const key = fn(item);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nexport {\n HeadContent,\n useTags\n};\n//# sourceMappingURL=HeadContent.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nconst Scripts = () => {\n const router = useRouter();\n const assetScripts = useRouterState({\n select: (state) => {\n var _a;\n const assetScripts2 = [];\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n if (!manifest) {\n return [];\n }\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a2, _b;\n return (_b = (_a2 = manifest.routes[route.id]) == null ? void 0 : _a2.assets) == null ? void 0 : _b.filter((d) => d.tag === \"script\").forEach((asset) => {\n assetScripts2.push({\n tag: \"script\",\n attrs: asset.attrs,\n children: asset.children\n });\n });\n }\n );\n return assetScripts2;\n },\n structuralSharing: true\n });\n const { scripts } = useRouterState({\n select: (state) => ({\n scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script,\n suppressHydrationWarning: true\n },\n children\n }))\n }),\n structuralSharing: true\n });\n const allScripts = [...scripts, ...assetScripts];\n return /* @__PURE__ */ jsx(Fragment, { children: allScripts.map((asset, i) => /* @__PURE__ */ createElement(Asset, { ...asset, key: `tsr-scripts-${asset.tag}-${i}` })) });\n};\nexport {\n Scripts\n};\n//# sourceMappingURL=Scripts.js.map\n"],"names":["require$$0","shimModule","shallow","isMatch","React","jsx","jsxs","React__default","require$$1","withSelectorModule","useSyncExternalStoreWithSelector","Fragment","ScrollRestoration","createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;CAWA,IAAI,KAAK,GAAGA,YAAgB,EAAA;AAC5B,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC3B,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,eAAe,GAAG,KAAK,CAAC,eAAe;AACzC,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,GAAE,IAAI,KAAK,GAAG,WAAW,EAAE;AAC3B,KAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,KAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;AAC5B,KAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9B,GAAE,eAAe;AACjB,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;AACxB,OAAM,IAAI,CAAC,WAAW,GAAG,WAAW;AACpC,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;MAC5D;AACL,KAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW;IAC/B;AACH,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OAC3D,OAAO,SAAS,CAAC,YAAY;AACnC,SAAQ,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnE,QAAO,CAAC;MACH;AACL,KAAI,CAAC,SAAS;IACX;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;AACd;CACA,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,GAAE,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW;AAC1C,GAAE,IAAI,GAAG,IAAI,CAAC,KAAK;AACnB,GAAE,IAAI;AACN,KAAI,IAAI,SAAS,GAAG,iBAAiB,EAAE;AACvC,KAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAClC,CAAC,OAAO,KAAK,EAAE;KACd,OAAO,IAAE;AACb;AACA;AACA,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;GACtD,OAAO,WAAW,EAAE;AACtB;AACA,CAAA,IAAI,IAAI;GACN,WAAW,KAAK,OAAO,MAAM;AAC/B,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AACxC,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC;OACnC;AACN,OAAM,sBAAsB;AAC5B,CAA4B,mCAAA,CAAA,oBAAA;GAC1B,MAAM,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI;;;;;;;;;AC/D3E,CAA2C;GAClCC,IAAA,CAAA,OAAA,GAAUD,0CAA2D,EAAA;;;;;ACF9E,IAAI,MAAS,GAAA,kBAAA;AACb,SAAS,SAAA,CAAU,WAAW,OAAS,EAAA;AACnC,EAAA,IAAI,SAAW,EAAA;AACX,IAAA;AAAA;AAEJ,EAAkB;AACd,IAAM,MAAA,IAAI,MAAM,MAAM,CAAA;AAAA;AAK9B;;ACXA,SAAS,OAAA,CAAQ,WAAW,OAAS,EAAA;AAgBrC;;AChBA,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,6BAA6B,GAAG;AACtC,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,YAAY,GAAG,CAAC;AACpB,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AAClD,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACtD,SAAS,iBAAiB,CAAC,WAAW,EAAE;AACxC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACxD,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AACpE,IAAI,IAAI,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE;AACrE,IAAI,OAAO,CAAC;AACZ,GAAG,CAAC;AACJ,EAAE,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAChC,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjE,MAAM;AACN;AACA,IAAI,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACvD,IAAI,OAAO,CAAC,SAAS,EAAE;AACvB,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AACpE,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,QAAQ,iBAAiB,CAAC,wBAAwB,CAAC;AACnD;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO;AACzB,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,KAAK,CAAC,SAAS;AAC9B,MAAM,UAAU,EAAE,KAAK,CAAC;AACxB,KAAK;AACL,GAAG;AACH;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO;AAC3B,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC;AAC3B,MAAM,OAAO,EAAE,OAAO,CAAC,SAAS;AAChC,MAAM,UAAU,EAAE,OAAO,CAAC;AAC1B,KAAK;AACL,GAAG;AACH;AACA,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,EAAE,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5D,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;AACpD;AACA,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,EAAE,IAAI,YAAY,GAAG,CAAC,EAAE;AACxB,EAAE,IAAI,YAAY,EAAE;AACpB,EAAE,IAAI;AACN,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,OAAO,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACjD,MAAM,gBAAgB,CAAC,KAAK,EAAE;AAC9B,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS;AAC9E,QAAQ,MAAM,CAAC,SAAS,GAAG,SAAS;AACpC,QAAQ,iBAAiB,CAAC,MAAM,CAAC;AACjC;AACA,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1D,QAAQ,iBAAiB,CAAC,WAAW,CAAC;AACtC;AACA,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AAC3C,UAAU,wBAAwB,CAAC,OAAO,CAAC;AAC3C;AACA;AACA;AACA,GAAG,SAAS;AACZ,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,6BAA6B,CAAC,OAAO,GAAG,EAAE;AAC9C,IAAI,oBAAoB,CAAC,KAAK,EAAE;AAChC;AACA;AACA,SAAS,KAAK,CAAC,EAAE,EAAE;AACnB,EAAE,YAAY,EAAE;AAChB,EAAE,IAAI;AACN,IAAI,EAAE,EAAE;AACR,GAAG,SAAS;AACZ,IAAI,YAAY,EAAE;AAClB,IAAI,IAAI,YAAY,KAAK,CAAC,EAAE;AAC5B,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,IAAI,oBAAoB,EAAE;AAChC,QAAQ,OAAO,CAAC,oBAAoB,CAAC;AACrC;AACA;AACA;AACA;;AClGA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,EAAE,OAAO,OAAO,OAAO,KAAK,UAAU;AACtC;;ACAA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC/H,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE;AACxC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY;AACjC,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY;AAC7B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B;AACA,EAAE,QAAQ,CAAC,OAAO,EAAE;AACpB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAClB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;AAC/B,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;AACjE,KAAK,MAAM;AACX,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACtC,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5C,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO;AAC5B;AACA;AACA,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5F,IAAI,OAAO,CAAC,IAAI,CAAC;AACjB;AACA;;AC/BA,MAAM,OAAO,CAAC;AACd,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,IAAI,CAAC,cAAc,GAAG,EAAE;AAC5B,IAAI,IAAI,CAAC,iBAAiB,GAAG,EAAE;AAC/B,IAAI,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,MAAM,MAAM,WAAW,GAAG,EAAE;AAC5B,MAAM,MAAM,WAAW,GAAG,EAAE;AAC5B,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACvC,QAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC;AACA,MAAM,IAAI,CAAC,iBAAiB,GAAG,WAAW;AAC1C,MAAM,OAAO;AACb,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ,OAAO,EAAE,IAAI,CAAC,SAAS,IAAI;AACnC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM;AAC3B,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;AACjC,MAAM,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AACrE,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACnC,QAAQ,WAAW;AACnB,QAAQ,WAAW;AACnB,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,KAAK;AACL,IAAI,IAAI,CAAC,gCAAgC,GAAG,MAAM;AAClD,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3C,QAAQ,IAAI,GAAG,YAAY,OAAO,EAAE;AACpC,UAAU,GAAG,CAAC,gCAAgC,EAAE;AAChD;AACA;AACA,MAAM,IAAI,eAAe,GAAG,KAAK;AACjC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;AACtD,MAAM,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;AAC/C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,EAAE;AACrD,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU;AACV;AACA;AACA,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB;AACA,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM;AACvB,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,MAAM,IAAI,CAAC,gCAAgC,EAAE;AAC7C,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,QAAQ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE;AACnD,UAAU,OAAO,EAAE;AACnB;AACA,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;AACzG,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE;AACxC,OAAO;AACP,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;AAC5B,MAAM,WAAW,EAAE,MAAM;AACzB,MAAM,OAAO,EAAE,MAAM;AACrB,MAAM,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;AACrC,KAAK,CAAC;AACN;AACA,EAAE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC5C,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,GAAG,CAAC,eAAe,EAAE;AAC7B,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,OAAO,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,IAAI,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAChE,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,UAAU,wBAAwB,mBAAmB,IAAI,GAAG,EAAE;AAC9D,UAAU,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC;AAC7D;AACA,QAAQ,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AACtD,QAAQ,IAAI,CAAC,aAAa,EAAE;AAC5B,UAAU,aAAa,mBAAmB,IAAI,GAAG,EAAE;AACnD,UAAU,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC;AACnD;AACA,QAAQ,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B;AACA;AACA;AACA,EAAE,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAChD,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC5B,MAAM,IAAI,GAAG,YAAY,OAAO,EAAE;AAClC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAClD,OAAO,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE;AACvC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;AAClE,QAAQ,IAAI,wBAAwB,EAAE;AACtC,UAAU,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;AAC/C;AACA,QAAQ,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;AACxD,QAAQ,IAAI,aAAa,EAAE;AAC3B,UAAU,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AACnC;AACA;AACA;AACA;AACA;;AClHA,MAAM,aAAa,GAAG,aAAa;AACnC,MAAM,aAAa,GAAG,UAAU;AAChC,MAAM,iBAAiB,GAAG,cAAc;AACxC,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,EAAE,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK;AAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,GAAG;AACH,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;AACxD,SAAS,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,OAAO;AAC/B,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,GAAG;AACP,GAAG,KAAK;AACR,IAAI,IAAI,EAAE,EAAE,EAAE;AACd,IAAI,MAAM,aAAa,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK;AAC/F,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM;AACN;AACA,IAAI,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACrF,IAAI,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;AACvF,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE;AAC/E,MAAM,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AACtC,QAAQ,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;AACzE,QAAQ,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AAClD,UAAU,eAAe,EAAE,QAAQ;AACnC,UAAU,YAAY;AACtB,UAAU,MAAM,EAAE,UAAU,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AAChE,UAAU;AACV;AACA;AACA;AACA,IAAI,IAAI,EAAE;AACV,GAAG;AACH,EAAE,OAAO;AACT,IAAI,IAAI,QAAQ,GAAG;AACnB,MAAM,OAAO,QAAQ;AACrB,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE;AAC7B,KAAK;AACL,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,CAAC,EAAE,KAAK;AACvB,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACzB,MAAM,OAAO,MAAM;AACnB,QAAQ,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AACzC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC;AACxD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;AACrC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AAC5C,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC;AACpD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AACxC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACrC,SAAS;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,KAAK;AACL,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AACjC,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClD,SAAS;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK;AAC5B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC;AAC1F,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,SAAS;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK;AAC/B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,aAAa,KAAK,KAAK,CAAC;AAC7F,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,SAAS;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,KAAK;AACL,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACxD,IAAI,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7C,IAAI,KAAK,EAAE,CAAC,OAAO,KAAK;AACxB,MAAM,IAAI,EAAE;AACZ,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,MAAM;AAC1C,OAAO;AACP,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACvF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,GAAG,EAAE,EAAE;AACnB,QAAQ,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC5F,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;AACxG,OAAO;AACP,KAAK;AACL,IAAI,KAAK,EAAE,MAAM;AACjB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/D,KAAK;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;AACjE,KAAK;AACL,IAAI;AACJ,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,KAAK,GAAG,EAAE;AACd;AACA,EAAE,MAAM,GAAG,GAAG,eAAe,EAAE;AAC/B,EAAE,OAAO;AACT,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG;AACP;AACA,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,CAAC,aAAa,GAAG;AACrB,GAAG;AACH;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1G,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS;AACjD,EAAE,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACvD,EAAE,IAAI,QAAQ,GAAG,EAAE;AACnB,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ;AACrC,EAAE,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,QAAQ,GAAG,WAAW;AAC9D,EAAE,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAClF,EAAE,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,MAAM,MAAM,SAAS;AACxF,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxE,IAAI,GAAG,CAAC,OAAO,CAAC;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;AAC5H,IAAI,MAAM,QAAQ,GAAG,eAAe,EAAE;AACtC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY;AAC5B,MAAM;AACN,QAAQ,CAAC,aAAa,GAAG,CAAC;AAC1B,QAAQ,GAAG,EAAE,QAAQ;AACrB;AACA,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,MAAM;AACN,KAAK;AACL;AACA,EAAE,IAAI,eAAe,GAAG,aAAa,EAAE;AACvC,EAAE,IAAI,gBAAgB;AACtB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,aAAa,GAAG,KAAK;AAC3B,EAAE,IAAI,kBAAkB,GAAG,KAAK;AAChC,EAAE,IAAI,sBAAsB,GAAG,KAAK;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM,eAAe;AAC3C,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,SAAS;AACf,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM;AACN;AACA,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI;AACrC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACnE,MAAM,IAAI,CAAC,KAAK;AAChB,MAAM,EAAE;AACR,MAAM,IAAI,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,kBAAkB,GAAG,KAAK;AACtC,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,SAAS,GAAG,MAAM;AACtB,IAAI,gBAAgB,GAAG,MAAM;AAC7B,GAAG;AACH,EAAE,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK;AACxD,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,gBAAgB,GAAG,eAAe;AACxC;AACA,IAAI,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;AAChD,IAAI,IAAI,GAAG;AACX,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,MAAM,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,KAAK;AAChE,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;AACvD;AACA,GAAG;AACH,EAAE,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,YAAY;AACrC,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,aAAa,GAAG,KAAK;AAC3B,MAAM;AACN;AACA,IAAI,MAAM,YAAY,GAAG,aAAa,EAAE;AACxC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;AAC1F,IAAI,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC;AACjC,IAAI,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE;AAC/B,IAAI,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,WAAW;AACrD,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;AAC5D,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG;AAC1B,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE;AACb,KAAK,GAAG;AACR,MAAM,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG;AAC9B,KAAK;AACL,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,kBAAkB,GAAG,KAAK;AAChC,KAAK,MAAM;AACX,MAAM,MAAM,SAAS,GAAG,YAAY,EAAE;AACtC,MAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC/D,QAAQ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACzC,UAAU,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AACpD,YAAY,eAAe;AAC3B,YAAY,YAAY;AACxB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,aAAa,GAAG,IAAI;AAChC,YAAY,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK;AAChC,IAAI,IAAI,sBAAsB,EAAE;AAChC,MAAM,sBAAsB,GAAG,KAAK;AACpC,MAAM;AACN;AACA,IAAI,IAAI,WAAW,GAAG,KAAK;AAC3B,IAAI,MAAM,SAAS,GAAG,YAAY,EAAE;AACpC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC7D,MAAM,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACvC,QAAQ,MAAM,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI;AACzE,QAAQ,IAAI,sBAAsB,KAAK,IAAI,EAAE;AAC7C,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV;AACA,QAAQ,IAAI,OAAO,sBAAsB,KAAK,UAAU,IAAI,sBAAsB,EAAE,KAAK,IAAI,EAAE;AAC/F,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV;AACA;AACA;AACA,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,OAAO,CAAC,CAAC,WAAW,GAAG,EAAE;AAC/B;AACA,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC;AAChC,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM;AACvC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACvE,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7E,IAAI,IAAI,EAAE,CAAC,aAAa,KAAK;AAC7B,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B,KAAK;AACL,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK;AAChC,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;AAC3B,KAAK;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,WAAW,GAAG,IAAI;AACxB,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,KAAK;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;AAC1C,IAAI,KAAK;AACT,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,iBAAiB;AAC/C,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB;AACrD,MAAM,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,EAAE;AACjE,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC;AACR,MAAM,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC;AAC5D,KAAK;AACL,IAAI,SAAS,EAAE,MAAM;AACrB,MAAM,IAAI,gBAAgB,IAAI,eAAe,KAAK,gBAAgB,EAAE;AACpE,QAAQ,eAAe,GAAG,gBAAgB;AAC1C;AACA,KAAK;AACL,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,mBAAmB,EAAE;AACzB,GAAG,CAAC;AACJ,EAAE,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5E,EAAE,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC;AACrD,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,EAAE;AAC5C,IAAI,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC;AACtD,IAAI,OAAO,GAAG;AACd,GAAG;AACH,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,EAAE;AAC/C,IAAI,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC;AACzD,IAAI,OAAO,GAAG;AACd,GAAG;AACH,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1G,EAAE,OAAO,oBAAoB,CAAC;AAC9B,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,aAAa,EAAE,MAAM;AACzB,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;AAC1C,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;AACnD,KAAK;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AACjF,GAAG,CAAC;AACJ;AACA,SAAS,mBAAmB,CAAC,IAAI,GAAG;AACpC,EAAE,cAAc,EAAE,CAAC,GAAG;AACtB,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;AACrC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;AACnH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;AAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,MAAM;AACxD,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,EAAE,OAAO,aAAa,CAAC;AACvB,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM;AACnC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAChC,MAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAChC;AACA,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AACnC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;AAC3B,KAAK;AACL,IAAI,IAAI,EAAE,MAAM;AAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,KAAK;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,KAAK;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK;AAC1B,GAAG,CAAC;AACJ;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,EAAE,MAAM,QAAQ,GAAG,eAAe,EAAE;AACpC,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,QAAQ,EAAE,IAAI,CAAC,SAAS;AAC5B,MAAM,CAAC;AACP,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;AAC5H,KAAK;AACL,IAAI,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AACzD,IAAI,MAAM,EAAE,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE;AAClG,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;AAC5E,GAAG;AACH;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD;;AC1ZA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5B;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,OAAO,CAAC,KAAK,UAAU;AAChC;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC7C,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AAC3B,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC5B;AACA,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACnC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC1B,IAAI,OAAO,GAAG;AACd,GAAG,EAAE,EAAE,CAAC;AACR;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE;AACtB,IAAI,OAAO,IAAI;AACf;AACA,EAAE,MAAM,IAAI,GAAG,KAAK;AACpB,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,KAAK,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE;AACvE,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC7D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI;AACvC,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACrC,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;AAC7D,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI;AACvC,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACrC,IAAI,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE;AAChC,IAAI,IAAI,UAAU,GAAG,CAAC;AACtB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACvC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC1C,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;AACxG,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM;AAC1B,QAAQ,UAAU,EAAE;AACpB,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;AAC7D,UAAU,UAAU,EAAE;AACtB;AACA;AACA;AACA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI;AACzE;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,mBAAmB,CAAC,CAAC,EAAE;AAChC,EAAE;AACF;AACA,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChF;AACA;AACA,SAAS,aAAa,CAAC,CAAC,EAAE;AAC1B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW;AAC5B,EAAE,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACnC,IAAI,OAAO,IAAI;AACf;AACA,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;AAC7B,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACjC,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;AAC7C,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,kBAAkB,CAAC,CAAC,EAAE;AAC/B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;AAChE;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;AAC3E;AACA,SAAS,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE;AAC7C,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;AACpD;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AAC/B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE;AAC7B,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,MAAM,eAAe,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,eAAe,KAAK,IAAI;AAClF,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;AACnD,IAAI,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,EAAE,eAAe,CAAC;AACnD,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAClF,MAAM,OAAO,KAAK;AAClB;AACA,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AAChE;AACA,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;AAC/B,MAAM,OAAO,KAAK;AAClB;AACA,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE;AACA,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,SAAS,EAAE;AAC5C,EAAE,IAAI,kBAAkB;AACxB,EAAE,IAAI,iBAAiB;AACvB,EAAE,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC7D,IAAI,kBAAkB,GAAG,OAAO;AAChC,IAAI,iBAAiB,GAAG,MAAM;AAC9B,GAAG,CAAC;AACJ,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS;AACtC,EAAE,iBAAiB,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK;AACzC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK;AACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC;AAC7B,IAAI,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;AACjD,GAAG;AACH,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;AACpC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACxB,GAAG;AACH,EAAE,OAAO,iBAAiB;AAC1B;AACA,SAAS,UAAU,CAAC,UAAU,EAAE;AAChC,EAAE,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;AACpF;AACA,SAASE,SAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjD,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACjG,MAAM,OAAO,KAAK;AAClB;AACA;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,qBAAqB,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,OAAO,KAAK;AAChF,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6CAA6C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,2CAA2C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;AACzN;;AC1JA,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC;AAC5B,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,2BAA2B,GAAG,CAAC;AACrC,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,SAAS;AAClB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,OAAO,GAAG,KAAK,MAAM;AAC3B,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG;AACf,GAAG;AACH;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;AACrC;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1C;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;AAC9C,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;AACnG,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7B;AACA,EAAE,OAAO,KAAK;AACd;AACA,SAAS,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;AACvD,EAAE,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC;AAC9F;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;AACjC,EAAE,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACtC,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO;AAClD,EAAE,IAAI,IAAI,KAAK,kBAAkB,EAAE;AACnC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1D,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1C,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1C;AACA;AACA,EAAE,IAAI,IAAI,KAAK,2BAA2B,EAAE;AAC5C,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3D,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3C;AACA,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB;AACA,EAAE,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACtC,IAAI,IAAI,aAAa,IAAI,aAAa,EAAE;AACxC,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAClD,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;AAClC,KAAK,MAAM,IAAI,aAAa,EAAE;AAC9B,MAAM,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AAClC;AACA;AACA,EAAE,OAAO,KAAK;AACd;AACA,SAAS,WAAW,CAAC;AACrB,EAAE,QAAQ;AACV,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,GAAG,OAAO;AACzB,EAAE,aAAa;AACf,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE;AACR,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC;AACtD,EAAE,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,EAAE,aAAa,CAAC;AAClD,EAAE,IAAI,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE;AAC5D,EAAE,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,EAAE,UAAU,CAAC;AAClD,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,EAAE;AAClG,IAAI,YAAY,CAAC,GAAG,EAAE;AACtB;AACA,EAAE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AAC3E,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;AACvC,IAAI,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK;AACjC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE;AACvB,MAAM,IAAI,CAAC,KAAK,EAAE;AAClB,QAAQ,YAAY,GAAG,CAAC,SAAS,CAAC;AAClC,OAAO,MAAM,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE;AACvC,QAAQ,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AACpC,OAAO,MAAM;AACb,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;AAC/B,MAAM,YAAY,CAAC,GAAG,EAAE;AACxB,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE;AAC9B,SAAS;AACT,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC;AACA;AACA,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE;AAC1C,MAAM,IAAI,aAAa,KAAK,OAAO,EAAE;AACrC,QAAQ,YAAY,CAAC,GAAG,EAAE;AAC1B;AACA,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ,EAAE;AAC3C,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACpE;AACA;AACA,EAAE,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;AACzD,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC,CAAC;AACxD,EAAE,OAAO,MAAM;AACf;AACK,MAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK;AAC3C,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC1B,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM;AAC3B,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC;AAC5C,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AACtD,EAAE,OAAO,MAAM;AACf;AACA,MAAM,QAAQ,GAAG,WAAW;AAC5B,MAAM,uBAAuB,GAAG,6CAA6C;AAC7E,MAAM,gCAAgC,GAAG,8CAA8C;AACvF,MAAM,WAAW,GAAG,MAAM;AAC1B,MAAM,0BAA0B,GAAG,mBAAmB;AACtD,SAAS,iBAAiB,CAAC,QAAQ,EAAE;AACrC,EAAE,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAChC,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;AACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,MAAM,IAAI,EAAE,qBAAqB;AACjC,MAAM,KAAK,EAAE;AACb,KAAK,CAAC;AACN;AACA,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,IAAI,OAAO,QAAQ;AACnB;AACA,EAAE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACnD,EAAE,QAAQ,CAAC,IAAI;AACf,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC;AACxE,MAAM,IAAI,mBAAmB,EAAE;AAC/B,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAC7C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,qBAAqB;AACrC,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT;AACA,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK;AACjD,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,wBAAwB,EAAE;AACpC,QAAQ,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC;AAClD,QAAQ,MAAM,SAAS,GAAG,wBAAwB,CAAC,CAAC,CAAC;AACrD,QAAQ,MAAM,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC;AAClD,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,2BAA2B;AAC3C,UAAU,KAAK,EAAE,SAAS;AAC1B;AACA,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT;AACA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC;AAClE,MAAM,IAAI,gBAAgB,EAAE;AAC5B,QAAQ,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC1C,QAAQ,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC7C,QAAQ,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAC1C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,kBAAkB;AAClC,UAAU,KAAK,EAAE,EAAE,GAAG,SAAS;AAC/B,UAAU,aAAa,EAAE,MAAM,IAAI,MAAM;AACzC,UAAU,aAAa,EAAE,MAAM,IAAI;AACnC,SAAS;AACT;AACA,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,kBAAkB;AAClC,UAAU,KAAK,EAAE,GAAG,GAAG,SAAS;AAChC,UAAU,aAAa,EAAE,MAAM;AAC/B,UAAU,aAAa,EAAE;AACzB,SAAS;AACT;AACA,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClC,QAAQ,OAAO;AACf,UAAU,IAAI,EAAE,qBAAqB;AACrC,UAAU,KAAK,EAAE,GAAG;AACpB,UAAU,aAAa,EAAE,MAAM;AAC/B,UAAU,aAAa,EAAE;AACzB,SAAS;AACT;AACA,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,qBAAqB;AACnC,QAAQ,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI;AACzH,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE;AAClC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACpC,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,MAAM,IAAI,EAAE,qBAAqB;AACjC,MAAM,KAAK,EAAE;AACb,KAAK,CAAC;AACN;AACA,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,eAAe,CAAC;AACzB,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,cAAc;AAChB,EAAE,WAAW;AACb,EAAE,aAAa;AACf,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,wBAAwB,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC;AAClE,EAAE,SAAS,WAAW,CAAC,GAAG,EAAE;AAC5B,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ;AACnD,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE;AACzC,MAAM,OAAO,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK;AACrD,KAAK,MAAM;AACX,MAAM,OAAO,aAAa,GAAG,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,KAAK;AAC1E;AACA;AACA,EAAE,IAAI,eAAe,GAAG,KAAK;AAC7B,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,gBAAgB,GAAG,SAAS;AACpC,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC9C,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;AAClD,QAAQ,OAAO,OAAO,CAAC,KAAK;AAC5B;AACA,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;AAClD,QAAQ,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AACzC,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,EAAE;AACnC,UAAU,eAAe,GAAG,IAAI;AAChC,UAAU,IAAI,cAAc,EAAE;AAC9B,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;AACrE;AACA,UAAU,IAAI,aAAa,IAAI,aAAa,EAAE;AAC9C,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AACrD;AACA,UAAU,OAAO,MAAM;AACvB;AACA,QAAQ,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;AAC3C,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF;AACA,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;AACzD;AACA,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE;AAC/C,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAClD,UAAU,eAAe,GAAG,IAAI;AAChC;AACA,QAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACrC,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;AAClD,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF;AACA,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACnF;AACA,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,EAAE;AACxD,QAAQ,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9C,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE;AACzD,QAAQ,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACrD,UAAU,IAAI,cAAc,EAAE;AAC9B,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;AAC3D;AACA,UAAU,IAAI,aAAa,IAAI,aAAa,EAAE;AAC9C,YAAY,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AACrD;AACA,UAAU,OAAO,MAAM;AACvB;AACA,QAAQ,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACrC,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;AAClD,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AACjF;AACA,QAAQ,IAAI,cAAc,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AAClF;AACA,QAAQ,OAAO,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1E;AACA,MAAM,OAAO,OAAO,CAAC,KAAK;AAC1B,KAAK;AACL,GAAG;AACH,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE;AAC1D;AACA,SAAS,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE;AAC/C,EAAE,IAAI,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACzC,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE;AACrD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;AACrD;AACA;AACA,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAG,WAAW;AAChC,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI;AACJ,GAAG;AACH,EAAE,IAAI,aAAa,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE;AACvC,IAAI;AACJ;AACA,EAAE,OAAO,UAAU,IAAI,EAAE;AACzB;AACA,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;AACnE,EAAE,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE;AAC9E,EAAE,MAAM,kBAAkB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE;AAC9E,EAAE,QAAQ,IAAI;AACd;AACA;AACA,IAAI,KAAK,kBAAkB,KAAK,GAAG;AACnC,MAAM,OAAO,QAAQ;AACrB;AACA,IAAI,KAAK,kBAAkB,KAAK,kBAAkB;AAClD,MAAM,OAAO,EAAE;AACf;AACA;AACA,IAAI,KAAK,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;AAC1C,MAAM,OAAO,QAAQ;AACrB;AACA;AACA;AACA;AACA,IAAI,KAAK,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,GAAG;AAC9D,MAAM,OAAO,QAAQ;AACrB;AACA,IAAI,KAAK,kBAAkB,CAAC,UAAU,CAAC,kBAAkB,CAAC;AAC1D,MAAM,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5C;AACA,IAAI;AACJ,MAAM,OAAO,QAAQ;AACrB;AACA;AACA,SAAS,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE;AACrC,EAAE,EAAE;AACJ,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE,UAAU,EAAE;AACf,EAAE,IAAI,QAAQ,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;AACtD,IAAI,OAAO,MAAM;AACjB;AACA,EAAE,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC;AACtD,EAAE,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC;AAC9D,EAAE,MAAM,YAAY,GAAG,aAAa;AACpC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,aAAa;AACrC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,MAAM,MAAM,GAAGC,SAAO;AACxB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,MAAM,GAAG,MAAM,GAAG,MAAM;AACjC;AACA,SAASA,SAAO,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;AAC5E,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAChB,EAAE,IAAI,SAAS,GAAG,CAAC;AACnB,EAAE,IAAI,UAAU,GAAG,CAAC;AACpB,EAAE,OAAO,SAAS,GAAG,YAAY,CAAC,MAAM,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE;AAC/E,IAAI,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC;AAC/C,IAAI,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC;AAClD,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACvD,QAAQ,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;AACnE,QAAQ,IAAI,MAAM;AAClB,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,IAAI,CAAC,WAAW,EAAE,OAAO,KAAK;AACxC,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,eAAe,IAAI,YAAY,EAAE;AAC/C,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC/C,cAAc,OAAO,KAAK;AAC1B;AACA;AACA,UAAU,IAAI,eAAe,IAAI,YAAY,EAAE;AAC/C,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AAC9G,cAAc,OAAO,KAAK;AAC1B;AACA;AACA,UAAU,IAAI,aAAa,GAAG,SAAS;AACvC,YAAY,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC/D,WAAW;AACX,UAAU,IAAI,MAAM,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1D,YAAY,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AAC9D;AACA,UAAU,IAAI,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxD,YAAY,aAAa,GAAG,aAAa,CAAC,KAAK;AAC/C,cAAc,CAAC;AACf,cAAc,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5C,aAAa;AACb;AACA,UAAU,MAAM,GAAG,aAAa;AAChC,SAAS,MAAM;AACf,UAAU,MAAM,GAAG,SAAS;AAC5B,YAAY,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC/D,WAAW;AACX;AACA,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM;AAC5B,QAAQ,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM;AACjC,QAAQ,OAAO,IAAI;AACnB;AACA,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACvD,QAAQ,IAAI,YAAY,CAAC,KAAK,KAAK,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE;AAC/F,UAAU,UAAU,EAAE;AACtB,UAAU;AACV;AACA,QAAQ,IAAI,WAAW,EAAE;AACzB,UAAU,IAAI,aAAa,EAAE;AAC7B,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE;AAC1D,cAAc,OAAO,KAAK;AAC1B;AACA,WAAW,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;AAC3F,YAAY,OAAO,KAAK;AACxB;AACA,UAAU,SAAS,EAAE;AACrB,UAAU,UAAU,EAAE;AACtB,UAAU;AACV,SAAS,MAAM;AACf,UAAU,OAAO,KAAK;AACtB;AACA;AACA,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE;AACpD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,UAAU,OAAO,KAAK;AACtB;AACA,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,EAAE;AACvC,UAAU,OAAO,KAAK;AACtB;AACA,QAAQ,IAAI,WAAW,GAAG,EAAE;AAC5B,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACvD,YAAY,OAAO,KAAK;AACxB;AACA,UAAU,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrD,YAAY,OAAO,KAAK;AACxB;AACA,UAAU,IAAI,UAAU,GAAG,SAAS;AACpC,UAAU,IAAI,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACvD,YAAY,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AACxD;AACA,UAAU,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACrD,YAAY,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/E;AACA,UAAU,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC;AACtD,UAAU,OAAO,GAAG,IAAI;AACxB,SAAS,MAAM;AACf,UAAU,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;AAC7D,UAAU,OAAO,GAAG,IAAI;AACxB;AACA,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;AAC/D,UAAU,SAAS,EAAE;AACrB;AACA,QAAQ,UAAU,EAAE;AACpB,QAAQ;AACR;AACA,MAAM,IAAI,YAAY,CAAC,IAAI,KAAK,2BAA2B,EAAE;AAC7D,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,UAAU,UAAU,EAAE;AACtB,UAAU;AACV;AACA,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,GAAG,EAAE;AACvC,UAAU,UAAU,EAAE;AACtB,UAAU;AACV;AACA,QAAQ,IAAI,WAAW,GAAG,EAAE;AAC5B,QAAQ,IAAI,OAAO,GAAG,KAAK;AAC3B,QAAQ,IAAI,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,aAAa,EAAE;AACtE,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,IAAI,EAAE;AACzD,UAAU,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK;AAC7C,UAAU,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;AACpG,YAAY,IAAI,UAAU,GAAG,SAAS;AACtC,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACzD,cAAc,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1D;AACA,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACvD,cAAc,UAAU,GAAG,UAAU,CAAC,KAAK;AAC3C,gBAAgB,CAAC;AACjB,gBAAgB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;AAC3C,eAAe;AACf;AACA,YAAY,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC;AACxD,YAAY,OAAO,GAAG,IAAI;AAC1B;AACA,SAAS,MAAM;AACf,UAAU,IAAI,mBAAmB,GAAG,IAAI;AACxC,UAAU,KAAK,IAAI,SAAS,GAAG,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;AAC9F,YAAY,MAAM,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC;AAC/D,YAAY,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,qBAAqB,IAAI,kBAAkB,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE;AAC7J,cAAc,mBAAmB,GAAG,KAAK;AACzC,cAAc;AACd;AACA,YAAY,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,kBAAkB,IAAI,CAAC,kBAAkB,IAAI,IAAI,GAAG,MAAM,GAAG,kBAAkB,CAAC,IAAI,MAAM,qBAAqB,EAAE;AACrM,cAAc;AACd;AACA;AACA,UAAU,IAAI,mBAAmB,EAAE;AACnC,YAAY,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC;AAC/D,YAAY,OAAO,GAAG,IAAI;AAC1B;AACA;AACA,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;AAC/D,UAAU,SAAS,EAAE;AACrB;AACA,QAAQ,UAAU,EAAE;AACpB,QAAQ;AACR;AACA;AACA,IAAI,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,IAAI,UAAU,IAAI,aAAa,CAAC,MAAM,EAAE;AAC/E,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS;AAC9B,QAAQ,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK;AACxD,OAAO;AACP,MAAM,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG;AAC5G;AACA,IAAI,IAAI,UAAU,GAAG,aAAa,CAAC,MAAM,IAAI,SAAS,IAAI,YAAY,CAAC,MAAM,EAAE;AAC/E,MAAM,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9D,QAAQ,IAAI,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,MAAM,2BAA2B,EAAE;AAClG,UAAU,OAAO,KAAK;AACtB;AACA;AACA,MAAM;AACN;AACA,IAAI;AACJ;AACA,EAAE,OAAO,IAAI;AACb;;AC9iBA,SAAS,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;AAChC,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI;AAC3B,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,OAAO;AAClC,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;AAClD;;ACNA,SAAS,qBAAqB,GAAG;AACjC,EAAE,IAAI;AACN,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpF,MAAM,OAAO,MAAM,CAAC,cAAc;AAClC;AACA,GAAG,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB;AACA,EAAE,OAAO,MAAM;AACf;AACA,MAAM,UAAU,GAAG,6BAA6B;AAChD,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK;AAC/B,EAAE,IAAI,OAAO;AACb,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;AACtB,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM;AACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;AACnB,QAAQ,OAAO,GAAG,IAAI;AACtB,OAAO,EAAE,IAAI,CAAC;AACd;AACA,GAAG;AACH,CAAC;AACD,SAAS,4BAA4B,GAAG;AACxC,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,EAAE;AACpD,EAAE,IAAI,CAAC,kBAAkB,EAAE;AAC3B,IAAI,OAAO,MAAM;AACjB;AACA,EAAE,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;AAC/D,EAAE,IAAI,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE;AAC9D,EAAE,OAAO;AACT,IAAI,KAAK;AACT;AACA;AACA;AACA,IAAI,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvI,GAAG;AACH;AACA,MAAM,sBAAsB,GAAG,4BAA4B,EAAE;AAC7D,MAAM,8BAA8B,GAAG,CAAC,QAAQ,KAAK;AACrD,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI;AAClD,CAAC;AACD,SAAS,cAAc,CAAC,EAAE,EAAE;AAC5B,EAAE,MAAM,IAAI,GAAG,EAAE;AACjB,EAAE,IAAI,MAAM;AACZ,EAAE,OAAO,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE;AACjC,IAAI,IAAI,CAAC,OAAO;AAChB,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,EAAE,GAAG,MAAM;AACf;AACA,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AAC5C;AACA,IAAI,YAAY,GAAG,KAAK;AACxB,SAAS,aAAa,CAAC;AACvB,EAAE,UAAU,EAAE,WAAW;AACzB,EAAE,GAAG;AACL,EAAE,QAAQ;AACV,EAAE,uBAAuB;AACzB,EAAE,oBAAoB;AACtB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE;AACR,EAAE,IAAI,KAAK;AACX,EAAE,IAAI;AACN,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACnE,GAAG,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACxB,IAAI;AACJ;AACA,EAAE,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;AACpF,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;AAC3C,EAAE,YAAY,GAAG,IAAI;AACrB,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,uBAAuB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,MAAM,KAAK,MAAM,eAAe,IAAI,cAAc,EAAE;AACpD,QAAQ,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC;AACrD,QAAQ,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC1C,UAAU,MAAM,CAAC,QAAQ,CAAC;AAC1B,YAAY,GAAG,EAAE,KAAK,CAAC,OAAO;AAC9B,YAAY,IAAI,EAAE,KAAK,CAAC,OAAO;AAC/B,YAAY;AACZ,WAAW,CAAC;AACZ,SAAS,MAAM,IAAI,eAAe,EAAE;AACpC,UAAU,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AACjE,UAAU,IAAI,OAAO,EAAE;AACvB,YAAY,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO;AAC9C,YAAY,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO;AAC7C;AACA;AACA;AACA,MAAM;AACN;AACA,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjE,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,2BAA2B,IAAI,IAAI;AACxG,MAAM,IAAI,yBAAyB,EAAE;AACrC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AAChD,QAAQ,IAAI,EAAE,EAAE;AAChB,UAAU,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACtD;AACA;AACA,MAAM;AACN;AACA,IAAI;AACJ,MAAM,QAAQ;AACd,MAAM,GAAG,CAAC,oBAAoB,IAAI,IAAI,GAAG,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK;AACzG,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AAC5B,MAAM,MAAM,OAAO,GAAG,QAAQ,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrI,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,OAAO,CAAC,QAAQ,CAAC;AACzB,UAAU,GAAG,EAAE,CAAC;AAChB,UAAU,IAAI,EAAE,CAAC;AACjB,UAAU;AACV,SAAS,CAAC;AACV;AACA,KAAK,CAAC;AACN,GAAG,GAAG;AACN,EAAE,YAAY,GAAG,KAAK;AACtB;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC/C,EAAE,IAAI,sBAAsB,KAAK,MAAM,EAAE;AACzC,IAAI;AACJ;AACA,EAAE,MAAM,uBAAuB,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK;AACpF,EAAE,IAAI,uBAAuB,EAAE;AAC/B,IAAI,MAAM,CAAC,iBAAiB,GAAG,IAAI;AACnC;AACA,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,wBAAwB,EAAE;AAC1E,IAAI;AACJ;AACA,EAAE,MAAM,CAAC,wBAAwB,GAAG,IAAI;AACxC,EAAE,YAAY,GAAG,KAAK;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B;AACzF,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,QAAQ;AAC7C,EAAE,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC9B,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;AACnD,MAAM;AACN;AACA,IAAI,IAAI,eAAe,GAAG,EAAE;AAC5B,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9D,MAAM,eAAe,GAAG,QAAQ;AAChC,KAAK,MAAM;AACX,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;AAC9C,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,eAAe,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,CAAC;AACpE,OAAO,MAAM;AACb,QAAQ,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;AACtD;AACA;AACA,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACpD,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC1C,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAClE,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;AACtF,MAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;AACxC,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,OAAO,MAAM,IAAI,eAAe,EAAE;AAClC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AAC/D,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC;AACxD,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC;AACvD;AACA;AACA,MAAM,OAAO,KAAK;AAClB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;AACtE;AACA,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK;AAC5C,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AACjC,MAAM,MAAM,CAAC,eAAe,GAAG,IAAI;AACnC,MAAM;AACN;AACA,IAAI,aAAa,CAAC;AAClB,MAAM,UAAU;AAChB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAyB;AACxD,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB;AACvD,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;AAC/D,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;AAC/B,KAAK,CAAC;AACN,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAClC,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC5C,QAAQ,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC/C,QAAQ,OAAO,KAAK;AACpB,OAAO,CAAC;AACR;AACA,GAAG,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE;AACjE,IAAI,MAAM,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,2BAA2B,IAAI,IAAI;AACrG,IAAI,IAAI,yBAAyB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AACxE,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpE,MAAM,IAAI,EAAE,EAAE;AACd,QAAQ,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACpD;AACA;AACA;AACA;;AC5MA,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC1B,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACzE,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,MAAM;AACX,MAAM,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC;AAC5D,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,IAAI,YAAY,CAAC,QAAQ,EAAE;AAC9C;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AACrB,EAAE,IAAI,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK;AACnC,EAAE,IAAI,GAAG,KAAK,MAAM,EAAE,OAAO,IAAI;AACjC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG;AACzD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC1B,EAAE,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG;AAC5D,EAAE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC;AAC5D,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;AAC7C,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC/C,IAAI,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC;AAClC,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE;AAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAC/B,KAAK,MAAM;AACX,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACpH;AACA,IAAI,OAAO,GAAG;AACd,GAAG,EAAE,EAAE,CAAC;AACR;;AC7BK,MAAC,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK;AAChD,MAAC,sBAAsB,GAAG,mBAAmB;AAClD,EAAE,IAAI,CAAC,SAAS;AAChB,EAAE,IAAI,CAAC;AACP;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,CAAC,SAAS,KAAK;AACxB,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC;AACA,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC7B,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;AAC9B,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,IAAI;AACZ,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACpC,SAAS,CAAC,OAAO,GAAG,EAAE;AACtB;AACA;AACA;AACA,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,SAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;AAChD,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;AACjD,MAAM,IAAI;AACV,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,OAAO,CAAC,OAAO,GAAG,EAAE;AACpB;AACA,KAAK,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AACxE,MAAM,IAAI;AACV,QAAQ,MAAM,CAAC,GAAG,CAAC;AACnB,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,OAAO,CAAC,OAAO,GAAG,EAAE;AACpB;AACA;AACA,IAAI,OAAO,GAAG;AACd;AACA,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE;AAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACzC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;AAC7B,MAAM,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,MAAM,EAAE;AACxD,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC;AACzC;AACA,KAAK,CAAC;AACN,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;AAC/C,IAAI,OAAO,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE;AAC3C,GAAG;AACH;;ACrDK,MAAC,WAAW,GAAG;;ACApB,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG;AACvD,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAC5B,IAAI,IAAI;AACR,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,CAAC,cAAc,GAAG,IAAI;AAChC,KAAK,CAAC,MAAM;AACZ;AACA;AACA,EAAE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACjD,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AACrD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;AACtC;AACA,EAAE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;AACtC,IAAI,MAAM,EAAE,IAAI,CAAC,UAAU;AAC3B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAClB,IAAI,MAAM,QAAQ;AAClB;AACA,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,GAAG,YAAY,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO;AACjD;;ACzBA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AACzC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,KAAK,GAAG,CAAC,KAAK,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;AACzB,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B;AACA,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B;AACA;AACA,IAAI,MAAM,GAAG,KAAK;AAClB,GAAG;AACH,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,GAAG,EAAE;AACb,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAClC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,MAAM;AAC/B,MAAM,KAAK,CAAC,KAAK,CAAC;AAClB,MAAM,OAAO,KAAK,CAAC,KAAK;AACxB,KAAK;AACL,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;AACpB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,MAAM,EAAE;AACvC,QAAQ,MAAM,QAAQ,GAAG,MAAM;AAC/B,QAAQ,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,UAAU,MAAM,GAAG,QAAQ,CAAC,IAAI;AAChC,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AACrC;AACA,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;AACjC,UAAU,MAAM,GAAG,MAAM;AACzB;AACA;AACA,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACrC,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,QAAQ,CAAC,KAAK,GAAG,KAAK;AAC9B,QAAQ,KAAK,CAAC,QAAQ,CAAC;AACvB,OAAO,MAAM;AACb,QAAQ,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;AACvC,QAAQ,MAAM,GAAG,KAAK;AACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;AACnC,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC7B;AACA;AACA,GAAG;AACH;;AC9CA,SAAS,sBAAsB,GAAK,EAAA;AAClC,EAAA,IAAI,eAAe,KAAO,EAAA;AACxB,IAAA,MAAM,GAAM,GAAA;AAAA,MACV,MAAM,GAAI,CAAA,IAAA;AAAA,MACV,SAAS,GAAI,CAAA;AAAA,KACf;AAIA,IAAO,OAAA,GAAA;AAAA;AAET,EAAO,OAAA;AAAA,IACL,IAAM,EAAA;AAAA,GACR;AACF;AACA,SAAS,sBAAsB,WAAa,EAAA;AAC1C,EAAA,MAAM,eAAe,WAAY,CAAA,gBAAA;AACjC,EAAA,MAAM,aAAa,WAAY,CAAA,QAAA;AAC/B,EAAA,MAAM,eAAe,YAAgB,IAAA,IAAA,GAAO,MAAS,GAAA,YAAA,CAAa,cAAc,UAAW,CAAA,QAAA;AAC3F,EAAA,MAAM,eAAe,YAAgB,IAAA,IAAA,GAAO,MAAS,GAAA,YAAA,CAAa,UAAU,UAAW,CAAA,IAAA;AACvF,EAAA,MAAM,eAAe,YAAgB,IAAA,IAAA,GAAO,MAAS,GAAA,YAAA,CAAa,UAAU,UAAW,CAAA,IAAA;AACvF,EAAA,OAAO,EAAE,YAAA,EAAc,UAAY,EAAA,WAAA,EAAa,aAAa,WAAY,EAAA;AAC3E;AACA,MAAM,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAIf,YAAY,OAAS,EAAA;AACnB,IAAK,IAAA,CAAA,eAAA,GAAkB,GAAG,IAAK,CAAA,KAAA;AAAA,MAC7B,IAAA,CAAK,QAAW,GAAA;AAAA,KACjB,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,eAAkB,GAAA,IAAA;AACvB,IAAA,IAAA,CAAK,oBAAuB,GAAA,MAAA;AAC5B,IAAA,IAAA,CAAK,8BAAiC,GAAA,MAAA;AACtC,IAAK,IAAA,CAAA,WAAA,uBAAkC,GAAI,EAAA;AAC3C,IAAA,IAAA,CAAK,iBAAoB,GAAA,KAAA;AACzB,IAAA,IAAA,CAAK,wBAA2B,GAAA,KAAA;AAChC,IAAK,IAAA,CAAA,eAAA,GAAkB,CAAC,EAAA,KAAO,EAAG,EAAA;AAClC,IAAK,IAAA,CAAA,MAAA,GAAS,CAAC,UAAe,KAAA;AAC5B,MAAI,IAAA,EAAA;AACJ,MAAA,IAAI,WAAW,aAAe,EAAA;AAC5B,QAAQ,OAAA,CAAA,IAAA;AAAA,UACN;AAAA,SACF;AAAA;AAEF,MAAA,MAAM,kBAAkB,IAAK,CAAA,OAAA;AAC7B,MAAA,IAAA,CAAK,OAAU,GAAA;AAAA,QACb,GAAG,IAAK,CAAA,OAAA;AAAA,QACR,GAAG;AAAA,OACL;AACA,MAAA,IAAA,CAAK,QAAW,GAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,IAAY,OAAO,QAAa,KAAA,WAAA;AAC7D,MAAA,IAAA,CAAK,uBAA0B,GAAA,IAAA,CAAK,OAAQ,CAAA,2BAAA,GAA8B,IAAI,GAAA;AAAA,QAC5E,IAAK,CAAA,OAAA,CAAQ,2BAA4B,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AAAA,UACrD,mBAAmB,IAAI,CAAA;AAAA,UACvB;AAAA,SACD;AAAA,OACC,GAAA,MAAA;AACJ,MAAI,IAAA,CAAC,KAAK,QAAY,IAAA,UAAA,CAAW,YAAY,UAAW,CAAA,QAAA,KAAa,gBAAgB,QAAU,EAAA;AAC7F,QAAI,IAAA,UAAA,CAAW,aAAa,MAAU,IAAA,UAAA,CAAW,aAAa,EAAM,IAAA,UAAA,CAAW,aAAa,GAAK,EAAA;AAC/F,UAAA,IAAA,CAAK,QAAW,GAAA,GAAA;AAAA,SACX,MAAA;AACL,UAAA,IAAA,CAAK,QAAW,GAAA,CAAA,CAAA,EAAI,QAAS,CAAA,UAAA,CAAW,QAAQ,CAAC,CAAA,CAAA;AAAA;AACnD;AAEF,MAAI,IAAA,CAAC,IAAK,CAAA,OAAA,IAAW,IAAK,CAAA,OAAA,CAAQ,WAAW,IAAK,CAAA,OAAA,CAAQ,OAAY,KAAA,IAAA,CAAK,OAAS,EAAA;AAClF,QAAA,IAAA,CAAK,UAAU,IAAK,CAAA,OAAA,CAAQ,OAAY,KAAA,IAAA,CAAK,WAAW,mBAAoB,CAAA;AAAA,UAC1E,cAAgB,EAAA,CAAC,IAAK,CAAA,QAAA,IAAY,GAAG;AAAA,SACtC,IAAI,oBAAqB,EAAA,CAAA;AAC1B,QAAK,IAAA,CAAA,cAAA,GAAiB,KAAK,aAAc,EAAA;AAAA;AAE3C,MAAA,IAAI,IAAK,CAAA,OAAA,CAAQ,SAAc,KAAA,IAAA,CAAK,SAAW,EAAA;AAC7C,QAAK,IAAA,CAAA,SAAA,GAAY,KAAK,OAAQ,CAAA,SAAA;AAC9B,QAAA,IAAA,CAAK,cAAe,EAAA;AAAA;AAEtB,MAAI,IAAA,CAAC,KAAK,OAAS,EAAA;AACjB,QAAA,IAAA,CAAK,UAAU,IAAI,KAAA,CAAM,qBAAsB,CAAA,IAAA,CAAK,cAAc,CAAG,EAAA;AAAA,UACnE,UAAU,MAAM;AACd,YAAA,IAAA,CAAK,QAAQ,KAAQ,GAAA;AAAA,cACnB,GAAG,IAAK,CAAA,KAAA;AAAA,cACR,aAAA,EAAe,IAAK,CAAA,KAAA,CAAM,aAAc,CAAA,MAAA;AAAA,gBACtC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAE,CAAA,QAAA,CAAS,EAAE,MAAM;AAAA;AAC1C,aACF;AAAA;AACF,SACD,CAAA;AACD,QAAA,sBAAA,CAAuB,IAAI,CAAA;AAAA;AAE7B,MAAA,IAAI,OAAO,MAAA,KAAW,WAAe,IAAA,KAAA,IAAS,MAAU,IAAA,QAAA,CAAS,EAAK,GAAA,MAAA,CAAO,GAAQ,KAAA,IAAA,GAAO,MAAS,GAAA,EAAA,CAAG,cAAc,UAAY,EAAA;AAChI,QAAK,IAAA,CAAA,8BAAA,GAAiC,OAAO,GAAI,CAAA,QAAA;AAAA,UAC/C;AAAA,SACF;AAAA;AACF,KACF;AACA,IAAA,IAAA,CAAK,iBAAiB,MAAM;AAC1B,MAAA,MAAM,EAAE,UAAA,EAAY,YAAc,EAAA,UAAA,KAAe,gBAAiB,CAAA;AAAA,QAChE,WAAW,IAAK,CAAA,SAAA;AAAA,QAChB,SAAA,EAAW,CAAC,KAAA,EAAO,CAAM,KAAA;AACvB,UAAA,KAAA,CAAM,IAAK,CAAA;AAAA,YACT,aAAe,EAAA;AAAA,WAChB,CAAA;AAAA;AACH,OACD,CAAA;AACD,MAAA,IAAA,CAAK,UAAa,GAAA,UAAA;AAClB,MAAA,IAAA,CAAK,YAAe,GAAA,YAAA;AACpB,MAAA,IAAA,CAAK,UAAa,GAAA,UAAA;AAClB,MAAM,MAAA,aAAA,GAAgB,KAAK,OAAQ,CAAA,aAAA;AACnC,MAAA,IAAI,aAAe,EAAA;AACjB,QAAA,aAAA,CAAc,IAAK,CAAA;AAAA,UACjB,aAAe,EAAA;AAAA,SAChB,CAAA;AACD,QAAK,IAAA,CAAA,UAAA,CAAW,aAAc,CAAA,EAAE,CAAI,GAAA,aAAA;AAAA;AACtC,KACF;AACA,IAAK,IAAA,CAAA,SAAA,GAAY,CAAC,SAAA,EAAW,EAAO,KAAA;AAClC,MAAA,MAAM,QAAW,GAAA;AAAA,QACf,SAAA;AAAA,QACA;AAAA,OACF;AACA,MAAK,IAAA,CAAA,WAAA,CAAY,IAAI,QAAQ,CAAA;AAC7B,MAAA,OAAO,MAAM;AACX,QAAK,IAAA,CAAA,WAAA,CAAY,OAAO,QAAQ,CAAA;AAAA,OAClC;AAAA,KACF;AACA,IAAK,IAAA,CAAA,IAAA,GAAO,CAAC,WAAgB,KAAA;AAC3B,MAAK,IAAA,CAAA,WAAA,CAAY,OAAQ,CAAA,CAAC,QAAa,KAAA;AACrC,QAAI,IAAA,QAAA,CAAS,SAAc,KAAA,WAAA,CAAY,IAAM,EAAA;AAC3C,UAAA,QAAA,CAAS,GAAG,WAAW,CAAA;AAAA;AACzB,OACD,CAAA;AAAA,KACH;AACA,IAAK,IAAA,CAAA,aAAA,GAAgB,CAAC,gBAAA,EAAkB,eAAoB,KAAA;AAC1D,MAAA,MAAM,QAAQ,CAAC;AAAA,QACb,QAAA;AAAA,QACA,MAAA;AAAA,QACA,IAAA;AAAA,QACA;AAAA,OACI,KAAA;AACJ,QAAA,MAAM,YAAe,GAAA,IAAA,CAAK,OAAQ,CAAA,WAAA,CAAY,MAAM,CAAA;AACpD,QAAA,MAAM,SAAY,GAAA,IAAA,CAAK,OAAQ,CAAA,eAAA,CAAgB,YAAY,CAAA;AAC3D,QAAO,OAAA;AAAA,UACL,QAAA;AAAA,UACA,SAAA;AAAA,UACA,QAAQ,gBAAiB,CAAA,gBAAA,IAAoB,OAAO,MAAS,GAAA,gBAAA,CAAiB,QAAQ,YAAY,CAAA;AAAA,UAClG,IAAA,EAAM,KAAK,KAAM,CAAA,GAAG,EAAE,OAAQ,EAAA,CAAE,CAAC,CAAK,IAAA,EAAA;AAAA,UACtC,MAAM,CAAG,EAAA,QAAQ,CAAG,EAAA,SAAS,GAAG,IAAI,CAAA,CAAA;AAAA,UACpC,OAAO,gBAAiB,CAAA,gBAAA,IAAoB,OAAO,MAAS,GAAA,gBAAA,CAAiB,OAAO,KAAK;AAAA,SAC3F;AAAA,OACF;AACA,MAAA,MAAM,QAAW,GAAA,KAAA,CAAM,eAAmB,IAAA,IAAA,CAAK,QAAQ,QAAQ,CAAA;AAC/D,MAAA,MAAM,EAAE,cAAA,EAAgB,SAAU,EAAA,GAAI,QAAS,CAAA,KAAA;AAC/C,MAAA,IAAI,cAAmB,KAAA,CAAC,SAAa,IAAA,SAAA,KAAc,KAAK,eAAkB,CAAA,EAAA;AACxE,QAAM,MAAA,kBAAA,GAAqB,MAAM,cAAc,CAAA;AAC/C,QAAmB,kBAAA,CAAA,KAAA,CAAM,GAAM,GAAA,QAAA,CAAS,KAAM,CAAA,GAAA;AAC9C,QAAmB,kBAAA,CAAA,KAAA,CAAM,SAAY,GAAA,QAAA,CAAS,KAAM,CAAA,SAAA;AACpD,QAAA,OAAO,mBAAmB,KAAM,CAAA,cAAA;AAChC,QAAO,OAAA;AAAA,UACL,GAAG,kBAAA;AAAA,UACH,cAAgB,EAAA;AAAA,SAClB;AAAA;AAEF,MAAO,OAAA,QAAA;AAAA,KACT;AACA,IAAK,IAAA,CAAA,mBAAA,GAAsB,CAAC,IAAA,EAAM,IAAS,KAAA;AACzC,MAAA,MAAM,eAAe,WAAY,CAAA;AAAA,QAC/B,UAAU,IAAK,CAAA,QAAA;AAAA,QACf,IAAM,EAAA,IAAA;AAAA,QACN,EAAA,EAAI,UAAU,IAAI,CAAA;AAAA,QAClB,aAAA,EAAe,KAAK,OAAQ,CAAA,aAAA;AAAA,QAC5B,aAAA,EAAe,KAAK,OAAQ,CAAA,aAAA;AAAA,QAC5B,YAAY,IAAK,CAAA;AAAA,OAClB,CAAA;AACD,MAAO,OAAA,YAAA;AAAA,KACT;AACA,IAAA,IAAA,CAAK,WAAc,GAAA,CAAC,cAAgB,EAAA,oBAAA,EAAsB,IAAS,KAAA;AACjE,MAAI,IAAA,OAAO,mBAAmB,QAAU,EAAA;AACtC,QAAA,OAAO,IAAK,CAAA,mBAAA;AAAA,UACV;AAAA,YACE,QAAU,EAAA,cAAA;AAAA,YACV,MAAQ,EAAA;AAAA,WACV;AAAA,UACA;AAAA,SACF;AAAA;AAEF,MAAO,OAAA,IAAA,CAAK,mBAAoB,CAAA,cAAA,EAAgB,oBAAoB,CAAA;AAAA,KACtE;AACA,IAAK,IAAA,CAAA,kBAAA,GAAqB,eAAe,GAAG,CAAA;AAC5C,IAAK,IAAA,CAAA,gBAAA,GAAmB,CAAC,QAAA,EAAU,aAAkB,KAAA;AACnD,MAAA,OAAO,gBAAiB,CAAA;AAAA,QACtB,QAAA;AAAA,QACA,aAAA;AAAA,QACA,UAAU,IAAK,CAAA,QAAA;AAAA,QACf,aAAA,EAAe,KAAK,OAAQ,CAAA,aAAA;AAAA,QAC5B,cAAc,IAAK,CAAA,YAAA;AAAA,QACnB,YAAY,IAAK,CAAA,UAAA;AAAA,QACjB,YAAY,IAAK,CAAA,UAAA;AAAA,QACjB,YAAY,IAAK,CAAA;AAAA,OAClB,CAAA;AAAA,KACH;AACA,IAAK,IAAA,CAAA,WAAA,GAAc,CAAC,EAAO,KAAA;AACzB,MAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA;AAC9B,MAAA,IAAI,CAAC,KAAO,EAAA;AACZ,MAAA,KAAA,CAAM,gBAAgB,KAAM,EAAA;AAC5B,MAAK,IAAA,CAAA,WAAA,CAAY,EAAI,EAAA,CAAC,IAAS,KAAA;AAC7B,QAAA,YAAA,CAAa,KAAK,cAAc,CAAA;AAChC,QAAO,OAAA;AAAA,UACL,GAAG,IAAA;AAAA,UACH,cAAgB,EAAA;AAAA,SAClB;AAAA,OACD,CAAA;AAAA,KACH;AACA,IAAA,IAAA,CAAK,gBAAgB,MAAM;AACzB,MAAI,IAAA,EAAA;AACJ,MAAC,CAAA,EAAA,GAAK,KAAK,KAAM,CAAA,cAAA,KAAmB,OAAO,MAAS,GAAA,EAAA,CAAG,OAAQ,CAAA,CAAC,KAAU,KAAA;AACxE,QAAK,IAAA,CAAA,WAAA,CAAY,MAAM,EAAE,CAAA;AAAA,OAC1B,CAAA;AAAA,KACH;AACA,IAAK,IAAA,CAAA,aAAA,GAAgB,CAAC,IAAS,KAAA;AAC7B,MAAA,MAAM,KAAQ,GAAA,CAAC,IAAO,GAAA,EAAO,KAAA;AAC3B,QAAI,IAAA,EAAA;AACJ,QAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,aAAA,IAAiB,IAAK,CAAA,cAAA;AACnD,QAAM,MAAA,yBAAA,GAA4B,IAAK,CAAA,WAAA,CAAY,eAAiB,EAAA;AAAA,UAClE,cAAgB,EAAA;AAAA,SACjB,CAAA;AACD,QAAM,MAAA,SAAA,GAAY,KAAK,yBAAyB,CAAA;AAChD,QAAA,IAAI,WAAW,SAAU,CAAA,QAAA;AACzB,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,EAAK,GAAA,IAAA,CAAK,oBAAoB,QAAU,EAAA,CAAA,EAAG,IAAK,CAAA,EAAE,CAAE,CAAA,CAAA,GAAI,IAAK,CAAA,mBAAA,CAAoB,UAAU,GAAG,CAAA;AAClH,QAAA,MAAM,kBAAkB,CAAC,CAAC,IAAK,CAAA,EAAA,IAAM,CAAC,YAAa,CAAA,IAAA,CAAK,EAAG,CAAA,QAAA,IAAY,QAAQ,CAAA,IAAK,CAAC,YAAA,CAAa,QAAQ,QAAQ,CAAA;AAClH,QAAI,IAAA,IAAA,CAAK,mBAAmB,MAAQ,EAAA;AAClC,UAAA,QAAA,GAAW,eAAgB,CAAA,QAAA;AAAA,SAC7B,MAAA,IAAW,eAAmB,IAAA,IAAA,CAAK,IAAM,EAAA;AACvC,UAAA,QAAA,GAAW,IAAK,CAAA,IAAA;AAehB;AAEF,QAAA,MAAM,aAAa,SAAU,CAAA,MAAA;AAC7B,QAAA,MAAM,UAAa,GAAA,EAAE,GAAG,SAAA,CAAU,MAAO,EAAA;AACzC,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,EAAK,GAAA,IAAA,CAAK,oBAAoB,QAAU,EAAA,CAAA,EAAG,IAAK,CAAA,EAAE,CAAE,CAAA,CAAA,GAAI,IAAK,CAAA,mBAAA,CAAoB,UAAU,GAAG,CAAA;AAClH,QAAA,IAAI,UAAa,GAAA,IAAA,CAAK,MAAW,KAAA,KAAA,IAAS,IAAK,CAAA,MAAA,KAAW,IAAO,GAAA,EAAM,GAAA,CAAA,IAAA,CAAK,MAAU,IAAA,IAAA,MAAU,OAAO,UAAa,GAAA;AAAA,UAClH,GAAG,UAAA;AAAA,UACH,GAAG,gBAAA,CAAiB,IAAK,CAAA,MAAA,EAAQ,UAAU;AAAA,SAC7C;AACA,QAAA,MAAM,qBAAqB,eAAgB,CAAA;AAAA,UACzC,IAAM,EAAA,MAAA;AAAA,UACN,MAAA,EAAQ,cAAc,EAAC;AAAA,UACvB,YAAY,IAAK,CAAA;AAAA,SAClB,CAAE,CAAA,gBAAA;AACH,QAAA,MAAM,aAAa,IAAK,CAAA,WAAA;AAAA,UACtB,kBAAA;AAAA,UACA,EAAC;AAAA,UACD;AAAA,YACE,cAAgB,EAAA;AAAA;AAClB,SACF,CAAE,IAAI,CAAC,CAAA,KAAM,KAAK,eAAgB,CAAA,CAAA,CAAE,OAAO,CAAC,CAAA;AAC5C,QAAA,IAAI,MAAO,CAAA,IAAA,CAAK,UAAU,CAAA,CAAE,SAAS,CAAG,EAAA;AACtC,UAAW,UAAA,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA;AACxB,YAAI,IAAA,GAAA;AACJ,YAAS,OAAA,CAAA,CAAA,GAAA,GAAM,MAAM,OAAQ,CAAA,MAAA,KAAW,OAAO,MAAS,GAAA,GAAA,CAAI,SAAc,KAAA,KAAA,CAAM,OAAQ,CAAA,eAAA;AAAA,WACzF,CAAE,CAAA,MAAA,CAAO,OAAO,CAAE,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AACjC,YAAA,UAAA,GAAa,EAAE,GAAG,UAAA,EAAY,GAAG,EAAA,CAAG,UAAU,CAAE,EAAA;AAAA,WACjD,CAAA;AAAA;AAEH,QAAA,MAAM,eAAe,eAAgB,CAAA;AAAA;AAAA;AAAA,UAGnC,IAAM,EAAA,MAAA;AAAA,UACN,MAAA,EAAQ,cAAc,EAAC;AAAA,UACvB,cAAgB,EAAA,KAAA;AAAA,UAChB,aAAa,IAAK,CAAA,WAAA;AAAA,UAClB,eAAe,IAAK,CAAA,uBAAA;AAAA,UACpB,YAAY,IAAK,CAAA;AAAA,SAClB,CAAE,CAAA,gBAAA;AACH,QAAA,IAAI,UAAa,GAAA,UAAA;AACjB,QAAI,IAAA,IAAA,CAAK,4BAA4B,EAAK,GAAA,IAAA,CAAK,QAAQ,MAAW,KAAA,IAAA,GAAO,MAAS,GAAA,EAAA,CAAG,MAAS,CAAA,EAAA;AAC5F,UAAA,IAAI,kBAAkB,EAAC;AACvB,UAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA;AAC5B,YAAI,IAAA;AACF,cAAI,IAAA,KAAA,CAAM,QAAQ,cAAgB,EAAA;AAChC,gBAAkB,eAAA,GAAA;AAAA,kBAChB,GAAG,eAAA;AAAA,kBACH,GAAG,cAAA,CAAe,KAAM,CAAA,OAAA,CAAQ,cAAgB,EAAA;AAAA,oBAC9C,GAAG,eAAA;AAAA,oBACH,GAAG;AAAA,mBACJ,KAAK;AAAC,iBACT;AAAA;AACF,aACM,CAAA,MAAA;AAAA;AACR,WACD,CAAA;AACD,UAAa,UAAA,GAAA,eAAA;AAAA;AAEf,QAAA,UAAA,GAAa,qBAAsB,CAAA;AAAA,UACjC,MAAQ,EAAA,UAAA;AAAA,UACR,IAAA;AAAA,UACA,UAAA;AAAA,UACA,wBAAwB,IAAK,CAAA;AAAA,SAC9B,CAAA;AACD,QAAa,UAAA,GAAA,gBAAA,CAAiB,YAAY,UAAU,CAAA;AACpD,QAAA,MAAM,SAAY,GAAA,IAAA,CAAK,OAAQ,CAAA,eAAA,CAAgB,UAAU,CAAA;AACzD,QAAA,MAAM,IAAO,GAAA,IAAA,CAAK,IAAS,KAAA,IAAA,GAAO,eAAgB,CAAA,IAAA,GAAO,IAAK,CAAA,IAAA,GAAO,gBAAiB,CAAA,IAAA,CAAK,IAAM,EAAA,eAAA,CAAgB,IAAI,CAAI,GAAA,MAAA;AACzH,QAAA,MAAM,OAAU,GAAA,IAAA,GAAO,CAAI,CAAA,EAAA,IAAI,CAAK,CAAA,GAAA,EAAA;AACpC,QAAA,IAAI,SAAY,GAAA,IAAA,CAAK,KAAU,KAAA,IAAA,GAAO,gBAAgB,KAAQ,GAAA,IAAA,CAAK,KAAQ,GAAA,gBAAA,CAAiB,IAAK,CAAA,KAAA,EAAO,eAAgB,CAAA,KAAK,IAAI,EAAC;AAClI,QAAY,SAAA,GAAA,gBAAA,CAAiB,eAAgB,CAAA,KAAA,EAAO,SAAS,CAAA;AAC7D,QAAO,OAAA;AAAA,UACL,QAAU,EAAA,YAAA;AAAA,UACV,MAAQ,EAAA,UAAA;AAAA,UACR,SAAA;AAAA,UACA,KAAO,EAAA,SAAA;AAAA,UACP,MAAM,IAAQ,IAAA,EAAA;AAAA,UACd,MAAM,CAAG,EAAA,YAAY,CAAG,EAAA,SAAS,GAAG,OAAO,CAAA,CAAA;AAAA,UAC3C,gBAAgB,IAAK,CAAA;AAAA,SACvB;AAAA,OACF;AACA,MAAA,MAAM,gBAAmB,GAAA,CAAC,IAAO,GAAA,IAAI,UAAe,KAAA;AAClD,QAAI,IAAA,EAAA;AACJ,QAAM,MAAA,IAAA,GAAO,MAAM,IAAI,CAAA;AACvB,QAAA,IAAI,UAAa,GAAA,UAAA,GAAa,KAAM,CAAA,UAAU,CAAI,GAAA,MAAA;AAClD,QAAA,IAAI,CAAC,UAAY,EAAA;AACf,UAAA,IAAI,SAAS,EAAC;AACd,UAAM,MAAA,SAAA,GAAA,CAAa,EAAK,GAAA,IAAA,CAAK,OAAQ,CAAA,UAAA,KAAe,OAAO,MAAS,GAAA,EAAA,CAAG,IAAK,CAAA,CAAC,CAAM,KAAA;AACjF,YAAA,MAAM,KAAQ,GAAA,aAAA;AAAA,cACZ,IAAK,CAAA,QAAA;AAAA,cACL,IAAK,CAAA,QAAA;AAAA,cACL;AAAA,gBACE,IAAI,CAAE,CAAA,IAAA;AAAA,gBACN,aAAe,EAAA,KAAA;AAAA,gBACf,KAAO,EAAA;AAAA,eACT;AAAA,cACA,IAAK,CAAA;AAAA,aACP;AACA,YAAA,IAAI,KAAO,EAAA;AACT,cAAS,MAAA,GAAA,KAAA;AACT,cAAO,OAAA,IAAA;AAAA;AAET,YAAO,OAAA,KAAA;AAAA,WACR,CAAA;AACD,UAAA,IAAI,SAAW,EAAA;AACb,YAAA,MAAM,EAAE,IAAA,EAAM,KAAO,EAAA,GAAG,WAAc,GAAA,SAAA;AACtC,YAAa,UAAA,GAAA;AAAA,cACX,GAAG,IAAA,CAAK,IAAM,EAAA,CAAC,MAAM,CAAC,CAAA;AAAA,cACtB,GAAG,SAAA;AAAA,cACH;AAAA,aACF;AACA,YAAA,UAAA,GAAa,MAAM,UAAU,CAAA;AAAA;AAC/B;AAEF,QAAA,IAAI,UAAY,EAAA;AACd,UAAM,MAAA,WAAA,GAAc,MAAM,UAAU,CAAA;AACpC,UAAA,IAAA,CAAK,cAAiB,GAAA,WAAA;AAAA;AAExB,QAAO,OAAA,IAAA;AAAA,OACT;AACA,MAAA,IAAI,KAAK,IAAM,EAAA;AACb,QAAA,OAAO,iBAAiB,IAAM,EAAA;AAAA,UAC5B,GAAG,IAAA,CAAK,IAAM,EAAA,CAAC,MAAM,CAAC,CAAA;AAAA,UACtB,GAAG,IAAK,CAAA;AAAA,SACT,CAAA;AAAA;AAEH,MAAA,OAAO,iBAAiB,IAAI,CAAA;AAAA,KAC9B;AACA,IAAA,IAAA,CAAK,iBAAiB,CAAC;AAAA,MACrB,cAAA;AAAA,MACA,aAAA;AAAA,MACA,GAAG;AAAA,KACC,KAAA;AACJ,MAAA,MAAM,cAAc,MAAM;AACxB,QAAA,MAAM,YAAe,GAAA;AAAA,UACnB,KAAA;AAAA;AAAA,UAEA,WAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AACA,QAAa,YAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC7B,UAAA,IAAA,CAAK,MAAM,IAAI,CAAA,GAAI,IAAK,CAAA,cAAA,CAAe,MAAM,IAAI,CAAA;AAAA,SAClD,CAAA;AACD,QAAA,MAAM,UAAU,SAAU,CAAA,IAAA,CAAK,KAAO,EAAA,IAAA,CAAK,eAAe,KAAK,CAAA;AAC/D,QAAa,YAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AAC7B,UAAO,OAAA,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,SACvB,CAAA;AACD,QAAO,OAAA,OAAA;AAAA,OACT;AACA,MAAA,MAAM,SAAY,GAAA,IAAA,CAAK,cAAe,CAAA,IAAA,KAAS,IAAK,CAAA,IAAA;AACpD,MAAA,MAAM,wBAAwB,IAAK,CAAA,qBAAA;AACnC,MAAK,IAAA,CAAA,qBAAA,GAAwB,wBAAwB,MAAM;AACzD,QAAyB,qBAAA,IAAA,IAAA,GAAO,MAAS,GAAA,qBAAA,CAAsB,OAAQ,EAAA;AAAA,OACxE,CAAA;AACD,MAAI,IAAA,SAAA,IAAa,aAAe,EAAA;AAC9B,QAAA,IAAA,CAAK,IAAK,EAAA;AAAA,OACL,MAAA;AACL,QAAA,IAAI,EAAE,cAAA,EAAgB,kBAAoB,EAAA,GAAG,aAAgB,GAAA,IAAA;AAC7D,QAAA,IAAI,cAAgB,EAAA;AAClB,UAAc,WAAA,GAAA;AAAA,YACZ,GAAG,cAAA;AAAA,YACH,KAAO,EAAA;AAAA,cACL,GAAG,cAAe,CAAA,KAAA;AAAA,cAClB,SAAW,EAAA,MAAA;AAAA,cACX,cAAgB,EAAA;AAAA,gBACd,GAAG,WAAA;AAAA,gBACH,QAAQ,WAAY,CAAA,SAAA;AAAA,gBACpB,KAAO,EAAA;AAAA,kBACL,GAAG,WAAY,CAAA,KAAA;AAAA,kBACf,SAAW,EAAA,MAAA;AAAA,kBACX,cAAgB,EAAA,MAAA;AAAA,kBAChB,SAAW,EAAA,MAAA;AAAA,kBACX,GAAK,EAAA;AAAA;AAAA;AAEP;AACF;AACF,WACF;AACA,UAAA,IAAI,WAAY,CAAA,cAAA,IAAkB,IAAK,CAAA,OAAA,CAAQ,kBAAkB,KAAO,EAAA;AACtE,YAAY,WAAA,CAAA,KAAA,CAAM,YAAY,IAAK,CAAA,eAAA;AAAA;AACrC;AAEF,QAAA,WAAA,CAAY,KAAM,CAAA,2BAAA,GAA8B,kBAAsB,IAAA,IAAA,CAAK,QAAQ,yBAA6B,IAAA,IAAA;AAChH,QAAA,IAAA,CAAK,oBAAuB,GAAA,cAAA;AAC5B,QAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,CAAK,OAAU,GAAA,SAAA,GAAY,MAAM,CAAA;AAAA,UAC5C,WAAY,CAAA,IAAA;AAAA,UACZ,WAAY,CAAA,KAAA;AAAA,UACZ,EAAE,aAAc;AAAA,SAClB;AAAA;AAEF,MAAK,IAAA,CAAA,eAAA,GAAkB,KAAK,WAAe,IAAA,IAAA;AAC3C,MAAA,IAAI,CAAC,IAAA,CAAK,OAAQ,CAAA,WAAA,CAAY,IAAM,EAAA;AAClC,QAAA,IAAA,CAAK,IAAK,EAAA;AAAA;AAEZ,MAAA,OAAO,IAAK,CAAA,qBAAA;AAAA,KACd;AACA,IAAA,IAAA,CAAK,yBAAyB,CAAC;AAAA,MAC7B,OAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,EAAO,KAAA;AACT,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,MAAM,YAAe,GAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,KAAM,CAAA,WAAA;AACjD,QAAM,MAAA,MAAA,GAAS,UAAU,IAAM,EAAA;AAAA,UAC7B,WAAA,EAAa,OAAU,GAAA,YAAA,GAAe,YAAe,GAAA;AAAA,SACtD,CAAA;AACD,QAAA,IAAA,CAAK,KAAK,MAAO,CAAA,QAAA;AACjB,QAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAK,OAAQ,CAAA,WAAA,CAAY,OAAO,MAAM,CAAA;AACpD,QAAA,IAAA,CAAK,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,CAAC,CAAA;AAAA;AAEjC,MAAM,MAAA,QAAA,GAAW,KAAK,aAAc,CAAA;AAAA,QAClC,GAAG,IAAA;AAAA,QACH,sBAAwB,EAAA;AAAA,OACzB,CAAA;AACD,MAAA,OAAO,KAAK,cAAe,CAAA;AAAA,QACzB,GAAG,QAAA;AAAA,QACH,cAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,KACH;AACA,IAAK,IAAA,CAAA,QAAA,GAAW,CAAC,EAAE,EAAA,EAAI,gBAAgB,IAAM,EAAA,GAAG,MAAW,KAAA;AACzD,MAAI,IAAA,CAAC,kBAAkB,IAAM,EAAA;AAC3B,QAAI,IAAA;AACF,UAAI,IAAA,GAAA,CAAI,CAAG,EAAA,IAAI,CAAE,CAAA,CAAA;AACjB,UAAiB,cAAA,GAAA,IAAA;AAAA,SACX,CAAA,MAAA;AAAA;AACR;AAEF,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,IAAI,CAAC,IAAM,EAAA;AACT,UAAA,MAAM,WAAW,IAAK,CAAA,aAAA,CAAc,EAAE,EAAI,EAAA,GAAG,MAAM,CAAA;AACnD,UAAA,IAAA,GAAO,IAAK,CAAA,OAAA,CAAQ,UAAW,CAAA,QAAA,CAAS,IAAI,CAAA;AAAA;AAE9C,QAAA,IAAI,KAAK,OAAS,EAAA;AAChB,UAAO,MAAA,CAAA,QAAA,CAAS,QAAQ,IAAI,CAAA;AAAA,SACvB,MAAA;AACL,UAAA,MAAA,CAAO,SAAS,IAAO,GAAA,IAAA;AAAA;AAEzB,QAAA,OAAO,QAAQ,OAAQ,EAAA;AAAA;AAEzB,MAAA,OAAO,KAAK,sBAAuB,CAAA;AAAA,QACjC,GAAG,IAAA;AAAA,QACH,IAAA;AAAA,QACA,EAAA;AAAA,QACA,WAAa,EAAA;AAAA,OACd,CAAA;AAAA,KACH;AACA,IAAA,IAAA,CAAK,aAAa,MAAM;AACtB,MAAA,IAAA,CAAK,aAAc,EAAA;AACnB,MAAA,IAAA,CAAK,cAAiB,GAAA,IAAA,CAAK,aAAc,CAAA,IAAA,CAAK,cAAc,CAAA;AAC5D,MAAA,IAAI,KAAK,QAAU,EAAA;AACjB,QAAM,MAAA,YAAA,GAAe,KAAK,aAAc,CAAA;AAAA,UACtC,EAAA,EAAI,KAAK,cAAe,CAAA,QAAA;AAAA,UACxB,MAAQ,EAAA,IAAA;AAAA,UACR,MAAQ,EAAA,IAAA;AAAA,UACR,IAAM,EAAA,IAAA;AAAA,UACN,KAAO,EAAA,IAAA;AAAA,UACP,sBAAwB,EAAA;AAAA,SACzB,CAAA;AACD,QAAM,MAAA,YAAA,GAAe,CAAC,GAAQ,KAAA;AAC5B,UAAI,IAAA;AACF,YAAO,OAAA,SAAA,CAAU,SAAU,CAAA,GAAG,CAAC,CAAA;AAAA,WACzB,CAAA,MAAA;AACN,YAAO,OAAA,GAAA;AAAA;AACT,SACF;AACA,QAAA,IAAI,QAAS,CAAA,YAAA,CAAa,IAAK,CAAA,cAAA,CAAe,IAAI,CAAC,CAAM,KAAA,QAAA,CAAS,YAAa,CAAA,YAAA,CAAa,IAAI,CAAC,CAAG,EAAA;AAClG,UAAA,MAAM,QAAS,CAAA,EAAE,IAAM,EAAA,YAAA,CAAa,MAAM,CAAA;AAAA;AAC5C;AAEF,MAAA,MAAM,cAAiB,GAAA,IAAA,CAAK,WAAY,CAAA,IAAA,CAAK,cAAc,CAAA;AAC3D,MAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAO,MAAA;AAAA,QAC5B,GAAG,CAAA;AAAA,QACH,MAAQ,EAAA,SAAA;AAAA,QACR,UAAY,EAAA,GAAA;AAAA,QACZ,SAAW,EAAA,IAAA;AAAA,QACX,UAAU,IAAK,CAAA,cAAA;AAAA,QACf,cAAA;AAAA;AAAA,QAEA,aAAA,EAAe,EAAE,aAAc,CAAA,MAAA;AAAA,UAC7B,CAAC,CAAM,KAAA,CAAC,cAAe,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,CAAA,CAAE,EAAE;AAAA;AAClD,OACA,CAAA,CAAA;AAAA,KACJ;AACA,IAAK,IAAA,CAAA,IAAA,GAAO,OAAO,IAAS,KAAA;AAC1B,MAAI,IAAA,SAAA;AACJ,MAAI,IAAA,QAAA;AACJ,MAAI,IAAA,WAAA;AACJ,MAAc,WAAA,GAAA,IAAI,OAAQ,CAAA,CAAC,OAAY,KAAA;AACrC,QAAA,IAAA,CAAK,gBAAgB,YAAY;AAC/B,UAAI,IAAA,EAAA;AACJ,UAAI,IAAA;AACF,YAAA,IAAA,CAAK,UAAW,EAAA;AAChB,YAAA,MAAM,OAAO,IAAK,CAAA,cAAA;AAClB,YAAM,MAAA,YAAA,GAAe,KAAK,KAAM,CAAA,gBAAA;AAChC,YAAI,IAAA,CAAC,IAAK,CAAA,KAAA,CAAM,QAAU,EAAA;AACxB,cAAA,IAAA,CAAK,IAAK,CAAA;AAAA,gBACR,IAAM,EAAA,kBAAA;AAAA,gBACN,GAAG,qBAAsB,CAAA;AAAA,kBACvB,gBAAkB,EAAA,YAAA;AAAA,kBAClB,QAAU,EAAA;AAAA,iBACX;AAAA,eACF,CAAA;AAAA;AAEH,YAAA,IAAA,CAAK,IAAK,CAAA;AAAA,cACR,IAAM,EAAA,cAAA;AAAA,cACN,GAAG,qBAAsB,CAAA;AAAA,gBACvB,gBAAkB,EAAA,YAAA;AAAA,gBAClB,QAAU,EAAA;AAAA,eACX;AAAA,aACF,CAAA;AACD,YAAA,MAAM,KAAK,WAAY,CAAA;AAAA,cACrB,IAAM,EAAA,IAAA,IAAQ,IAAO,GAAA,KAAA,CAAA,GAAS,IAAK,CAAA,IAAA;AAAA,cACnC,OAAA,EAAS,KAAK,KAAM,CAAA,cAAA;AAAA,cACpB,QAAU,EAAA,IAAA;AAAA;AAAA,cAEV,SAAS,YAAY;AACnB,gBAAA,IAAA,CAAK,oBAAoB,YAAY;AACnC,kBAAI,IAAA,cAAA;AACJ,kBAAI,IAAA,eAAA;AACJ,kBAAI,IAAA,cAAA;AACJ,kBAAA,KAAA,CAAM,MAAM;AACV,oBAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAM,KAAA;AAC3B,sBAAA,MAAM,kBAAkB,CAAE,CAAA,OAAA;AAC1B,sBAAM,MAAA,UAAA,GAAa,CAAE,CAAA,cAAA,IAAkB,CAAE,CAAA,OAAA;AACzC,sBAAA,cAAA,GAAiB,eAAgB,CAAA,MAAA;AAAA,wBAC/B,CAAC,KAAU,KAAA,CAAC,UAAW,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,KAAA,CAAM,EAAE;AAAA,uBACtD;AACA,sBAAA,eAAA,GAAkB,UAAW,CAAA,MAAA;AAAA,wBAC3B,CAAC,KAAU,KAAA,CAAC,eAAgB,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,KAAA,CAAM,EAAE;AAAA,uBAC3D;AACA,sBAAA,cAAA,GAAiB,eAAgB,CAAA,MAAA;AAAA,wBAC/B,CAAC,UAAU,UAAW,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,KAAA,CAAM,EAAE;AAAA,uBACrD;AACA,sBAAO,OAAA;AAAA,wBACL,GAAG,CAAA;AAAA,wBACH,SAAW,EAAA,KAAA;AAAA,wBACX,QAAA,EAAU,KAAK,GAAI,EAAA;AAAA,wBACnB,OAAS,EAAA,UAAA;AAAA,wBACT,cAAgB,EAAA,KAAA,CAAA;AAAA,wBAChB,aAAe,EAAA;AAAA,0BACb,GAAG,CAAE,CAAA,aAAA;AAAA,0BACL,GAAG,cAAe,CAAA,MAAA,CAAO,CAAC,CAAM,KAAA,CAAA,CAAE,WAAW,OAAO;AAAA;AACtD,uBACF;AAAA,qBACD,CAAA;AACD,oBAAA,IAAA,CAAK,iBAAkB,EAAA;AAAA,mBACxB,CAAA;AACD,kBAAA;AAAA,oBACE,CAAC,gBAAgB,SAAS,CAAA;AAAA,oBAC1B,CAAC,iBAAiB,SAAS,CAAA;AAAA,oBAC3B,CAAC,gBAAgB,QAAQ;AAAA,oBACzB,OAAQ,CAAA,CAAC,CAAC,OAAA,EAAS,IAAI,CAAM,KAAA;AAC7B,oBAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA;AACzB,sBAAA,IAAI,GAAK,EAAA,EAAA;AACT,sBAAA,CAAC,EAAM,GAAA,CAAA,GAAA,GAAM,IAAK,CAAA,eAAA,CAAgB,MAAM,OAAO,CAAA,CAAE,OAAS,EAAA,IAAI,MAAM,IAAO,GAAA,KAAA,CAAA,GAAS,EAAG,CAAA,IAAA,CAAK,KAAK,KAAK,CAAA;AAAA,qBACvG,CAAA;AAAA,mBACF,CAAA;AAAA,iBACF,CAAA;AAAA;AACH,aACD,CAAA;AAAA,mBACM,GAAK,EAAA;AACZ,YAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,cAAY,SAAA,GAAA,GAAA;AACZ,cAAI,IAAA,CAAC,KAAK,QAAU,EAAA;AAClB,gBAAA,IAAA,CAAK,QAAS,CAAA;AAAA,kBACZ,GAAG,SAAU,CAAA,OAAA;AAAA,kBACb,OAAS,EAAA,IAAA;AAAA,kBACT,aAAe,EAAA;AAAA,iBAChB,CAAA;AAAA;AACH,aACF,MAAA,IAAW,UAAW,CAAA,GAAG,CAAG,EAAA;AAC1B,cAAW,QAAA,GAAA,GAAA;AAAA;AAEb,YAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAO,MAAA;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,UAAY,EAAA,SAAA,GAAY,SAAU,CAAA,MAAA,GAAS,WAAW,GAAM,GAAA,CAAA,CAAE,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,MAAW,KAAA,OAAO,IAAI,GAAM,GAAA,GAAA;AAAA,cAChH,QAAU,EAAA;AAAA,aACV,CAAA,CAAA;AAAA;AAEJ,UAAI,IAAA,IAAA,CAAK,sBAAsB,WAAa,EAAA;AAC1C,YAAA,CAAC,KAAK,IAAK,CAAA,qBAAA,KAA0B,IAAO,GAAA,MAAA,GAAS,GAAG,OAAQ,EAAA;AAChE,YAAA,IAAA,CAAK,iBAAoB,GAAA,MAAA;AACzB,YAAA,IAAA,CAAK,qBAAwB,GAAA,MAAA;AAAA;AAE/B,UAAQ,OAAA,EAAA;AAAA,SACT,CAAA;AAAA,OACF,CAAA;AACD,MAAA,IAAA,CAAK,iBAAoB,GAAA,WAAA;AACzB,MAAM,MAAA,WAAA;AACN,MAAA,OAAO,IAAK,CAAA,iBAAA,IAAqB,WAAgB,KAAA,IAAA,CAAK,iBAAmB,EAAA;AACvE,QAAA,MAAM,IAAK,CAAA,iBAAA;AAAA;AAEb,MAAI,IAAA,IAAA,CAAK,kBAAoB,EAAA;AAC3B,QAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAO,MAAA;AAAA,UAC5B,GAAG,CAAA;AAAA,UACH,UAAY,EAAA;AAAA,SACZ,CAAA,CAAA;AAAA;AACJ,KACF;AACA,IAAK,IAAA,CAAA,mBAAA,GAAsB,CAAC,EAAO,KAAA;AACjC,MAAA,MAAM,oBAAuB,GAAA,IAAA,CAAK,oBAAwB,IAAA,IAAA,CAAK,OAAQ,CAAA,qBAAA;AACvE,MAAA,OAAO,IAAK,CAAA,oBAAA;AACZ,MAAI,IAAA,oBAAA,IAAwB,OAAO,QAAa,KAAA,WAAA,IAAe,yBAAyB,QAAY,IAAA,OAAO,QAAS,CAAA,mBAAA,KAAwB,UAAY,EAAA;AACtJ,QAAI,IAAA,yBAAA;AACJ,QAAA,IAAI,OAAO,oBAAA,KAAyB,QAAY,IAAA,IAAA,CAAK,8BAAgC,EAAA;AACnF,UAAA,MAAM,OAAO,IAAK,CAAA,cAAA;AAClB,UAAM,MAAA,YAAA,GAAe,KAAK,KAAM,CAAA,gBAAA;AAChC,UAAA,MAAM,2BAA8B,GAAA,OAAO,oBAAqB,CAAA,KAAA,KAAU,aAAa,oBAAqB,CAAA,KAAA;AAAA,YAC1G,qBAAsB,CAAA;AAAA,cACpB,gBAAkB,EAAA,YAAA;AAAA,cAClB,QAAU,EAAA;AAAA,aACX;AAAA,cACC,oBAAqB,CAAA,KAAA;AACzB,UAA4B,yBAAA,GAAA;AAAA,YAC1B,MAAQ,EAAA,EAAA;AAAA,YACR,KAAO,EAAA;AAAA,WACT;AAAA,SACK,MAAA;AACL,UAA4B,yBAAA,GAAA,EAAA;AAAA;AAE9B,QAAA,QAAA,CAAS,oBAAoB,yBAAyB,CAAA;AAAA,OACjD,MAAA;AACL,QAAG,EAAA,EAAA;AAAA;AACL,KACF;AACA,IAAK,IAAA,CAAA,WAAA,GAAc,CAAC,EAAA,EAAI,OAAY,KAAA;AAClC,MAAI,IAAA,EAAA;AACJ,MAAA,MAAM,eAAe,EAAK,GAAA,IAAA,CAAK,KAAM,CAAA,cAAA,KAAmB,OAAO,MAAS,GAAA,EAAA,CAAG,IAAK,CAAA,CAAC,MAAM,CAAE,CAAA,EAAA,KAAO,EAAE,CAAA,IAAK,mBAAmB,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,EAAE,IAAI,SAAY,GAAA,IAAA,CAAK,KAAM,CAAA,aAAA,CAAc,KAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAE,IAAI,eAAkB,GAAA,EAAA;AAC1P,MAAA,IAAI,UAAY,EAAA;AACd,QAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAM,KAAA;AAC3B,UAAI,IAAA,GAAA;AACJ,UAAO,OAAA;AAAA,YACL,GAAG,CAAA;AAAA,YACH,CAAC,UAAU,GAAA,CAAI,MAAM,CAAE,CAAA,UAAU,MAAM,IAAO,GAAA,MAAA,GAAS,IAAI,GAAI,CAAA,CAAC,MAAM,CAAE,CAAA,EAAA,KAAO,KAAK,OAAQ,CAAA,CAAC,IAAI,CAAC;AAAA,WACpG;AAAA,SACD,CAAA;AAAA;AACH,KACF;AACA,IAAK,IAAA,CAAA,QAAA,GAAW,CAAC,OAAY,KAAA;AAC3B,MAAI,IAAA,EAAA;AACJ,MAAA,MAAM,MAAS,GAAA,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,OAAA;AAC/B,MAAO,OAAA,IAAA,CAAK,MAAM,aAAc,CAAA,IAAA,CAAK,MAAM,CAAO,KAAA,CAAA,EAAA,GAAK,KAAK,KAAM,CAAA,cAAA,KAAmB,OAAO,MAAS,GAAA,EAAA,CAAG,KAAK,MAAM,CAAA,CAAA,IAAM,KAAK,KAAM,CAAA,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,KACzJ;AACA,IAAA,IAAA,CAAK,cAAc,OAAO;AAAA,MACxB,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAS,EAAA,UAAA;AAAA,MACT,OAAA;AAAA,MACA,cAAc,IAAK,CAAA,WAAA;AAAA,MACnB;AAAA,KACI,KAAA;AACJ,MAAI,IAAA,kBAAA;AACJ,MAAA,IAAI,QAAW,GAAA,KAAA;AACf,MAAA,MAAM,iBAAiB,YAAY;AACjC,QAAA,IAAI,CAAC,QAAU,EAAA;AACb,UAAW,QAAA,GAAA,IAAA;AACX,UAAO,OAAA,OAAA,IAAW,IAAO,GAAA,MAAA,GAAS,OAAQ,EAAA,CAAA;AAAA;AAC5C,OACF;AACA,MAAM,MAAA,cAAA,GAAiB,CAAC,OAAY,KAAA;AAClC,QAAA,OAAO,CAAC,EAAE,UAAc,IAAA,CAAC,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,CAAE,CAAA,EAAA,KAAO,OAAO,CAAA,CAAA;AAAA,OAC1E;AACA,MAAI,IAAA,CAAC,IAAK,CAAA,QAAA,IAAY,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,CAAE,CAAA,aAAa,CAAG,EAAA;AACrE,QAAe,cAAA,EAAA;AAAA;AAEjB,MAAM,MAAA,yBAAA,GAA4B,CAAC,KAAA,EAAO,GAAQ,KAAA;AAChD,QAAA,IAAI,IAAI,EAAI,EAAA,EAAA;AACZ,QAAA,IAAI,UAAW,CAAA,GAAG,CAAK,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACtC,UAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,YAAA,IAAI,IAAI,eAAiB,EAAA;AACvB,cAAI,IAAA,CAAC,GAAI,CAAA,OAAA,CAAQ,cAAgB,EAAA;AAC/B,gBAAM,MAAA,GAAA;AAAA;AACR;AACF;AAEF,UAAA,CAAC,KAAK,KAAM,CAAA,iBAAA,KAAsB,IAAO,GAAA,MAAA,GAAS,GAAG,OAAQ,EAAA;AAC7D,UAAA,CAAC,KAAK,KAAM,CAAA,aAAA,KAAkB,IAAO,GAAA,MAAA,GAAS,GAAG,OAAQ,EAAA;AACzD,UAAY,WAAA,CAAA,KAAA,CAAM,EAAI,EAAA,CAAC,IAAU,MAAA;AAAA,YAC/B,GAAG,IAAA;AAAA,YACH,MAAA,EAAQ,WAAW,GAAG,CAAA,GAAI,eAAe,UAAW,CAAA,GAAG,IAAI,UAAa,GAAA,OAAA;AAAA,YACxE,UAAY,EAAA,KAAA;AAAA,YACZ,KAAO,EAAA,GAAA;AAAA,YACP,iBAAmB,EAAA,MAAA;AAAA,YACnB,aAAe,EAAA;AAAA,WACf,CAAA,CAAA;AACF,UAAI,IAAA,CAAC,IAAI,OAAS,EAAA;AAChB,YAAA,GAAA,CAAI,UAAU,KAAM,CAAA,OAAA;AAAA;AAEtB,UAAA,CAAC,KAAK,KAAM,CAAA,WAAA,KAAgB,IAAO,GAAA,MAAA,GAAS,GAAG,OAAQ,EAAA;AACvD,UAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,YAAW,QAAA,GAAA,IAAA;AACX,YAAA,GAAA,CAAI,QAAQ,aAAgB,GAAA,QAAA;AAC5B,YAAA,GAAA,CAAI,eAAkB,GAAA,IAAA;AACtB,YAAM,GAAA,GAAA,IAAA,CAAK,gBAAgB,GAAG,CAAA;AAC9B,YAAM,MAAA,GAAA;AAAA,WACR,MAAA,IAAW,UAAW,CAAA,GAAG,CAAG,EAAA;AAC1B,YAAK,IAAA,CAAA,eAAA,CAAgB,SAAS,GAAK,EAAA;AAAA,cACjC;AAAA,aACD,CAAA;AACD,YAAM,MAAA,GAAA;AAAA;AACR;AACF,OACF;AACA,MAAM,MAAA,gBAAA,GAAmB,CAAC,OAAY,KAAA;AACpC,QAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACnC,QAAA,IAAI,CAAC,IAAA,CAAK,QAAY,IAAA,KAAA,CAAM,WAAa,EAAA;AACvC,UAAO,OAAA,IAAA;AAAA;AAET,QAAA,IAAI,KAAK,QAAU,EAAA;AACjB,UAAI,IAAA,KAAA,CAAM,QAAQ,KAAO,EAAA;AACvB,YAAO,OAAA,IAAA;AAAA;AACT;AAEF,QAAO,OAAA,KAAA;AAAA,OACT;AACA,MAAI,IAAA;AACF,QAAA,MAAM,IAAI,OAAA,CAAQ,CAAC,UAAA,EAAY,SAAc,KAAA;AAC3C,UAAA;AACA,UAAA,CAAC,YAAY;AACX,YAAI,IAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA;AAChB,YAAI,IAAA;AACF,cAAA,MAAM,iBAAoB,GAAA,CAAC,KAAO,EAAA,GAAA,EAAK,UAAe,KAAA;AACpD,gBAAA,IAAI,GAAK,EAAA,GAAA;AACT,gBAAA,MAAM,EAAE,EAAI,EAAA,OAAA,EAAS,OAAQ,EAAA,GAAI,QAAQ,KAAK,CAAA;AAC9C,gBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,eAAA,CAAgB,OAAO,CAAA;AAC1C,gBAAA,IAAI,eAAe,OAAS,EAAA;AAC1B,kBAAM,MAAA,GAAA;AAAA;AAER,gBAAA,GAAA,CAAI,UAAa,GAAA,UAAA;AACjB,gBAAA,kBAAA,GAAqB,kBAAsB,IAAA,KAAA;AAC3C,gBAAA,yBAAA,CAA0B,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AACrD,gBAAI,IAAA;AACF,kBAAC,CAAA,GAAA,GAAA,CAAO,GAAM,GAAA,KAAA,CAAM,OAAS,EAAA,OAAA,KAAY,OAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAK,CAAA,GAAA,EAAK,GAAG,CAAA;AAAA,yBACnE,eAAiB,EAAA;AACxB,kBAAM,GAAA,GAAA,eAAA;AACN,kBAAA,yBAAA,CAA0B,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AAAA;AAEvD,gBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAS,KAAA;AAC7B,kBAAA,IAAI,GAAK,EAAA,GAAA;AACT,kBAAA,CAAC,MAAM,IAAK,CAAA,iBAAA,KAAsB,IAAO,GAAA,KAAA,CAAA,GAAS,IAAI,OAAQ,EAAA;AAC9D,kBAAA,CAAC,MAAM,IAAK,CAAA,WAAA,KAAgB,IAAO,GAAA,KAAA,CAAA,GAAS,IAAI,OAAQ,EAAA;AACxD,kBAAO,OAAA;AAAA,oBACL,GAAG,IAAA;AAAA,oBACH,KAAO,EAAA,GAAA;AAAA,oBACP,MAAQ,EAAA,OAAA;AAAA,oBACR,UAAY,EAAA,KAAA;AAAA,oBACZ,SAAA,EAAW,KAAK,GAAI,EAAA;AAAA,oBACpB,eAAA,EAAiB,IAAI,eAAgB,EAAA;AAAA,oBACrC,iBAAmB,EAAA,KAAA;AAAA,mBACrB;AAAA,iBACD,CAAA;AAAA,eACH;AACA,cAAW,KAAA,MAAA,CAAC,KAAO,EAAA,EAAE,EAAI,EAAA,OAAA,EAAS,SAAS,CAAA,IAAK,OAAQ,CAAA,OAAA,EAAW,EAAA;AACjE,gBAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AAC3C,gBAAM,MAAA,aAAA,GAAA,CAAiB,KAAK,OAAQ,CAAA,KAAA,GAAQ,CAAC,CAAM,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA,EAAA;AACtE,gBAAA,MAAM,WAAc,GAAA,aAAA,GAAgB,IAAK,CAAA,QAAA,CAAS,aAAa,CAAI,GAAA,KAAA,CAAA;AACnE,gBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,eAAA,CAAgB,OAAO,CAAA;AAC1C,gBAAA,MAAM,SAAY,GAAA,KAAA,CAAM,OAAQ,CAAA,SAAA,IAAa,KAAK,OAAQ,CAAA,gBAAA;AAC1D,gBAAA,IAAI,KAAK,QAAU,EAAA;AACjB,kBAAI,IAAA,GAAA;AACJ,kBAAI,IAAA,IAAA,CAAK,SAAW,EAAA;AAClB,oBAAA,GAAA,GAAM,OAAY,KAAA,WAAA;AAAA,mBACb,MAAA;AACL,oBAAM,MAAA,UAAA,GAAa,IAAK,CAAA,OAAA,CAAQ,UAAc,IAAA,IAAA;AAC9C,oBAAA,IAAA,CAAK,WAAe,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9D,sBAAM,GAAA,GAAA,KAAA;AAAA,qBACD,MAAA;AACL,sBAAI,IAAA,OAAA;AACJ,sBAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,GAAA,KAAQ,KAAQ,CAAA,EAAA;AAChC,wBAAU,OAAA,GAAA,UAAA;AAAA,uBACD,MAAA,IAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,QAAQ,UAAY,EAAA;AAClD,wBAAI,IAAA,SAAA,GAAY,SAAS,KAAA,EAAO,KAAO,EAAA;AACrC,0BAAA,IAAI,KAAO,EAAA;AACT,4BAAO,OAAA,EAAE,MAAQ,EAAA,OAAA,EAAS,KAAM,EAAA;AAAA;AAElC,0BAAO,OAAA,EAAE,MAAQ,EAAA,SAAA,EAAW,KAAM,EAAA;AAAA,yBACpC;AACA,wBAAA,MAAM,EAAE,MAAQ,EAAA,MAAA,EAAW,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAChD,wBAAA,MAAM,YAAe,GAAA;AAAA,0BACnB,MAAQ,EAAA,SAAA,CAAU,MAAQ,EAAA,aAAA,CAAc,WAAW,CAAA;AAAA,0BACnD,MAAQ,EAAA,SAAA,CAAU,MAAQ,EAAA,aAAA,CAAc,WAAW,CAAA;AAAA,0BACnD,QAAA;AAAA,0BACA,OAAS,EAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,KAAW,MAAA;AAAA,4BAC/B,OAAO,KAAM,CAAA,KAAA;AAAA,4BACb,UAAU,KAAM,CAAA,QAAA;AAAA,4BAChB,UAAU,KAAM,CAAA,QAAA;AAAA,4BAChB,YAAY,KAAM,CAAA,UAAA;AAAA,4BAClB,IAAI,KAAM,CAAA,EAAA;AAAA,4BACV,SAAS,KAAM,CAAA,OAAA;AAAA,4BACf,MAAQ,EAAA,SAAA,CAAU,KAAM,CAAA,MAAA,EAAQ,MAAM,WAAW,CAAA;AAAA,4BACjD,MAAQ,EAAA,SAAA,CAAU,KAAM,CAAA,MAAA,EAAQ,MAAM,WAAW,CAAA;AAAA,4BACjD,KAAK,KAAM,CAAA;AAAA,2BACX,CAAA;AAAA,yBACJ;AACA,wBAAA,OAAA,GAAU,MAAM,KAAA,CAAM,OAAQ,CAAA,GAAA,CAAI,YAAY,CAAK,IAAA,UAAA;AAAA,uBAC9C,MAAA;AACL,wBAAA,OAAA,GAAU,MAAM,OAAQ,CAAA,GAAA;AAAA;AAE1B,sBAAA,IAAI,YAAY,IAAS,IAAA,CAAA,WAAA,IAAe,OAAO,KAAS,CAAA,GAAA,WAAA,CAAY,SAAS,WAAa,EAAA;AACxF,wBAAM,GAAA,GAAA,WAAA;AAAA,uBACD,MAAA;AACL,wBAAM,GAAA,GAAA,OAAA;AAAA;AACR;AACF;AAEF,kBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,oBAC9B,GAAG,IAAA;AAAA,oBACH;AAAA,mBACA,CAAA,CAAA;AAAA;AAEJ,gBAAI,IAAA,gBAAA,CAAiB,OAAO,CAAG,EAAA;AAC7B,kBAAA;AAAA;AAEF,gBAAA,MAAM,aAAgB,GAAA,CAAC,EAAE,OAAA,IAAW,CAAC,IAAK,CAAA,QAAA,IAAY,CAAC,cAAA,CAAe,OAAO,CAAA,KAAM,KAAM,CAAA,OAAA,CAAQ,UAAU,KAAM,CAAA,OAAA,CAAQ,UAAc,IAAA,iBAAA,CAAkB,KAAK,CAAA,CAAA,IAAM,OAAO,SAAA,KAAc,YAAY,SAAc,KAAA,QAAA,KAAa,KAAM,CAAA,OAAA,CAAQ,sBAAsB,EAAK,GAAA,IAAA,CAAK,OAAY,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA,uBAAA,CAAA,CAAA,CAAA;AAC7S,gBAAA,IAAI,iBAAoB,GAAA,IAAA;AACxB,gBAAA,MAAM,sBAAsB,MAAM;AAChC,kBAAA,IAAI,iBAAiB,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,CAAE,mBAAmB,KAAQ,CAAA,EAAA;AACrE,oBAAM,MAAA,cAAA,GAAiB,WAAW,MAAM;AACtC,sBAAI,IAAA;AACF,wBAAe,cAAA,EAAA;AAAA,uBACT,CAAA,MAAA;AAAA;AACR,uBACC,SAAS,CAAA;AACZ,oBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,sBAC9B,GAAG,IAAA;AAAA,sBACH;AAAA,qBACA,CAAA,CAAA;AAAA;AACJ,iBACF;AACA,gBAAA;AAAA;AAAA;AAAA,kBAGE,aAAA,CAAc,qBAAqB,aAAc,CAAA;AAAA,kBACjD;AACA,kBAAoB,mBAAA,EAAA;AACpB,kBAAA,MAAM,aAAc,CAAA,iBAAA;AACpB,kBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACnC,kBAAI,IAAA,KAAA,CAAM,WAAW,OAAS,EAAA;AAC5B,oBAAoB,iBAAA,GAAA,IAAA;AAAA,mBACtB,MAAA,IAAW,MAAM,OAAY,KAAA,KAAA,CAAM,WAAW,YAAgB,IAAA,KAAA,CAAM,WAAW,UAAa,CAAA,EAAA;AAC1F,oBAA0B,yBAAA,CAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA;AAC9C;AAEF,gBAAA,IAAI,iBAAmB,EAAA;AACrB,kBAAI,IAAA;AACF,oBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAS,KAAA;AAC7B,sBAAA,MAAM,kBAAkB,IAAK,CAAA,WAAA;AAC7B,sBAAO,OAAA;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,WAAA,EAAa,wBAAwB,MAAM;AACzC,0BAAmB,eAAA,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,eAAA,CAAgB,OAAQ,EAAA;AAAA,yBAC5D,CAAA;AAAA,wBACD,mBAAmB,uBAAwB;AAAA,uBAC7C;AAAA,qBACD,CAAA;AACD,oBAAA,MAAM,EAAE,WAAa,EAAA,WAAA,EAAgB,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAC1D,oBAAA,IAAI,WAAa,EAAA;AACf,sBAAkB,iBAAA,CAAA,KAAA,EAAO,aAAa,cAAc,CAAA;AAAA;AAEtD,oBAAA,IAAI,WAAa,EAAA;AACf,sBAAkB,iBAAA,CAAA,KAAA,EAAO,aAAa,iBAAiB,CAAA;AAAA;AAEzD,oBAAoB,mBAAA,EAAA;AACpB,oBAAM,MAAA,eAAA,GAAkB,IAAI,eAAgB,EAAA;AAC5C,oBAAM,MAAA,kBAAA,GAAA,CAAsB,eAAe,IAAO,GAAA,KAAA,CAAA,GAAS,YAAY,OAAY,KAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,IAAW,EAAC;AAC5G,oBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,sBAC9B,GAAG,IAAA;AAAA,sBACH,UAAY,EAAA,YAAA;AAAA,sBACZ,UAAA,EAAY,KAAK,UAAa,GAAA,CAAA;AAAA,sBAC9B,eAAA;AAAA,sBACA,OAAS,EAAA;AAAA,wBACP,GAAG,kBAAA;AAAA,wBACH,GAAG,IAAK,CAAA;AAAA;AACV,qBACA,CAAA,CAAA;AACF,oBAAM,MAAA,EAAE,QAAQ,MAAQ,EAAA,OAAA,EAAS,OAAU,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAChE,oBAAM,MAAA,OAAA,GAAU,eAAe,OAAO,CAAA;AACtC,oBAAA,MAAM,mBAAsB,GAAA;AAAA,sBAC1B,MAAA;AAAA,sBACA,eAAA;AAAA,sBACA,MAAA;AAAA,sBACA,OAAA;AAAA,sBACA,OAAA;AAAA,sBACA,QAAA;AAAA,sBACA,QAAA,EAAU,CAAC,IAAA,KAAS,IAAK,CAAA,QAAA,CAAS,EAAE,GAAG,IAAA,EAAM,aAAe,EAAA,QAAA,EAAU,CAAA;AAAA,sBACtE,eAAe,IAAK,CAAA,aAAA;AAAA,sBACpB,KAAA,EAAO,UAAU,SAAY,GAAA,KAAA;AAAA,sBAC7B;AAAA,qBACF;AACA,oBAAA,MAAM,iBAAoB,GAAA,OAAA,CAAQ,EAAM,GAAA,CAAA,EAAA,GAAK,KAAM,CAAA,OAAA,EAAS,UAAe,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,IAAK,CAAA,EAAA,EAAI,mBAAmB,CAAA,CAAA;AAC1H,oBAAA,IAAI,UAAW,CAAA,iBAAiB,CAAK,IAAA,UAAA,CAAW,iBAAiB,CAAG,EAAA;AAClE,sBAAkB,iBAAA,CAAA,KAAA,EAAO,mBAAmB,aAAa,CAAA;AAAA;AAE3D,oBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAS,KAAA;AAC7B,sBAAO,OAAA;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,mBAAqB,EAAA,iBAAA;AAAA,wBACrB,OAAS,EAAA;AAAA,0BACP,GAAG,kBAAA;AAAA,0BACH,GAAG,IAAK,CAAA,cAAA;AAAA,0BACR,GAAG;AAAA,yBACL;AAAA,wBACA;AAAA,uBACF;AAAA,qBACD,CAAA;AAAA,2BACM,GAAK,EAAA;AACZ,oBAAkB,iBAAA,CAAA,KAAA,EAAO,KAAK,aAAa,CAAA;AAAA;AAE7C,kBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAS,KAAA;AAC7B,oBAAI,IAAA,GAAA;AACJ,oBAAA,CAAC,MAAM,IAAK,CAAA,iBAAA,KAAsB,IAAO,GAAA,KAAA,CAAA,GAAS,IAAI,OAAQ,EAAA;AAC9D,oBAAO,OAAA;AAAA,sBACL,GAAG,IAAA;AAAA,sBACH,iBAAmB,EAAA,KAAA,CAAA;AAAA,sBACnB,UAAY,EAAA;AAAA,qBACd;AAAA,mBACD,CAAA;AAAA;AACH;AAEF,cAAA,MAAM,oBAAuB,GAAA,OAAA,CAAQ,KAAM,CAAA,CAAA,EAAG,kBAAkB,CAAA;AAChE,cAAA,MAAM,gBAAgB,EAAC;AACvB,cAAA,oBAAA,CAAqB,QAAQ,CAAC,EAAE,IAAI,OAAS,EAAA,OAAA,IAAW,KAAU,KAAA;AAChE,gBAAc,aAAA,CAAA,IAAA;AAAA,kBAAA,CACX,YAAY;AACX,oBAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,oBAAA,IAAI,oBAAuB,GAAA,KAAA;AAC3B,oBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,eAAA,CAAgB,OAAO,CAAA;AAC1C,oBAAA,MAAM,cAAc,YAAY;AAC9B,sBAAA,IAAI,GAAK,EAAA,GAAA,EAAK,GAAK,EAAA,GAAA,EAAK,EAAI,EAAA,EAAA;AAC5B,sBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACnC,sBAAA,IAAI,CAAC,KAAO,EAAA;AACV,wBAAA;AAAA;AAEF,sBAAA,MAAM,YAAe,GAAA;AAAA,wBACnB,OAAA;AAAA,wBACA,KAAA;AAAA,wBACA,QAAQ,KAAM,CAAA,MAAA;AAAA,wBACd,YAAY,KAAM,CAAA;AAAA,uBACpB;AACA,sBAAA,MAAM,aAAgB,GAAA,OAAA,CAAQ,GAAO,GAAA,CAAA,GAAA,GAAM,KAAM,CAAA,OAAA,EAAS,IAAS,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAK,CAAA,GAAA,EAAK,YAAY,CAAA,CAAA;AAC7G,sBAAA,MAAM,IAAO,GAAA,aAAA,IAAiB,IAAO,GAAA,KAAA,CAAA,GAAS,aAAc,CAAA,IAAA;AAC5D,sBAAA,MAAM,KAAQ,GAAA,aAAA,IAAiB,IAAO,GAAA,KAAA,CAAA,GAAS,aAAc,CAAA,KAAA;AAC7D,sBAAA,MAAM,WAAc,GAAA,aAAA,IAAiB,IAAO,GAAA,KAAA,CAAA,GAAS,aAAc,CAAA,OAAA;AACnE,sBAAA,MAAM,MAAS,GAAA,aAAA,IAAiB,IAAO,GAAA,KAAA,CAAA,GAAS,aAAc,CAAA,MAAA;AAC9D,sBAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,GAAO,GAAA,CAAA,GAAA,GAAM,KAAM,CAAA,OAAA,EAAS,OAAY,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAK,CAAA,GAAA,EAAK,YAAY,CAAA,CAAA;AAC1G,sBAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,EAAM,GAAA,CAAA,EAAA,GAAK,KAAM,CAAA,OAAA,EAAS,OAAY,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,EAAA,CAAG,IAAK,CAAA,EAAA,EAAI,YAAY,CAAA,CAAA;AACtG,sBAAO,OAAA;AAAA,wBACL,IAAA;AAAA,wBACA,KAAA;AAAA,wBACA,WAAA;AAAA,wBACA,OAAA;AAAA,wBACA,OAAA;AAAA,wBACA;AAAA,uBACF;AAAA,qBACF;AACA,oBAAA,MAAM,6BAA6B,YAAY;AAC7C,sBAAM,MAAA,WAAA,GAAc,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACzC,sBAAA,IAAI,YAAY,iBAAmB,EAAA;AACjC,wBAAA,MAAM,WAAY,CAAA,iBAAA;AAAA;AACpB,qBACF;AACA,oBAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACvC,oBAAI,IAAA,gBAAA,CAAiB,OAAO,CAAG,EAAA;AAC7B,sBAAA,IAAI,KAAK,QAAU,EAAA;AACjB,wBAAM,MAAA,IAAA,GAAO,MAAM,WAAY,EAAA;AAC/B,wBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,0BAC9B,GAAG,IAAA;AAAA,0BACH,GAAG;AAAA,yBACH,CAAA,CAAA;AACF,wBAAO,OAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA;AAC9B,qBACF,MAAA,IAAW,UAAU,aAAe,EAAA;AAClC,sBAAA,IAAI,UAAU,MAAW,KAAA,SAAA,IAAa,CAAC,IAAQ,IAAA,CAAC,UAAU,OAAS,EAAA;AACjE,wBAAO,OAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA;AAE9B,sBAAA,MAAM,SAAU,CAAA,aAAA;AAChB,sBAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACnC,sBAAA,IAAI,MAAM,KAAO,EAAA;AACf,wBAA0B,yBAAA,CAAA,KAAA,EAAO,MAAM,KAAK,CAAA;AAAA;AAC9C,qBACK,MAAA;AACL,sBAAM,MAAA,kBAAA,GAAqB,aAAc,CAAA,KAAA,GAAQ,CAAC,CAAA;AAClD,sBAAA,MAAM,mBAAmB,MAAM;AAC7B,wBAAM,MAAA;AAAA,0BACJ,MAAA;AAAA,0BACA,UAAA;AAAA,0BACA,eAAA;AAAA,0BACA,OAAA;AAAA,0BACA;AAAA,yBACF,GAAI,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AACzB,wBAAM,MAAA,QAAA,GAAW,eAAe,OAAO,CAAA;AACvC,wBAAO,OAAA;AAAA,0BACL,MAAA;AAAA,0BACA,IAAM,EAAA,UAAA;AAAA,0BACN,OAAA,EAAS,CAAC,CAAC,QAAA;AAAA,0BACX,kBAAA;AAAA,0BACA,eAAA;AAAA,0BACA,OAAA;AAAA,0BACA,QAAA;AAAA,0BACA,QAAA,EAAU,CAAC,IAAA,KAAS,IAAK,CAAA,QAAA,CAAS,EAAE,GAAG,IAAA,EAAM,aAAe,EAAA,QAAA,EAAU,CAAA;AAAA,0BACtE,KAAA,EAAO,WAAW,SAAY,GAAA,KAAA;AAAA,0BAC9B;AAAA,yBACF;AAAA,uBACF;AACA,sBAAA,MAAM,MAAM,IAAK,CAAA,GAAA,KAAQ,IAAK,CAAA,QAAA,CAAS,OAAO,CAAE,CAAA,SAAA;AAChD,sBAAM,MAAA,OAAA,GAAU,eAAe,OAAO,CAAA;AACtC,sBAAA,MAAM,QAAW,GAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,oBAAoB,IAAK,CAAA,OAAA,CAAQ,uBAA2B,IAAA,GAAA,GAAM,KAAM,CAAA,OAAA,CAAQ,SAAa,IAAA,IAAA,CAAK,QAAQ,gBAAoB,IAAA,CAAA;AACvK,sBAAM,MAAA,kBAAA,GAAqB,MAAM,OAAQ,CAAA,YAAA;AACzC,sBAAA,MAAM,eAAe,OAAO,kBAAA,KAAuB,aAAa,kBAAmB,CAAA,gBAAA,EAAkB,CAAI,GAAA,kBAAA;AACzG,sBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,wBAC9B,GAAG,IAAA;AAAA,wBACH,eAAe,uBAAwB,EAAA;AAAA,wBACvC,OAAS,EAAA,CAAC,CAAC,OAAA,IAAW,CAAC,IAAA,CAAK,KAAM,CAAA,OAAA,CAAQ,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,OAAO;AAAA,uBACtE,CAAA,CAAA;AACF,sBAAA,MAAM,YAAY,YAAY;AAC5B,wBAAI,IAAA,GAAA,EAAK,KAAK,GAAK,EAAA,GAAA;AACnB,wBAAI,IAAA;AACF,0BAAI,IAAA;AACF,4BAAI,IAAA,CAAC,IAAK,CAAA,QAAA,IAAY,IAAK,CAAA,QAAA,IAAY,KAAK,QAAS,CAAA,OAAO,CAAE,CAAA,GAAA,KAAQ,IAAM,EAAA;AAC1E,8BAAA,IAAA,CAAK,eAAe,KAAK,CAAA;AAAA;AAE3B,4BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,UAAY,EAAA;AAAA,6BACZ,CAAA,CAAA;AACF,4BAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,GAAO,GAAA,CAAA,GAAA,GAAM,KAAM,CAAA,OAAA,EAAS,MAAW,KAAA,IAAA,GAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAK,CAAA,GAAA,EAAK,kBAAkB,CAAA,CAAA;AAClH,4BAAA,yBAAA;AAAA,8BACE,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,8BACrB;AAAA,6BACF;AACA,4BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH;AAAA,6BACA,CAAA,CAAA;AACF,4BAAA,MAAM,KAAM,CAAA,YAAA;AACZ,4BAAM,MAAA,IAAA,GAAO,MAAM,WAAY,EAAA;AAC/B,4BAAA,MAAM,0BAA2B,EAAA;AACjC,4BAAA,MAAM,KAAM,CAAA,kBAAA;AACZ,4BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,KAAO,EAAA,KAAA,CAAA;AAAA,8BACP,MAAQ,EAAA,SAAA;AAAA,8BACR,UAAY,EAAA,KAAA;AAAA,8BACZ,SAAA,EAAW,KAAK,GAAI,EAAA;AAAA,8BACpB,GAAG;AAAA,6BACH,CAAA,CAAA;AAAA,mCACK,CAAG,EAAA;AACV,4BAAA,IAAI,KAAQ,GAAA,CAAA;AACZ,4BAAA,MAAM,0BAA2B,EAAA;AACjC,4BAAA,yBAAA,CAA0B,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,EAAG,CAAC,CAAA;AACnD,4BAAI,IAAA;AACF,8BAAC,CAAA,GAAA,GAAA,CAAO,GAAM,GAAA,KAAA,CAAM,OAAS,EAAA,OAAA,KAAY,OAAO,KAAS,CAAA,GAAA,GAAA,CAAI,IAAK,CAAA,GAAA,EAAK,CAAC,CAAA;AAAA,qCACjE,YAAc,EAAA;AACrB,8BAAQ,KAAA,GAAA,YAAA;AACR,8BAAA,yBAAA;AAAA,gCACE,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,gCACrB;AAAA,+BACF;AAAA;AAEF,4BAAM,MAAA,IAAA,GAAO,MAAM,WAAY,EAAA;AAC/B,4BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,KAAA;AAAA,8BACA,MAAQ,EAAA,OAAA;AAAA,8BACR,UAAY,EAAA,KAAA;AAAA,8BACZ,GAAG;AAAA,6BACH,CAAA,CAAA;AAAA;AACJ,iCACO,GAAK,EAAA;AACZ,0BAAM,MAAA,IAAA,GAAO,MAAM,WAAY,EAAA;AAC/B,0BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,4BAC9B,GAAG,IAAA;AAAA,4BACH,aAAe,EAAA,KAAA,CAAA;AAAA,4BACf,GAAG;AAAA,2BACH,CAAA,CAAA;AACF,0BAAA,yBAAA,CAA0B,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA,EAAG,GAAG,CAAA;AAAA;AACvD,uBACF;AACA,sBAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAY,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AACjD,sBAAA,oBAAA,GAAuB,MAAW,KAAA,SAAA,KAAc,OAAY,KAAA,YAAA,IAAgB,GAAM,GAAA,QAAA,CAAA,CAAA;AAClF,sBAAA,IAAI,OAAW,IAAA,KAAA,CAAM,OAAQ,CAAA,OAAA,KAAY,KAAO,EAAA;AAAA,uBAChD,MAAA,IAAW,oBAAwB,IAAA,CAAC,IAAM,EAAA;AACxC,wBAAuB,oBAAA,GAAA,IAAA;AACvB,wBAAA,CAAC,YAAY;AACX,0BAAI,IAAA;AACF,4BAAA,MAAM,SAAU,EAAA;AAChB,4BAAA,MAAM,EAAE,aAAe,EAAA,WAAA,EAAgB,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAC5D,4BAAiB,aAAA,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,aAAA,CAAc,OAAQ,EAAA;AACvD,4BAAe,WAAA,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,WAAA,CAAY,OAAQ,EAAA;AACnD,4BAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,8BAC9B,GAAG,IAAA;AAAA,8BACH,aAAe,EAAA,KAAA;AAAA,6BACf,CAAA,CAAA;AAAA,mCACK,GAAK,EAAA;AACZ,4BAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,8BAAM,MAAA,IAAA,CAAK,QAAS,CAAA,GAAA,CAAI,OAAO,CAAA;AAAA;AACjC;AACF,yBACC,GAAA;AAAA,uBACM,MAAA,IAAA,MAAA,KAAW,SAAa,IAAA,oBAAA,IAAwB,IAAM,EAAA;AAC/D,wBAAA,MAAM,SAAU,EAAA;AAAA,uBACX,MAAA;AACL,wBAAM,MAAA,IAAA,GAAO,MAAM,WAAY,EAAA;AAC/B,wBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAU,MAAA;AAAA,0BAC9B,GAAG,IAAA;AAAA,0BACH,GAAG;AAAA,yBACH,CAAA,CAAA;AAAA;AACJ;AAEF,oBAAA,IAAI,CAAC,oBAAsB,EAAA;AACzB,sBAAA,MAAM,EAAE,aAAe,EAAA,WAAA,EAAgB,GAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAC5D,sBAAiB,aAAA,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,aAAA,CAAc,OAAQ,EAAA;AACvD,sBAAe,WAAA,IAAA,IAAA,GAAO,KAAS,CAAA,GAAA,WAAA,CAAY,OAAQ,EAAA;AAAA;AAErD,oBAAY,WAAA,CAAA,OAAA,EAAS,CAAC,IAAS,KAAA;AAC7B,sBAAA,YAAA,CAAa,KAAK,cAAc,CAAA;AAChC,sBAAO,OAAA;AAAA,wBACL,GAAG,IAAA;AAAA,wBACH,UAAA,EAAY,oBAAuB,GAAA,IAAA,CAAK,UAAa,GAAA,KAAA;AAAA,wBACrD,aAAA,EAAe,oBAAuB,GAAA,IAAA,CAAK,aAAgB,GAAA,KAAA,CAAA;AAAA,wBAC3D,OAAS,EAAA,KAAA;AAAA,wBACT,cAAgB,EAAA,KAAA,CAAA;AAAA,wBAChB,WAAa,EAAA,KAAA;AAAA,uBACf;AAAA,qBACD,CAAA;AACD,oBAAO,OAAA,IAAA,CAAK,SAAS,OAAO,CAAA;AAAA,mBAC3B;AAAA,iBACL;AAAA,eACD,CAAA;AACD,cAAM,MAAA,OAAA,CAAQ,IAAI,aAAa,CAAA;AAC/B,cAAW,UAAA,EAAA;AAAA,qBACJ,GAAK,EAAA;AACZ,cAAA,SAAA,CAAU,GAAG,CAAA;AAAA;AACf,WACC,GAAA;AAAA,SACJ,CAAA;AACD,QAAA,MAAM,cAAe,EAAA;AAAA,eACd,GAAK,EAAA;AACZ,QAAA,IAAI,UAAW,CAAA,GAAG,CAAK,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACtC,UAAA,IAAI,UAAW,CAAA,GAAG,CAAK,IAAA,CAAC,UAAY,EAAA;AAClC,YAAA,MAAM,cAAe,EAAA;AAAA;AAEvB,UAAM,MAAA,GAAA;AAAA;AACR;AAEF,MAAO,OAAA,OAAA;AAAA,KACT;AACA,IAAK,IAAA,CAAA,UAAA,GAAa,CAAC,IAAS,KAAA;AAC1B,MAAM,MAAA,UAAA,GAAa,CAAC,CAAM,KAAA;AACxB,QAAI,IAAA,EAAA;AACJ,QAAA,IAAA,CAAA,CAAM,EAAK,GAAA,IAAA,IAAQ,IAAO,GAAA,MAAA,GAAS,IAAK,CAAA,MAAA,KAAW,IAAO,GAAA,MAAA,GAAS,EAAG,CAAA,IAAA,CAAK,IAAM,EAAA,CAAC,MAAM,IAAM,EAAA;AAC5F,UAAO,OAAA;AAAA,YACL,GAAG,CAAA;AAAA,YACH,OAAS,EAAA,IAAA;AAAA,YACT,GAAI,CAAA,IAAA,IAAQ,IAAO,GAAA,MAAA,GAAS,KAAK,YAAiB,KAAA,CAAA,CAAE,MAAW,KAAA,OAAA,GAAU,EAAE,MAAQ,EAAA,SAAA,EAAW,KAAO,EAAA,MAAA,KAAW;AAAC,WACnH;AAAA;AAEF,QAAO,OAAA,CAAA;AAAA,OACT;AACA,MAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAM,KAAA;AAC3B,QAAI,IAAA,EAAA;AACJ,QAAO,OAAA;AAAA,UACL,GAAG,CAAA;AAAA,UACH,OAAS,EAAA,CAAA,CAAE,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA;AAAA,UACjC,aAAe,EAAA,CAAA,CAAE,aAAc,CAAA,GAAA,CAAI,UAAU,CAAA;AAAA,UAC7C,cAAA,EAAA,CAAiB,KAAK,CAAE,CAAA,cAAA,KAAmB,OAAO,MAAS,GAAA,EAAA,CAAG,IAAI,UAAU;AAAA,SAC9E;AAAA,OACD,CAAA;AACD,MAAA,IAAA,CAAK,oBAAuB,GAAA,KAAA;AAC5B,MAAO,OAAA,IAAA,CAAK,KAAK,EAAE,IAAA,EAAM,QAAQ,IAAO,GAAA,MAAA,GAAS,IAAK,CAAA,IAAA,EAAM,CAAA;AAAA,KAC9D;AACA,IAAK,IAAA,CAAA,eAAA,GAAkB,CAAC,SAAc,KAAA;AACpC,MAAI,IAAA,CAAC,SAAU,CAAA,OAAA,CAAQ,IAAM,EAAA;AAC3B,QAAA,SAAA,CAAU,QAAQ,IAAO,GAAA,IAAA,CAAK,aAAc,CAAA,SAAA,CAAU,OAAO,CAAE,CAAA,IAAA;AAC/D,QAAA,SAAA,CAAU,OAAQ,CAAA,GAAA,CAAI,UAAY,EAAA,SAAA,CAAU,QAAQ,IAAI,CAAA;AAAA;AAE1D,MAAA,IAAI,CAAC,SAAA,CAAU,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAG,EAAA;AACtC,QAAA,SAAA,CAAU,OAAQ,CAAA,GAAA,CAAI,UAAY,EAAA,SAAA,CAAU,QAAQ,IAAI,CAAA;AAAA;AAE1D,MAAO,OAAA,SAAA;AAAA,KACT;AACA,IAAK,IAAA,CAAA,UAAA,GAAa,CAAC,IAAS,KAAA;AAC1B,MAAA,MAAM,MAAS,GAAA,IAAA,IAAQ,IAAO,GAAA,MAAA,GAAS,IAAK,CAAA,MAAA;AAC5C,MAAA,IAAI,WAAW,MAAQ,EAAA;AACrB,QAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAM,KAAA;AAC3B,UAAO,OAAA;AAAA,YACL,GAAG,CAAA;AAAA,YACH,aAAA,EAAe,EAAE,aAAc,CAAA,MAAA;AAAA,cAC7B,CAAC,CAAA,KAAM,CAAC,MAAA,CAAO,CAAC;AAAA;AAClB,WACF;AAAA,SACD,CAAA;AAAA,OACI,MAAA;AACL,QAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAM,KAAA;AAC3B,UAAO,OAAA;AAAA,YACL,GAAG,CAAA;AAAA,YACH,eAAe;AAAC,WAClB;AAAA,SACD,CAAA;AAAA;AACH,KACF;AACA,IAAA,IAAA,CAAK,oBAAoB,MAAM;AAC7B,MAAM,MAAA,MAAA,GAAS,CAAC,CAAM,KAAA;AACpB,QAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,eAAgB,CAAA,CAAA,CAAE,OAAO,CAAA;AAC5C,QAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,MAAQ,EAAA;AACzB,UAAO,OAAA,IAAA;AAAA;AAET,QAAA,MAAM,UAAU,CAAE,CAAA,OAAA,GAAU,KAAM,CAAA,OAAA,CAAQ,iBAAiB,IAAK,CAAA,OAAA,CAAQ,oBAAuB,GAAA,KAAA,CAAM,QAAQ,MAAU,IAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,KAAkB,IAAI,EAAK,GAAA,GAAA;AAC/J,QAAM,MAAA,OAAA,GAAU,EAAE,MAAW,KAAA,OAAA;AAC7B,QAAA,IAAI,SAAgB,OAAA,IAAA;AACpB,QAAA,MAAM,UAAa,GAAA,IAAA,CAAK,GAAI,EAAA,GAAI,EAAE,SAAa,IAAA,MAAA;AAC/C,QAAO,OAAA,UAAA;AAAA,OACT;AACA,MAAK,IAAA,CAAA,UAAA,CAAW,EAAE,MAAA,EAAQ,CAAA;AAAA,KAC5B;AACA,IAAK,IAAA,CAAA,cAAA,GAAiB,CAAC,KAAU,KAAA;AAC/B,MAAI,IAAA,KAAA,CAAM,iBAAiB,MAAQ,EAAA;AACjC,QAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,UAAA,KAAA,CAAM,eAAe,KAAM,CAAA,MAAA,EAAS,CAAA,IAAA,CAAK,CAAC,SAAc,KAAA;AACtD,YAAA,MAAM,EAAE,EAAI,EAAA,GAAA,EAAK,GAAG,QAAA,KAAa,SAAU,CAAA,OAAA;AAC3C,YAAO,MAAA,CAAA,MAAA,CAAO,KAAM,CAAA,OAAA,EAAS,QAAQ,CAAA;AAAA,WACtC,CAAA;AAAA,SACI,MAAA;AACL,UAAM,KAAA,CAAA,YAAA,GAAe,QAAQ,OAAQ,EAAA;AAAA;AACvC;AAEF,MAAI,IAAA,KAAA,CAAM,uBAAuB,MAAQ,EAAA;AACvC,QAAM,KAAA,CAAA,kBAAA,GAAqB,MAAM,YAAa,CAAA,IAAA;AAAA,UAC5C,MAAM,OAAQ,CAAA,GAAA;AAAA,YACZ,cAAA,CAAe,GAAI,CAAA,OAAO,IAAS,KAAA;AACjC,cAAM,MAAA,SAAA,GAAY,KAAM,CAAA,OAAA,CAAQ,IAAI,CAAA;AACpC,cAAA,IAAI,SAAa,IAAA,IAAA,GAAO,MAAS,GAAA,SAAA,CAAU,OAAS,EAAA;AAClD,gBAAA,MAAM,UAAU,OAAQ,EAAA;AAAA;AAC1B,aACD;AAAA;AACH,SACF;AAAA;AAEF,MAAA,OAAO,KAAM,CAAA,kBAAA;AAAA,KACf;AACA,IAAK,IAAA,CAAA,YAAA,GAAe,OAAO,IAAS,KAAA;AAClC,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,aAAA,CAAc,IAAI,CAAA;AACpC,MAAI,IAAA,OAAA,GAAU,IAAK,CAAA,WAAA,CAAY,IAAM,EAAA;AAAA,QACnC,YAAc,EAAA,IAAA;AAAA,QACd,OAAS,EAAA,IAAA;AAAA,QACT,IAAM,EAAA;AAAA,OACP,CAAA;AACD,MAAA,MAAM,iBAAiB,IAAI,GAAA;AAAA,QACzB,CAAC,GAAG,IAAA,CAAK,KAAM,CAAA,OAAA,EAAS,GAAG,IAAA,CAAK,KAAM,CAAA,cAAA,IAAkB,EAAE,CAAE,CAAA,GAAA;AAAA,UAC1D,CAAC,MAAM,CAAE,CAAA;AAAA;AACX,OACF;AACA,MAAM,MAAA,cAAA,uBAAqC,GAAI,CAAA;AAAA,QAC7C,GAAG,cAAA;AAAA,QACH,GAAG,KAAK,KAAM,CAAA,aAAA,CAAc,IAAI,CAAC,CAAA,KAAM,EAAE,EAAE;AAAA,OAC5C,CAAA;AACD,MAAA,KAAA,CAAM,MAAM;AACV,QAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,KAAU,KAAA;AACzB,UAAA,IAAI,CAAC,cAAA,CAAe,GAAI,CAAA,KAAA,CAAM,EAAE,CAAG,EAAA;AACjC,YAAK,IAAA,CAAA,OAAA,CAAQ,QAAS,CAAA,CAAC,CAAO,MAAA;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,aAAe,EAAA,CAAC,GAAG,CAAA,CAAE,eAAe,KAAK;AAAA,aACzC,CAAA,CAAA;AAAA;AACJ,SACD,CAAA;AAAA,OACF,CAAA;AACD,MAAI,IAAA;AACF,QAAU,OAAA,GAAA,MAAM,KAAK,WAAY,CAAA;AAAA,UAC/B,OAAA;AAAA,UACA,QAAU,EAAA,IAAA;AAAA,UACV,OAAS,EAAA,IAAA;AAAA,UACT,WAAA,EAAa,CAAC,EAAA,EAAI,OAAY,KAAA;AAC5B,YAAI,IAAA,cAAA,CAAe,GAAI,CAAA,EAAE,CAAG,EAAA;AAC1B,cAAU,OAAA,GAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,EAAK,GAAA,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAC,CAAA;AAAA,aACpD,MAAA;AACL,cAAK,IAAA,CAAA,WAAA,CAAY,IAAI,OAAO,CAAA;AAAA;AAC9B;AACF,SACD,CAAA;AACD,QAAO,OAAA,OAAA;AAAA,eACA,GAAK,EAAA;AACZ,QAAI,IAAA,UAAA,CAAW,GAAG,CAAG,EAAA;AACnB,UAAI,IAAA,GAAA,CAAI,QAAQ,cAAgB,EAAA;AAC9B,YAAO,OAAA,MAAA;AAAA;AAET,UAAO,OAAA,MAAM,KAAK,YAAa,CAAA;AAAA,YAC7B,GAAG,GAAI,CAAA,OAAA;AAAA,YACP,aAAe,EAAA;AAAA,WAChB,CAAA;AAAA;AAEH,QAAI,IAAA,CAAC,UAAW,CAAA,GAAG,CAAG,EAAA;AACpB,UAAA,OAAA,CAAQ,MAAM,GAAG,CAAA;AAAA;AAEnB,QAAO,OAAA,MAAA;AAAA;AACT,KACF;AACA,IAAK,IAAA,CAAA,UAAA,GAAa,CAAC,QAAA,EAAU,IAAS,KAAA;AACpC,MAAA,MAAM,aAAgB,GAAA;AAAA,QACpB,GAAG,QAAA;AAAA,QACH,EAAA,EAAI,QAAS,CAAA,EAAA,GAAK,IAAK,CAAA,mBAAA;AAAA,UACrB,SAAS,IAAQ,IAAA,EAAA;AAAA,UACjB,QAAS,CAAA;AAAA,SACP,GAAA,MAAA;AAAA,QACJ,MAAA,EAAQ,QAAS,CAAA,MAAA,IAAU,EAAC;AAAA,QAC5B,WAAa,EAAA;AAAA,OACf;AACA,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,aAAA,CAAc,aAAa,CAAA;AAC7C,MAAK,IAAA,CAAA,IAAA,IAAQ,OAAO,MAAS,GAAA,IAAA,CAAK,YAAY,IAAK,CAAA,KAAA,CAAM,WAAW,SAAW,EAAA;AAC7E,QAAO,OAAA,KAAA;AAAA;AAET,MAAM,MAAA,OAAA,GAAA,CAAW,IAAQ,IAAA,IAAA,GAAO,MAAS,GAAA,IAAA,CAAK,OAAa,MAAA,MAAA,GAAS,CAAC,IAAA,CAAK,KAAM,CAAA,SAAA,GAAY,IAAK,CAAA,OAAA;AACjG,MAAM,MAAA,YAAA,GAAe,UAAU,IAAK,CAAA,cAAA,GAAiB,KAAK,KAAM,CAAA,gBAAA,IAAoB,KAAK,KAAM,CAAA,QAAA;AAC/F,MAAA,MAAM,KAAQ,GAAA,aAAA;AAAA,QACZ,IAAK,CAAA,QAAA;AAAA,QACL,YAAa,CAAA,QAAA;AAAA,QACb;AAAA,UACE,GAAG,IAAA;AAAA,UACH,IAAI,IAAK,CAAA;AAAA,SACX;AAAA,QACA,IAAK,CAAA;AAAA,OACP;AACA,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAO,OAAA,KAAA;AAAA;AAET,MAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,QAAI,IAAA,CAAC,UAAU,KAAO,EAAA,QAAA,CAAS,QAAQ,EAAE,OAAA,EAAS,IAAK,EAAC,CAAG,EAAA;AACzD,UAAO,OAAA,KAAA;AAAA;AACT;AAEF,MAAA,IAAI,WAAW,IAAQ,IAAA,IAAA,GAAO,MAAS,GAAA,IAAA,CAAK,kBAAkB,IAAO,CAAA,EAAA;AACnE,QAAO,OAAA,SAAA,CAAU,YAAa,CAAA,MAAA,EAAQ,IAAK,CAAA,MAAA,EAAQ,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA,GAAI,KAAQ,GAAA,KAAA;AAAA;AAElF,MAAO,OAAA,KAAA;AAAA,KACT;AACA,IAAK,IAAA,CAAA,eAAA,GAAkB,CAAC,OAAA,EAAS,GAAK,EAAA;AAAA,MACpC,cAAc,IAAK,CAAA;AAAA,KACrB,GAAI,EAAO,KAAA;AACT,MAAI,IAAA,EAAA;AACJ,MAAA,MAAM,cAAc,IAAK,CAAA,UAAA,CAAW,IAAI,OAAW,IAAA,EAAE,KAAK,IAAK,CAAA,SAAA;AAC/D,MAAA,MAAM,mBAAmB,EAAC;AAC1B,MAAA,KAAA,MAAW,SAAS,OAAS,EAAA;AAC3B,QAAiB,gBAAA,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,KAAA;AAAA;AAEpC,MAAI,IAAA,CAAC,WAAY,CAAA,OAAA,CAAQ,iBAAuB,KAAA,CAAA,EAAA,GAAK,KAAK,OAAY,KAAA,IAAA,GAAO,MAAS,GAAA,EAAA,CAAG,wBAA2B,CAAA,EAAA;AAClH,QAAY,WAAA,CAAA,OAAA,CAAQ,iBAAoB,GAAA,IAAA,CAAK,OAAQ,CAAA,wBAAA;AAAA;AAEvD,MAAA,SAAA;AAAA,QACE,YAAY,OAAQ,CAAA,iBAEtB,CAAA;AACA,MAAM,MAAA,aAAA,GAAgB,gBAAiB,CAAA,WAAA,CAAY,EAAE,CAAA;AACrD,MAAA,SAAA;AAAA,QACE,aAAA;AAAA,QACA,qCAAqC,WAAY,CAAA;AAAA,OACnD;AACA,MAAY,WAAA,CAAA,aAAA,CAAc,EAAI,EAAA,CAAC,IAAU,MAAA;AAAA,QACvC,GAAG,IAAA;AAAA,QACH,MAAQ,EAAA,UAAA;AAAA,QACR,KAAO,EAAA,GAAA;AAAA,QACP,UAAY,EAAA;AAAA,OACZ,CAAA,CAAA;AACF,MAAA,IAAI,GAAI,CAAA,UAAA,KAAe,aAAiB,IAAA,WAAA,CAAY,WAAa,EAAA;AAC/D,QAAI,GAAA,CAAA,OAAA,GAAU,YAAY,WAAY,CAAA,EAAA;AACtC,QAAK,IAAA,CAAA,eAAA,CAAgB,SAAS,GAAK,EAAA;AAAA,UACjC;AAAA,SACD,CAAA;AAAA;AACH,KACF;AACA,IAAA,IAAA,CAAK,mBAAmB,MAAM;AAC5B,MAAO,OAAA,IAAA,CAAK,OAAQ,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAA;AAAA,QAChC,CAAC,CAAA,KAAM,CAAE,CAAA,MAAA,KAAW,cAAc,CAAE,CAAA;AAAA,OACtC;AAAA,KACF;AACA,IAAA,IAAA,CAAK,MAAO,CAAA;AAAA,MACV,mBAAqB,EAAA,EAAA;AAAA,MACrB,gBAAkB,EAAA,GAAA;AAAA,MAClB,mBAAqB,EAAA,GAAA;AAAA,MACrB,OAAS,EAAA,MAAA;AAAA,MACT,GAAG,OAAA;AAAA,MACH,aAAA,EAAe,QAAQ,aAAiB,IAAA,KAAA;AAAA,MACxC,YAAA,EAAc,QAAQ,YAAgB,IAAA,OAAA;AAAA,MACtC,eAAA,EAAiB,QAAQ,eAAmB,IAAA,sBAAA;AAAA,MAC5C,WAAA,EAAa,QAAQ,WAAe,IAAA;AAAA,KACrC,CAAA;AACD,IAAI,IAAA,OAAO,aAAa,WAAa,EAAA;AACnC,MAAA,IAAA,CAAK,cAAiB,GAAA,IAAA;AAAA;AACxB;AACF,EACA,OAAU,GAAA;AACR,IAAO,OAAA,CAAC,CAAC,IAAA,CAAK,OAAQ,CAAA,OAAA;AAAA;AACxB,EACA,cAAiB,GAAA;AACf,IAAO,OAAA,CAAC,CAAC,IAAA,CAAK,OAAQ,CAAA,cAAA;AAAA;AACxB,EACA,IAAI,KAAQ,GAAA;AACV,IAAA,OAAO,KAAK,OAAQ,CAAA,KAAA;AAAA;AACtB,EACA,IAAI,eAAkB,GAAA;AACpB,IAAA,OAAO,IAAK,CAAA,UAAA;AAAA;AACd,EACA,mBAAA,CAAoB,MAAM,IAAM,EAAA;AAC9B,IAAI,IAAA,EAAA;AACJ,IAAA,MAAM,EAAE,UAAA,EAAY,aAAe,EAAA,WAAA,KAAgB,IAAK,CAAA,gBAAA;AAAA,MACtD,IAAK,CAAA,QAAA;AAAA,MACJ,CAAA,EAAA,GAAK,QAAQ,IAAO,GAAA,MAAA,GAAS,KAAK,IAAS,KAAA,IAAA,GAAO,SAAS,EAAG,CAAA;AAAA,KACjE;AACA,IAAA,IAAI,gBAAmB,GAAA,KAAA;AACvB,IAAA;AAAA;AAAA,MAEE,UAAa,GAAA,UAAA,CAAW,IAAS,KAAA,GAAA,IAAO,YAAY,IAAI,CAAA;AAAA;AAAA,QAEtD,aAAA,CAAc,KAAK,QAAQ;AAAA;AAAA,MAE7B;AACA,MAAI,IAAA,IAAA,CAAK,QAAQ,aAAe,EAAA;AAC9B,QAAc,aAAA,CAAA,IAAA,CAAK,IAAK,CAAA,OAAA,CAAQ,aAAa,CAAA;AAAA,OACxC,MAAA;AACL,QAAmB,gBAAA,GAAA,IAAA;AAAA;AACrB;AAEF,IAAA,MAAM,yBAAyB,MAAM;AACnC,MAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,QAAO,OAAA,MAAA;AAAA;AAET,MAAI,IAAA,IAAA,CAAK,OAAQ,CAAA,YAAA,KAAiB,MAAQ,EAAA;AACxC,QAAA,KAAA,IAAS,IAAI,aAAc,CAAA,MAAA,GAAS,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AAClD,UAAM,MAAA,KAAA,GAAQ,cAAc,CAAC,CAAA;AAC7B,UAAA,IAAI,MAAM,QAAU,EAAA;AAClB,YAAA,OAAO,KAAM,CAAA,EAAA;AAAA;AACf;AACF;AAEF,MAAO,OAAA,WAAA;AAAA,KACN,GAAA;AACH,IAAA,MAAM,WAAc,GAAA,aAAA,CAAc,GAAI,CAAA,CAAC,KAAU,KAAA;AAC/C,MAAI,IAAA,GAAA;AACJ,MAAI,IAAA,iBAAA;AACJ,MAAM,MAAA,WAAA,GAAA,CAAA,CAAgB,GAAM,GAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,KAAW,OAAO,MAAS,GAAA,GAAA,CAAI,KAAU,KAAA,KAAA,CAAM,OAAQ,CAAA,WAAA;AACjG,MAAA,IAAI,WAAa,EAAA;AACf,QAAI,IAAA;AACF,UAAM,MAAA,YAAA,GAAe,YAAY,WAAW,CAAA;AAC5C,UAAO,MAAA,CAAA,MAAA,CAAO,aAAa,YAAY,CAAA;AAAA,iBAChC,GAAK,EAAA;AACZ,UAAoB,iBAAA,GAAA,IAAI,cAAe,CAAA,GAAA,CAAI,OAAS,EAAA;AAAA,YAClD,KAAO,EAAA;AAAA,WACR,CAAA;AACD,UAAA,IAAI,IAAQ,IAAA,IAAA,GAAO,MAAS,GAAA,IAAA,CAAK,YAAc,EAAA;AAC7C,YAAM,MAAA,iBAAA;AAAA;AAER,UAAO,OAAA,iBAAA;AAAA;AACT;AAEF,MAAA;AAAA,KACD,CAAA;AACD,IAAA,MAAM,UAAU,EAAC;AACjB,IAAM,MAAA,gBAAA,GAAmB,CAAC,WAAgB,KAAA;AACxC,MAAA,MAAM,aAAgB,GAAA,WAAA,IAAe,IAAO,GAAA,MAAA,GAAS,WAAY,CAAA,EAAA;AACjE,MAAA,MAAM,aAAgB,GAAA,CAAC,aAAgB,GAAA,IAAA,CAAK,OAAQ,CAAA,OAAA,IAAW,EAAC,GAAI,WAAY,CAAA,OAAA,IAAW,IAAK,CAAA,OAAA,CAAQ,WAAW,EAAC;AACpH,MAAO,OAAA,aAAA;AAAA,KACT;AACA,IAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,KAAU,KAAA;AACtC,MAAA,IAAI,GAAK,EAAA,EAAA;AACT,MAAM,MAAA,WAAA,GAAc,OAAQ,CAAA,KAAA,GAAQ,CAAC,CAAA;AACrC,MAAA,MAAM,CAAC,cAAA,EAAgB,iBAAmB,EAAA,WAAW,KAAK,MAAM;AAC9D,QAAA,MAAM,gBAAgB,WAAe,IAAA,IAAA,GAAO,MAAS,GAAA,WAAA,CAAY,WAAW,IAAK,CAAA,MAAA;AACjF,QAAA,MAAM,sBAAsB,WAAe,IAAA,IAAA,GAAO,MAAS,GAAA,WAAA,CAAY,kBAAkB,EAAC;AAC1F,QAAI,IAAA;AACF,UAAM,MAAA,YAAA,GAAe,cAAe,CAAA,KAAA,CAAM,OAAQ,CAAA,cAAA,EAAgB,EAAE,GAAG,YAAA,EAAc,CAAA,IAAK,EAAC;AAC3F,UAAO,OAAA;AAAA,YACL;AAAA,cACE,GAAG,YAAA;AAAA,cACH,GAAG;AAAA,aACL;AAAA,YACA,EAAE,GAAG,kBAAoB,EAAA,GAAG,YAAa,EAAA;AAAA,YACzC,KAAA;AAAA,WACF;AAAA,iBACO,GAAK,EAAA;AACZ,UAAA,IAAI,gBAAmB,GAAA,GAAA;AACvB,UAAI,IAAA,EAAE,eAAe,gBAAmB,CAAA,EAAA;AACtC,YAAmB,gBAAA,GAAA,IAAI,gBAAiB,CAAA,GAAA,CAAI,OAAS,EAAA;AAAA,cACnD,KAAO,EAAA;AAAA,aACR,CAAA;AAAA;AAEH,UAAA,IAAI,IAAQ,IAAA,IAAA,GAAO,MAAS,GAAA,IAAA,CAAK,YAAc,EAAA;AAC7C,YAAM,MAAA,gBAAA;AAAA;AAER,UAAA,OAAO,CAAC,YAAA,EAAc,EAAC,EAAG,gBAAgB,CAAA;AAAA;AAC5C,OACC,GAAA;AACH,MAAM,MAAA,UAAA,GAAA,CAAA,CAAe,EAAM,GAAA,CAAA,GAAA,GAAM,KAAM,CAAA,OAAA,EAAS,eAAe,IAAO,GAAA,MAAA,GAAS,EAAG,CAAA,IAAA,CAAK,GAAK,EAAA;AAAA,QAC1F,MAAQ,EAAA;AAAA,OACT,CAAM,KAAA,EAAA;AACP,MAAA,MAAM,cAAiB,GAAA,UAAA,GAAa,IAAK,CAAA,SAAA,CAAU,UAAU,CAAI,GAAA,EAAA;AACjE,MAAA,MAAM,EAAE,UAAA,EAAY,gBAAiB,EAAA,GAAI,eAAgB,CAAA;AAAA,QACvD,MAAM,KAAM,CAAA,QAAA;AAAA,QACZ,MAAQ,EAAA,WAAA;AAAA,QACR,eAAe,IAAK,CAAA;AAAA,OACrB,CAAA;AACD,MAAA,MAAM,UAAU,eAAgB,CAAA;AAAA,QAC9B,MAAM,KAAM,CAAA,EAAA;AAAA,QACZ,MAAQ,EAAA,WAAA;AAAA,QACR,cAAgB,EAAA,IAAA;AAAA,QAChB,eAAe,IAAK,CAAA,uBAAA;AAAA,QACpB,YAAY,IAAK,CAAA;AAAA,OAClB,EAAE,gBAAmB,GAAA,cAAA;AACtB,MAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,QAAA,CAAS,OAAO,CAAA;AAC3C,MAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,KAAA,CAAM,OAAQ,CAAA,IAAA;AAAA,QACvC,CAAC,CAAA,KAAM,CAAE,CAAA,OAAA,KAAY,KAAM,CAAA;AAAA,OAC7B;AACA,MAAM,MAAA,KAAA,GAAQ,gBAAgB,MAAS,GAAA,OAAA;AACvC,MAAI,IAAA,KAAA;AACJ,MAAA,IAAI,aAAe,EAAA;AACjB,QAAQ,KAAA,GAAA;AAAA,UACN,GAAG,aAAA;AAAA,UACH,KAAA;AAAA,UACA,QAAQ,aAAgB,GAAA,gBAAA,CAAiB,aAAc,CAAA,MAAA,EAAQ,WAAW,CAAI,GAAA,WAAA;AAAA,UAC9E,aAAe,EAAA,UAAA;AAAA,UACf,MAAA,EAAQ,aAAgB,GAAA,gBAAA,CAAiB,aAAc,CAAA,MAAA,EAAQ,cAAc,CAAI,GAAA,gBAAA,CAAiB,aAAc,CAAA,MAAA,EAAQ,cAAc,CAAA;AAAA,UACtI,aAAe,EAAA;AAAA,SACjB;AAAA,OACK,MAAA;AACL,QAAA,MAAM,MAAS,GAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,IAAU,KAAM,CAAA,OAAA,CAAQ,UAAc,IAAA,KAAA,CAAM,MAAU,IAAA,iBAAA,CAAkB,KAAK,CAAA,GAAI,SAAY,GAAA,SAAA;AAC1H,QAAQ,KAAA,GAAA;AAAA,UACN,EAAI,EAAA,OAAA;AAAA,UACJ,KAAA;AAAA,UACA,SAAS,KAAM,CAAA,EAAA;AAAA,UACf,QAAQ,aAAgB,GAAA,gBAAA,CAAiB,aAAc,CAAA,MAAA,EAAQ,WAAW,CAAI,GAAA,WAAA;AAAA,UAC9E,aAAe,EAAA,UAAA;AAAA,UACf,UAAU,SAAU,CAAA,CAAC,IAAK,CAAA,QAAA,EAAU,gBAAgB,CAAC,CAAA;AAAA,UACrD,SAAA,EAAW,KAAK,GAAI,EAAA;AAAA,UACpB,QAAQ,aAAgB,GAAA,gBAAA,CAAiB,aAAc,CAAA,MAAA,EAAQ,cAAc,CAAI,GAAA,cAAA;AAAA,UACjF,aAAe,EAAA,iBAAA;AAAA,UACf,WAAa,EAAA,MAAA;AAAA,UACb,MAAA;AAAA,UACA,UAAY,EAAA,KAAA;AAAA,UACZ,KAAO,EAAA,MAAA;AAAA,UACP,WAAA,EAAa,YAAY,KAAK,CAAA;AAAA,UAC9B,gBAAgB,EAAC;AAAA,UACjB,mBAAqB,EAAA,MAAA;AAAA,UACrB,SAAS,EAAC;AAAA,UACV,eAAA,EAAiB,IAAI,eAAgB,EAAA;AAAA,UACrC,UAAY,EAAA,CAAA;AAAA,UACZ,KAAA;AAAA,UACA,YAAY,aAAgB,GAAA,gBAAA,CAAiB,aAAc,CAAA,UAAA,EAAY,UAAU,CAAI,GAAA,UAAA;AAAA,UACrF,OAAS,EAAA,KAAA;AAAA,UACT,OAAS,EAAA,KAAA;AAAA,UACT,KAAO,EAAA,MAAA;AAAA,UACP,OAAS,EAAA,MAAA;AAAA,UACT,WAAa,EAAA,MAAA;AAAA,UACb,IAAM,EAAA,MAAA;AAAA,UACN,UAAY,EAAA,KAAA,CAAM,OAAQ,CAAA,UAAA,IAAc,EAAC;AAAA,UACzC,aAAa,uBAAwB,EAAA;AAAA,UACrC,UAAU,KAAM,CAAA;AAAA,SAClB;AAAA;AAEF,MAAA,IAAI,EAAE,IAAA,IAAQ,IAAO,GAAA,MAAA,GAAS,KAAK,OAAU,CAAA,EAAA;AAC3C,QAAM,KAAA,CAAA,cAAA,GAAiB,0BAA0B,KAAM,CAAA,EAAA;AAAA;AAEzD,MAAA,KAAA,CAAM,WAAc,GAAA,WAAA;AACpB,MAAM,MAAA,aAAA,GAAgB,iBAAiB,WAAW,CAAA;AAClD,MAAA,KAAA,CAAM,OAAU,GAAA;AAAA,QACd,GAAG,aAAA;AAAA,QACH,GAAG,KAAM,CAAA,cAAA;AAAA,QACT,GAAG,KAAM,CAAA;AAAA,OACX;AACA,MAAA,OAAA,CAAQ,KAAK,KAAK,CAAA;AAAA,KACnB,CAAA;AACD,IAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,KAAA,EAAO,KAAU,KAAA;AAChC,MAAA,IAAI,GAAK,EAAA,EAAA;AACT,MAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,eAAgB,CAAA,KAAA,CAAM,OAAO,CAAA;AAChD,MAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,QAAS,CAAA,KAAA,CAAM,EAAE,CAAA;AAC5C,MAAA,IAAI,CAAC,aAAkB,IAAA,CAAA,IAAA,IAAQ,OAAO,MAAS,GAAA,IAAA,CAAK,oBAAoB,IAAM,EAAA;AAC5E,QAAM,MAAA,WAAA,GAAc,OAAQ,CAAA,KAAA,GAAQ,CAAC,CAAA;AACrC,QAAM,MAAA,aAAA,GAAgB,iBAAiB,WAAW,CAAA;AAClD,QAAA,MAAM,gBAAmB,GAAA;AAAA,UACvB,MAAM,KAAM,CAAA,UAAA;AAAA,UACZ,QAAQ,KAAM,CAAA,MAAA;AAAA,UACd,OAAS,EAAA,aAAA;AAAA,UACT,QAAU,EAAA,IAAA;AAAA,UACV,QAAA,EAAU,CAAC,KAAA,KAAU,IAAK,CAAA,QAAA,CAAS,EAAE,GAAG,KAAA,EAAO,aAAe,EAAA,IAAA,EAAM,CAAA;AAAA,UACpE,eAAe,IAAK,CAAA,aAAA;AAAA,UACpB,OAAO,KAAM,CAAA,KAAA;AAAA,UACb,iBAAiB,KAAM,CAAA,eAAA;AAAA,UACvB,OAAA,EAAS,CAAC,CAAC,KAAM,CAAA,OAAA;AAAA,UACjB;AAAA,SACF;AACA,QAAA,KAAA,CAAM,cAAmB,GAAA,CAAA,CAAA,EAAA,GAAA,CAAM,GAAM,GAAA,KAAA,CAAM,OAAS,EAAA,OAAA,KAAY,IAAO,GAAA,MAAA,GAAS,EAAG,CAAA,IAAA,CAAK,GAAK,EAAA,gBAAgB,MAAM,EAAC;AACpH,QAAA,KAAA,CAAM,OAAU,GAAA;AAAA,UACd,GAAG,aAAA;AAAA,UACH,GAAG,KAAM,CAAA,cAAA;AAAA,UACT,GAAG,KAAM,CAAA;AAAA,SACX;AAAA;AACF,KACD,CAAA;AACD,IAAO,OAAA,OAAA;AAAA;AAEX;AACA,MAAM,yBAAyB,KAAM,CAAA;AACrC;AACA,MAAM,uBAAuB,KAAM,CAAA;AACnC;AACA,MAAM,SAAY,GAAA,CAAC,GAAQ,KAAA,GAAA,CAAI,SAAS,GAAG,CAAA,IAAK,GAAI,CAAA,MAAA,GAAS,CAAI,GAAA,GAAA,CAAI,KAAM,CAAA,CAAA,EAAG,EAAE,CAAI,GAAA,GAAA;AACpF,SAAS,YAAA,CAAa,GAAG,CAAG,EAAA;AAC1B,EAAA,OAAO,SAAU,CAAA,CAAC,CAAM,KAAA,SAAA,CAAU,CAAC,CAAA;AACrC;AACA,SAAS,MAAA,CAAO,IAAI,GAAK,EAAA;AACvB,EAAA,OAAO,UAAU,IAAS,KAAA;AACxB,IAAM,MAAA,QAAA,GAAW,MAAM,EAAG,EAAA;AAC1B,IAAA,OAAO,QAAS,CAAA,GAAA,IAAO,SAAS,CAAA,CAAE,GAAG,IAAI,CAAA;AAAA,GAC3C;AACF;AACA,SAAS,sBAAsB,QAAU,EAAA;AACvC,EAAO,OAAA;AAAA,IACL,QAAU,EAAA,CAAA;AAAA,IACV,SAAW,EAAA,KAAA;AAAA,IACX,eAAiB,EAAA,KAAA;AAAA,IACjB,MAAQ,EAAA,MAAA;AAAA,IACR,gBAAkB,EAAA,MAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAS,EAAC;AAAA,IACV,gBAAgB,EAAC;AAAA,IACjB,eAAe,EAAC;AAAA,IAChB,UAAY,EAAA;AAAA,GACd;AACF;AACA,SAAS,cAAA,CAAe,iBAAiB,KAAO,EAAA;AAC9C,EAAI,IAAA,eAAA,IAAmB,IAAM,EAAA,OAAO,EAAC;AACrC,EAAA,IAAI,eAAe,eAAiB,EAAA;AAClC,IAAA,MAAM,MAAS,GAAA,eAAA,CAAgB,WAAW,CAAA,CAAE,SAAS,KAAK,CAAA;AAC1D,IAAA,IAAI,MAAkB,YAAA,OAAA;AACpB,MAAM,MAAA,IAAI,iBAAiB,gCAAgC,CAAA;AAC7D,IAAA,IAAI,MAAO,CAAA,MAAA;AACT,MAAM,MAAA,IAAI,iBAAiB,IAAK,CAAA,SAAA,CAAU,OAAO,MAAQ,EAAA,MAAA,EAAQ,CAAC,CAAG,EAAA;AAAA,QACnE,KAAO,EAAA;AAAA,OACR,CAAA;AACH,IAAA,OAAO,MAAO,CAAA,KAAA;AAAA;AAEhB,EAAA,IAAI,WAAW,eAAiB,EAAA;AAC9B,IAAO,OAAA,eAAA,CAAgB,MAAM,KAAK,CAAA;AAAA;AAEpC,EAAI,IAAA,OAAO,oBAAoB,UAAY,EAAA;AACzC,IAAA,OAAO,gBAAgB,KAAK,CAAA;AAAA;AAE9B,EAAA,OAAO,EAAC;AACV;AACA,MAAM,cAAiB,GAAA;AAAA,EACrB,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF;AACA,SAAS,kBAAkB,KAAO,EAAA;AAChC,EAAI,IAAA,EAAA;AACJ,EAAA,KAAA,MAAW,iBAAiB,cAAgB,EAAA;AAC1C,IAAK,IAAA,CAAA,EAAA,GAAK,MAAM,OAAQ,CAAA,aAAa,MAAM,IAAO,GAAA,MAAA,GAAS,GAAG,OAAS,EAAA;AACrE,MAAO,OAAA,IAAA;AAAA;AACT;AAEF,EAAO,OAAA,KAAA;AACT;AACA,MAAM,yBAA4B,GAAA,GAAA;AAClC,MAAM,yBAA4B,GAAA,GAAA;AAClC,MAAM,yBAA4B,GAAA,IAAA;AAClC,SAAS,WAAA,CAAY,SAAS,SAAW,EAAA;AACvC,EAAI,IAAA,OAAA,CAAQ,aAAiB,IAAA,OAAA,CAAQ,aAAe,EAAA;AAClD,IAAA,OAAO,SAAY,GAAA,IAAA;AAAA;AAErB,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAA,OAAO,SAAY,GAAA,IAAA;AAAA;AAErB,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAA,OAAO,SAAY,GAAA,IAAA;AAAA;AAErB,EAAO,OAAA,SAAA;AACT;AACA,SAAS,gBAAiB,CAAA;AAAA,EACxB,SAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,MAAM,aAAa,EAAC;AACpB,EAAA,MAAM,eAAe,EAAC;AACtB,EAAM,MAAA,aAAA,GAAgB,CAAC,WAAgB,KAAA;AACrC,IAAY,WAAA,CAAA,OAAA,CAAQ,CAAC,UAAA,EAAY,CAAM,KAAA;AACrC,MAAA,SAAA,IAAa,IAAO,GAAA,MAAA,GAAS,SAAU,CAAA,UAAA,EAAY,CAAC,CAAA;AACpD,MAAM,MAAA,aAAA,GAAgB,UAAW,CAAA,UAAA,CAAW,EAAE,CAAA;AAC9C,MAAA,SAAA;AAAA,QACE,CAAC,aAAA;AAAA,QACD,CAAmC,gCAAA,EAAA,MAAA,CAAO,UAAW,CAAA,EAAE,CAAC,CAAA;AAAA,OAC1D;AACA,MAAW,UAAA,CAAA,UAAA,CAAW,EAAE,CAAI,GAAA,UAAA;AAC5B,MAAA,IAAI,CAAC,UAAA,CAAW,MAAU,IAAA,UAAA,CAAW,IAAM,EAAA;AACzC,QAAM,MAAA,eAAA,GAAkB,aAAc,CAAA,UAAA,CAAW,QAAQ,CAAA;AACzD,QAAI,IAAA,CAAC,aAAa,eAAe,CAAA,IAAK,WAAW,QAAS,CAAA,QAAA,CAAS,GAAG,CAAG,EAAA;AACvE,UAAA,YAAA,CAAa,eAAe,CAAI,GAAA,UAAA;AAAA;AAClC;AAEF,MAAA,MAAM,WAAW,UAAW,CAAA,QAAA;AAC5B,MAAA,IAAI,QAAY,IAAA,IAAA,GAAO,MAAS,GAAA,QAAA,CAAS,MAAQ,EAAA;AAC/C,QAAA,aAAA,CAAc,QAAQ,CAAA;AAAA;AACxB,KACD,CAAA;AAAA,GACH;AACA,EAAc,aAAA,CAAA,CAAC,SAAS,CAAC,CAAA;AACzB,EAAA,MAAM,eAAe,EAAC;AACtB,EAAM,MAAA,MAAA,GAAS,MAAO,CAAA,MAAA,CAAO,UAAU,CAAA;AACvC,EAAO,MAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,CAAM,KAAA;AACvB,IAAI,IAAA,EAAA;AACJ,IAAA,IAAI,CAAE,CAAA,MAAA,IAAU,CAAC,CAAA,CAAE,IAAM,EAAA;AACvB,MAAA;AAAA;AAEF,IAAM,MAAA,OAAA,GAAU,YAAa,CAAA,CAAA,CAAE,QAAQ,CAAA;AACvC,IAAI,IAAA,MAAA,GAAS,cAAc,OAAO,CAAA;AAClC,IAAA,IAAI,IAAO,GAAA,CAAA;AACX,IAAA,OAAO,MAAO,CAAA,MAAA,GAAS,IAAO,GAAA,CAAA,IAAA,CAAA,CAAO,EAAK,GAAA,MAAA,CAAO,IAAI,CAAA,KAAM,IAAO,GAAA,MAAA,GAAS,EAAG,CAAA,KAAA,MAAW,GAAK,EAAA;AAC5F,MAAA,IAAA,EAAA;AAAA;AAEF,IAAA,IAAI,IAAO,GAAA,CAAA,EAAY,MAAA,GAAA,MAAA,CAAO,MAAM,IAAI,CAAA;AACxC,IAAA,IAAI,kBAAqB,GAAA,CAAA;AACzB,IAAA,IAAI,cAAiB,GAAA,KAAA;AACrB,IAAA,MAAM,MAAS,GAAA,MAAA,CAAO,GAAI,CAAA,CAAC,SAAS,KAAU,KAAA;AAC5C,MAAI,IAAA,OAAA,CAAQ,UAAU,GAAK,EAAA;AACzB,QAAO,OAAA,IAAA;AAAA;AAET,MAAA,IAAI,SAAY,GAAA,MAAA;AAChB,MAAI,IAAA,OAAA,CAAQ,SAAS,kBAAoB,EAAA;AACvC,QAAY,SAAA,GAAA,yBAAA;AAAA,OACd,MAAA,IAAW,OAAQ,CAAA,IAAA,KAAS,2BAA6B,EAAA;AACvD,QAAY,SAAA,GAAA,yBAAA;AACZ,QAAA,kBAAA,EAAA;AAAA,OACF,MAAA,IAAW,OAAQ,CAAA,IAAA,KAAS,qBAAuB,EAAA;AACjD,QAAY,SAAA,GAAA,yBAAA;AAAA;AAEd,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,KAAA,IAAS,KAAK,KAAQ,GAAA,CAAA,EAAG,EAAK,GAAA,MAAA,CAAO,QAAQ,EAAM,EAAA,EAAA;AACjD,UAAM,MAAA,WAAA,GAAc,OAAO,EAAE,CAAA;AAC7B,UAAA,IAAI,WAAY,CAAA,IAAA,KAAS,qBAAyB,IAAA,WAAA,CAAY,UAAU,GAAK,EAAA;AAC3E,YAAiB,cAAA,GAAA,IAAA;AACjB,YAAO,OAAA,WAAA,CAAY,OAAS,EAAA,SAAA,GAAY,GAAG,CAAA;AAAA;AAC7C;AAEF,QAAO,OAAA,WAAA,CAAY,SAAS,SAAS,CAAA;AAAA;AAEvC,MAAO,OAAA,CAAA;AAAA,KACR,CAAA;AACD,IAAA,YAAA,CAAa,IAAK,CAAA;AAAA,MAChB,KAAO,EAAA,CAAA;AAAA,MACP,OAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAO,EAAA,CAAA;AAAA,MACP,MAAA;AAAA,MACA,kBAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,GACF,CAAA;AACD,EAAA,MAAM,UAAa,GAAA,YAAA,CAAa,IAAK,CAAA,CAAC,GAAG,CAAM,KAAA;AAC7C,IAAM,MAAA,SAAA,GAAY,KAAK,GAAI,CAAA,CAAA,CAAE,OAAO,MAAQ,EAAA,CAAA,CAAE,OAAO,MAAM,CAAA;AAC3D,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,SAAA,EAAW,CAAK,EAAA,EAAA;AAClC,MAAA,IAAI,EAAE,MAAO,CAAA,CAAC,MAAM,CAAE,CAAA,MAAA,CAAO,CAAC,CAAG,EAAA;AAC/B,QAAA,OAAO,EAAE,MAAO,CAAA,CAAC,CAAI,GAAA,CAAA,CAAE,OAAO,CAAC,CAAA;AAAA;AACjC;AAEF,IAAA,IAAI,CAAE,CAAA,MAAA,CAAO,MAAW,KAAA,CAAA,CAAE,OAAO,MAAQ,EAAA;AACvC,MAAI,IAAA,CAAA,CAAE,kBAAuB,KAAA,CAAA,CAAE,kBAAoB,EAAA;AACjD,QAAI,IAAA,CAAA,CAAE,cAAmB,KAAA,CAAA,CAAE,cAAgB,EAAA;AACzC,UAAO,OAAA,CAAA,CAAE,qBAAqB,CAAE,CAAA,kBAAA;AAAA,SACvB,MAAA,IAAA,CAAA,CAAE,cAAkB,IAAA,CAAC,EAAE,cAAgB,EAAA;AAChD,UAAO,OAAA,EAAA;AAAA,SACE,MAAA,IAAA,CAAC,CAAE,CAAA,cAAA,IAAkB,EAAE,cAAgB,EAAA;AAChD,UAAO,OAAA,CAAA;AAAA;AACT;AAEF,MAAA,OAAO,CAAE,CAAA,MAAA,CAAO,MAAS,GAAA,CAAA,CAAE,MAAO,CAAA,MAAA;AAAA;AAEpC,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,SAAA,EAAW,CAAK,EAAA,EAAA;AAClC,MAAI,IAAA,CAAA,CAAE,OAAO,CAAC,CAAA,CAAE,UAAU,CAAE,CAAA,MAAA,CAAO,CAAC,CAAA,CAAE,KAAO,EAAA;AAC3C,QAAO,OAAA,CAAA,CAAE,MAAO,CAAA,CAAC,CAAE,CAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,CAAC,CAAE,CAAA,KAAA,GAAQ,CAAI,GAAA,EAAA;AAAA;AACrD;AAEF,IAAO,OAAA,CAAA,CAAE,QAAQ,CAAE,CAAA,KAAA;AAAA,GACpB,CAAA,CAAE,GAAI,CAAA,CAAC,GAAG,CAAM,KAAA;AACf,IAAA,CAAA,CAAE,MAAM,IAAO,GAAA,CAAA;AACf,IAAA,OAAO,CAAE,CAAA,KAAA;AAAA,GACV,CAAA;AACD,EAAO,OAAA,EAAE,UAAY,EAAA,YAAA,EAAc,UAAW,EAAA;AAChD;AACA,SAAS,gBAAiB,CAAA;AAAA,EACxB,QAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,IAAI,cAAc,EAAC;AACnB,EAAM,MAAA,WAAA,GAAc,cAAc,QAAQ,CAAA;AAC1C,EAAM,MAAA,gBAAA,GAAmB,CAAC,KAAU,KAAA;AAClC,IAAI,IAAA,EAAA;AACJ,IAAA,MAAM,MAAS,GAAA,aAAA;AAAA,MACb,QAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,QACE,IAAI,KAAM,CAAA,QAAA;AAAA,QACV,iBAAiB,EAAK,GAAA,KAAA,CAAM,YAAY,IAAO,GAAA,MAAA,GAAS,GAAG,aAAkB,KAAA,aAAA;AAAA;AAAA,QAE7E,KAAO,EAAA;AAAA,OACT;AAAA,MACA;AAAA,KACF;AACA,IAAO,OAAA,MAAA;AAAA,GACT;AACA,EAAA,IAAI,UAAa,GAAA,aAAA,KAAkB,MAAS,GAAA,YAAA,CAAa,aAAa,CAAI,GAAA,MAAA;AAC1E,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,WAAA,GAAc,iBAAiB,UAAU,CAAA;AAAA,GACpC,MAAA;AACL,IAAA,IAAI,UAAa,GAAA,MAAA;AACjB,IAAA,KAAA,MAAW,SAAS,UAAY,EAAA;AAC9B,MAAM,MAAA,aAAA,GAAgB,iBAAiB,KAAK,CAAA;AAC5C,MAAA,IAAI,aAAe,EAAA;AACjB,QAAA,IAAI,KAAM,CAAA,IAAA,KAAS,GAAO,IAAA,aAAA,CAAc,IAAI,CAAG,EAAA;AAC7C,UAAA,IAAI,CAAC,UAAY,EAAA;AACf,YAAA,UAAA,GAAa,EAAE,UAAA,EAAY,KAAO,EAAA,WAAA,EAAa,aAAc,EAAA;AAAA;AAC/D,SACK,MAAA;AACL,UAAa,UAAA,GAAA,KAAA;AACb,UAAc,WAAA,GAAA,aAAA;AACd,UAAA;AAAA;AACF;AACF;AAEF,IAAI,IAAA,CAAC,cAAc,UAAY,EAAA;AAC7B,MAAA,UAAA,GAAa,UAAW,CAAA,UAAA;AACxB,MAAA,WAAA,GAAc,UAAW,CAAA,WAAA;AAAA;AAC3B;AAEF,EAAI,IAAA,WAAA,GAAc,UAAc,IAAA,UAAA,CAAW,WAAW,CAAA;AACtD,EAAM,MAAA,aAAA,GAAgB,CAAC,WAAW,CAAA;AAClC,EAAA,OAAO,YAAY,WAAa,EAAA;AAC9B,IAAA,WAAA,GAAc,WAAY,CAAA,WAAA;AAC1B,IAAA,aAAA,CAAc,KAAK,WAAW,CAAA;AAAA;AAEhC,EAAA,aAAA,CAAc,OAAQ,EAAA;AACtB,EAAO,OAAA,EAAE,aAAe,EAAA,WAAA,EAAa,UAAW,EAAA;AAClD;AACA,SAAS,qBAAsB,CAAA;AAAA,EAC7B,MAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAG,EAAA;AACD,EAAA,MAAM,iBAAiB,UAAW,CAAA,MAAA;AAAA,IAChC,CAAC,KAAK,KAAU,KAAA;AACd,MAAI,IAAA,EAAA;AACJ,MAAA,MAAM,cAAc,EAAC;AACrB,MAAI,IAAA,QAAA,IAAY,MAAM,OAAS,EAAA;AAC7B,QAAA,IAAA,CAAK,KAAK,KAAM,CAAA,OAAA,CAAQ,WAAW,IAAO,GAAA,MAAA,GAAS,GAAG,WAAa,EAAA;AACjE,UAAA,WAAA,CAAY,IAAK,CAAA,GAAG,KAAM,CAAA,OAAA,CAAQ,OAAO,WAAW,CAAA;AAAA;AACtD,iBACS,KAAM,CAAA,OAAA,CAAQ,gBAAoB,IAAA,KAAA,CAAM,QAAQ,iBAAmB,EAAA;AAC5E,QAAA,MAAM,mBAAmB,CAAC;AAAA,UACxB,MAAQ,EAAA,OAAA;AAAA,UACR;AAAA,SACI,KAAA;AACJ,UAAA,IAAI,UAAa,GAAA,OAAA;AACjB,UAAA,IAAI,kBAAsB,IAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,QAAQ,gBAAkB,EAAA;AACzE,YAAa,UAAA,GAAA,KAAA,CAAM,QAAQ,gBAAiB,CAAA,MAAA;AAAA,cAC1C,CAAC,IAAA,EAAM,KAAU,KAAA,KAAA,CAAM,IAAI,CAAA;AAAA,cAC3B;AAAA,aACF;AAAA;AAEF,UAAM,MAAA,MAAA,GAAS,KAAK,UAAU,CAAA;AAC9B,UAAA,IAAI,mBAAuB,IAAA,KAAA,CAAM,OAAW,IAAA,KAAA,CAAM,QAAQ,iBAAmB,EAAA;AAC3E,YAAO,OAAA,KAAA,CAAM,QAAQ,iBAAkB,CAAA,MAAA;AAAA,cACrC,CAAC,IAAA,EAAM,KAAU,KAAA,KAAA,CAAM,IAAI,CAAA;AAAA,cAC3B;AAAA,aACF;AAAA;AAEF,UAAO,OAAA,MAAA;AAAA,SACT;AACA,QAAA,WAAA,CAAY,KAAK,gBAAgB,CAAA;AAAA;AAEnC,MAAI,IAAA,sBAAA,IAA0B,KAAM,CAAA,OAAA,CAAQ,cAAgB,EAAA;AAC1D,QAAA,MAAM,WAAW,CAAC,EAAE,MAAQ,EAAA,OAAA,EAAS,MAAW,KAAA;AAC9C,UAAM,MAAA,MAAA,GAAS,KAAK,OAAO,CAAA;AAC3B,UAAI,IAAA;AACF,YAAA,MAAM,eAAkB,GAAA;AAAA,cACtB,GAAG,MAAA;AAAA,cACH,GAAG,cAAe,CAAA,KAAA,CAAM,QAAQ,cAAgB,EAAA,MAAM,KAAK;AAAC,aAC9D;AACA,YAAO,OAAA,eAAA;AAAA,WACD,CAAA,MAAA;AACN,YAAO,OAAA,MAAA;AAAA;AACT,SACF;AACA,QAAA,WAAA,CAAY,KAAK,QAAQ,CAAA;AAAA;AAE3B,MAAO,OAAA,GAAA,CAAI,OAAO,WAAW,CAAA;AAAA,KAC/B;AAAA,IACA;AAAC,OACE,EAAC;AACN,EAAA,MAAM,KAAQ,GAAA,CAAC,EAAE,MAAA,EAAQ,SAAc,KAAA;AACrC,IAAI,IAAA,CAAC,KAAK,MAAQ,EAAA;AAChB,MAAA,OAAO,EAAC;AAAA;AAEV,IAAI,IAAA,IAAA,CAAK,WAAW,IAAM,EAAA;AACxB,MAAO,OAAA,OAAA;AAAA;AAET,IAAO,OAAA,gBAAA,CAAiB,IAAK,CAAA,MAAA,EAAQ,OAAO,CAAA;AAAA,GAC9C;AACA,EAAA,cAAA,CAAe,KAAK,KAAK,CAAA;AACzB,EAAM,MAAA,SAAA,GAAY,CAAC,KAAA,EAAO,aAAkB,KAAA;AAC1C,IAAI,IAAA,KAAA,IAAS,eAAe,MAAQ,EAAA;AAClC,MAAO,OAAA,aAAA;AAAA;AAET,IAAM,MAAA,UAAA,GAAa,eAAe,KAAK,CAAA;AACvC,IAAM,MAAA,IAAA,GAAO,CAAC,SAAc,KAAA;AAC1B,MAAO,OAAA,SAAA,CAAU,KAAQ,GAAA,CAAA,EAAG,SAAS,CAAA;AAAA,KACvC;AACA,IAAA,OAAO,UAAW,CAAA,EAAE,MAAQ,EAAA,aAAA,EAAe,MAAM,CAAA;AAAA,GACnD;AACA,EAAO,OAAA,SAAA,CAAU,GAAG,MAAM,CAAA;AAC5B;;ACj8DK,MAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB;AAC9D,SAAS,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ;AAC1B,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACrC,IAAI,OAAO,OAAO;AAClB;AACA,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;AACvD,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACzB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,SAAS;AACpD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAI;AAC7C,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AACtB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,OAAO;AAClD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,GAAG;AAC1C,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,KAAK,qBAAqB,EAAE,KAAK,CAAC;AACjG,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,OAAO;AAChB;;ACnBA,MAAM,cAAc,GAAG,4BAA4B;;ACA9C,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACjC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,KAAK,GAAG,KAAK;AACnB,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AAC1D,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB;AACA,EAAE,OAAO,KAAK,IAAI,IAAI;AACtB;;ACJA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK;AAC1B,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;AAC7C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;AACnC,MAAM,MAAM,MAAM,GAAG,EAAE,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;AAC/G,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACjG,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW;AAChC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACpC,QAAQ,SAAS;AACjB,UAAU,KAEF,CAAC;AACT;AACA,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI;AACjF,MAAM,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AAChC,QAAQ,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;AACjC;AACA,MAAM,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,EAAE,KAAK,IAAI;AACxE,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;AACtE,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE;AAChC,QAAQ,IAAI,GAAG,GAAG;AAClB;AACA,MAAM,IAAI,EAAE,KAAK,WAAW,EAAE;AAC9B,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC;AACA,MAAM,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9F,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI;AACvB,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,GAAG,QAAQ;AAC/B,MAAM,IAAI,CAAC,GAAG,GAAG,QAAQ;AACzB,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK;AAC5B,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AAC9B,MAAM,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC1B,MAAM,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;AACtC,MAAM,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG;AAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc;AAChE,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AACpC,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,KAAK;AACrC,MAAM,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC5C,KAAK;AACL,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC;AACA,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC7D,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C;AACA,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,KAAK;AACtC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,KAAK;AAChC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK;AAC5B,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM;AAC1B,MAAM,OAAO,IAAI;AACjB,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE;AAChC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;AACtE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE;AAC9F,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC5E;AACA;AACA,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB;AACA,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB;AACA,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB;AACA,EAAE,IAAI,QAAQ,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS;AACzB;AACA;AACA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,KAAK;AACL,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE;AAChB;AACA;AACA,MAAM,aAAa,SAAS,SAAS,CAAC;AACtC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB;AACA;;AC1GA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;AACrC;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAC5B,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACjC;AACA,KAAK,CAAC;AACN,IAAI,OAAO,MAAM;AACjB,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,OAAO,EAAE;AACf;AACA,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,OAAO,CAAC;AACR,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO;AACnC,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC1B,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;AAC7C,YAAY,OAAO,MAAM,CAAC,GAAG,CAAC;AAC9B;AACA;AACA,OAAO;AACP;AACA,IAAI,OAAO,MAAM;AACjB,GAAG;AACH;;ACnCA,MAAAC,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,UAAU,CAAC;AACpB,EAAE,OAAO,EAAE;AACX,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AACjC,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE;AAC1D,IAAI,MAAM,OAAO;AACjB;AACA,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE;AACxD,IAAI,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK;AAC7C;AACA,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;AACtD;AACA,SAAS,KAAK,CAAC,KAAK,EAAE;AACtB,EAAE,MAAM,KAAK,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;AAC7D,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;AACtB,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7F;AACA,EAAE,OAAO,KAAK;AACd;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B;;ACxBA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,cAAc,KAAO,EAAA;AAC5B,EAAM,MAAA,cAAA,GAAiB,MAAM,cAAkB,IAAA,cAAA;AAC/C,EAAuB,uBAAAC,qBAAA;AAAA,IACrB,iBAAA;AAAA,IACA;AAAA,MACE,aAAa,KAAM,CAAA,WAAA;AAAA,MACnB,SAAS,KAAM,CAAA,OAAA;AAAA,MACf,QAAU,EAAA,CAAC,EAAE,KAAA,EAAO,OAAY,KAAA;AAC9B,QAAA,IAAI,KAAO,EAAA;AACT,UAAO,OAAAD,OAAA,CAAM,cAAc,cAAgB,EAAA;AAAA,YACzC,KAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA;AAEH,QAAA,OAAO,KAAM,CAAA,QAAA;AAAA;AACf;AACF,GACF;AACF;AACA,MAAM,iBAAA,SAA0BA,QAAM,SAAU,CAAA;AAAA,EAC9C,WAAc,GAAA;AACZ,IAAA,KAAA,CAAM,GAAG,SAAS,CAAA;AAClB,IAAK,IAAA,CAAA,KAAA,GAAQ,EAAE,KAAA,EAAO,IAAK,EAAA;AAAA;AAC7B,EACA,OAAO,yBAAyB,KAAO,EAAA;AACrC,IAAA,OAAO,EAAE,QAAA,EAAU,KAAM,CAAA,WAAA,EAAc,EAAA;AAAA;AACzC,EACA,OAAO,yBAAyB,KAAO,EAAA;AACrC,IAAA,OAAO,EAAE,KAAM,EAAA;AAAA;AACjB,EACA,KAAQ,GAAA;AACN,IAAA,IAAA,CAAK,QAAS,CAAA,EAAE,KAAO,EAAA,IAAA,EAAM,CAAA;AAAA;AAC/B,EACA,kBAAA,CAAmB,WAAW,SAAW,EAAA;AACvC,IAAA,IAAI,UAAU,KAAS,IAAA,SAAA,CAAU,QAAa,KAAA,IAAA,CAAK,MAAM,QAAU,EAAA;AACjE,MAAA,IAAA,CAAK,KAAM,EAAA;AAAA;AACb;AACF,EACA,iBAAA,CAAkB,OAAO,SAAW,EAAA;AAClC,IAAI,IAAA,IAAA,CAAK,MAAM,OAAS,EAAA;AACtB,MAAK,IAAA,CAAA,KAAA,CAAM,OAAQ,CAAA,KAAA,EAAO,SAAS,CAAA;AAAA;AACrC;AACF,EACA,MAAS,GAAA;AACP,IAAO,OAAA,IAAA,CAAK,MAAM,QAAS,CAAA;AAAA,MACzB,KAAA,EAAO,IAAK,CAAA,KAAA,CAAM,QAAa,KAAA,IAAA,CAAK,MAAM,WAAY,EAAA,GAAI,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,KAAA;AAAA,MAC5E,OAAO,MAAM;AACX,QAAA,IAAA,CAAK,KAAM,EAAA;AAAA;AACb,KACD,CAAA;AAAA;AAEL;AACA,SAAS,cAAA,CAAe,EAAE,KAAA,EAAS,EAAA;AACjC,EAAA,MAAM,CAAC,IAAM,EAAA,OAAO,CAAI,GAAAA,OAAA,CAAM,SAAS,KAAqC,CAAA;AAC5E,EAAuB,uBAAAE,sBAAA,CAAK,KAAO,EAAA,EAAE,KAAO,EAAA,EAAE,SAAS,OAAS,EAAA,QAAA,EAAU,MAAO,EAAA,EAAG,QAAU,EAAA;AAAA,oBACvEA,sBAAA,CAAA,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,OAAA,EAAS,MAAQ,EAAA,UAAA,EAAY,QAAU,EAAA,GAAA,EAAK,OAAQ,EAAA,EAAG,QAAU,EAAA;AAAA,sBACtFD,qBAAA,CAAI,QAAU,EAAA,EAAE,KAAO,EAAA,EAAE,UAAU,MAAO,EAAA,EAAG,QAAU,EAAA,uBAAA,EAAyB,CAAA;AAAA,sBAChFA,qBAAA;AAAA,QACd,QAAA;AAAA,QACA;AAAA,UACE,KAAO,EAAA;AAAA,YACL,UAAY,EAAA,MAAA;AAAA,YACZ,QAAU,EAAA,MAAA;AAAA,YACV,MAAQ,EAAA,wBAAA;AAAA,YACR,OAAS,EAAA,aAAA;AAAA,YACT,UAAY,EAAA,MAAA;AAAA,YACZ,YAAc,EAAA;AAAA,WAChB;AAAA,UACA,SAAS,MAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,UAChC,QAAA,EAAU,OAAO,YAAe,GAAA;AAAA;AAClC;AACF,OACC,CAAA;AAAA,oBACaA,qBAAA,CAAI,OAAO,EAAE,KAAA,EAAO,EAAE,MAAQ,EAAA,QAAA,IAAY,CAAA;AAAA,IAC1D,IAAuB,mBAAAA,qBAAA,CAAI,KAAO,EAAA,EAAE,QAA0B,kBAAAA,qBAAA;AAAA,MAC5D,KAAA;AAAA,MACA;AAAA,QACE,KAAO,EAAA;AAAA,UACL,QAAU,EAAA,MAAA;AAAA,UACV,MAAQ,EAAA,eAAA;AAAA,UACR,YAAc,EAAA,QAAA;AAAA,UACd,OAAS,EAAA,OAAA;AAAA,UACT,KAAO,EAAA,KAAA;AAAA,UACP,QAAU,EAAA;AAAA,SACZ;AAAA,QACA,QAAA,EAAU,KAAM,CAAA,OAAA,mBAA8BA,qBAAA,CAAA,MAAA,EAAQ,EAAE,QAAU,EAAA,KAAA,CAAM,OAAQ,EAAC,CAAI,GAAA;AAAA;AACvF,KACF,EAAG,CAAI,GAAA;AAAA,KACN,CAAA;AACL;;AC1FA,MAAAE,gBAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;AACnD,EAAE,OAAO,WAAW,EAAE,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC1J;AACA,SAAS,WAAW,GAAG;AACvB,EAAE,OAAOA,gBAAc,CAAC,oBAAoB;AAC5C,IAAI,SAAS;AACb,IAAI,MAAM,IAAI;AACd,IAAI,MAAM;AACV,GAAG;AACH;AACA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO,MAAM;AACf,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;CCJA,IAAI,KAAK,GAAGP,YAAgB,EAAA;GAC1B,IAAI,GAAGQ,WAAuC,EAAA;AAChD,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAClD,GAAE,MAAM,GAAG,KAAK,CAAC,MAAM;AACvB,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,OAAO,GAAG,KAAK,CAAC,OAAO;AACzB,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,uBAAA,CAAA,gCAAwC,GAAG;AAC3C,GAAE,SAAS;AACX,GAAE,WAAW;AACb,GAAE,iBAAiB;AACnB,GAAE,QAAQ;GACR;GACA;AACF,GAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,GAAE,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;AAChC,KAAI,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5C,KAAI,OAAO,CAAC,OAAO,GAAG,IAAI;AAC1B,IAAG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;GAC7B,OAAO,GAAG,OAAO;AACnB,KAAI,YAAY;AAChB,OAAM,SAAS,gBAAgB,CAAC,YAAY,EAAE;SACtC,IAAI,CAAC,OAAO,EAAE;WACZ,OAAO,GAAG,IAAE;WACZ,gBAAgB,GAAG,YAAY;AACzC,WAAU,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;WACrC,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnD,aAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK;AAC7C,aAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;eACzC,QAAQ,iBAAiB,GAAG,gBAAgB;AAC1D;WACU,QAAQ,iBAAiB,GAAG,YAAY;AAClD;SACQ,gBAAgB,GAAG,iBAAiB;SACpC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO,gBAAgB;AAC7E,SAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;SAC1C,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1E,WAAU,OAAO,CAAC,gBAAgB,GAAG,YAAY,GAAG,gBAAgB;SAC5D,gBAAgB,GAAG,YAAY;SAC/B,QAAQ,iBAAiB,GAAG,aAAa;AACjD;AACA,OAAM,IAAI,OAAO,GAAG,KAAE;AACtB,SAAQ,gBAAgB;AACxB,SAAQ,iBAAiB;AACzB,SAAQ,sBAAsB;AAC9B,WAAU,MAAM,KAAK,iBAAiB,GAAG,IAAI,GAAG,iBAAiB;AACjE,OAAM,OAAO;AACb,SAAQ,YAAY;AACpB,WAAU,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;UACvC;AACT,SAAQ,IAAI,KAAK;AACjB,aAAY;AACZ,aAAY,YAAY;AACxB,eAAc,OAAO,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;AAC/D;QACO;MACF;AACL,KAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO;IACnD;AACH,GAAE,IAAI,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrE,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,QAAQ,GAAG,IAAE;AACxB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;MACnB;AACL,KAAI,CAAC,KAAK;IACP;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;EACb;;;;;;;;;AClFD,CAA2C;GAClCC,YAAA,CAAA,OAAA,GAAUT,8BAAyE,EAAA;;;;;;;ACD5F,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;AAC9C,EAAE,MAAM,KAAK,GAAGU,oDAAgC;AAChD,IAAI,KAAK,CAAC,SAAS;AACnB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,KAAK;AACd;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;AAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AAClE;AACA,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACpC;AACA,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE;AACpD,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,KAAK;AACvD,IAAI,OAAO,IAAI;AACf;AACA,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AACjD,IAAI,OAAO,KAAK;AAChB;AACA,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7G,MAAM,OAAO,KAAK;AAClB;AACA;AACA,EAAE,OAAO,IAAI;AACb;;AC/CA,MAAAN,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAM,aAAa,GAAGA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AAC/C,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,OAAO,aAAa;AACxB;AACA,EAAE,IAAI,MAAM,CAAC,sBAAsB,EAAE;AACrC,IAAI,OAAO,MAAM,CAAC,sBAAsB;AACxC;AACA,EAAE,MAAM,CAAC,sBAAsB,GAAG,aAAa;AAC/C,EAAE,OAAO,aAAa;AACtB;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACpD,EAAE,OAAO;AACT,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAE3D,CAAC;AACH,EAAE,OAAO,KAAK;AACd;;ACTA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;AAClC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,MAAM;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,aAAa;AACvE,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;AACvC,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AAC7C,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7C,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;AAC7E,QAAQ,MAAM,QAAQ,GAAG,gBAAgB;AACzC,UAAU,cAAc,CAAC,OAAO;AAChC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK;AAC3B,SAAS;AACT,QAAQ,cAAc,CAAC,OAAO,GAAG,QAAQ;AACzC,QAAQ,OAAO,QAAQ;AACvB;AACA,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B;AACA,IAAI,OAAO,KAAK;AAChB,GAAG,CAAC;AACJ;;ACxBA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACK,MAAC,YAAY,GAAGA,OAAK,CAAC,aAAa,CAAC,MAAM;AAC/C,MAAM,iBAAiB,GAAGA,OAAK,CAAC,aAAa;AAC7C,EAAE;AACF,CAAC;;ACJD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU;AACzC,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG;AACpC,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC;AACxC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI;AACtC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK;AAC9D,OAAO;AACP,MAAM,SAAS;AACf,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;AAC/C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AACjG,OAAO;AACP,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE;AAC5B,QAAQ,OAAO,MAAM;AACrB;AACA,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AACrD,KAAK;AACL,IAAI,iBAAiB,EAAE,IAAI,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,OAAO,cAAc;AACvB;;ACxBA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACnE;AACA,GAAG,CAAC;AACJ;;ACTA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAClC,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACzD;AACA,GAAG,CAAC;AACJ;;ACRA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;AACnE;AACA,GAAG,CAAC;AACJ;;ACVA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;AACnE;AACA,GAAG,CAAC;AACJ;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,WAAW,CAAC,YAAY,EAAE;AACnC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE;AACzC,EAAE,MAAM,UAAU,GAAG,QAAQ,CAAC;AAC9B,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC;AAC7B,GAAG,CAAC;AACJ,EAAE,OAAOA,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,OAAO,KAAK;AACjB,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ;AAC5H,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,OAAO;AAClB,QAAQ;AACR,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ;AAChE,GAAG;AACH;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,QAAQ,GAAG,WAAW,EAAE;AAChC,EAAE,MAAM,gBAAgB,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE;AAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,MAAM,gBAAgB,CAAC,OAAO,GAAG,KAAK;AACtC;AACA,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/B,EAAE,OAAO,IAAI;AACb;;AChCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,iBAAiB,CAAC,EAAE,EAAE;AAC/B,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE;AACpB,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,EAAE,OAAO,GAAG,CAAC,OAAO;AACpB;AACK,MAAC,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,GAAGA,OAAK,CAAC,eAAe,GAAGA,OAAK,CAAC;AACtF,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC;AAC3B,IAAI,KAAK;AACT,IAAI,IAAI,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK;AACnC,EAAE,IAAI,KAAK,KAAK,OAAO,EAAE;AACzB,IAAI,GAAG,CAAC,OAAO,GAAG;AAClB,MAAM,KAAK;AACX,MAAM,IAAI,EAAE;AACZ,KAAK;AACL;AACA,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI;AACzB;AACA,SAAS,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,2BAA2B,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE;AAChG,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE;AACxF,MAAM;AACN;AACA,IAAI,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;AAC3D,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,KAAK,EAAE,2BAA2B,CAAC;AACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,IAAI,OAAO,MAAM;AACjB,MAAM,QAAQ,CAAC,UAAU,EAAE;AAC3B,KAAK;AACL,GAAG,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACpE;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,EAAEA,OAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAC5D,EAAE,OAAO,QAAQ;AACjB;;ACvCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAA,CAAA,SAAA,CAAA,GAAA,MAAA,YAAA,CAAA,WAAA,CAAA;AAMA,SAAS,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,gBAAgB,GAAGA,OAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM;AACR;AACA,IAAI,WAAW;AACf,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,EAAE;AACN,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,kBAAkB;AACtB,IAAI,OAAO;AACX,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,cAAc;AAClB;AACA,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,aAAa;AACjB;AACA,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,cAAc,EAAE,eAAe;AACnC,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,aAAa;AACjB,IAAI,GAAG;AACP,GAAG,GAAG,OAAO;AACb,EAAE,MAAM,IAAI,GAAGA,OAAK,CAAC,OAAO,CAAC,MAAM;AACnC,IAAI,IAAI;AACR,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;AACjB,MAAM,OAAO,UAAU;AACvB,KAAK,CAAC,MAAM;AACZ;AACA,IAAI,OAAO,UAAU;AACrB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACV,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM;AACpC,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;AAC7C,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAGA,OAAK,CAAC,OAAO;AAC5B,IAAI,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;AACpD;AACA,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,aAAa;AACnB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,IAAI;AACV,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,KAAK;AACnB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC;AACd;AACA,GAAG;AACH,EAAE,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU;AACxC,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,UAAU,GAAG,KAAK,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;AAC7G,EAAE,MAAM,YAAY,GAAG,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC;AAClF,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,UAAU,EAAE,OAAO,KAAK;AAClC,MAAM,IAAI,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE;AAChE,QAAQ,MAAM,SAAS,GAAG,aAAa;AACvC,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ;AAC7B,UAAU,IAAI,CAAC,QAAQ;AACvB,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,UAAU,OAAO,KAAK;AACtB;AACA,OAAO,MAAM;AACb,QAAQ,MAAM,gBAAgB,GAAG,mBAAmB;AACpD,UAAU,CAAC,CAAC,QAAQ,CAAC,QAAQ;AAC7B,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,MAAM,aAAa,GAAG,mBAAmB;AACjD,UAAU,IAAI,CAAC,QAAQ;AACvB,UAAU,MAAM,CAAC;AACjB,SAAS;AACT,QAAQ,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,gBAAgB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;AACnL,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,UAAU,OAAO,KAAK;AACtB;AACA;AACA,MAAM,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,aAAa,KAAK,IAAI,EAAE;AAClF,QAAQ,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrE,UAAU,OAAO,EAAE,EAAE,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;AAC1E,UAAU,eAAe,EAAE,EAAE,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,iBAAiB;AAC7F,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,UAAU,OAAO,KAAK;AACtB;AACA;AACA,MAAM,IAAI,aAAa,IAAI,IAAI,GAAG,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE;AACtE,QAAQ,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;AAC5C;AACA,MAAM,OAAO,IAAI;AACjB;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAGA,OAAK,CAAC,WAAW;AACrC,IAAI,MAAM;AACV,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AAC/D,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACzB,QAAQ,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;AACpC,OAAO,CAAC;AACR,KAAK;AACL;AACA,IAAI;AACJ,MAAM,MAAM;AACZ,MAAM,OAAO,CAAC,EAAE;AAChB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,IAAI;AACV,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,MAAM;AACpB,MAAM,OAAO,CAAC,KAAK;AACnB,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,cAAc;AAC5B,MAAM,OAAO,CAAC,kBAAkB;AAChC,MAAM,OAAO,CAAC,IAAI;AAClB,MAAM,OAAO,CAAC,aAAa;AAC3B,MAAM,OAAO,CAAC,cAAc;AAC5B,MAAM,OAAO,CAAC,OAAO;AACrB,MAAM,OAAO,CAAC,WAAW;AACzB,MAAM,OAAO,CAAC;AACd;AACA,GAAG;AACH,EAAE,MAAM,yBAAyB,GAAGA,OAAK,CAAC,WAAW;AACrD,IAAI,CAAC,KAAK,KAAK;AACf,MAAM,IAAI,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,cAAc,EAAE;AACzD,QAAQ,SAAS,EAAE;AACnB;AACA,KAAK;AACL,IAAI,CAAC,SAAS;AACd,GAAG;AACH,EAAE,uBAAuB;AACzB,IAAI,QAAQ;AACZ,IAAI,yBAAyB;AAC7B,IAAI,2BAA2B;AAC/B,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC;AACvD,GAAG;AACH,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAClC,MAAM;AACN;AACA,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;AAC3C,MAAM,SAAS,EAAE;AACjB,MAAM,gBAAgB,CAAC,OAAO,GAAG,IAAI;AACrC;AACA,GAAG,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,OAAO;AACX,MAAM,GAAG,iBAAiB;AAC1B,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,IAAI;AACV,MAAM,IAAI,EAAE,EAAE;AACd,MAAM,GAAG,QAAQ,IAAI,EAAE,QAAQ,EAAE;AACjC,MAAM,GAAG,MAAM,IAAI,EAAE,MAAM,EAAE;AAC7B,MAAM,GAAG,QAAQ,IAAI,EAAE,QAAQ,EAAE;AACjC,MAAM,GAAG,KAAK,IAAI,EAAE,KAAK,EAAE;AAC3B,MAAM,GAAG,SAAS,IAAI,EAAE,SAAS,EAAE;AACnC,MAAM,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE;AAC/B,MAAM,GAAG,OAAO,IAAI,EAAE,OAAO,EAAE;AAC/B,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY,EAAE;AACzC,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY,EAAE;AACzC,MAAM,GAAG,YAAY,IAAI,EAAE,YAAY;AACvC,KAAK;AACL;AACA,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClH,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,SAAS,CAAC,MAAM;AACtB,QAAQ,kBAAkB,CAAC,IAAI,CAAC;AAChC,OAAO,CAAC;AACR,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM;AACzD,QAAQ,KAAK,EAAE;AACf,QAAQ,kBAAkB,CAAC,KAAK,CAAC;AACjC,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,QAAQ,CAAC;AACtB,QAAQ,GAAG,OAAO;AAClB,QAAQ,IAAI;AACZ,QAAQ,OAAO;AACf,QAAQ,WAAW;AACnB,QAAQ,kBAAkB;AAC1B,QAAQ,eAAe;AACvB,QAAQ,cAAc;AACtB,QAAQ;AACR,OAAO,CAAC;AACR;AACA,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,EAAE;AAClB,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,SAAS,EAAE;AACjB;AACA,GAAG;AACH,EAAE,MAAM,gBAAgB,GAAG,WAAW;AACtC,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE;AAC9B,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,MAAM,SAAS,EAAE;AACjB,KAAK,MAAM;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM;AAClC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;AACvC,QAAQ;AACR;AACA,MAAM,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM;AAClC,QAAQ,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AACtC,QAAQ,SAAS,EAAE;AACnB,OAAO,EAAE,YAAY,CAAC;AACtB,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACrC;AACA,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK;AAC7B,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE;AAC/C,IAAI,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM;AAChC,IAAI,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;AAC1C,IAAI,IAAI,EAAE,EAAE;AACZ,MAAM,YAAY,CAAC,EAAE,CAAC;AACtB,MAAM,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;AACpC;AACA,GAAG;AACH,EAAE,MAAM,mBAAmB,GAAG,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,oBAAoB,GAAG,mBAAmB;AACxH,EAAE,MAAM,qBAAqB,GAAG,QAAQ,GAAG,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,mBAAmB;AAC3H,EAAE,MAAM,iBAAiB,GAAG;AAC5B,IAAI,SAAS;AACb,IAAI,mBAAmB,CAAC,SAAS;AACjC,IAAI,qBAAqB,CAAC;AAC1B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,IAAI,qBAAqB,CAAC,KAAK,KAAK;AAC/F,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG,mBAAmB,CAAC,KAAK;AAChC,IAAI,GAAG,qBAAqB,CAAC;AAC7B,GAAG;AACH,EAAE,OAAO;AACT,IAAI,GAAG,iBAAiB;AACxB,IAAI,GAAG,mBAAmB;AAC1B,IAAI,GAAG,qBAAqB;AAC5B,IAAI,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9I,IAAI,GAAG,EAAE,QAAQ;AACjB,IAAI,OAAO,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,IAAI,OAAO,EAAE,eAAe,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AACpD,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAC9D,IAAI,YAAY,EAAE,eAAe,CAAC,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AACnE,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ;AACxB,IAAI,MAAM;AACV,IAAI,GAAG,aAAa,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE;AAChD,IAAI,GAAG,iBAAiB,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE;AAC5D,IAAI,GAAG,QAAQ,IAAI,qBAAqB;AACxC,IAAI,GAAG,QAAQ,IAAI,mBAAmB;AACtC,IAAI,GAAG,eAAe,IAAI;AAC1B,GAAG;AACH;AACA,MAAM,mBAAmB,GAAG,EAAE;AAC9B,MAAM,oBAAoB,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;AACpD,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE;AACrE,MAAM,mBAAmB,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE;AAC/E,MAAM,0BAA0B,GAAG,EAAE,oBAAoB,EAAE,eAAe,EAAE;AAC5E,MAAM,UAAU,mBAAmB,IAAI,OAAO,EAAE;AAChD,MAAM,2BAA2B,GAAG;AACpC,EAAE,UAAU,EAAE;AACd,CAAC;AACD,MAAM,eAAe,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,KAAK;AAC7C,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAChD,IAAI,IAAI,CAAC,CAAC,gBAAgB,EAAE;AAC5B,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAOA,OAAK,CAAC,UAAU,CAAC,SAAS,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;AAC3D,IAAI,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACvE,GAAG,CAAC;AACJ;AACK,MAAC,IAAI,GAAGD,OAAK,CAAC,UAAU;AAC7B,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK;AAClB,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AACvC,IAAI,MAAM;AACV,MAAM,IAAI,EAAE,KAAK;AACjB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,GAAG;AACT,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC;AAC/B,IAAI,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC;AACzE,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CAAC,KAAK;AAC7C,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ;AACtB,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE;AAC7B,MAAM,OAAO,SAAS,CAAC,QAAQ;AAC/B;AACA,IAAI,OAAOA,OAAK,CAAC,aAAa;AAC9B,MAAM,QAAQ,GAAG,QAAQ,GAAG,GAAG;AAC/B,MAAM;AACN,QAAQ,GAAG,SAAS;AACpB,QAAQ,GAAG,EAAE;AACb,OAAO;AACP,MAAM;AACN,KAAK;AACL;AACA;AACA,SAAS,WAAW,CAAC,CAAC,EAAE;AACxB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC;AAC7D;AACK,MAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACjC,EAAE,OAAO,OAAO;AAChB;;ACzUA,MAAA,cAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AASA,SAAS,WAAW,CAAC,EAAE,EAAE;AACzB,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7B;AACA,MAAM,QAAQ,SAAS,YAAY,CAAC;AACpC;AACA;AACA;AACA,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ;AAC1D,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACzE,KAAK,CAAC;AACN;AACA;AACA,MAAM,KAAK,SAAS,SAAS,CAAC;AAC9B;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF;AACA,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C;AACA;AACA,SAAS,WAAW,CAAC,OAAO,EAAE;AAC9B,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;AAC3B;AACA,SAAS,0BAA0B,GAAG;AACtC,EAAE,OAAO,CAAC,OAAO,KAAK;AACtB,IAAI,OAAO,eAAe,CAAC,OAAO,CAAC;AACnC,GAAG;AACH;AACK,MAAC,oBAAoB,GAAG;AAC7B,MAAM,SAAS,SAAS,aAAa,CAAC;AACtC;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACxD,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1F,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;AACnD,QAAQ,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,iBAAiB;AACzE,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF;AACA,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C;AACA;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;AAC/B;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,IAAI;AACb;AACA,MAAM,aAAa,SAAS,KAAK,CAAC;AAClC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC;AACV,MAAM,GAAG,OAAO;AAChB,MAAM,EAAE,EAAE;AACV,KAAK,CAAC;AACN;AACA;;ACtLA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC/B,MAAM,MAAM,EAAE;AACd,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACxB;AACA,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC7B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC,CAAC,WAAW;AAChB;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACpC,MAAM,OAAO;AACb,QAAQ,IAAI,CAAC,MAEP,CAAC;AACP,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;AACxC,MAAM,KAAK,CAAC,MAAM,GAAG,KAAK;AAC1B,MAAM,OAAO,KAAK;AAClB,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACvD;AACA;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAKhC,EAAE,OAAO,CAAC,QAAQ,KAAK,QAAQ;AAC/B;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC/B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC;AAC1D,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,KAAK;AACtC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7F,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,iBAAiB;AAC3E,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM;AACrD,QAAQ,iBAAiB,EAAE,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,iBAAiB;AAC3E,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,KAAK;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,KAAK;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/E,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5C;AACA;AACA,SAAS,eAAe,CAAC,EAAE,EAAE;AAC7B,EAAE,OAAO,CAAC,IAAI,KAAK;AACnB,IAAI,OAAO,IAAI,SAAS,CAAC;AACzB,MAAM,EAAE;AACR,MAAM,GAAG;AACT,KAAK,CAAC;AACN,GAAG;AACH;AACA,SAAS,mBAAmB,CAAC,EAAE,EAAE;AACjC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAC9B,IAAI,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;AAC5B;AACA,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACjD;;ACjGA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE;AAClD,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,KAAK;AACX,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,IAAI,GAAG,MAAM;AACrB,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;AAC7C,QAAQ,WAAW,GAAG,MAAM;AAC5B,QAAQ,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;AAC3C,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACxB,QAAQ,KAAK,GAAG,GAAG;AACnB,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC1C,UAAU,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAChH,YAAY,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACrD,cAAc,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;AACrD,cAAc,MAAM,GAAG,IAAI;AAC3B;AACA;AACA;AACA,OAAO,CAAC;AACR;AACA,IAAI,OAAO,WAAW;AACtB,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE;AACxC,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC9B,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM;AAC9B,OAAO,CAAC;AACR;AACA,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,KAAK;AACjB;AACA,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,MAAM,IAAI,EAAE;AAClB;AACA,IAAI,OAAOA,OAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;AAC3C,GAAG;AACH,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,OAAO,QAAQ;AACjB;;AC3CA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAKA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,kBAAkB,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrE,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;AAC1D,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM;AACpB,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS;AAC5B,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,SAAS;AACrE,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,eAAe,IAAI,iBAAiB;AACxE,EAAE,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAC;AACxD,EAAE,MAAM,aAAa,GAAG,SAAS,IAAI,iBAAiB;AACtD,EAAE,MAAM,qBAAqB,GAAG,WAAW,CAAC,aAAa,CAAC;AAC1D,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK;AACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC;AAC5B,IAAIA,OAAK,CAAC,eAAe,CAAC,MAAM;AAChC,MAAM,EAAE,EAAE;AACV,MAAM,kBAAkB,CAAC,KAAK,CAAC;AAC/B,KAAK,CAAC;AACN,GAAG;AACH,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,MAAM,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;AACxC,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,sBAAsB,EAAE;AAC9B,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;AACxF,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/D;AACA,IAAI,OAAO,MAAM;AACjB,MAAM,KAAK,EAAE;AACb,KAAK;AACL,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI;AACJ;AACA,MAAM,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC;AAChI,MAAM;AACN,MAAM;AACN;AACA,IAAI,kBAAkB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1D,IAAI,MAAM,OAAO,GAAG,YAAY;AAChC,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3B,OAAO,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1B;AACA,KAAK;AACL,IAAI,OAAO,EAAE;AACb,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACd,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE;AACzC,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,QAAQ;AACtB;AACA,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR;AACA,GAAG,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,qBAAqB,IAAI,CAAC,aAAa,EAAE;AACjD,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,oBAAoB;AAClC,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR;AACA,GAAG,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,oBAAoB,IAAI,CAAC,YAAY,EAAE;AAC/C,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;AACtC,QAAQ,GAAG,CAAC;AACZ,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,gBAAgB,EAAE,CAAC,CAAC;AAC5B,OAAO,CAAC,CAAC;AACT,MAAM,gBAAgB,CAAC,MAAM,CAAC;AAC9B;AACA,GAAG,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAClD,EAAE,OAAO,IAAI;AACb;;AC1FA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAChE,GAAG,CAAC;AACJ,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACrC,QAAQ,IAAI,EAAE;AACd,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC;AAClF,SAAS,MAAM;AACf,UAAU,MAAM,KAAK;AACrB;AACA,OAAO;AACP,MAAM,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;AACrC,QAAQ,IAAI,EAAE;AACd,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/E,SAAS,MAAM;AACf,UAAU,MAAM,KAAK;AACrB;AACA,OAAO;AACP,MAAM,QAAQ,EAAE,KAAK,CAAC;AACtB;AACA,GAAG;AACH;AACA,SAAS,qBAAqB,GAAG;AACjC,EAAE,uBAAuBA,qBAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC5D;;ACjCA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,uBAAuBA,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AACpE;;ACAA,SAAS,mBAAA,CAAoB,MAAQ,EAAA,KAAA,EAAO,IAAM,EAAA;AAChD,EAAI,IAAA,CAAC,KAAM,CAAA,OAAA,CAAQ,iBAAmB,EAAA;AACpC,IAAI,IAAA,MAAA,CAAO,QAAQ,wBAA0B,EAAA;AAC3C,MAAA,6CAA2B,MAAO,CAAA,OAAA,CAAQ,wBAA0B,EAAA,EAAE,MAAM,CAAA;AAAA;AAQ9E,IAAuB,uBAAAN,qBAAA,CAAI,qBAAuB,EAAA,EAAE,CAAA;AAAA;AAEtD,EAAA,6CAA2B,KAAM,CAAA,OAAA,CAAQ,iBAAmB,EAAA,EAAE,MAAM,CAAA;AACtE;;AChBA,SAAS,UAAU,CAAC;AACpB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,OAAO,IAAI;AACf;AACA,EAAE,uBAAuBA,qBAAG;AAC5B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,SAAS,EAAE,MAAM;AACvB,MAAM,uBAAuB,EAAE;AAC/B,QAAQ,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI;AACpD;AACA;AACA,GAAG;AACH;;ACZA,SAASO,mBAAiB,GAAG;AAC7B,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B;AACzF,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;AAC/C,EAAE,MAAM,WAAW,GAAG,OAAO,KAAK,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,MAAM;AAC1G,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACrD,IAAI,OAAO,IAAI;AACf;AACA,EAAE,MAAM,oBAAoB,GAAG;AAC/B,IAAI,UAAU;AACd,IAAI,uBAAuB,EAAE;AAC7B,GAAG;AACH,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,oBAAoB,CAAC,GAAG,GAAG,WAAW;AAC1C;AACA,EAAE,uBAAuBP,qBAAG;AAC5B,IAAI,UAAU;AACd,IAAI;AACJ,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACvF;AACA,GAAG;AACH;;ACxBA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAaK,MAAC,KAAK,GAAGA,OAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC;AAC5C,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,EAAE,EAAE;AACZ,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC;AACpC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC3D,MAAM,SAAS;AACf,QAAQ,KAEF,CAAC;AACP,MAAM,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;AACrD,EAAE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB;AACnG,EAAE,MAAM,cAAc,GAAG,gBAAgB,mBAAmBC,qBAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,IAAI;AAC5F,EAAE,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB;AAClG,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;AAC7E,EAAE,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM;AAC7C;AACA,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS;AACnH,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACrC,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,KAAK,WAAW;AAClF,EAAE,MAAM,wBAAwB;AAChC;AACA,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,aAAa,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,GAAGD,OAAK,CAAC,QAAQ,GAAG;AACxO,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,aAAa,GAAG,YAAY;AAClF,EAAE,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,aAAa,GAAG,YAAY;AACxF,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,cAAc,CAAC;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,GAAG;AACb,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAChE,MAAM,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO;AACxE;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,YAAY,GAAG,YAAY;AACnG,EAAE,uBAAuBE,sBAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE;AAC1D,oBAAoBD,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG;AAClL,MAAM,qBAAqB;AAC3B,MAAM;AACN,QAAQ,WAAW,EAAE,MAAM,QAAQ;AACnC,QAAQ,cAAc,EAAE,mBAAmB,IAAI,cAAc;AAC7D,QAAQ,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACvC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK;AAE5C,UAAU,YAAY,IAAI,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;AACxE,SAAS;AACT,QAAQ,QAAQ,kBAAkBA,qBAAG;AACrC,UAAU,wBAAwB;AAClC,UAAU;AACV,YAAY,QAAQ,EAAE,CAAC,KAAK,KAAK;AACjC,cAAc,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;AACrI,gBAAgB,MAAM,KAAK;AAC3B,cAAc,OAAOD,OAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AACvE,aAAa;AACb,YAAY,QAAQ,EAAE,aAAa,IAAI,UAAU,CAAC,eAAe,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,mBAAmBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE;AACvO;AACA;AACA;AACA,KAAK,EAAE,CAAC,EAAE,CAAC;AACX,IAAI,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,mBAAmBC,sBAAI,CAACK,0BAAQ,EAAE,EAAE,QAAQ,EAAE;AACnH,sBAAsBN,qBAAG,CAAC,UAAU,EAAE,EAAE,CAAC;AACzC,sBAAsBA,qBAAG,CAACO,mBAAiB,EAAE,EAAE;AAC/C,KAAK,EAAE,CAAC,GAAG;AACX,GAAG,EAAE,CAAC;AACN,CAAC;AACD,SAAS,UAAU,GAAG;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,eAAe,GAAGR,OAAK,CAAC,MAAM;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,wBAAwB,EAAE,IAAI;AACpC,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK;AACnB,QAAQ,IAAI,EAAE,KAAK,eAAe,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AACvH,UAAU,MAAM,CAAC,IAAI,CAAC;AACtB,YAAY,IAAI,EAAE,YAAY;AAC9B,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AACjD,WAAW,CAAC;AACZ,UAAU,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc;AACzD;AACA;AACA,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AAChC,GAAG;AACH;AACA,MAAM,UAAU,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC;AACtD,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACjD,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AACrE,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;AAC1C,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB;AAC5G,MAAM,MAAM,WAAW,GAAG,SAAS,IAAI,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AACjE,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,UAAU,EAAE,MAAM,CAAC,UAAU;AACrC,QAAQ,MAAM,EAAE,MAAM,CAAC,aAAa;AACpC,QAAQ,MAAM,EAAE,MAAM,CAAC;AACvB,OAAO,CAAC;AACR,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM;AACrE,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;AAC5B,UAAU,IAAI;AACd,UAAU,QAAQ;AAClB,UAAU,OAAO;AACjB,UAAU,eAAe;AACzB,UAAU;AACV,SAAS;AACT,OAAO;AACP,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,MAAM;AAClC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB;AAC3E,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;AAC/C;AACA,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrE,EAAE,IAAI,KAAK,CAAC,eAAe,EAAE;AAC7B,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB;AACtF;AACA,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE;AAC3B,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,iBAAiB;AAClF;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB;AACzF,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE;AACrG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC5B,QAAQ,MAAM,iBAAiB,GAAG,uBAAuB,EAAE;AAC3D,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AACrC,UAAU,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AAClD,YAAY,GAAG,IAAI;AACnB,YAAY;AACZ,WAAW,CAAC,CAAC;AACb,SAAS,CAAC;AACV,QAAQ,UAAU,CAAC,MAAM;AACzB,UAAU,iBAAiB,CAAC,OAAO,EAAE;AACrC,UAAU,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AAClD,YAAY,GAAG,IAAI;AACnB,YAAY,iBAAiB,EAAE;AAC/B,WAAW,CAAC,CAAC;AACb,SAAS,EAAE,YAAY,CAAC;AACxB;AACA;AACA,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW;AAC5E;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;AACnC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AAC1D;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;AACrC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW;AAC5E;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;AAChC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE;AACzB,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,KAAK,cAAc;AAC1H,MAAM,uBAAuBA,qBAAG;AAChC,QAAQ,mBAAmB;AAC3B,QAAQ;AACR,UAAU,KAAK,EAAE,KAAK,CAAC,KAAK;AAC5B,UAAU,KAAK,EAAE,MAAM;AACvB,UAAU,IAAI,EAAE;AAChB,YAAY,cAAc,EAAE;AAC5B;AACA;AACA,OAAO;AACP;AACA,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB;AACA,EAAE,OAAO,GAAG;AACZ,CAAC,CAAC;AACG,MAAC,MAAM,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,UAAU,GAAG;AAChD,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,OAAO;AACzF;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAC9C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC/D,MAAM,SAAS;AACf,QAAQ,WAEF,CAAC;AACP,MAAM,OAAO,WAAW,CAAC,cAAc;AACvC;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC9D,MAAM,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE;AAC/D;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,mBAAmBC,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,IAAI;AACxI,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACrD;AACA,EAAE,IAAI,CAAC,YAAY,EAAE;AACrB,IAAI,OAAO,IAAI;AACf;AACA,EAAE,MAAM,SAAS,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACzE,EAAE,IAAI,OAAO,KAAK,WAAW,EAAE;AAC/B,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjG;AACA,EAAE,OAAO,SAAS;AAClB,CAAC;;ACnPD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AASA,SAAS,OAAO,GAAG;AACnB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,mBAAmBC,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,IAAI;AACxI,EAAE,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,GAAGD,OAAK,CAAC,QAAQ;AAC3H,EAAE,MAAM,KAAK,mBAAmBE,sBAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE;AAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,oBAAoBD,qBAAG,CAAC,YAAY,EAAE,EAAE,CAAC;AAC7D,oBAAoBA,qBAAG,CAAC,YAAY,EAAE,EAAE;AACxC,GAAG,EAAE,CAAC;AACN,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,mBAAmBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK;AAC9G;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,EAAE;AACzD;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,OAAO,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;AACjF,EAAE,uBAAuBA,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,0BAA0B,GAAG,cAAc,mBAAmBA,qBAAG;AAChK,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,cAAc,EAAE,cAAc;AACpC,MAAM,OAAO,EAAE,CAAC,KAAK,KAAK;AAK1B,QAAQ,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzD,OAAO;AACP,MAAM,QAAQ,EAAE;AAChB;AACA,GAAG,EAAE,CAAC;AACN;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,cAAc,CAAC;AACjB,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,IAAI,EAAE;AACZ,MAAM,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AAC9F,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAOD,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,IAAI,KAAK;AACd,MAAM,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAC5E,MAAM,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;AACrC,QAAQ,OAAO;AACf,QAAQ,aAAa;AACrB,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO,CAAC;AACR,KAAK;AACL,IAAI,CAAC,MAAM;AACX,GAAG;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,UAAU,GAAG,aAAa,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAC5C,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AACjC;AACA,EAAE,OAAO,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI;AACvC;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AACnC,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,KAAK;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc;AACxD,OAAO;AACP,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,KAAK;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG;AAC5D,OAAO;AACP,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AACnF,KAAK;AACL,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AACpD,GAAG,CAAC;AACJ;;AC7GK,MAAC,YAAY,GAAG,CAAC,OAAO,KAAK;AAClC,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;AAC5B;AACA,MAAM,MAAM,SAAS,UAAU,CAAC;AAChC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB;AACA;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACvC,EAAE,UAAU,CAAC,eAAe,GAAG,eAAe;AAC9C,EAAE,UAAU,CAAC,mBAAmB,GAAG,mBAAmB;AACtD,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC1C,EAAE,MAAM,CAAC,eAAe,GAAG,eAAe;AAC1C,EAAE,MAAM,CAAC,eAAe,GAAG,mBAAmB;AAC9C;;ACbA,SAAS,qBAAqB,CAAC;AAC/B,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,GAAG;AACL,CAAC,EAAE;AACH,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,IAAI,MAAM,CAAC,MAAM,CAAC;AAClB,MAAM,GAAG,MAAM,CAAC,OAAO;AACvB,MAAM,GAAG,IAAI;AACb,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO;AACjC,QAAQ,GAAG,IAAI,CAAC;AAChB;AACA,KAAK,CAAC;AACN;AACA,EAAE,MAAM,aAAa,GAAG,gBAAgB,EAAE;AAC1C,EAAE,MAAM,QAAQ,mBAAmBC,qBAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3F,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3B,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3E;AACA,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;AAC7C,EAAE,uBAAuBA,qBAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;AACpH;;ACzBA,SAAS,oBAAuB,GAAA;AAC9B,EAAA,MAAM,SAAS,SAAU,EAAA;AACzB,EAAA,sBAAA,CAAuB,QAAQ,IAAI,CAAA;AACrC;AACA,SAAS,kBAAkB,MAAQ,EAAA;AACjC,EAAqB,oBAAA,EAAA;AAMrB,EAAO,OAAA,IAAA;AACT;AACA,SAAS,4BAA4B,OAAS,EAAA;AAC5C,EAAA,IAAI,EAAI,EAAA,EAAA;AACR,EAAqB,oBAAA,EAAA;AACrB,EAAA,MAAM,SAAS,SAAU,EAAA;AACzB,EAAM,MAAA,MAAA,GAAS,QAAQ,MAAU,IAAA,8BAAA;AACjC,EAAA,IAAI,eAAkB,GAAA,EAAA;AACtB,EAAA,IAAI,QAAQ,EAAI,EAAA;AACd,IAAkB,eAAA,GAAA,CAAA,6BAAA,EAAgC,QAAQ,EAAE,CAAA,EAAA,CAAA;AAAA,GACvD,MAAA;AACL,IAAM,MAAA,OAAA,GAAA,CAAW,KAAK,OAAQ,CAAA,UAAA,KAAe,OAAO,MAAS,GAAA,EAAA,CAAG,KAAK,OAAO,CAAA;AAC5E,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAA;AAAA;AAEF,IAAA,eAAA,GAAkB,OAAmB,YAAA,MAAA,GAAS,QAAW,GAAA,cAAA,CAAe,OAAO,CAAA;AAAA;AAEjF,EAAM,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,cAAc,CAAA;AAC/C,EAAA,MAAM,SAAS,EAAK,GAAA,sBAAA,KAA2B,OAAO,MAAS,GAAA,EAAA,CAAG,MAAM,UAAU,CAAA;AAClF,EAAA,OAAO,KAAS,IAAA,IAAA,GAAO,MAAS,GAAA,KAAA,CAAM,eAAe,CAAA;AACvD;;ACjCA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC9C,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,MAAM,IAAI;AAC/B,MAAM,YAAY,EAAE;AACpB,KAAK;AACL;AACA,EAAE,IAAI,eAAe,IAAI,IAAI,EAAE;AAC/B,IAAI,OAAO,IAAI;AACf;AACA,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;AACnD,IAAI,MAAM,iBAAiB,GAAG,YAAY;AAC1C,MAAM,IAAI,YAAY,EAAE,OAAO,MAAM,IAAI,EAAE;AAC3C,MAAM,OAAO,KAAK;AAClB,KAAK;AACL,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,iBAAiB;AACtC,MAAM,kBAAkB,EAAE,YAAY;AACtC,MAAM,YAAY,EAAE;AACpB,KAAK;AACL;AACA,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS;AAC3B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB;AACA,IAAI,OAAO,WAAW;AACtB,GAAG;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE;AACrC,EAAE,MAAM;AACR,IAAI,aAAa;AACjB,IAAI,kBAAkB,GAAG,IAAI;AAC7B,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,YAAY,GAAG;AACnB,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC;AACjD,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE;AACX,GAAG,CAAC;AACJ,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK;AACvD,MAAM,SAAS,WAAW,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrE,QAAQ,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB;AACrD,UAAU,cAAc,CAAC,QAAQ;AACjC,UAAU;AACV,SAAS;AACT,QAAQ,IAAI,aAAa,CAAC,UAAU,KAAK,MAAM,EAAE;AACjD,UAAU,MAAM,IAAI,KAAK,CAAC,CAAC,4BAA4B,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE;AACA,QAAQ,OAAO;AACf,UAAU,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE;AAC9C,UAAU,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ;AACrD,UAAU,QAAQ,EAAE,cAAc,CAAC,QAAQ;AAC3C,UAAU,MAAM,EAAE,aAAa,CAAC,WAAW;AAC3C,UAAU,MAAM,EAAE,cAAc,CAAC;AACjC,SAAS;AACT;AACA,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC;AAChE,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAC9C,QAAQ,MAAM,EAAE,aAAa,CAAC,MAAM;AACpC,QAAQ,OAAO;AACf,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,OAAO,WAAW;AAC1B;AACA,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,OAAO,KAAK;AACpB;AACA,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AAC/C,QAAQ,WAAW,CAAC;AACpB,UAAU,MAAM,EAAE,SAAS;AAC3B,UAAU,OAAO;AACjB,UAAU,IAAI;AACd,UAAU,MAAM,EAAE,aAAa,CAAC,MAAM;AACtC,UAAU,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;AACvC,UAAU,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI;AACnC,SAAS,CAAC;AACV,OAAO,CAAC;AACR,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO;AAC5C,MAAM,WAAW,CAAC;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,OAAO,gBAAgB;AAC7B,KAAK;AACL,IAAI,OAAO,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAClG,GAAG,EAAE;AACL,IAAI,aAAa;AACjB,IAAI,kBAAkB;AACtB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,MAAM,yBAAyB,GAAG,CAAC,KAAK,KAAK;AAC7C,EAAE,IAAI,eAAe,IAAI,KAAK,EAAE;AAChC,IAAI,OAAO,EAAE,GAAG,KAAK,EAAE;AACvB;AACA,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACtD,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS;AAC5B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB;AACA,IAAI,OAAO,WAAW;AACtB,GAAG;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH,CAAC;AACD,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AACpC,EAAE,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,OAAO,QAAQ,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI;AACzF;;AC7IA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxE,GAAG,CAAC;AACJ;;ACLA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AACnG,GAAG,CAAC;AACJ;;ACJA,SAAS,YAAY,GAAG;AACxB,EAAE,OAAO,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;AAC9E;;ACFA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,KAAK,CAAC;AACf,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE;AACH,EAAE,QAAQ,GAAG;AACb,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBC,qBAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjG,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBA,qBAAG;AAChC,QAAQ,OAAO;AACf,QAAQ;AACR,UAAU,GAAG,KAAK;AAClB,UAAU,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ;AACrD;AACA,OAAO;AACP,IAAI,KAAK,QAAQ;AACjB,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7D,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB;AACA;AACA,SAAS,MAAM,CAAC;AAChB,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE;AACH,EAAED,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE;AAC5C,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxD,QAAQ,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACvF,UAAU,MAAM,CAAC,YAAY;AAC7B,YAAY,GAAG;AACf,YAAY,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC1D,WAAW;AACX;AACA;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C;AACA,OAAO;AACP;AACA,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,MAAM,CAAC,WAAW,GAAG,QAAQ;AACnC,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1D,UAAU,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACzF,YAAY,MAAM,CAAC,YAAY;AAC/B,cAAc,GAAG;AACjB,cAAc,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC5D,aAAa;AACb;AACA;AACA;AACA,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C;AACA,OAAO;AACP;AACA,IAAI,OAAO,MAAM;AACjB,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvB,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AAC7E,IAAI,uBAAuBC,qBAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF;AACA,EAAE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACpC,IAAI,uBAAuBA,qBAAG;AAC9B,MAAM,QAAQ;AACd,MAAM;AACN,QAAQ,GAAG,KAAK;AAChB,QAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACrD,QAAQ,wBAAwB,EAAE;AAClC;AACA,KAAK;AACL;AACA,EAAE,OAAO,IAAI;AACb;;ACtFA,MAAA,KAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAA,gBAAAQ,eAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,MAAM,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC;AACnC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACrE;AACA,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACnC,IAAI,MAAM,UAAU,GAAG,EAAE;AACzB,IAAI,MAAM,eAAe,GAAG,EAAE;AAC9B,IAAI,IAAI,KAAK;AACb,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAChD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AAC1C,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE;AACrB,UAAU,IAAI,CAAC,KAAK,EAAE;AACtB,YAAY,KAAK,GAAG;AACpB,cAAc,GAAG,EAAE,OAAO;AAC1B,cAAc,QAAQ,EAAE,CAAC,CAAC;AAC1B,aAAa;AACb;AACA,SAAS,MAAM;AACf,UAAU,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;AAChD,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;AAC5C,cAAc;AACd,aAAa,MAAM;AACnB,cAAc,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI;AAC/C;AACA;AACA,UAAU,UAAU,CAAC,IAAI,CAAC;AAC1B,YAAY,GAAG,EAAE,MAAM;AACvB,YAAY,KAAK,EAAE;AACnB,cAAc,GAAG;AACjB;AACA,WAAW,CAAC;AACZ;AACA,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B;AACA,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,IAAI,OAAO,UAAU;AACrB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACjB,EAAE,MAAM,KAAK,GAAG,cAAc,CAAC;AAC/B,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC3G,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG;AACb;AACA,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ;AACvE,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAClD,QAAQ,IAAI,GAAG;AACf,QAAQ,OAAO,CAAC,CAAC,GAAG,GAAG,QAAQ,IAAI,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE;AACvH,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,GAAG;AAC5E,QAAQ,CAAC,KAAK,MAAM;AACpB,UAAU,GAAG,EAAE,MAAM;AACrB,UAAU,KAAK,EAAE;AACjB,YAAY,GAAG,KAAK,CAAC,KAAK;AAC1B,YAAY,wBAAwB,EAAE;AACtC;AACA,SAAS;AACT,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;AACxC,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,YAAY,GAAG,EAAE;AAC7B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK;AACnB,UAAU,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAC5B,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACxN,YAAY,YAAY,CAAC,IAAI,CAAC;AAC9B,cAAc,GAAG,EAAE,MAAM;AACzB,cAAc,KAAK,EAAE;AACrB,gBAAgB,GAAG,EAAE,eAAe;AACpC,gBAAgB,IAAI,EAAE;AACtB;AACA,aAAa,CAAC;AACd,WAAW,CAAC;AACZ;AACA,OAAO;AACP,MAAM,OAAO,YAAY;AACzB,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC;AAChC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM;AAC3H,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,KAAK;AACX,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACjI,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG;AACX,OAAO;AACP,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAO,MAAM;AACf,IAAI;AACJ,MAAM,GAAG,IAAI;AACb,MAAM,GAAG,WAAW;AACpB,MAAM,GAAG,KAAK;AACd,MAAM,GAAG,MAAM;AACf,MAAM,GAAG;AACT,KAAK;AACL,IAAI,CAAC,CAAC,KAAK;AACX,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9B;AACA,GAAG;AACH,CAAC;AACD,SAAS,WAAW,GAAG;AACvB,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqBA,eAAa,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpH;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE;AACzB,EAAE,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACxC,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC9B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AACxB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACvB,MAAM,OAAO,KAAK;AAClB;AACA,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,OAAO,IAAI;AACf,GAAG,CAAC;AACJ;;AC7IA,MAAA,CAAA,aAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIK,MAAC,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM,MAAM,aAAa,GAAG,EAAE;AAC9B,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ;AACvE,MAAM,IAAI,CAAC,QAAQ,EAAE;AACrB,QAAQ,OAAO,EAAE;AACjB;AACA,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK;AACnB,UAAU,IAAI,GAAG,EAAE,EAAE;AACrB,UAAU,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACnK,YAAY,aAAa,CAAC,IAAI,CAAC;AAC/B,cAAc,GAAG,EAAE,QAAQ;AAC3B,cAAc,KAAK,EAAE,KAAK,CAAC,KAAK;AAChC,cAAc,QAAQ,EAAE,KAAK,CAAC;AAC9B,aAAa,CAAC;AACd,WAAW,CAAC;AACZ;AACA,OAAO;AACP,MAAM,OAAO,aAAa;AAC1B,KAAK;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,MAAM;AACxB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACrH,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,MAAM;AACnB,UAAU,wBAAwB,EAAE;AACpC,SAAS;AACT,QAAQ;AACR,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;AAClD,EAAE,uBAAuBR,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,qBAAqB,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC5K;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]}
|
|
1
|
+
{"version":3,"file":"react-router-DdszvTPE.js","sources":["../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../../../node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/scheduler.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/types.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/store.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.7.2/node_modules/@tanstack/store/dist/esm/derived.js","../../../../../../node_modules/.pnpm/@tanstack+history@1.129.7/node_modules/@tanstack/history/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/path.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/qss.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchParams.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/root.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/lru-cache.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/defer.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.130.8/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/awaited.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ClientOnly.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.0/node_modules/use-sync-external-store/shim/with-selector.js","../../../../../../node_modules/.pnpm/@tanstack+react-store@0.7.3_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-store/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/routerContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouter.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouterState.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/matchContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useMatch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderData.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderDeps.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useParams.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useSearch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useNavigate.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/fileRoute.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/lazyRouteComponent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Transitioner.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/SafeFragment.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Match.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/RouterProvider.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScrollRestoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useBlocker.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouteContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLocation.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useCanGoBack.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Asset.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/HeadContent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.130.8_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Scripts.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","import { Derived } from \"./derived.js\";\nconst __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n const sorted = Array.from(relatedVals).sort((a, b) => {\n if (a instanceof Derived && a.options.deps.includes(b)) return 1;\n if (b instanceof Derived && b.options.deps.includes(a)) return -1;\n return 0;\n });\n for (const derived of sorted) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!relatedLinkedDerivedVals) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n store.listeners.forEach(\n (listener) => listener({\n prevVal: store.prevState,\n currentVal: store.state\n })\n );\n}\nfunction __notifyDerivedListeners(derived) {\n derived.listeners.forEach(\n (listener) => listener({\n prevVal: derived.prevState,\n currentVal: derived.state\n })\n );\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = Array.from(__pendingUpdates)[0];\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","function isUpdaterFunction(updater) {\n return typeof updater === \"function\";\n}\nexport {\n isUpdaterFunction\n};\n//# sourceMappingURL=types.js.map\n","import { __flush } from \"./scheduler.js\";\nimport { isUpdaterFunction } from \"./types.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n setState(updater) {\n var _a, _b, _c;\n this.prevState = this.state;\n if ((_a = this.options) == null ? void 0 : _a.updateFn) {\n this.state = this.options.updateFn(this.prevState)(updater);\n } else {\n if (isUpdaterFunction(updater)) {\n this.state = updater(this.prevState);\n } else {\n this.state = updater;\n }\n }\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","import { Store } from \"./store.js\";\nimport { __storeToDerived, __derivedToStore } from \"./scheduler.js\";\nclass Derived {\n constructor(options) {\n this.listeners = /* @__PURE__ */ new Set();\n this._subscriptions = [];\n this.lastSeenDepValues = [];\n this.getDepVals = () => {\n const prevDepVals = [];\n const currDepVals = [];\n for (const dep of this.options.deps) {\n prevDepVals.push(dep.prevState);\n currDepVals.push(dep.state);\n }\n this.lastSeenDepValues = currDepVals;\n return {\n prevDepVals,\n currDepVals,\n prevVal: this.prevState ?? void 0\n };\n };\n this.recompute = () => {\n var _a, _b;\n this.prevState = this.state;\n const { prevDepVals, currDepVals, prevVal } = this.getDepVals();\n this.state = this.options.fn({\n prevDepVals,\n currDepVals,\n prevVal\n });\n (_b = (_a = this.options).onUpdate) == null ? void 0 : _b.call(_a);\n };\n this.checkIfRecalculationNeededDeeply = () => {\n for (const dep of this.options.deps) {\n if (dep instanceof Derived) {\n dep.checkIfRecalculationNeededDeeply();\n }\n }\n let shouldRecompute = false;\n const lastSeenDepValues = this.lastSeenDepValues;\n const { currDepVals } = this.getDepVals();\n for (let i = 0; i < currDepVals.length; i++) {\n if (currDepVals[i] !== lastSeenDepValues[i]) {\n shouldRecompute = true;\n break;\n }\n }\n if (shouldRecompute) {\n this.recompute();\n }\n };\n this.mount = () => {\n this.registerOnGraph();\n this.checkIfRecalculationNeededDeeply();\n return () => {\n this.unregisterFromGraph();\n for (const cleanup of this._subscriptions) {\n cleanup();\n }\n };\n };\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options).onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.options = options;\n this.state = options.fn({\n prevDepVals: void 0,\n prevVal: void 0,\n currDepVals: this.getDepVals().currDepVals\n });\n }\n registerOnGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n dep.registerOnGraph();\n this.registerOnGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n let relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (!relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals = /* @__PURE__ */ new Set();\n __storeToDerived.set(dep, relatedLinkedDerivedVals);\n }\n relatedLinkedDerivedVals.add(this);\n let relatedStores = __derivedToStore.get(this);\n if (!relatedStores) {\n relatedStores = /* @__PURE__ */ new Set();\n __derivedToStore.set(this, relatedStores);\n }\n relatedStores.add(dep);\n }\n }\n }\n unregisterFromGraph(deps = this.options.deps) {\n for (const dep of deps) {\n if (dep instanceof Derived) {\n this.unregisterFromGraph(dep.options.deps);\n } else if (dep instanceof Store) {\n const relatedLinkedDerivedVals = __storeToDerived.get(dep);\n if (relatedLinkedDerivedVals) {\n relatedLinkedDerivedVals.delete(this);\n }\n const relatedStores = __derivedToStore.get(this);\n if (relatedStores) {\n relatedStores.delete(dep);\n }\n }\n }\n }\n}\nexport {\n Derived\n};\n//# sourceMappingURL=derived.js.map\n","const stateIndexKey = \"__TSR_index\";\nconst popStateEvent = \"popstate\";\nconst beforeUnloadEvent = \"beforeunload\";\nfunction createHistory(opts) {\n let location = opts.getLocation();\n const subscribers = /* @__PURE__ */ new Set();\n const notify = (action) => {\n location = opts.getLocation();\n subscribers.forEach((subscriber) => subscriber({ location, action }));\n };\n const handleIndexChange = (action) => {\n if (opts.notifyOnIndexChange ?? true) notify(action);\n else location = opts.getLocation();\n };\n const tryNavigation = async ({\n task,\n navigateOpts,\n ...actionInfo\n }) => {\n var _a, _b;\n const ignoreBlocker = (navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false;\n if (ignoreBlocker) {\n task();\n return;\n }\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n const isPushOrReplace = actionInfo.type === \"PUSH\" || actionInfo.type === \"REPLACE\";\n if (typeof document !== \"undefined\" && blockers.length && isPushOrReplace) {\n for (const blocker of blockers) {\n const nextLocation = parseHref(actionInfo.path, actionInfo.state);\n const isBlocked = await blocker.blockerFn({\n currentLocation: location,\n nextLocation,\n action: actionInfo.type\n });\n if (isBlocked) {\n (_b = opts.onBlocked) == null ? void 0 : _b.call(opts);\n return;\n }\n }\n }\n task();\n };\n return {\n get location() {\n return location;\n },\n get length() {\n return opts.getLength();\n },\n subscribers,\n subscribe: (cb) => {\n subscribers.add(cb);\n return () => {\n subscribers.delete(cb);\n };\n },\n push: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex + 1, state);\n tryNavigation({\n task: () => {\n opts.pushState(path, state);\n notify({ type: \"PUSH\" });\n },\n navigateOpts,\n type: \"PUSH\",\n path,\n state\n });\n },\n replace: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex, state);\n tryNavigation({\n task: () => {\n opts.replaceState(path, state);\n notify({ type: \"REPLACE\" });\n },\n navigateOpts,\n type: \"REPLACE\",\n path,\n state\n });\n },\n go: (index, navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.go(index);\n handleIndexChange({ type: \"GO\", index });\n },\n navigateOpts,\n type: \"GO\"\n });\n },\n back: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.back((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"BACK\" });\n },\n navigateOpts,\n type: \"BACK\"\n });\n },\n forward: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.forward((navigateOpts == null ? void 0 : navigateOpts.ignoreBlocker) ?? false);\n handleIndexChange({ type: \"FORWARD\" });\n },\n navigateOpts,\n type: \"FORWARD\"\n });\n },\n canGoBack: () => location.state[stateIndexKey] !== 0,\n createHref: (str) => opts.createHref(str),\n block: (blocker) => {\n var _a;\n if (!opts.setBlockers) return () => {\n };\n const blockers = ((_a = opts.getBlockers) == null ? void 0 : _a.call(opts)) ?? [];\n opts.setBlockers([...blockers, blocker]);\n return () => {\n var _a2, _b;\n const blockers2 = ((_a2 = opts.getBlockers) == null ? void 0 : _a2.call(opts)) ?? [];\n (_b = opts.setBlockers) == null ? void 0 : _b.call(opts, blockers2.filter((b) => b !== blocker));\n };\n },\n flush: () => {\n var _a;\n return (_a = opts.flush) == null ? void 0 : _a.call(opts);\n },\n destroy: () => {\n var _a;\n return (_a = opts.destroy) == null ? void 0 : _a.call(opts);\n },\n notify\n };\n}\nfunction assignKeyAndIndex(index, state) {\n if (!state) {\n state = {};\n }\n const key = createRandomKey();\n return {\n ...state,\n key,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: key,\n [stateIndexKey]: index\n };\n}\nfunction createBrowserHistory(opts) {\n var _a, _b;\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n const originalPushState = win.history.pushState;\n const originalReplaceState = win.history.replaceState;\n let blockers = [];\n const _getBlockers = () => blockers;\n const _setBlockers = (newBlockers) => blockers = newBlockers;\n const createHref = (opts == null ? void 0 : opts.createHref) ?? ((path) => path);\n const parseLocation = (opts == null ? void 0 : opts.parseLocation) ?? (() => parseHref(\n `${win.location.pathname}${win.location.search}${win.location.hash}`,\n win.history.state\n ));\n if (!((_a = win.history.state) == null ? void 0 : _a.__TSR_key) && !((_b = win.history.state) == null ? void 0 : _b.key)) {\n const addedKey = createRandomKey();\n win.history.replaceState(\n {\n [stateIndexKey]: 0,\n key: addedKey,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: addedKey\n },\n \"\"\n );\n }\n let currentLocation = parseLocation();\n let rollbackLocation;\n let nextPopIsGo = false;\n let ignoreNextPop = false;\n let skipBlockerNextPop = false;\n let ignoreNextBeforeUnload = false;\n const getLocation = () => currentLocation;\n let next;\n let scheduled;\n const flush = () => {\n if (!next) {\n return;\n }\n history._ignoreSubscribers = true;\n (next.isPush ? win.history.pushState : win.history.replaceState)(\n next.state,\n \"\",\n next.href\n );\n history._ignoreSubscribers = false;\n next = void 0;\n scheduled = void 0;\n rollbackLocation = void 0;\n };\n const queueHistoryAction = (type, destHref, state) => {\n const href = createHref(destHref);\n if (!scheduled) {\n rollbackLocation = currentLocation;\n }\n currentLocation = parseHref(destHref, state);\n next = {\n href,\n state,\n isPush: (next == null ? void 0 : next.isPush) || type === \"push\"\n };\n if (!scheduled) {\n scheduled = Promise.resolve().then(() => flush());\n }\n };\n const onPushPop = (type) => {\n currentLocation = parseLocation();\n history.notify({ type });\n };\n const onPushPopEvent = async () => {\n if (ignoreNextPop) {\n ignoreNextPop = false;\n return;\n }\n const nextLocation = parseLocation();\n const delta = nextLocation.state[stateIndexKey] - currentLocation.state[stateIndexKey];\n const isForward = delta === 1;\n const isBack = delta === -1;\n const isGo = !isForward && !isBack || nextPopIsGo;\n nextPopIsGo = false;\n const action = isGo ? \"GO\" : isBack ? \"BACK\" : \"FORWARD\";\n const notify = isGo ? {\n type: \"GO\",\n index: delta\n } : {\n type: isBack ? \"BACK\" : \"FORWARD\"\n };\n if (skipBlockerNextPop) {\n skipBlockerNextPop = false;\n } else {\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const isBlocked = await blocker.blockerFn({\n currentLocation,\n nextLocation,\n action\n });\n if (isBlocked) {\n ignoreNextPop = true;\n win.history.go(1);\n history.notify(notify);\n return;\n }\n }\n }\n }\n currentLocation = parseLocation();\n history.notify(notify);\n };\n const onBeforeUnload = (e) => {\n if (ignoreNextBeforeUnload) {\n ignoreNextBeforeUnload = false;\n return;\n }\n let shouldBlock = false;\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const shouldHaveBeforeUnload = blocker.enableBeforeUnload ?? true;\n if (shouldHaveBeforeUnload === true) {\n shouldBlock = true;\n break;\n }\n if (typeof shouldHaveBeforeUnload === \"function\" && shouldHaveBeforeUnload() === true) {\n shouldBlock = true;\n break;\n }\n }\n }\n if (shouldBlock) {\n e.preventDefault();\n return e.returnValue = \"\";\n }\n return;\n };\n const history = createHistory({\n getLocation,\n getLength: () => win.history.length,\n pushState: (href, state) => queueHistoryAction(\"push\", href, state),\n replaceState: (href, state) => queueHistoryAction(\"replace\", href, state),\n back: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n return win.history.back();\n },\n forward: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n win.history.forward();\n },\n go: (n) => {\n nextPopIsGo = true;\n win.history.go(n);\n },\n createHref: (href) => createHref(href),\n flush,\n destroy: () => {\n win.history.pushState = originalPushState;\n win.history.replaceState = originalReplaceState;\n win.removeEventListener(beforeUnloadEvent, onBeforeUnload, {\n capture: true\n });\n win.removeEventListener(popStateEvent, onPushPopEvent);\n },\n onBlocked: () => {\n if (rollbackLocation && currentLocation !== rollbackLocation) {\n currentLocation = rollbackLocation;\n }\n },\n getBlockers: _getBlockers,\n setBlockers: _setBlockers,\n notifyOnIndexChange: false\n });\n win.addEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });\n win.addEventListener(popStateEvent, onPushPopEvent);\n win.history.pushState = function(...args) {\n const res = originalPushState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"PUSH\");\n return res;\n };\n win.history.replaceState = function(...args) {\n const res = originalReplaceState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"REPLACE\");\n return res;\n };\n return history;\n}\nfunction createHashHistory(opts) {\n const win = (opts == null ? void 0 : opts.window) ?? (typeof document !== \"undefined\" ? window : void 0);\n return createBrowserHistory({\n window: win,\n parseLocation: () => {\n const hashSplit = win.location.hash.split(\"#\").slice(1);\n const pathPart = hashSplit[0] ?? \"/\";\n const searchPart = win.location.search;\n const hashEntries = hashSplit.slice(1);\n const hashPart = hashEntries.length === 0 ? \"\" : `#${hashEntries.join(\"#\")}`;\n const hashHref = `${pathPart}${searchPart}${hashPart}`;\n return parseHref(hashHref, win.history.state);\n },\n createHref: (href) => `${win.location.pathname}${win.location.search}#${href}`\n });\n}\nfunction createMemoryHistory(opts = {\n initialEntries: [\"/\"]\n}) {\n const entries = opts.initialEntries;\n let index = opts.initialIndex ? Math.min(Math.max(opts.initialIndex, 0), entries.length - 1) : entries.length - 1;\n const states = entries.map(\n (_entry, index2) => assignKeyAndIndex(index2, void 0)\n );\n const getLocation = () => parseHref(entries[index], states[index]);\n return createHistory({\n getLocation,\n getLength: () => entries.length,\n pushState: (path, state) => {\n if (index < entries.length - 1) {\n entries.splice(index + 1);\n states.splice(index + 1);\n }\n states.push(state);\n entries.push(path);\n index = Math.max(entries.length - 1, 0);\n },\n replaceState: (path, state) => {\n states[index] = state;\n entries[index] = path;\n },\n back: () => {\n index = Math.max(index - 1, 0);\n },\n forward: () => {\n index = Math.min(index + 1, entries.length - 1);\n },\n go: (n) => {\n index = Math.min(Math.max(index + n, 0), entries.length - 1);\n },\n createHref: (path) => path\n });\n}\nfunction parseHref(href, state) {\n const hashIndex = href.indexOf(\"#\");\n const searchIndex = href.indexOf(\"?\");\n const addedKey = createRandomKey();\n return {\n href,\n pathname: href.substring(\n 0,\n hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : href.length\n ),\n hash: hashIndex > -1 ? href.substring(hashIndex) : \"\",\n search: searchIndex > -1 ? href.slice(searchIndex, hashIndex === -1 ? void 0 : hashIndex) : \"\",\n state: state || { [stateIndexKey]: 0, key: addedKey, __TSR_key: addedKey }\n };\n}\nfunction createRandomKey() {\n return (Math.random() + 1).toString(36).substring(7);\n}\nexport {\n createBrowserHistory,\n createHashHistory,\n createHistory,\n createMemoryHistory,\n parseHref\n};\n//# sourceMappingURL=index.js.map\n","function last(arr) {\n return arr[arr.length - 1];\n}\nfunction isFunction(d) {\n return typeof d === \"function\";\n}\nfunction functionalUpdate(updater, previous) {\n if (isFunction(updater)) {\n return updater(previous);\n }\n return updater;\n}\nfunction pick(parent, keys) {\n return keys.reduce((obj, key) => {\n obj[key] = parent[key];\n return obj;\n }, {});\n}\nfunction replaceEqualDeep(prev, _next) {\n if (prev === _next) {\n return prev;\n }\n const next = _next;\n const array = isPlainArray(prev) && isPlainArray(next);\n if (array || isSimplePlainObject(prev) && isSimplePlainObject(next)) {\n const prevItems = array ? prev : Object.keys(prev).concat(\n Object.getOwnPropertySymbols(prev)\n );\n const prevSize = prevItems.length;\n const nextItems = array ? next : Object.keys(next).concat(\n Object.getOwnPropertySymbols(next)\n );\n const nextSize = nextItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < nextSize; i++) {\n const key = array ? i : nextItems[i];\n if ((!array && prevItems.includes(key) || array) && prev[key] === void 0 && next[key] === void 0) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(prev[key], next[key]);\n if (copy[key] === prev[key] && prev[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return prevSize === nextSize && equalItems === prevSize ? prev : copy;\n }\n return next;\n}\nfunction isSimplePlainObject(o) {\n return (\n // all the checks from isPlainObject are more likely to hit so we perform them first\n isPlainObject(o) && Object.getOwnPropertyNames(o).length === Object.keys(o).length\n );\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction getObjectKeys(obj, ignoreUndefined) {\n let keys = Object.keys(obj);\n if (ignoreUndefined) {\n keys = keys.filter((key) => obj[key] !== void 0);\n }\n return keys;\n}\nfunction deepEqual(a, b, opts) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (isPlainObject(a) && isPlainObject(b)) {\n const ignoreUndefined = (opts == null ? void 0 : opts.ignoreUndefined) ?? true;\n const aKeys = getObjectKeys(a, ignoreUndefined);\n const bKeys = getObjectKeys(b, ignoreUndefined);\n if (!(opts == null ? void 0 : opts.partial) && aKeys.length !== bKeys.length) {\n return false;\n }\n return bKeys.every((key) => deepEqual(a[key], b[key], opts));\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) {\n return false;\n }\n return !a.some((item, index) => !deepEqual(item, b[index], opts));\n }\n return false;\n}\nfunction createControlledPromise(onResolve) {\n let resolveLoadPromise;\n let rejectLoadPromise;\n const controlledPromise = new Promise((resolve, reject) => {\n resolveLoadPromise = resolve;\n rejectLoadPromise = reject;\n });\n controlledPromise.status = \"pending\";\n controlledPromise.resolve = (value) => {\n controlledPromise.status = \"resolved\";\n controlledPromise.value = value;\n resolveLoadPromise(value);\n onResolve == null ? void 0 : onResolve(value);\n };\n controlledPromise.reject = (e) => {\n controlledPromise.status = \"rejected\";\n rejectLoadPromise(e);\n };\n return controlledPromise;\n}\nfunction escapeJSON(jsonString) {\n return jsonString.replace(/\\\\/g, \"\\\\\\\\\").replace(/'/g, \"\\\\'\").replace(/\"/g, '\\\\\"');\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const item of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, item) || !Object.is(objA[item], objB[item])) {\n return false;\n }\n }\n return true;\n}\nfunction isModuleNotFoundError(error) {\n if (typeof (error == null ? void 0 : error.message) !== \"string\") return false;\n return error.message.startsWith(\"Failed to fetch dynamically imported module\") || error.message.startsWith(\"error loading dynamically imported module\") || error.message.startsWith(\"Importing a module script failed\");\n}\nexport {\n createControlledPromise,\n deepEqual,\n escapeJSON,\n functionalUpdate,\n isModuleNotFoundError,\n isPlainArray,\n isPlainObject,\n last,\n pick,\n replaceEqualDeep,\n shallow\n};\n//# sourceMappingURL=utils.js.map\n","import { last } from \"./utils.js\";\nconst SEGMENT_TYPE_PATHNAME = 0;\nconst SEGMENT_TYPE_PARAM = 1;\nconst SEGMENT_TYPE_WILDCARD = 2;\nconst SEGMENT_TYPE_OPTIONAL_PARAM = 3;\nfunction joinPaths(paths) {\n return cleanPath(\n paths.filter((val) => {\n return val !== void 0;\n }).join(\"/\")\n );\n}\nfunction cleanPath(path) {\n return path.replace(/\\/{2,}/g, \"/\");\n}\nfunction trimPathLeft(path) {\n return path === \"/\" ? path : path.replace(/^\\/{1,}/, \"\");\n}\nfunction trimPathRight(path) {\n return path === \"/\" ? path : path.replace(/\\/{1,}$/, \"\");\n}\nfunction trimPath(path) {\n return trimPathRight(trimPathLeft(path));\n}\nfunction removeTrailingSlash(value, basepath) {\n if ((value == null ? void 0 : value.endsWith(\"/\")) && value !== \"/\" && value !== `${basepath}/`) {\n return value.slice(0, -1);\n }\n return value;\n}\nfunction exactPathTest(pathName1, pathName2, basepath) {\n return removeTrailingSlash(pathName1, basepath) === removeTrailingSlash(pathName2, basepath);\n}\nfunction segmentToString(segment) {\n const { type, value } = segment;\n if (type === SEGMENT_TYPE_PATHNAME) {\n return value;\n }\n const { prefixSegment, suffixSegment } = segment;\n if (type === SEGMENT_TYPE_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$${param}}`;\n } else if (suffixSegment) {\n return `{$${param}}${suffixSegment}`;\n }\n }\n if (type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const param = value.substring(1);\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{-$${param}}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{-$${param}}`;\n } else if (suffixSegment) {\n return `{-$${param}}${suffixSegment}`;\n }\n return `{-$${param}}`;\n }\n if (type === SEGMENT_TYPE_WILDCARD) {\n if (prefixSegment && suffixSegment) {\n return `${prefixSegment}{$}${suffixSegment}`;\n } else if (prefixSegment) {\n return `${prefixSegment}{$}`;\n } else if (suffixSegment) {\n return `{$}${suffixSegment}`;\n }\n }\n return value;\n}\nfunction resolvePath({\n basepath,\n base,\n to,\n trailingSlash = \"never\",\n caseSensitive,\n parseCache\n}) {\n var _a;\n base = removeBasepath(basepath, base, caseSensitive);\n to = removeBasepath(basepath, to, caseSensitive);\n let baseSegments = parsePathname(base, parseCache).slice();\n const toSegments = parsePathname(to, parseCache);\n if (baseSegments.length > 1 && ((_a = last(baseSegments)) == null ? void 0 : _a.value) === \"/\") {\n baseSegments.pop();\n }\n for (let index = 0, length = toSegments.length; index < length; index++) {\n const toSegment = toSegments[index];\n const value = toSegment.value;\n if (value === \"/\") {\n if (!index) {\n baseSegments = [toSegment];\n } else if (index === length - 1) {\n baseSegments.push(toSegment);\n } else ;\n } else if (value === \"..\") {\n baseSegments.pop();\n } else if (value === \".\") ;\n else {\n baseSegments.push(toSegment);\n }\n }\n if (baseSegments.length > 1) {\n if (last(baseSegments).value === \"/\") {\n if (trailingSlash === \"never\") {\n baseSegments.pop();\n }\n } else if (trailingSlash === \"always\") {\n baseSegments.push({ type: SEGMENT_TYPE_PATHNAME, value: \"/\" });\n }\n }\n const segmentValues = baseSegments.map(segmentToString);\n const joined = joinPaths([basepath, ...segmentValues]);\n return joined;\n}\nconst parsePathname = (pathname, cache) => {\n if (!pathname) return [];\n const cached = cache == null ? void 0 : cache.get(pathname);\n if (cached) return cached;\n const parsed = baseParsePathname(pathname);\n cache == null ? void 0 : cache.set(pathname, parsed);\n return parsed;\n};\nconst PARAM_RE = /^\\$.{1,}$/;\nconst PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst OPTIONAL_PARAM_W_CURLY_BRACES_RE = /^(.*?)\\{-(\\$[a-zA-Z_$][a-zA-Z0-9_$]*)\\}(.*)$/;\nconst WILDCARD_RE = /^\\$$/;\nconst WILDCARD_W_CURLY_BRACES_RE = /^(.*?)\\{\\$\\}(.*)$/;\nfunction baseParsePathname(pathname) {\n pathname = cleanPath(pathname);\n const segments = [];\n if (pathname.slice(0, 1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n if (!pathname) {\n return segments;\n }\n const split = pathname.split(\"/\").filter(Boolean);\n segments.push(\n ...split.map((part) => {\n const wildcardBracesMatch = part.match(WILDCARD_W_CURLY_BRACES_RE);\n if (wildcardBracesMatch) {\n const prefix = wildcardBracesMatch[1];\n const suffix = wildcardBracesMatch[2];\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const optionalParamBracesMatch = part.match(\n OPTIONAL_PARAM_W_CURLY_BRACES_RE\n );\n if (optionalParamBracesMatch) {\n const prefix = optionalParamBracesMatch[1];\n const paramName = optionalParamBracesMatch[2];\n const suffix = optionalParamBracesMatch[3];\n return {\n type: SEGMENT_TYPE_OPTIONAL_PARAM,\n value: paramName,\n // Now just $paramName (no prefix)\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n const paramBracesMatch = part.match(PARAM_W_CURLY_BRACES_RE);\n if (paramBracesMatch) {\n const prefix = paramBracesMatch[1];\n const paramName = paramBracesMatch[2];\n const suffix = paramBracesMatch[3];\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"\" + paramName,\n prefixSegment: prefix || void 0,\n suffixSegment: suffix || void 0\n };\n }\n if (PARAM_RE.test(part)) {\n const paramName = part.substring(1);\n return {\n type: SEGMENT_TYPE_PARAM,\n value: \"$\" + paramName,\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n if (WILDCARD_RE.test(part)) {\n return {\n type: SEGMENT_TYPE_WILDCARD,\n value: \"$\",\n prefixSegment: void 0,\n suffixSegment: void 0\n };\n }\n return {\n type: SEGMENT_TYPE_PATHNAME,\n value: part.includes(\"%25\") ? part.split(\"%25\").map((segment) => decodeURI(segment)).join(\"%25\") : decodeURI(part)\n };\n })\n );\n if (pathname.slice(-1) === \"/\") {\n pathname = pathname.substring(1);\n segments.push({\n type: SEGMENT_TYPE_PATHNAME,\n value: \"/\"\n });\n }\n return segments;\n}\nfunction interpolatePath({\n path,\n params,\n leaveWildcards,\n leaveParams,\n decodeCharMap,\n parseCache\n}) {\n const interpolatedPathSegments = parsePathname(path, parseCache);\n function encodeParam(key) {\n const value = params[key];\n const isValueString = typeof value === \"string\";\n if (key === \"*\" || key === \"_splat\") {\n return isValueString ? encodeURI(value) : value;\n } else {\n return isValueString ? encodePathParam(value, decodeCharMap) : value;\n }\n }\n let isMissingParams = false;\n const usedParams = {};\n const interpolatedPath = joinPaths(\n interpolatedPathSegments.map((segment) => {\n if (segment.type === SEGMENT_TYPE_PATHNAME) {\n return segment.value;\n }\n if (segment.type === SEGMENT_TYPE_WILDCARD) {\n usedParams._splat = params._splat;\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(\"_splat\" in params)) {\n isMissingParams = true;\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n const value = encodeParam(\"_splat\");\n if (leaveWildcards) {\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${value}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_PARAM) {\n const key = segment.value.substring(1);\n if (!isMissingParams && !(key in params)) {\n isMissingParams = true;\n }\n usedParams[key] = params[key];\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"undefined\"}${segmentSuffix}`;\n }\n if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const key = segment.value.substring(1);\n const segmentPrefix = segment.prefixSegment || \"\";\n const segmentSuffix = segment.suffixSegment || \"\";\n if (!(key in params) || params[key] == null) {\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${segmentSuffix}`;\n }\n if (segmentPrefix || segmentSuffix) {\n return `${segmentPrefix}${segmentSuffix}`;\n }\n return void 0;\n }\n usedParams[key] = params[key];\n if (leaveParams) {\n const value = encodeParam(segment.value);\n return `${segmentPrefix}${segment.value}${value ?? \"\"}${segmentSuffix}`;\n }\n if (leaveWildcards) {\n return `${segmentPrefix}${key}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return `${segmentPrefix}${encodeParam(key) ?? \"\"}${segmentSuffix}`;\n }\n return segment.value;\n })\n );\n return { usedParams, interpolatedPath, isMissingParams };\n}\nfunction encodePathParam(value, decodeCharMap) {\n let encoded = encodeURIComponent(value);\n if (decodeCharMap) {\n for (const [encodedChar, char] of decodeCharMap) {\n encoded = encoded.replaceAll(encodedChar, char);\n }\n }\n return encoded;\n}\nfunction matchPathname(basepath, currentPathname, matchLocation, parseCache) {\n const pathParams = matchByPath(\n basepath,\n currentPathname,\n matchLocation,\n parseCache\n );\n if (matchLocation.to && !pathParams) {\n return;\n }\n return pathParams ?? {};\n}\nfunction removeBasepath(basepath, pathname, caseSensitive = false) {\n const normalizedBasepath = caseSensitive ? basepath : basepath.toLowerCase();\n const normalizedPathname = caseSensitive ? pathname : pathname.toLowerCase();\n switch (true) {\n // default behaviour is to serve app from the root - pathname\n // left untouched\n case normalizedBasepath === \"/\":\n return pathname;\n // shortcut for removing the basepath if it matches the pathname\n case normalizedPathname === normalizedBasepath:\n return \"\";\n // in case pathname is shorter than basepath - there is\n // nothing to remove\n case pathname.length < basepath.length:\n return pathname;\n // avoid matching partial segments - strict equality handled\n // earlier, otherwise, basepath separated from pathname with\n // separator, therefore lack of separator means partial\n // segment match (`/app` should not match `/application`)\n case normalizedPathname[normalizedBasepath.length] !== \"/\":\n return pathname;\n // remove the basepath from the pathname if it starts with it\n case normalizedPathname.startsWith(normalizedBasepath):\n return pathname.slice(basepath.length);\n // otherwise, return the pathname as is\n default:\n return pathname;\n }\n}\nfunction matchByPath(basepath, from, {\n to,\n fuzzy,\n caseSensitive\n}, parseCache) {\n if (basepath !== \"/\" && !from.startsWith(basepath)) {\n return void 0;\n }\n from = removeBasepath(basepath, from, caseSensitive);\n to = removeBasepath(basepath, `${to ?? \"$\"}`, caseSensitive);\n const baseSegments = parsePathname(\n from.startsWith(\"/\") ? from : `/${from}`,\n parseCache\n );\n const routeSegments = parsePathname(\n to.startsWith(\"/\") ? to : `/${to}`,\n parseCache\n );\n const params = {};\n const result = isMatch(\n baseSegments,\n routeSegments,\n params,\n fuzzy,\n caseSensitive\n );\n return result ? params : void 0;\n}\nfunction isMatch(baseSegments, routeSegments, params, fuzzy, caseSensitive) {\n var _a, _b, _c;\n let baseIndex = 0;\n let routeIndex = 0;\n while (baseIndex < baseSegments.length || routeIndex < routeSegments.length) {\n const baseSegment = baseSegments[baseIndex];\n const routeSegment = routeSegments[routeIndex];\n if (routeSegment) {\n if (routeSegment.type === SEGMENT_TYPE_WILDCARD) {\n const remainingBaseSegments = baseSegments.slice(baseIndex);\n let _splat;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n if (!baseSegment) return false;\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (\"prefixSegment\" in routeSegment) {\n if (!baseValue.startsWith(prefix)) {\n return false;\n }\n }\n if (\"suffixSegment\" in routeSegment) {\n if (!((_a = baseSegments[baseSegments.length - 1]) == null ? void 0 : _a.value.endsWith(suffix))) {\n return false;\n }\n }\n let rejoinedSplat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n if (prefix && rejoinedSplat.startsWith(prefix)) {\n rejoinedSplat = rejoinedSplat.slice(prefix.length);\n }\n if (suffix && rejoinedSplat.endsWith(suffix)) {\n rejoinedSplat = rejoinedSplat.slice(\n 0,\n rejoinedSplat.length - suffix.length\n );\n }\n _splat = rejoinedSplat;\n } else {\n _splat = decodeURI(\n joinPaths(remainingBaseSegments.map((d) => d.value))\n );\n }\n params[\"*\"] = _splat;\n params[\"_splat\"] = _splat;\n return true;\n }\n if (routeSegment.type === SEGMENT_TYPE_PATHNAME) {\n if (routeSegment.value === \"/\" && !(baseSegment == null ? void 0 : baseSegment.value)) {\n routeIndex++;\n continue;\n }\n if (baseSegment) {\n if (caseSensitive) {\n if (routeSegment.value !== baseSegment.value) {\n return false;\n }\n } else if (routeSegment.value.toLowerCase() !== baseSegment.value.toLowerCase()) {\n return false;\n }\n baseIndex++;\n routeIndex++;\n continue;\n } else {\n return false;\n }\n }\n if (routeSegment.type === SEGMENT_TYPE_PARAM) {\n if (!baseSegment) {\n return false;\n }\n if (baseSegment.value === \"/\") {\n return false;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if (prefix && !baseValue.startsWith(prefix)) {\n return false;\n }\n if (suffix && !baseValue.endsWith(suffix)) {\n return false;\n }\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(0, paramValue.length - suffix.length);\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n } else {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n if (routeSegment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n if (!baseSegment) {\n routeIndex++;\n continue;\n }\n if (baseSegment.value === \"/\") {\n routeIndex++;\n continue;\n }\n let _paramValue = \"\";\n let matched = false;\n if (routeSegment.prefixSegment || routeSegment.suffixSegment) {\n const prefix = routeSegment.prefixSegment || \"\";\n const suffix = routeSegment.suffixSegment || \"\";\n const baseValue = baseSegment.value;\n if ((!prefix || baseValue.startsWith(prefix)) && (!suffix || baseValue.endsWith(suffix))) {\n let paramValue = baseValue;\n if (prefix && paramValue.startsWith(prefix)) {\n paramValue = paramValue.slice(prefix.length);\n }\n if (suffix && paramValue.endsWith(suffix)) {\n paramValue = paramValue.slice(\n 0,\n paramValue.length - suffix.length\n );\n }\n _paramValue = decodeURIComponent(paramValue);\n matched = true;\n }\n } else {\n let shouldMatchOptional = true;\n for (let lookAhead = routeIndex + 1; lookAhead < routeSegments.length; lookAhead++) {\n const futureRouteSegment = routeSegments[lookAhead];\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PATHNAME && futureRouteSegment.value === baseSegment.value) {\n shouldMatchOptional = false;\n break;\n }\n if ((futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_PARAM || (futureRouteSegment == null ? void 0 : futureRouteSegment.type) === SEGMENT_TYPE_WILDCARD) {\n break;\n }\n }\n if (shouldMatchOptional) {\n _paramValue = decodeURIComponent(baseSegment.value);\n matched = true;\n }\n }\n if (matched) {\n params[routeSegment.value.substring(1)] = _paramValue;\n baseIndex++;\n }\n routeIndex++;\n continue;\n }\n }\n if (baseIndex < baseSegments.length && routeIndex >= routeSegments.length) {\n params[\"**\"] = joinPaths(\n baseSegments.slice(baseIndex).map((d) => d.value)\n );\n return !!fuzzy && ((_b = routeSegments[routeSegments.length - 1]) == null ? void 0 : _b.value) !== \"/\";\n }\n if (routeIndex < routeSegments.length && baseIndex >= baseSegments.length) {\n for (let i = routeIndex; i < routeSegments.length; i++) {\n if (((_c = routeSegments[i]) == null ? void 0 : _c.type) !== SEGMENT_TYPE_OPTIONAL_PARAM) {\n return false;\n }\n }\n break;\n }\n break;\n }\n return true;\n}\nexport {\n SEGMENT_TYPE_OPTIONAL_PARAM,\n SEGMENT_TYPE_PARAM,\n SEGMENT_TYPE_PATHNAME,\n SEGMENT_TYPE_WILDCARD,\n cleanPath,\n exactPathTest,\n interpolatePath,\n joinPaths,\n matchByPath,\n matchPathname,\n parsePathname,\n removeBasepath,\n removeTrailingSlash,\n resolvePath,\n trimPath,\n trimPathLeft,\n trimPathRight\n};\n//# sourceMappingURL=path.js.map\n","function notFound(options = {}) {\n options.isNotFound = true;\n if (options.throw) throw options;\n return options;\n}\nfunction isNotFound(obj) {\n return !!(obj == null ? void 0 : obj.isNotFound);\n}\nexport {\n isNotFound,\n notFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { functionalUpdate } from \"./utils.js\";\nfunction getSafeSessionStorage() {\n try {\n if (typeof window !== \"undefined\" && typeof window.sessionStorage === \"object\") {\n return window.sessionStorage;\n }\n } catch {\n return void 0;\n }\n return void 0;\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst throttle = (fn, wait) => {\n let timeout;\n return (...args) => {\n if (!timeout) {\n timeout = setTimeout(() => {\n fn(...args);\n timeout = null;\n }, wait);\n }\n };\n};\nfunction createScrollRestorationCache() {\n const safeSessionStorage = getSafeSessionStorage();\n if (!safeSessionStorage) {\n return void 0;\n }\n const persistedState = safeSessionStorage.getItem(storageKey);\n let state = persistedState ? JSON.parse(persistedState) : {};\n return {\n state,\n // This setter is simply to make sure that we set the sessionStorage right\n // after the state is updated. It doesn't necessarily need to be a functional\n // update.\n set: (updater) => (state = functionalUpdate(updater, state) || state, safeSessionStorage.setItem(storageKey, JSON.stringify(state)))\n };\n}\nconst scrollRestorationCache = createScrollRestorationCache();\nconst defaultGetScrollRestorationKey = (location) => {\n return location.state.__TSR_key || location.href;\n};\nfunction getCssSelector(el) {\n const path = [];\n let parent;\n while (parent = el.parentNode) {\n path.unshift(\n `${el.tagName}:nth-child(${[].indexOf.call(parent.children, el) + 1})`\n );\n el = parent;\n }\n return `${path.join(\" > \")}`.toLowerCase();\n}\nlet ignoreScroll = false;\nfunction restoreScroll({\n storageKey: storageKey2,\n key,\n behavior,\n shouldScrollRestoration,\n scrollToTopSelectors,\n location\n}) {\n var _a;\n let byKey;\n try {\n byKey = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n } catch (error) {\n console.error(error);\n return;\n }\n const resolvedKey = key || ((_a = window.history.state) == null ? void 0 : _a.key);\n const elementEntries = byKey[resolvedKey];\n ignoreScroll = true;\n (() => {\n if (shouldScrollRestoration && elementEntries && Object.keys(elementEntries).length > 0) {\n for (const elementSelector in elementEntries) {\n const entry = elementEntries[elementSelector];\n if (elementSelector === \"window\") {\n window.scrollTo({\n top: entry.scrollY,\n left: entry.scrollX,\n behavior\n });\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n element.scrollLeft = entry.scrollX;\n element.scrollTop = entry.scrollY;\n }\n }\n }\n return;\n }\n const hash = (location ?? window.location).hash.split(\"#\")[1];\n if (hash) {\n const hashScrollIntoViewOptions = (window.history.state || {}).__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions) {\n const el = document.getElementById(hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n return;\n }\n [\n \"window\",\n ...(scrollToTopSelectors == null ? void 0 : scrollToTopSelectors.filter((d) => d !== \"window\")) ?? []\n ].forEach((selector) => {\n const element = selector === \"window\" ? window : typeof selector === \"function\" ? selector() : document.querySelector(selector);\n if (element) {\n element.scrollTo({\n top: 0,\n left: 0,\n behavior\n });\n }\n });\n })();\n ignoreScroll = false;\n}\nfunction setupScrollRestoration(router, force) {\n if (scrollRestorationCache === void 0) {\n return;\n }\n const shouldScrollRestoration = force ?? router.options.scrollRestoration ?? false;\n if (shouldScrollRestoration) {\n router.isScrollRestoring = true;\n }\n if (typeof document === \"undefined\" || router.isScrollRestorationSetup) {\n return;\n }\n router.isScrollRestorationSetup = true;\n ignoreScroll = false;\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n window.history.scrollRestoration = \"manual\";\n const onScroll = (event) => {\n if (ignoreScroll || !router.isScrollRestoring) {\n return;\n }\n let elementSelector = \"\";\n if (event.target === document || event.target === window) {\n elementSelector = \"window\";\n } else {\n const attrId = event.target.getAttribute(\n \"data-scroll-restoration-id\"\n );\n if (attrId) {\n elementSelector = `[data-scroll-restoration-id=\"${attrId}\"]`;\n } else {\n elementSelector = getCssSelector(event.target);\n }\n }\n const restoreKey = getKey(router.state.location);\n scrollRestorationCache.set((state) => {\n const keyEntry = state[restoreKey] = state[restoreKey] || {};\n const elementEntry = keyEntry[elementSelector] = keyEntry[elementSelector] || {};\n if (elementSelector === \"window\") {\n elementEntry.scrollX = window.scrollX || 0;\n elementEntry.scrollY = window.scrollY || 0;\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n elementEntry.scrollX = element.scrollLeft || 0;\n elementEntry.scrollY = element.scrollTop || 0;\n }\n }\n return state;\n });\n };\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"scroll\", throttle(onScroll, 100), true);\n }\n router.subscribe(\"onRendered\", (event) => {\n const cacheKey = getKey(event.toLocation);\n if (!router.resetNextScroll) {\n router.resetNextScroll = true;\n return;\n }\n restoreScroll({\n storageKey,\n key: cacheKey,\n behavior: router.options.scrollRestorationBehavior,\n shouldScrollRestoration: router.isScrollRestoring,\n scrollToTopSelectors: router.options.scrollToTopSelectors,\n location: router.history.location\n });\n if (router.isScrollRestoring) {\n scrollRestorationCache.set((state) => {\n state[cacheKey] = state[cacheKey] || {};\n return state;\n });\n }\n });\n}\nfunction handleHashScroll(router) {\n if (typeof document !== \"undefined\" && document.querySelector) {\n const hashScrollIntoViewOptions = router.state.location.state.__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions && router.state.location.hash !== \"\") {\n const el = document.getElementById(router.state.location.hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n }\n}\nexport {\n defaultGetScrollRestorationKey,\n getCssSelector,\n handleHashScroll,\n restoreScroll,\n scrollRestorationCache,\n setupScrollRestoration,\n storageKey\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","function encode(obj, pfx) {\n const normalizedObject = Object.entries(obj).flatMap(([key, value]) => {\n if (Array.isArray(value)) {\n return value.map((v) => [key, String(v)]);\n } else {\n return [[key, String(value)]];\n }\n });\n const searchParams = new URLSearchParams(normalizedObject);\n return (pfx || \"\") + searchParams.toString();\n}\nfunction toValue(str) {\n if (!str) return \"\";\n if (str === \"false\") return false;\n if (str === \"true\") return true;\n return +str * 0 === 0 && +str + \"\" === str ? +str : str;\n}\nfunction decode(str, pfx) {\n const searchParamsPart = pfx ? str.slice(pfx.length) : str;\n const searchParams = new URLSearchParams(searchParamsPart);\n const entries = [...searchParams.entries()];\n return entries.reduce((acc, [key, value]) => {\n const previousValue = acc[key];\n if (previousValue == null) {\n acc[key] = toValue(value);\n } else {\n acc[key] = Array.isArray(previousValue) ? [...previousValue, toValue(value)] : [previousValue, toValue(value)];\n }\n return acc;\n }, {});\n}\nexport {\n decode,\n encode\n};\n//# sourceMappingURL=qss.js.map\n","import { decode, encode } from \"./qss.js\";\nconst defaultParseSearch = parseSearchWith(JSON.parse);\nconst defaultStringifySearch = stringifySearchWith(\n JSON.stringify,\n JSON.parse\n);\nfunction parseSearchWith(parser) {\n return (searchStr) => {\n if (searchStr.substring(0, 1) === \"?\") {\n searchStr = searchStr.substring(1);\n }\n const query = decode(searchStr);\n for (const key in query) {\n const value = query[key];\n if (typeof value === \"string\") {\n try {\n query[key] = parser(value);\n } catch (err) {\n }\n }\n }\n return query;\n };\n}\nfunction stringifySearchWith(stringify, parser) {\n function stringifyValue(val) {\n if (typeof val === \"object\" && val !== null) {\n try {\n return stringify(val);\n } catch (err) {\n }\n } else if (typeof val === \"string\" && typeof parser === \"function\") {\n try {\n parser(val);\n return stringify(val);\n } catch (err) {\n }\n }\n return val;\n }\n return (search) => {\n search = { ...search };\n Object.keys(search).forEach((key) => {\n const val = search[key];\n if (typeof val === \"undefined\" || val === void 0) {\n delete search[key];\n } else {\n search[key] = stringifyValue(val);\n }\n });\n const searchStr = encode(search).toString();\n return searchStr ? `?${searchStr}` : \"\";\n };\n}\nexport {\n defaultParseSearch,\n defaultStringifySearch,\n parseSearchWith,\n stringifySearchWith\n};\n//# sourceMappingURL=searchParams.js.map\n","const rootRouteId = \"__root__\";\nexport {\n rootRouteId\n};\n//# sourceMappingURL=root.js.map\n","function redirect(opts) {\n opts.statusCode = opts.statusCode || opts.code || 307;\n if (!opts.reloadDocument) {\n try {\n new URL(`${opts.href}`);\n opts.reloadDocument = true;\n } catch {\n }\n }\n const headers = new Headers(opts.headers || {});\n if (opts.href && headers.get(\"Location\") === null) {\n headers.set(\"Location\", opts.href);\n }\n const response = new Response(null, {\n status: opts.statusCode,\n headers\n });\n response.options = opts;\n if (opts.throw) {\n throw response;\n }\n return response;\n}\nfunction isRedirect(obj) {\n return obj instanceof Response && !!obj.options;\n}\nfunction isResolvedRedirect(obj) {\n return isRedirect(obj) && !!obj.options.href;\n}\nfunction parseRedirect(obj) {\n if (typeof obj === \"object\" && obj.isSerializedRedirect) {\n return redirect(obj);\n }\n return void 0;\n}\nexport {\n isRedirect,\n isResolvedRedirect,\n parseRedirect,\n redirect\n};\n//# sourceMappingURL=redirect.js.map\n","function createLRUCache(max) {\n const cache = /* @__PURE__ */ new Map();\n let oldest;\n let newest;\n const touch = (entry) => {\n if (!entry.next) return;\n if (!entry.prev) {\n entry.next.prev = void 0;\n oldest = entry.next;\n entry.next = void 0;\n if (newest) {\n entry.prev = newest;\n newest.next = entry;\n }\n } else {\n entry.prev.next = entry.next;\n entry.next.prev = entry.prev;\n entry.next = void 0;\n if (newest) {\n newest.next = entry;\n entry.prev = newest;\n }\n }\n newest = entry;\n };\n return {\n get(key) {\n const entry = cache.get(key);\n if (!entry) return void 0;\n touch(entry);\n return entry.value;\n },\n set(key, value) {\n if (cache.size >= max && oldest) {\n const toDelete = oldest;\n cache.delete(toDelete.key);\n if (toDelete.next) {\n oldest = toDelete.next;\n toDelete.next.prev = void 0;\n }\n if (toDelete === newest) {\n newest = void 0;\n }\n }\n const existing = cache.get(key);\n if (existing) {\n existing.value = value;\n touch(existing);\n } else {\n const entry = { key, value, prev: newest };\n if (newest) newest.next = entry;\n newest = entry;\n if (!oldest) oldest = entry;\n cache.set(key, entry);\n }\n }\n };\n}\nexport {\n createLRUCache\n};\n//# sourceMappingURL=lru-cache.js.map\n","import { Store, batch } from \"@tanstack/store\";\nimport { createMemoryHistory, createBrowserHistory, parseHref } from \"@tanstack/history\";\nimport invariant from \"tiny-invariant\";\nimport { pick, createControlledPromise, deepEqual, replaceEqualDeep, last, functionalUpdate } from \"./utils.js\";\nimport { trimPath, resolvePath, cleanPath, matchPathname, trimPathRight, interpolatePath, joinPaths, trimPathLeft, parsePathname, SEGMENT_TYPE_PARAM, SEGMENT_TYPE_OPTIONAL_PARAM, SEGMENT_TYPE_WILDCARD, SEGMENT_TYPE_PATHNAME } from \"./path.js\";\nimport { isNotFound } from \"./not-found.js\";\nimport { setupScrollRestoration } from \"./scroll-restoration.js\";\nimport { defaultParseSearch, defaultStringifySearch } from \"./searchParams.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect, isRedirect } from \"./redirect.js\";\nimport { createLRUCache } from \"./lru-cache.js\";\nfunction defaultSerializeError(err) {\n if (err instanceof Error) {\n const obj = {\n name: err.name,\n message: err.message\n };\n if (process.env.NODE_ENV === \"development\") {\n obj.stack = err.stack;\n }\n return obj;\n }\n return {\n data: err\n };\n}\nfunction getLocationChangeInfo(routerState) {\n const fromLocation = routerState.resolvedLocation;\n const toLocation = routerState.location;\n const pathChanged = (fromLocation == null ? void 0 : fromLocation.pathname) !== toLocation.pathname;\n const hrefChanged = (fromLocation == null ? void 0 : fromLocation.href) !== toLocation.href;\n const hashChanged = (fromLocation == null ? void 0 : fromLocation.hash) !== toLocation.hash;\n return { fromLocation, toLocation, pathChanged, hrefChanged, hashChanged };\n}\nclass RouterCore {\n /**\n * @deprecated Use the `createRouter` function instead\n */\n constructor(options) {\n this.tempLocationKey = `${Math.round(\n Math.random() * 1e7\n )}`;\n this.resetNextScroll = true;\n this.shouldViewTransition = void 0;\n this.isViewTransitionTypesSupported = void 0;\n this.subscribers = /* @__PURE__ */ new Set();\n this.isScrollRestoring = false;\n this.isScrollRestorationSetup = false;\n this.startTransition = (fn) => fn();\n this.update = (newOptions) => {\n var _a;\n if (newOptions.notFoundRoute) {\n console.warn(\n \"The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.\"\n );\n }\n const previousOptions = this.options;\n this.options = {\n ...this.options,\n ...newOptions\n };\n this.isServer = this.options.isServer ?? typeof document === \"undefined\";\n this.pathParamsDecodeCharMap = this.options.pathParamsAllowedCharacters ? new Map(\n this.options.pathParamsAllowedCharacters.map((char) => [\n encodeURIComponent(char),\n char\n ])\n ) : void 0;\n if (!this.basepath || newOptions.basepath && newOptions.basepath !== previousOptions.basepath) {\n if (newOptions.basepath === void 0 || newOptions.basepath === \"\" || newOptions.basepath === \"/\") {\n this.basepath = \"/\";\n } else {\n this.basepath = `/${trimPath(newOptions.basepath)}`;\n }\n }\n if (!this.history || this.options.history && this.options.history !== this.history) {\n this.history = this.options.history ?? (this.isServer ? createMemoryHistory({\n initialEntries: [this.basepath || \"/\"]\n }) : createBrowserHistory());\n this.latestLocation = this.parseLocation();\n }\n if (this.options.routeTree !== this.routeTree) {\n this.routeTree = this.options.routeTree;\n this.buildRouteTree();\n }\n if (!this.__store) {\n this.__store = new Store(getInitialRouterState(this.latestLocation), {\n onUpdate: () => {\n this.__store.state = {\n ...this.state,\n cachedMatches: this.state.cachedMatches.filter(\n (d) => ![\"redirected\"].includes(d.status)\n )\n };\n }\n });\n setupScrollRestoration(this);\n }\n if (typeof window !== \"undefined\" && \"CSS\" in window && typeof ((_a = window.CSS) == null ? void 0 : _a.supports) === \"function\") {\n this.isViewTransitionTypesSupported = window.CSS.supports(\n \"selector(:active-view-transition-type(a)\"\n );\n }\n };\n this.buildRouteTree = () => {\n const { routesById, routesByPath, flatRoutes } = processRouteTree({\n routeTree: this.routeTree,\n initRoute: (route, i) => {\n route.init({\n originalIndex: i\n });\n }\n });\n this.routesById = routesById;\n this.routesByPath = routesByPath;\n this.flatRoutes = flatRoutes;\n const notFoundRoute = this.options.notFoundRoute;\n if (notFoundRoute) {\n notFoundRoute.init({\n originalIndex: 99999999999\n });\n this.routesById[notFoundRoute.id] = notFoundRoute;\n }\n };\n this.subscribe = (eventType, fn) => {\n const listener = {\n eventType,\n fn\n };\n this.subscribers.add(listener);\n return () => {\n this.subscribers.delete(listener);\n };\n };\n this.emit = (routerEvent) => {\n this.subscribers.forEach((listener) => {\n if (listener.eventType === routerEvent.type) {\n listener.fn(routerEvent);\n }\n });\n };\n this.parseLocation = (previousLocation, locationToParse) => {\n const parse = ({\n pathname,\n search,\n hash,\n state\n }) => {\n const parsedSearch = this.options.parseSearch(search);\n const searchStr = this.options.stringifySearch(parsedSearch);\n return {\n pathname,\n searchStr,\n search: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.search, parsedSearch),\n hash: hash.split(\"#\").reverse()[0] ?? \"\",\n href: `${pathname}${searchStr}${hash}`,\n state: replaceEqualDeep(previousLocation == null ? void 0 : previousLocation.state, state)\n };\n };\n const location = parse(locationToParse ?? this.history.location);\n const { __tempLocation, __tempKey } = location.state;\n if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) {\n const parsedTempLocation = parse(__tempLocation);\n parsedTempLocation.state.key = location.state.key;\n parsedTempLocation.state.__TSR_key = location.state.__TSR_key;\n delete parsedTempLocation.state.__tempLocation;\n return {\n ...parsedTempLocation,\n maskedLocation: location\n };\n }\n return location;\n };\n this.resolvePathWithBase = (from, path) => {\n const resolvedPath = resolvePath({\n basepath: this.basepath,\n base: from,\n to: cleanPath(path),\n trailingSlash: this.options.trailingSlash,\n caseSensitive: this.options.caseSensitive,\n parseCache: this.parsePathnameCache\n });\n return resolvedPath;\n };\n this.matchRoutes = (pathnameOrNext, locationSearchOrOpts, opts) => {\n if (typeof pathnameOrNext === \"string\") {\n return this.matchRoutesInternal(\n {\n pathname: pathnameOrNext,\n search: locationSearchOrOpts\n },\n opts\n );\n }\n return this.matchRoutesInternal(pathnameOrNext, locationSearchOrOpts);\n };\n this.parsePathnameCache = createLRUCache(1e3);\n this.getMatchedRoutes = (pathname, routePathname) => {\n return getMatchedRoutes({\n pathname,\n routePathname,\n basepath: this.basepath,\n caseSensitive: this.options.caseSensitive,\n routesByPath: this.routesByPath,\n routesById: this.routesById,\n flatRoutes: this.flatRoutes,\n parseCache: this.parsePathnameCache\n });\n };\n this.cancelMatch = (id) => {\n const match = this.getMatch(id);\n if (!match) return;\n match.abortController.abort();\n this.updateMatch(id, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n pendingTimeout: void 0\n };\n });\n };\n this.cancelMatches = () => {\n var _a;\n (_a = this.state.pendingMatches) == null ? void 0 : _a.forEach((match) => {\n this.cancelMatch(match.id);\n });\n };\n this.buildLocation = (opts) => {\n const build = (dest = {}) => {\n var _a;\n const currentLocation = dest._fromLocation || this.latestLocation;\n const allCurrentLocationMatches = this.matchRoutes(currentLocation, {\n _buildLocation: true\n });\n const lastMatch = last(allCurrentLocationMatches);\n let fromPath = lastMatch.fullPath;\n const toPath = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n const routeIsChanging = !!dest.to && !comparePaths(dest.to.toString(), fromPath) && !comparePaths(toPath, fromPath);\n if (dest.unsafeRelative === \"path\") {\n fromPath = currentLocation.pathname;\n } else if (routeIsChanging && dest.from) {\n fromPath = dest.from;\n if (process.env.NODE_ENV !== \"production\" && dest._isNavigate) {\n const allFromMatches = this.getMatchedRoutes(\n dest.from,\n void 0\n ).matchedRoutes;\n const matchedFrom = [...allCurrentLocationMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, fromPath);\n });\n const matchedCurrent = [...allFromMatches].reverse().find((d) => {\n return comparePaths(d.fullPath, currentLocation.pathname);\n });\n if (!matchedFrom && !matchedCurrent) {\n console.warn(`Could not find match for from: ${fromPath}`);\n }\n }\n }\n const fromSearch = lastMatch.search;\n const fromParams = { ...lastMatch.params };\n const nextTo = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n let nextParams = dest.params === false || dest.params === null ? {} : (dest.params ?? true) === true ? fromParams : {\n ...fromParams,\n ...functionalUpdate(dest.params, fromParams)\n };\n const interpolatedNextTo = interpolatePath({\n path: nextTo,\n params: nextParams ?? {},\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n const destRoutes = this.matchRoutes(\n interpolatedNextTo,\n {},\n {\n _buildLocation: true\n }\n ).map((d) => this.looseRoutesById[d.routeId]);\n if (Object.keys(nextParams).length > 0) {\n destRoutes.map((route) => {\n var _a2;\n return ((_a2 = route.options.params) == null ? void 0 : _a2.stringify) ?? route.options.stringifyParams;\n }).filter(Boolean).forEach((fn) => {\n nextParams = { ...nextParams, ...fn(nextParams) };\n });\n }\n const nextPathname = interpolatePath({\n // Use the original template path for interpolation\n // This preserves the original parameter syntax including optional parameters\n path: nextTo,\n params: nextParams ?? {},\n leaveWildcards: false,\n leaveParams: opts.leaveParams,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath;\n let nextSearch = fromSearch;\n if (opts._includeValidateSearch && ((_a = this.options.search) == null ? void 0 : _a.strict)) {\n let validatedSearch = {};\n destRoutes.forEach((route) => {\n try {\n if (route.options.validateSearch) {\n validatedSearch = {\n ...validatedSearch,\n ...validateSearch(route.options.validateSearch, {\n ...validatedSearch,\n ...nextSearch\n }) ?? {}\n };\n }\n } catch {\n }\n });\n nextSearch = validatedSearch;\n }\n nextSearch = applySearchMiddleware({\n search: nextSearch,\n dest,\n destRoutes,\n _includeValidateSearch: opts._includeValidateSearch\n });\n nextSearch = replaceEqualDeep(fromSearch, nextSearch);\n const searchStr = this.options.stringifySearch(nextSearch);\n const hash = dest.hash === true ? currentLocation.hash : dest.hash ? functionalUpdate(dest.hash, currentLocation.hash) : void 0;\n const hashStr = hash ? `#${hash}` : \"\";\n let nextState = dest.state === true ? currentLocation.state : dest.state ? functionalUpdate(dest.state, currentLocation.state) : {};\n nextState = replaceEqualDeep(currentLocation.state, nextState);\n return {\n pathname: nextPathname,\n search: nextSearch,\n searchStr,\n state: nextState,\n hash: hash ?? \"\",\n href: `${nextPathname}${searchStr}${hashStr}`,\n unmaskOnReload: dest.unmaskOnReload\n };\n };\n const buildWithMatches = (dest = {}, maskedDest) => {\n var _a;\n const next = build(dest);\n let maskedNext = maskedDest ? build(maskedDest) : void 0;\n if (!maskedNext) {\n let params = {};\n const foundMask = (_a = this.options.routeMasks) == null ? void 0 : _a.find((d) => {\n const match = matchPathname(\n this.basepath,\n next.pathname,\n {\n to: d.from,\n caseSensitive: false,\n fuzzy: false\n },\n this.parsePathnameCache\n );\n if (match) {\n params = match;\n return true;\n }\n return false;\n });\n if (foundMask) {\n const { from: _from, ...maskProps } = foundMask;\n maskedDest = {\n ...pick(opts, [\"from\"]),\n ...maskProps,\n params\n };\n maskedNext = build(maskedDest);\n }\n }\n if (maskedNext) {\n const maskedFinal = build(maskedDest);\n next.maskedLocation = maskedFinal;\n }\n return next;\n };\n if (opts.mask) {\n return buildWithMatches(opts, {\n ...pick(opts, [\"from\"]),\n ...opts.mask\n });\n }\n return buildWithMatches(opts);\n };\n this.commitLocation = ({\n viewTransition,\n ignoreBlocker,\n ...next\n }) => {\n const isSameState = () => {\n const ignoredProps = [\n \"key\",\n // TODO: Remove in v2 - use __TSR_key instead\n \"__TSR_key\",\n \"__TSR_index\",\n \"__hashScrollIntoViewOptions\"\n ];\n ignoredProps.forEach((prop) => {\n next.state[prop] = this.latestLocation.state[prop];\n });\n const isEqual = deepEqual(next.state, this.latestLocation.state);\n ignoredProps.forEach((prop) => {\n delete next.state[prop];\n });\n return isEqual;\n };\n const isSameUrl = this.latestLocation.href === next.href;\n const previousCommitPromise = this.commitLocationPromise;\n this.commitLocationPromise = createControlledPromise(() => {\n previousCommitPromise == null ? void 0 : previousCommitPromise.resolve();\n });\n if (isSameUrl && isSameState()) {\n this.load();\n } else {\n let { maskedLocation, hashScrollIntoView, ...nextHistory } = next;\n if (maskedLocation) {\n nextHistory = {\n ...maskedLocation,\n state: {\n ...maskedLocation.state,\n __tempKey: void 0,\n __tempLocation: {\n ...nextHistory,\n search: nextHistory.searchStr,\n state: {\n ...nextHistory.state,\n __tempKey: void 0,\n __tempLocation: void 0,\n __TSR_key: void 0,\n key: void 0\n // TODO: Remove in v2 - use __TSR_key instead\n }\n }\n }\n };\n if (nextHistory.unmaskOnReload ?? this.options.unmaskOnReload ?? false) {\n nextHistory.state.__tempKey = this.tempLocationKey;\n }\n }\n nextHistory.state.__hashScrollIntoViewOptions = hashScrollIntoView ?? this.options.defaultHashScrollIntoView ?? true;\n this.shouldViewTransition = viewTransition;\n this.history[next.replace ? \"replace\" : \"push\"](\n nextHistory.href,\n nextHistory.state,\n { ignoreBlocker }\n );\n }\n this.resetNextScroll = next.resetScroll ?? true;\n if (!this.history.subscribers.size) {\n this.load();\n }\n return this.commitLocationPromise;\n };\n this.buildAndCommitLocation = ({\n replace,\n resetScroll,\n hashScrollIntoView,\n viewTransition,\n ignoreBlocker,\n href,\n ...rest\n } = {}) => {\n if (href) {\n const currentIndex = this.history.location.state.__TSR_index;\n const parsed = parseHref(href, {\n __TSR_index: replace ? currentIndex : currentIndex + 1\n });\n rest.to = parsed.pathname;\n rest.search = this.options.parseSearch(parsed.search);\n rest.hash = parsed.hash.slice(1);\n }\n const location = this.buildLocation({\n ...rest,\n _includeValidateSearch: true\n });\n return this.commitLocation({\n ...location,\n viewTransition,\n replace,\n resetScroll,\n hashScrollIntoView,\n ignoreBlocker\n });\n };\n this.navigate = ({ to, reloadDocument, href, ...rest }) => {\n if (!reloadDocument && href) {\n try {\n new URL(`${href}`);\n reloadDocument = true;\n } catch {\n }\n }\n if (reloadDocument) {\n if (!href) {\n const location = this.buildLocation({ to, ...rest });\n href = this.history.createHref(location.href);\n }\n if (rest.replace) {\n window.location.replace(href);\n } else {\n window.location.href = href;\n }\n return Promise.resolve();\n }\n return this.buildAndCommitLocation({\n ...rest,\n href,\n to,\n _isNavigate: true\n });\n };\n this.beforeLoad = () => {\n this.cancelMatches();\n this.latestLocation = this.parseLocation(this.latestLocation);\n if (this.isServer) {\n const nextLocation = this.buildLocation({\n to: this.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n const normalizeUrl = (url) => {\n try {\n return encodeURI(decodeURI(url));\n } catch {\n return url;\n }\n };\n if (trimPath(normalizeUrl(this.latestLocation.href)) !== trimPath(normalizeUrl(nextLocation.href))) {\n throw redirect({ href: nextLocation.href });\n }\n }\n const pendingMatches = this.matchRoutes(this.latestLocation);\n this.__store.setState((s) => ({\n ...s,\n status: \"pending\",\n statusCode: 200,\n isLoading: true,\n location: this.latestLocation,\n pendingMatches,\n // If a cached moved to pendingMatches, remove it from cachedMatches\n cachedMatches: s.cachedMatches.filter(\n (d) => !pendingMatches.some((e) => e.id === d.id)\n )\n }));\n };\n this.load = async (opts) => {\n let redirect2;\n let notFound;\n let loadPromise;\n loadPromise = new Promise((resolve) => {\n this.startTransition(async () => {\n var _a;\n try {\n this.beforeLoad();\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n if (!this.state.redirect) {\n this.emit({\n type: \"onBeforeNavigate\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n }\n this.emit({\n type: \"onBeforeLoad\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n await this.loadMatches({\n sync: opts == null ? void 0 : opts.sync,\n matches: this.state.pendingMatches,\n location: next,\n // eslint-disable-next-line @typescript-eslint/require-await\n onReady: async () => {\n this.startViewTransition(async () => {\n let exitingMatches;\n let enteringMatches;\n let stayingMatches;\n batch(() => {\n this.__store.setState((s) => {\n const previousMatches = s.matches;\n const newMatches = s.pendingMatches || s.matches;\n exitingMatches = previousMatches.filter(\n (match) => !newMatches.some((d) => d.id === match.id)\n );\n enteringMatches = newMatches.filter(\n (match) => !previousMatches.some((d) => d.id === match.id)\n );\n stayingMatches = previousMatches.filter(\n (match) => newMatches.some((d) => d.id === match.id)\n );\n return {\n ...s,\n isLoading: false,\n loadedAt: Date.now(),\n matches: newMatches,\n pendingMatches: void 0,\n cachedMatches: [\n ...s.cachedMatches,\n ...exitingMatches.filter((d) => d.status !== \"error\")\n ]\n };\n });\n this.clearExpiredCache();\n });\n [\n [exitingMatches, \"onLeave\"],\n [enteringMatches, \"onEnter\"],\n [stayingMatches, \"onStay\"]\n ].forEach(([matches, hook]) => {\n matches.forEach((match) => {\n var _a2, _b;\n (_b = (_a2 = this.looseRoutesById[match.routeId].options)[hook]) == null ? void 0 : _b.call(_a2, match);\n });\n });\n });\n }\n });\n } catch (err) {\n if (isRedirect(err)) {\n redirect2 = err;\n if (!this.isServer) {\n this.navigate({\n ...redirect2.options,\n replace: true,\n ignoreBlocker: true\n });\n }\n } else if (isNotFound(err)) {\n notFound = err;\n }\n this.__store.setState((s) => ({\n ...s,\n statusCode: redirect2 ? redirect2.status : notFound ? 404 : s.matches.some((d) => d.status === \"error\") ? 500 : 200,\n redirect: redirect2\n }));\n }\n if (this.latestLoadPromise === loadPromise) {\n (_a = this.commitLocationPromise) == null ? void 0 : _a.resolve();\n this.latestLoadPromise = void 0;\n this.commitLocationPromise = void 0;\n }\n resolve();\n });\n });\n this.latestLoadPromise = loadPromise;\n await loadPromise;\n while (this.latestLoadPromise && loadPromise !== this.latestLoadPromise) {\n await this.latestLoadPromise;\n }\n if (this.hasNotFoundMatch()) {\n this.__store.setState((s) => ({\n ...s,\n statusCode: 404\n }));\n }\n };\n this.startViewTransition = (fn) => {\n const shouldViewTransition = this.shouldViewTransition ?? this.options.defaultViewTransition;\n delete this.shouldViewTransition;\n if (shouldViewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document && typeof document.startViewTransition === \"function\") {\n let startViewTransitionParams;\n if (typeof shouldViewTransition === \"object\" && this.isViewTransitionTypesSupported) {\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n const resolvedViewTransitionTypes = typeof shouldViewTransition.types === \"function\" ? shouldViewTransition.types(\n getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n ) : shouldViewTransition.types;\n startViewTransitionParams = {\n update: fn,\n types: resolvedViewTransitionTypes\n };\n } else {\n startViewTransitionParams = fn;\n }\n document.startViewTransition(startViewTransitionParams);\n } else {\n fn();\n }\n };\n this.updateMatch = (id, updater) => {\n var _a;\n const matchesKey = ((_a = this.state.pendingMatches) == null ? void 0 : _a.some((d) => d.id === id)) ? \"pendingMatches\" : this.state.matches.some((d) => d.id === id) ? \"matches\" : this.state.cachedMatches.some((d) => d.id === id) ? \"cachedMatches\" : \"\";\n if (matchesKey) {\n this.__store.setState((s) => {\n var _a2;\n return {\n ...s,\n [matchesKey]: (_a2 = s[matchesKey]) == null ? void 0 : _a2.map((d) => d.id === id ? updater(d) : d)\n };\n });\n }\n };\n this.getMatch = (matchId) => {\n var _a;\n const findFn = (d) => d.id === matchId;\n return this.state.cachedMatches.find(findFn) ?? ((_a = this.state.pendingMatches) == null ? void 0 : _a.find(findFn)) ?? this.state.matches.find(findFn);\n };\n this.loadMatches = async ({\n location,\n matches,\n preload: allPreload,\n onReady,\n updateMatch = this.updateMatch,\n sync\n }) => {\n let firstBadMatchIndex;\n let rendered = false;\n const triggerOnReady = async () => {\n if (!rendered) {\n rendered = true;\n await (onReady == null ? void 0 : onReady());\n }\n };\n const resolvePreload = (matchId) => {\n return !!(allPreload && !this.state.matches.some((d) => d.id === matchId));\n };\n if (!this.isServer && this.state.matches.some((d) => d._forcePending)) {\n triggerOnReady();\n }\n const handleRedirectAndNotFound = (match, err) => {\n var _a, _b, _c;\n if (isRedirect(err) || isNotFound(err)) {\n if (isRedirect(err)) {\n if (err.redirectHandled) {\n if (!err.options.reloadDocument) {\n throw err;\n }\n }\n }\n (_a = match.beforeLoadPromise) == null ? void 0 : _a.resolve();\n (_b = match.loaderPromise) == null ? void 0 : _b.resolve();\n updateMatch(match.id, (prev) => ({\n ...prev,\n status: isRedirect(err) ? \"redirected\" : isNotFound(err) ? \"notFound\" : \"error\",\n isFetching: false,\n error: err,\n beforeLoadPromise: void 0,\n loaderPromise: void 0\n }));\n if (!err.routeId) {\n err.routeId = match.routeId;\n }\n (_c = match.loadPromise) == null ? void 0 : _c.resolve();\n if (isRedirect(err)) {\n rendered = true;\n err.options._fromLocation = location;\n err.redirectHandled = true;\n err = this.resolveRedirect(err);\n throw err;\n } else if (isNotFound(err)) {\n this._handleNotFound(matches, err, {\n updateMatch\n });\n throw err;\n }\n }\n };\n const shouldSkipLoader = (matchId) => {\n const match = this.getMatch(matchId);\n if (!this.isServer && match._dehydrated) {\n return true;\n }\n if (this.isServer) {\n if (match.ssr === false) {\n return true;\n }\n }\n return false;\n };\n try {\n await new Promise((resolveAll, rejectAll) => {\n ;\n (async () => {\n var _a, _b, _c, _d;\n try {\n const handleSerialError = (index, err, routerCode) => {\n var _a2, _b2;\n const { id: matchId, routeId } = matches[index];\n const route = this.looseRoutesById[routeId];\n if (err instanceof Promise) {\n throw err;\n }\n err.routerCode = routerCode;\n firstBadMatchIndex = firstBadMatchIndex ?? index;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n try {\n (_b2 = (_a2 = route.options).onError) == null ? void 0 : _b2.call(_a2, err);\n } catch (errorHandlerErr) {\n err = errorHandlerErr;\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n updateMatch(matchId, (prev) => {\n var _a3, _b3;\n (_a3 = prev.beforeLoadPromise) == null ? void 0 : _a3.resolve();\n (_b3 = prev.loadPromise) == null ? void 0 : _b3.resolve();\n return {\n ...prev,\n error: err,\n status: \"error\",\n isFetching: false,\n updatedAt: Date.now(),\n abortController: new AbortController(),\n beforeLoadPromise: void 0\n };\n });\n };\n for (const [index, { id: matchId, routeId }] of matches.entries()) {\n const existingMatch = this.getMatch(matchId);\n const parentMatchId = (_a = matches[index - 1]) == null ? void 0 : _a.id;\n const parentMatch = parentMatchId ? this.getMatch(parentMatchId) : void 0;\n const route = this.looseRoutesById[routeId];\n const pendingMs = route.options.pendingMs ?? this.options.defaultPendingMs;\n if (this.isServer) {\n let ssr;\n if (this.isShell()) {\n ssr = matchId === rootRouteId;\n } else {\n const defaultSsr = this.options.defaultSsr ?? true;\n if ((parentMatch == null ? void 0 : parentMatch.ssr) === false) {\n ssr = false;\n } else {\n let tempSsr;\n if (route.options.ssr === void 0) {\n tempSsr = defaultSsr;\n } else if (typeof route.options.ssr === \"function\") {\n let makeMaybe = function(value, error) {\n if (error) {\n return { status: \"error\", error };\n }\n return { status: \"success\", value };\n };\n const { search, params } = this.getMatch(matchId);\n const ssrFnContext = {\n search: makeMaybe(search, existingMatch.searchError),\n params: makeMaybe(params, existingMatch.paramsError),\n location,\n matches: matches.map((match) => ({\n index: match.index,\n pathname: match.pathname,\n fullPath: match.fullPath,\n staticData: match.staticData,\n id: match.id,\n routeId: match.routeId,\n search: makeMaybe(match.search, match.searchError),\n params: makeMaybe(match.params, match.paramsError),\n ssr: match.ssr\n }))\n };\n tempSsr = await route.options.ssr(ssrFnContext) ?? defaultSsr;\n } else {\n tempSsr = route.options.ssr;\n }\n if (tempSsr === true && (parentMatch == null ? void 0 : parentMatch.ssr) === \"data-only\") {\n ssr = \"data-only\";\n } else {\n ssr = tempSsr;\n }\n }\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n ssr\n }));\n }\n if (shouldSkipLoader(matchId)) {\n continue;\n }\n const shouldPending = !!(onReady && !this.isServer && !resolvePreload(matchId) && (route.options.loader || route.options.beforeLoad || routeNeedsPreload(route)) && typeof pendingMs === \"number\" && pendingMs !== Infinity && (route.options.pendingComponent ?? ((_b = this.options) == null ? void 0 : _b.defaultPendingComponent)));\n let executeBeforeLoad = true;\n const setupPendingTimeout = () => {\n if (shouldPending && this.getMatch(matchId).pendingTimeout === void 0) {\n const pendingTimeout = setTimeout(() => {\n try {\n triggerOnReady();\n } catch {\n }\n }, pendingMs);\n updateMatch(matchId, (prev) => ({\n ...prev,\n pendingTimeout\n }));\n }\n };\n if (\n // If we are in the middle of a load, either of these will be present\n // (not to be confused with `loadPromise`, which is always defined)\n existingMatch.beforeLoadPromise || existingMatch.loaderPromise\n ) {\n setupPendingTimeout();\n await existingMatch.beforeLoadPromise;\n const match = this.getMatch(matchId);\n if (match.status === \"error\") {\n executeBeforeLoad = true;\n } else if (match.preload && (match.status === \"redirected\" || match.status === \"notFound\")) {\n handleRedirectAndNotFound(match, match.error);\n }\n }\n if (executeBeforeLoad) {\n try {\n updateMatch(matchId, (prev) => {\n const prevLoadPromise = prev.loadPromise;\n return {\n ...prev,\n loadPromise: createControlledPromise(() => {\n prevLoadPromise == null ? void 0 : prevLoadPromise.resolve();\n }),\n beforeLoadPromise: createControlledPromise()\n };\n });\n const { paramsError, searchError } = this.getMatch(matchId);\n if (paramsError) {\n handleSerialError(index, paramsError, \"PARSE_PARAMS\");\n }\n if (searchError) {\n handleSerialError(index, searchError, \"VALIDATE_SEARCH\");\n }\n setupPendingTimeout();\n const abortController = new AbortController();\n const parentMatchContext = (parentMatch == null ? void 0 : parentMatch.context) ?? this.options.context ?? {};\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"beforeLoad\",\n fetchCount: prev.fetchCount + 1,\n abortController,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext\n }\n }));\n const { search, params, context, cause } = this.getMatch(matchId);\n const preload = resolvePreload(matchId);\n const beforeLoadFnContext = {\n search,\n abortController,\n params,\n preload,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n buildLocation: this.buildLocation,\n cause: preload ? \"preload\" : cause,\n matches\n };\n const beforeLoadContext = await ((_d = (_c = route.options).beforeLoad) == null ? void 0 : _d.call(_c, beforeLoadFnContext));\n if (isRedirect(beforeLoadContext) || isNotFound(beforeLoadContext)) {\n handleSerialError(index, beforeLoadContext, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n return {\n ...prev,\n __beforeLoadContext: beforeLoadContext,\n context: {\n ...parentMatchContext,\n ...prev.__routeContext,\n ...beforeLoadContext\n },\n abortController\n };\n });\n } catch (err) {\n handleSerialError(index, err, \"BEFORE_LOAD\");\n }\n updateMatch(matchId, (prev) => {\n var _a2;\n (_a2 = prev.beforeLoadPromise) == null ? void 0 : _a2.resolve();\n return {\n ...prev,\n beforeLoadPromise: void 0,\n isFetching: false\n };\n });\n }\n }\n const validResolvedMatches = matches.slice(0, firstBadMatchIndex);\n const matchPromises = [];\n validResolvedMatches.forEach(({ id: matchId, routeId }, index) => {\n matchPromises.push(\n (async () => {\n let loaderShouldRunAsync = false;\n let loaderIsRunningAsync = false;\n const route = this.looseRoutesById[routeId];\n const executeHead = async () => {\n var _a2, _b2, _c2, _d2, _e, _f;\n const match = this.getMatch(matchId);\n if (!match) {\n return;\n }\n const assetContext = {\n matches,\n match,\n params: match.params,\n loaderData: match.loaderData\n };\n const headFnContent = await ((_b2 = (_a2 = route.options).head) == null ? void 0 : _b2.call(_a2, assetContext));\n const meta = headFnContent == null ? void 0 : headFnContent.meta;\n const links = headFnContent == null ? void 0 : headFnContent.links;\n const headScripts = headFnContent == null ? void 0 : headFnContent.scripts;\n const styles = headFnContent == null ? void 0 : headFnContent.styles;\n const scripts = await ((_d2 = (_c2 = route.options).scripts) == null ? void 0 : _d2.call(_c2, assetContext));\n const headers = await ((_f = (_e = route.options).headers) == null ? void 0 : _f.call(_e, assetContext));\n return {\n meta,\n links,\n headScripts,\n headers,\n scripts,\n styles\n };\n };\n const potentialPendingMinPromise = async () => {\n const latestMatch = this.getMatch(matchId);\n if (latestMatch.minPendingPromise) {\n await latestMatch.minPendingPromise;\n }\n };\n const prevMatch = this.getMatch(matchId);\n if (shouldSkipLoader(matchId)) {\n if (this.isServer) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n return this.getMatch(matchId);\n }\n } else if (prevMatch.loaderPromise) {\n if (prevMatch.status === \"success\" && !sync && !prevMatch.preload) {\n return this.getMatch(matchId);\n }\n await prevMatch.loaderPromise;\n const match = this.getMatch(matchId);\n if (match.error) {\n handleRedirectAndNotFound(match, match.error);\n }\n } else {\n const parentMatchPromise = matchPromises[index - 1];\n const getLoaderContext = () => {\n const {\n params,\n loaderDeps,\n abortController,\n context,\n cause\n } = this.getMatch(matchId);\n const preload2 = resolvePreload(matchId);\n return {\n params,\n deps: loaderDeps,\n preload: !!preload2,\n parentMatchPromise,\n abortController,\n context,\n location,\n navigate: (opts) => this.navigate({ ...opts, _fromLocation: location }),\n cause: preload2 ? \"preload\" : cause,\n route\n };\n };\n const age = Date.now() - this.getMatch(matchId).updatedAt;\n const preload = resolvePreload(matchId);\n const staleAge = preload ? route.options.preloadStaleTime ?? this.options.defaultPreloadStaleTime ?? 3e4 : route.options.staleTime ?? this.options.defaultStaleTime ?? 0;\n const shouldReloadOption = route.options.shouldReload;\n const shouldReload = typeof shouldReloadOption === \"function\" ? shouldReloadOption(getLoaderContext()) : shouldReloadOption;\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: createControlledPromise(),\n preload: !!preload && !this.state.matches.some((d) => d.id === matchId)\n }));\n const runLoader = async () => {\n var _a2, _b2, _c2, _d2;\n try {\n try {\n if (!this.isServer || this.isServer && this.getMatch(matchId).ssr === true) {\n this.loadRouteChunk(route);\n }\n updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"loader\"\n }));\n const loaderData = await ((_b2 = (_a2 = route.options).loader) == null ? void 0 : _b2.call(_a2, getLoaderContext()));\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n loaderData\n );\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderData\n }));\n await route._lazyPromise;\n const head = await executeHead();\n await potentialPendingMinPromise();\n await route._componentsPromise;\n updateMatch(matchId, (prev) => ({\n ...prev,\n error: void 0,\n status: \"success\",\n isFetching: false,\n updatedAt: Date.now(),\n ...head\n }));\n } catch (e) {\n let error = e;\n await potentialPendingMinPromise();\n handleRedirectAndNotFound(this.getMatch(matchId), e);\n try {\n (_d2 = (_c2 = route.options).onError) == null ? void 0 : _d2.call(_c2, e);\n } catch (onErrorError) {\n error = onErrorError;\n handleRedirectAndNotFound(\n this.getMatch(matchId),\n onErrorError\n );\n }\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n error,\n status: \"error\",\n isFetching: false,\n ...head\n }));\n }\n } catch (err) {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0,\n ...head\n }));\n handleRedirectAndNotFound(this.getMatch(matchId), err);\n }\n };\n const { status, invalid } = this.getMatch(matchId);\n loaderShouldRunAsync = status === \"success\" && (invalid || (shouldReload ?? age > staleAge));\n if (preload && route.options.preload === false) {\n } else if (loaderShouldRunAsync && !sync) {\n loaderIsRunningAsync = true;\n (async () => {\n try {\n await runLoader();\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n updateMatch(matchId, (prev) => ({\n ...prev,\n loaderPromise: void 0\n }));\n } catch (err) {\n if (isRedirect(err)) {\n await this.navigate(err.options);\n }\n }\n })();\n } else if (status !== \"success\" || loaderShouldRunAsync && sync) {\n await runLoader();\n } else {\n const head = await executeHead();\n updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n }\n }\n if (!loaderIsRunningAsync) {\n const { loaderPromise, loadPromise } = this.getMatch(matchId);\n loaderPromise == null ? void 0 : loaderPromise.resolve();\n loadPromise == null ? void 0 : loadPromise.resolve();\n }\n updateMatch(matchId, (prev) => {\n clearTimeout(prev.pendingTimeout);\n return {\n ...prev,\n isFetching: loaderIsRunningAsync ? prev.isFetching : false,\n loaderPromise: loaderIsRunningAsync ? prev.loaderPromise : void 0,\n invalid: false,\n pendingTimeout: void 0,\n _dehydrated: void 0\n };\n });\n return this.getMatch(matchId);\n })()\n );\n });\n await Promise.all(matchPromises);\n resolveAll();\n } catch (err) {\n rejectAll(err);\n }\n })();\n });\n await triggerOnReady();\n } catch (err) {\n if (isRedirect(err) || isNotFound(err)) {\n if (isNotFound(err) && !allPreload) {\n await triggerOnReady();\n }\n throw err;\n }\n }\n return matches;\n };\n this.invalidate = (opts) => {\n const invalidate = (d) => {\n var _a;\n if (((_a = opts == null ? void 0 : opts.filter) == null ? void 0 : _a.call(opts, d)) ?? true) {\n return {\n ...d,\n invalid: true,\n ...(opts == null ? void 0 : opts.forcePending) || d.status === \"error\" ? { status: \"pending\", error: void 0 } : {}\n };\n }\n return d;\n };\n this.__store.setState((s) => {\n var _a;\n return {\n ...s,\n matches: s.matches.map(invalidate),\n cachedMatches: s.cachedMatches.map(invalidate),\n pendingMatches: (_a = s.pendingMatches) == null ? void 0 : _a.map(invalidate)\n };\n });\n this.shouldViewTransition = false;\n return this.load({ sync: opts == null ? void 0 : opts.sync });\n };\n this.resolveRedirect = (redirect2) => {\n if (!redirect2.options.href) {\n redirect2.options.href = this.buildLocation(redirect2.options).href;\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n if (!redirect2.headers.get(\"Location\")) {\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n return redirect2;\n };\n this.clearCache = (opts) => {\n const filter = opts == null ? void 0 : opts.filter;\n if (filter !== void 0) {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: s.cachedMatches.filter(\n (m) => !filter(m)\n )\n };\n });\n } else {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: []\n };\n });\n }\n };\n this.clearExpiredCache = () => {\n const filter = (d) => {\n const route = this.looseRoutesById[d.routeId];\n if (!route.options.loader) {\n return true;\n }\n const gcTime = (d.preload ? route.options.preloadGcTime ?? this.options.defaultPreloadGcTime : route.options.gcTime ?? this.options.defaultGcTime) ?? 5 * 60 * 1e3;\n const isError = d.status === \"error\";\n if (isError) return true;\n const gcEligible = Date.now() - d.updatedAt >= gcTime;\n return gcEligible;\n };\n this.clearCache({ filter });\n };\n this.loadRouteChunk = (route) => {\n if (route._lazyPromise === void 0) {\n if (route.lazyFn) {\n route._lazyPromise = route.lazyFn().then((lazyRoute) => {\n const { id: _id, ...options2 } = lazyRoute.options;\n Object.assign(route.options, options2);\n });\n } else {\n route._lazyPromise = Promise.resolve();\n }\n }\n if (route._componentsPromise === void 0) {\n route._componentsPromise = route._lazyPromise.then(\n () => Promise.all(\n componentTypes.map(async (type) => {\n const component = route.options[type];\n if (component == null ? void 0 : component.preload) {\n await component.preload();\n }\n })\n )\n );\n }\n return route._componentsPromise;\n };\n this.preloadRoute = async (opts) => {\n const next = this.buildLocation(opts);\n let matches = this.matchRoutes(next, {\n throwOnError: true,\n preload: true,\n dest: opts\n });\n const activeMatchIds = new Set(\n [...this.state.matches, ...this.state.pendingMatches ?? []].map(\n (d) => d.id\n )\n );\n const loadedMatchIds = /* @__PURE__ */ new Set([\n ...activeMatchIds,\n ...this.state.cachedMatches.map((d) => d.id)\n ]);\n batch(() => {\n matches.forEach((match) => {\n if (!loadedMatchIds.has(match.id)) {\n this.__store.setState((s) => ({\n ...s,\n cachedMatches: [...s.cachedMatches, match]\n }));\n }\n });\n });\n try {\n matches = await this.loadMatches({\n matches,\n location: next,\n preload: true,\n updateMatch: (id, updater) => {\n if (activeMatchIds.has(id)) {\n matches = matches.map((d) => d.id === id ? updater(d) : d);\n } else {\n this.updateMatch(id, updater);\n }\n }\n });\n return matches;\n } catch (err) {\n if (isRedirect(err)) {\n if (err.options.reloadDocument) {\n return void 0;\n }\n return await this.preloadRoute({\n ...err.options,\n _fromLocation: next\n });\n }\n if (!isNotFound(err)) {\n console.error(err);\n }\n return void 0;\n }\n };\n this.matchRoute = (location, opts) => {\n const matchLocation = {\n ...location,\n to: location.to ? this.resolvePathWithBase(\n location.from || \"\",\n location.to\n ) : void 0,\n params: location.params || {},\n leaveParams: true\n };\n const next = this.buildLocation(matchLocation);\n if ((opts == null ? void 0 : opts.pending) && this.state.status !== \"pending\") {\n return false;\n }\n const pending = (opts == null ? void 0 : opts.pending) === void 0 ? !this.state.isLoading : opts.pending;\n const baseLocation = pending ? this.latestLocation : this.state.resolvedLocation || this.state.location;\n const match = matchPathname(\n this.basepath,\n baseLocation.pathname,\n {\n ...opts,\n to: next.pathname\n },\n this.parsePathnameCache\n );\n if (!match) {\n return false;\n }\n if (location.params) {\n if (!deepEqual(match, location.params, { partial: true })) {\n return false;\n }\n }\n if (match && ((opts == null ? void 0 : opts.includeSearch) ?? true)) {\n return deepEqual(baseLocation.search, next.search, { partial: true }) ? match : false;\n }\n return match;\n };\n this._handleNotFound = (matches, err, {\n updateMatch = this.updateMatch\n } = {}) => {\n var _a;\n const routeCursor = this.routesById[err.routeId ?? \"\"] ?? this.routeTree;\n const matchesByRouteId = {};\n for (const match of matches) {\n matchesByRouteId[match.routeId] = match;\n }\n if (!routeCursor.options.notFoundComponent && ((_a = this.options) == null ? void 0 : _a.defaultNotFoundComponent)) {\n routeCursor.options.notFoundComponent = this.options.defaultNotFoundComponent;\n }\n invariant(\n routeCursor.options.notFoundComponent,\n \"No notFoundComponent found. Please set a notFoundComponent on your route or provide a defaultNotFoundComponent to the router.\"\n );\n const matchForRoute = matchesByRouteId[routeCursor.id];\n invariant(\n matchForRoute,\n \"Could not find match for route: \" + routeCursor.id\n );\n updateMatch(matchForRoute.id, (prev) => ({\n ...prev,\n status: \"notFound\",\n error: err,\n isFetching: false\n }));\n if (err.routerCode === \"BEFORE_LOAD\" && routeCursor.parentRoute) {\n err.routeId = routeCursor.parentRoute.id;\n this._handleNotFound(matches, err, {\n updateMatch\n });\n }\n };\n this.hasNotFoundMatch = () => {\n return this.__store.state.matches.some(\n (d) => d.status === \"notFound\" || d.globalNotFound\n );\n };\n this.update({\n defaultPreloadDelay: 50,\n defaultPendingMs: 1e3,\n defaultPendingMinMs: 500,\n context: void 0,\n ...options,\n caseSensitive: options.caseSensitive ?? false,\n notFoundMode: options.notFoundMode ?? \"fuzzy\",\n stringifySearch: options.stringifySearch ?? defaultStringifySearch,\n parseSearch: options.parseSearch ?? defaultParseSearch\n });\n if (typeof document !== \"undefined\") {\n self.__TSR_ROUTER__ = this;\n }\n }\n isShell() {\n return !!this.options.isShell;\n }\n isPrerendering() {\n return !!this.options.isPrerendering;\n }\n get state() {\n return this.__store.state;\n }\n get looseRoutesById() {\n return this.routesById;\n }\n matchRoutesInternal(next, opts) {\n var _a;\n const { foundRoute, matchedRoutes, routeParams } = this.getMatchedRoutes(\n next.pathname,\n (_a = opts == null ? void 0 : opts.dest) == null ? void 0 : _a.to\n );\n let isGlobalNotFound = false;\n if (\n // If we found a route, and it's not an index route and we have left over path\n foundRoute ? foundRoute.path !== \"/\" && routeParams[\"**\"] : (\n // Or if we didn't find a route and we have left over path\n trimPathRight(next.pathname)\n )\n ) {\n if (this.options.notFoundRoute) {\n matchedRoutes.push(this.options.notFoundRoute);\n } else {\n isGlobalNotFound = true;\n }\n }\n const globalNotFoundRouteId = (() => {\n if (!isGlobalNotFound) {\n return void 0;\n }\n if (this.options.notFoundMode !== \"root\") {\n for (let i = matchedRoutes.length - 1; i >= 0; i--) {\n const route = matchedRoutes[i];\n if (route.children) {\n return route.id;\n }\n }\n }\n return rootRouteId;\n })();\n const parseErrors = matchedRoutes.map((route) => {\n var _a2;\n let parsedParamsError;\n const parseParams = ((_a2 = route.options.params) == null ? void 0 : _a2.parse) ?? route.options.parseParams;\n if (parseParams) {\n try {\n const parsedParams = parseParams(routeParams);\n Object.assign(routeParams, parsedParams);\n } catch (err) {\n parsedParamsError = new PathParamError(err.message, {\n cause: err\n });\n if (opts == null ? void 0 : opts.throwOnError) {\n throw parsedParamsError;\n }\n return parsedParamsError;\n }\n }\n return;\n });\n const matches = [];\n const getParentContext = (parentMatch) => {\n const parentMatchId = parentMatch == null ? void 0 : parentMatch.id;\n const parentContext = !parentMatchId ? this.options.context ?? {} : parentMatch.context ?? this.options.context ?? {};\n return parentContext;\n };\n matchedRoutes.forEach((route, index) => {\n var _a2, _b;\n const parentMatch = matches[index - 1];\n const [preMatchSearch, strictMatchSearch, searchError] = (() => {\n const parentSearch = (parentMatch == null ? void 0 : parentMatch.search) ?? next.search;\n const parentStrictSearch = (parentMatch == null ? void 0 : parentMatch._strictSearch) ?? {};\n try {\n const strictSearch = validateSearch(route.options.validateSearch, { ...parentSearch }) ?? {};\n return [\n {\n ...parentSearch,\n ...strictSearch\n },\n { ...parentStrictSearch, ...strictSearch },\n void 0\n ];\n } catch (err) {\n let searchParamError = err;\n if (!(err instanceof SearchParamError)) {\n searchParamError = new SearchParamError(err.message, {\n cause: err\n });\n }\n if (opts == null ? void 0 : opts.throwOnError) {\n throw searchParamError;\n }\n return [parentSearch, {}, searchParamError];\n }\n })();\n const loaderDeps = ((_b = (_a2 = route.options).loaderDeps) == null ? void 0 : _b.call(_a2, {\n search: preMatchSearch\n })) ?? \"\";\n const loaderDepsHash = loaderDeps ? JSON.stringify(loaderDeps) : \"\";\n const { usedParams, interpolatedPath } = interpolatePath({\n path: route.fullPath,\n params: routeParams,\n decodeCharMap: this.pathParamsDecodeCharMap\n });\n const matchId = interpolatePath({\n path: route.id,\n params: routeParams,\n leaveWildcards: true,\n decodeCharMap: this.pathParamsDecodeCharMap,\n parseCache: this.parsePathnameCache\n }).interpolatedPath + loaderDepsHash;\n const existingMatch = this.getMatch(matchId);\n const previousMatch = this.state.matches.find(\n (d) => d.routeId === route.id\n );\n const cause = previousMatch ? \"stay\" : \"enter\";\n let match;\n if (existingMatch) {\n match = {\n ...existingMatch,\n cause,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : replaceEqualDeep(existingMatch.search, preMatchSearch),\n _strictSearch: strictMatchSearch\n };\n } else {\n const status = route.options.loader || route.options.beforeLoad || route.lazyFn || routeNeedsPreload(route) ? \"pending\" : \"success\";\n match = {\n id: matchId,\n index,\n routeId: route.id,\n params: previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams,\n _strictParams: usedParams,\n pathname: joinPaths([this.basepath, interpolatedPath]),\n updatedAt: Date.now(),\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : preMatchSearch,\n _strictSearch: strictMatchSearch,\n searchError: void 0,\n status,\n isFetching: false,\n error: void 0,\n paramsError: parseErrors[index],\n __routeContext: {},\n __beforeLoadContext: void 0,\n context: {},\n abortController: new AbortController(),\n fetchCount: 0,\n cause,\n loaderDeps: previousMatch ? replaceEqualDeep(previousMatch.loaderDeps, loaderDeps) : loaderDeps,\n invalid: false,\n preload: false,\n links: void 0,\n scripts: void 0,\n headScripts: void 0,\n meta: void 0,\n staticData: route.options.staticData || {},\n loadPromise: createControlledPromise(),\n fullPath: route.fullPath\n };\n }\n if (!(opts == null ? void 0 : opts.preload)) {\n match.globalNotFound = globalNotFoundRouteId === route.id;\n }\n match.searchError = searchError;\n const parentContext = getParentContext(parentMatch);\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n matches.push(match);\n });\n matches.forEach((match, index) => {\n var _a2, _b;\n const route = this.looseRoutesById[match.routeId];\n const existingMatch = this.getMatch(match.id);\n if (!existingMatch && (opts == null ? void 0 : opts._buildLocation) !== true) {\n const parentMatch = matches[index - 1];\n const parentContext = getParentContext(parentMatch);\n const contextFnContext = {\n deps: match.loaderDeps,\n params: match.params,\n context: parentContext,\n location: next,\n navigate: (opts2) => this.navigate({ ...opts2, _fromLocation: next }),\n buildLocation: this.buildLocation,\n cause: match.cause,\n abortController: match.abortController,\n preload: !!match.preload,\n matches\n };\n match.__routeContext = ((_b = (_a2 = route.options).context) == null ? void 0 : _b.call(_a2, contextFnContext)) ?? {};\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n }\n });\n return matches;\n }\n}\nclass SearchParamError extends Error {\n}\nclass PathParamError extends Error {\n}\nconst normalize = (str) => str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\nfunction comparePaths(a, b) {\n return normalize(a) === normalize(b);\n}\nfunction lazyFn(fn, key) {\n return async (...args) => {\n const imported = await fn();\n return imported[key || \"default\"](...args);\n };\n}\nfunction getInitialRouterState(location) {\n return {\n loadedAt: 0,\n isLoading: false,\n isTransitioning: false,\n status: \"idle\",\n resolvedLocation: void 0,\n location,\n matches: [],\n pendingMatches: [],\n cachedMatches: [],\n statusCode: 200\n };\n}\nfunction validateSearch(validateSearch2, input) {\n if (validateSearch2 == null) return {};\n if (\"~standard\" in validateSearch2) {\n const result = validateSearch2[\"~standard\"].validate(input);\n if (result instanceof Promise)\n throw new SearchParamError(\"Async validation not supported\");\n if (result.issues)\n throw new SearchParamError(JSON.stringify(result.issues, void 0, 2), {\n cause: result\n });\n return result.value;\n }\n if (\"parse\" in validateSearch2) {\n return validateSearch2.parse(input);\n }\n if (typeof validateSearch2 === \"function\") {\n return validateSearch2(input);\n }\n return {};\n}\nconst componentTypes = [\n \"component\",\n \"errorComponent\",\n \"pendingComponent\",\n \"notFoundComponent\"\n];\nfunction routeNeedsPreload(route) {\n var _a;\n for (const componentType of componentTypes) {\n if ((_a = route.options[componentType]) == null ? void 0 : _a.preload) {\n return true;\n }\n }\n return false;\n}\nconst REQUIRED_PARAM_BASE_SCORE = 0.5;\nconst OPTIONAL_PARAM_BASE_SCORE = 0.4;\nconst WILDCARD_PARAM_BASE_SCORE = 0.25;\nfunction handleParam(segment, baseScore) {\n if (segment.prefixSegment && segment.suffixSegment) {\n return baseScore + 0.05;\n }\n if (segment.prefixSegment) {\n return baseScore + 0.02;\n }\n if (segment.suffixSegment) {\n return baseScore + 0.01;\n }\n return baseScore;\n}\nfunction processRouteTree({\n routeTree,\n initRoute\n}) {\n const routesById = {};\n const routesByPath = {};\n const recurseRoutes = (childRoutes) => {\n childRoutes.forEach((childRoute, i) => {\n initRoute == null ? void 0 : initRoute(childRoute, i);\n const existingRoute = routesById[childRoute.id];\n invariant(\n !existingRoute,\n `Duplicate routes found with id: ${String(childRoute.id)}`\n );\n routesById[childRoute.id] = childRoute;\n if (!childRoute.isRoot && childRoute.path) {\n const trimmedFullPath = trimPathRight(childRoute.fullPath);\n if (!routesByPath[trimmedFullPath] || childRoute.fullPath.endsWith(\"/\")) {\n routesByPath[trimmedFullPath] = childRoute;\n }\n }\n const children = childRoute.children;\n if (children == null ? void 0 : children.length) {\n recurseRoutes(children);\n }\n });\n };\n recurseRoutes([routeTree]);\n const scoredRoutes = [];\n const routes = Object.values(routesById);\n routes.forEach((d, i) => {\n var _a;\n if (d.isRoot || !d.path) {\n return;\n }\n const trimmed = trimPathLeft(d.fullPath);\n let parsed = parsePathname(trimmed);\n let skip = 0;\n while (parsed.length > skip + 1 && ((_a = parsed[skip]) == null ? void 0 : _a.value) === \"/\") {\n skip++;\n }\n if (skip > 0) parsed = parsed.slice(skip);\n let optionalParamCount = 0;\n let hasStaticAfter = false;\n const scores = parsed.map((segment, index) => {\n if (segment.value === \"/\") {\n return 0.75;\n }\n let baseScore = void 0;\n if (segment.type === SEGMENT_TYPE_PARAM) {\n baseScore = REQUIRED_PARAM_BASE_SCORE;\n } else if (segment.type === SEGMENT_TYPE_OPTIONAL_PARAM) {\n baseScore = OPTIONAL_PARAM_BASE_SCORE;\n optionalParamCount++;\n } else if (segment.type === SEGMENT_TYPE_WILDCARD) {\n baseScore = WILDCARD_PARAM_BASE_SCORE;\n }\n if (baseScore) {\n for (let i2 = index + 1; i2 < parsed.length; i2++) {\n const nextSegment = parsed[i2];\n if (nextSegment.type === SEGMENT_TYPE_PATHNAME && nextSegment.value !== \"/\") {\n hasStaticAfter = true;\n return handleParam(segment, baseScore + 0.2);\n }\n }\n return handleParam(segment, baseScore);\n }\n return 1;\n });\n scoredRoutes.push({\n child: d,\n trimmed,\n parsed,\n index: i,\n scores,\n optionalParamCount,\n hasStaticAfter\n });\n });\n const flatRoutes = scoredRoutes.sort((a, b) => {\n const minLength = Math.min(a.scores.length, b.scores.length);\n for (let i = 0; i < minLength; i++) {\n if (a.scores[i] !== b.scores[i]) {\n return b.scores[i] - a.scores[i];\n }\n }\n if (a.scores.length !== b.scores.length) {\n if (a.optionalParamCount !== b.optionalParamCount) {\n if (a.hasStaticAfter === b.hasStaticAfter) {\n return a.optionalParamCount - b.optionalParamCount;\n } else if (a.hasStaticAfter && !b.hasStaticAfter) {\n return -1;\n } else if (!a.hasStaticAfter && b.hasStaticAfter) {\n return 1;\n }\n }\n return b.scores.length - a.scores.length;\n }\n for (let i = 0; i < minLength; i++) {\n if (a.parsed[i].value !== b.parsed[i].value) {\n return a.parsed[i].value > b.parsed[i].value ? 1 : -1;\n }\n }\n return a.index - b.index;\n }).map((d, i) => {\n d.child.rank = i;\n return d.child;\n });\n return { routesById, routesByPath, flatRoutes };\n}\nfunction getMatchedRoutes({\n pathname,\n routePathname,\n basepath,\n caseSensitive,\n routesByPath,\n routesById,\n flatRoutes,\n parseCache\n}) {\n let routeParams = {};\n const trimmedPath = trimPathRight(pathname);\n const getMatchedParams = (route) => {\n var _a;\n const result = matchPathname(\n basepath,\n trimmedPath,\n {\n to: route.fullPath,\n caseSensitive: ((_a = route.options) == null ? void 0 : _a.caseSensitive) ?? caseSensitive,\n // we need fuzzy matching for `notFoundMode: 'fuzzy'`\n fuzzy: true\n },\n parseCache\n );\n return result;\n };\n let foundRoute = routePathname !== void 0 ? routesByPath[routePathname] : void 0;\n if (foundRoute) {\n routeParams = getMatchedParams(foundRoute);\n } else {\n let fuzzyMatch = void 0;\n for (const route of flatRoutes) {\n const matchedParams = getMatchedParams(route);\n if (matchedParams) {\n if (route.path !== \"/\" && matchedParams[\"**\"]) {\n if (!fuzzyMatch) {\n fuzzyMatch = { foundRoute: route, routeParams: matchedParams };\n }\n } else {\n foundRoute = route;\n routeParams = matchedParams;\n break;\n }\n }\n }\n if (!foundRoute && fuzzyMatch) {\n foundRoute = fuzzyMatch.foundRoute;\n routeParams = fuzzyMatch.routeParams;\n }\n }\n let routeCursor = foundRoute || routesById[rootRouteId];\n const matchedRoutes = [routeCursor];\n while (routeCursor.parentRoute) {\n routeCursor = routeCursor.parentRoute;\n matchedRoutes.push(routeCursor);\n }\n matchedRoutes.reverse();\n return { matchedRoutes, routeParams, foundRoute };\n}\nfunction applySearchMiddleware({\n search,\n dest,\n destRoutes,\n _includeValidateSearch\n}) {\n const allMiddlewares = destRoutes.reduce(\n (acc, route) => {\n var _a;\n const middlewares = [];\n if (\"search\" in route.options) {\n if ((_a = route.options.search) == null ? void 0 : _a.middlewares) {\n middlewares.push(...route.options.search.middlewares);\n }\n } else if (route.options.preSearchFilters || route.options.postSearchFilters) {\n const legacyMiddleware = ({\n search: search2,\n next\n }) => {\n let nextSearch = search2;\n if (\"preSearchFilters\" in route.options && route.options.preSearchFilters) {\n nextSearch = route.options.preSearchFilters.reduce(\n (prev, next2) => next2(prev),\n search2\n );\n }\n const result = next(nextSearch);\n if (\"postSearchFilters\" in route.options && route.options.postSearchFilters) {\n return route.options.postSearchFilters.reduce(\n (prev, next2) => next2(prev),\n result\n );\n }\n return result;\n };\n middlewares.push(legacyMiddleware);\n }\n if (_includeValidateSearch && route.options.validateSearch) {\n const validate = ({ search: search2, next }) => {\n const result = next(search2);\n try {\n const validatedSearch = {\n ...result,\n ...validateSearch(route.options.validateSearch, result) ?? {}\n };\n return validatedSearch;\n } catch {\n return result;\n }\n };\n middlewares.push(validate);\n }\n return acc.concat(middlewares);\n },\n []\n ) ?? [];\n const final = ({ search: search2 }) => {\n if (!dest.search) {\n return {};\n }\n if (dest.search === true) {\n return search2;\n }\n return functionalUpdate(dest.search, search2);\n };\n allMiddlewares.push(final);\n const applyNext = (index, currentSearch) => {\n if (index >= allMiddlewares.length) {\n return currentSearch;\n }\n const middleware = allMiddlewares[index];\n const next = (newSearch) => {\n return applyNext(index + 1, newSearch);\n };\n return middleware({ search: currentSearch, next });\n };\n return applyNext(0, search);\n}\nexport {\n PathParamError,\n RouterCore,\n SearchParamError,\n componentTypes,\n defaultSerializeError,\n getInitialRouterState,\n getLocationChangeInfo,\n getMatchedRoutes,\n lazyFn,\n processRouteTree\n};\n//# sourceMappingURL=router.js.map\n","import { defaultSerializeError } from \"./router.js\";\nconst TSR_DEFERRED_PROMISE = Symbol.for(\"TSR_DEFERRED_PROMISE\");\nfunction defer(_promise, options) {\n const promise = _promise;\n if (promise[TSR_DEFERRED_PROMISE]) {\n return promise;\n }\n promise[TSR_DEFERRED_PROMISE] = { status: \"pending\" };\n promise.then((data) => {\n promise[TSR_DEFERRED_PROMISE].status = \"success\";\n promise[TSR_DEFERRED_PROMISE].data = data;\n }).catch((error) => {\n promise[TSR_DEFERRED_PROMISE].status = \"error\";\n promise[TSR_DEFERRED_PROMISE].error = {\n data: ((options == null ? void 0 : options.serializeError) ?? defaultSerializeError)(error),\n __isServerError: true\n };\n });\n return promise;\n}\nexport {\n TSR_DEFERRED_PROMISE,\n defer\n};\n//# sourceMappingURL=defer.js.map\n","const preloadWarning = \"Error preloading route! ☝️\";\nexport {\n preloadWarning\n};\n//# sourceMappingURL=link.js.map\n","const isMatch = (match, path) => {\n const parts = path.split(\".\");\n let part;\n let value = match;\n while ((part = parts.shift()) != null && value != null) {\n value = value[part];\n }\n return value != null;\n};\nexport {\n isMatch\n};\n//# sourceMappingURL=Matches.js.map\n","import invariant from \"tiny-invariant\";\nimport { trimPathLeft, joinPaths } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nclass BaseRoute {\n constructor(options) {\n this.init = (opts) => {\n var _a, _b;\n this.originalIndex = opts.originalIndex;\n const options2 = this.options;\n const isRoot = !(options2 == null ? void 0 : options2.path) && !(options2 == null ? void 0 : options2.id);\n this.parentRoute = (_b = (_a = this.options).getParentRoute) == null ? void 0 : _b.call(_a);\n if (isRoot) {\n this._path = rootRouteId;\n } else if (!this.parentRoute) {\n invariant(\n false,\n `Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`\n );\n }\n let path = isRoot ? rootRouteId : options2 == null ? void 0 : options2.path;\n if (path && path !== \"/\") {\n path = trimPathLeft(path);\n }\n const customId = (options2 == null ? void 0 : options2.id) || path;\n let id = isRoot ? rootRouteId : joinPaths([\n this.parentRoute.id === rootRouteId ? \"\" : this.parentRoute.id,\n customId\n ]);\n if (path === rootRouteId) {\n path = \"/\";\n }\n if (id !== rootRouteId) {\n id = joinPaths([\"/\", id]);\n }\n const fullPath = id === rootRouteId ? \"/\" : joinPaths([this.parentRoute.fullPath, path]);\n this._path = path;\n this._id = id;\n this._fullPath = fullPath;\n this._to = fullPath;\n };\n this.clone = (other) => {\n this._path = other._path;\n this._id = other._id;\n this._fullPath = other._fullPath;\n this._to = other._to;\n this.options.getParentRoute = other.options.getParentRoute;\n this.children = other.children;\n };\n this.addChildren = (children) => {\n return this._addFileChildren(children);\n };\n this._addFileChildren = (children) => {\n if (Array.isArray(children)) {\n this.children = children;\n }\n if (typeof children === \"object\" && children !== null) {\n this.children = Object.values(children);\n }\n return this;\n };\n this._addFileTypes = () => {\n return this;\n };\n this.updateLoader = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.update = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.lazy = (lazyFn) => {\n this.lazyFn = lazyFn;\n return this;\n };\n this.options = options || {};\n this.isRoot = !(options == null ? void 0 : options.getParentRoute);\n if ((options == null ? void 0 : options.id) && (options == null ? void 0 : options.path)) {\n throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n }\n }\n get to() {\n return this._to;\n }\n get id() {\n return this._id;\n }\n get path() {\n return this._path;\n }\n get fullPath() {\n return this._fullPath;\n }\n}\nclass BaseRouteApi {\n constructor({ id }) {\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.id = id;\n }\n}\nclass BaseRootRoute extends BaseRoute {\n constructor(options) {\n super(options);\n }\n}\nexport {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi\n};\n//# sourceMappingURL=route.js.map\n","import { deepEqual } from \"./utils.js\";\nfunction retainSearchParams(keys) {\n return ({ search, next }) => {\n const result = next(search);\n if (keys === true) {\n return { ...search, ...result };\n }\n keys.forEach((key) => {\n if (!(key in result)) {\n result[key] = search[key];\n }\n });\n return result;\n };\n}\nfunction stripSearchParams(input) {\n return ({ search, next }) => {\n if (input === true) {\n return {};\n }\n const result = next(search);\n if (Array.isArray(input)) {\n input.forEach((key) => {\n delete result[key];\n });\n } else {\n Object.entries(input).forEach(\n ([key, value]) => {\n if (deepEqual(result[key], value)) {\n delete result[key];\n }\n }\n );\n }\n return result;\n };\n}\nexport {\n retainSearchParams,\n stripSearchParams\n};\n//# sourceMappingURL=searchMiddleware.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { defer, TSR_DEFERRED_PROMISE } from \"@tanstack/router-core\";\nfunction useAwaited({\n promise: _promise\n}) {\n const promise = defer(_promise);\n if (promise[TSR_DEFERRED_PROMISE].status === \"pending\") {\n throw promise;\n }\n if (promise[TSR_DEFERRED_PROMISE].status === \"error\") {\n throw promise[TSR_DEFERRED_PROMISE].error;\n }\n return [promise[TSR_DEFERRED_PROMISE].data, promise];\n}\nfunction Await(props) {\n const inner = /* @__PURE__ */ jsx(AwaitInner, { ...props });\n if (props.fallback) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: props.fallback, children: inner });\n }\n return inner;\n}\nfunction AwaitInner(props) {\n const [data] = useAwaited(props);\n return props.children(data);\n}\nexport {\n Await,\n useAwaited\n};\n//# sourceMappingURL=awaited.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction CatchBoundary(props) {\n const errorComponent = props.errorComponent ?? ErrorComponent;\n return /* @__PURE__ */ jsx(\n CatchBoundaryImpl,\n {\n getResetKey: props.getResetKey,\n onCatch: props.onCatch,\n children: ({ error, reset }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n reset\n });\n }\n return props.children;\n }\n }\n );\n}\nclass CatchBoundaryImpl extends React.Component {\n constructor() {\n super(...arguments);\n this.state = { error: null };\n }\n static getDerivedStateFromProps(props) {\n return { resetKey: props.getResetKey() };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n reset() {\n this.setState({ error: null });\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.error && prevState.resetKey !== this.state.resetKey) {\n this.reset();\n }\n }\n componentDidCatch(error, errorInfo) {\n if (this.props.onCatch) {\n this.props.onCatch(error, errorInfo);\n }\n }\n render() {\n return this.props.children({\n error: this.state.resetKey !== this.props.getResetKey() ? null : this.state.error,\n reset: () => {\n this.reset();\n }\n });\n }\n}\nfunction ErrorComponent({ error }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== \"production\");\n return /* @__PURE__ */ jsxs(\"div\", { style: { padding: \".5rem\", maxWidth: \"100%\" }, children: [\n /* @__PURE__ */ jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \".5rem\" }, children: [\n /* @__PURE__ */ jsx(\"strong\", { style: { fontSize: \"1rem\" }, children: \"Something went wrong!\" }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n style: {\n appearance: \"none\",\n fontSize: \".6em\",\n border: \"1px solid currentColor\",\n padding: \".1rem .2rem\",\n fontWeight: \"bold\",\n borderRadius: \".25rem\"\n },\n onClick: () => setShow((d) => !d),\n children: show ? \"Hide Error\" : \"Show Error\"\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n show ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\n \"pre\",\n {\n style: {\n fontSize: \".7em\",\n border: \"1px solid red\",\n borderRadius: \".25rem\",\n padding: \".3rem\",\n color: \"red\",\n overflow: \"auto\"\n },\n children: error.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n }\n ) }) : null\n ] });\n}\nexport {\n CatchBoundary,\n ErrorComponent\n};\n//# sourceMappingURL=CatchBoundary.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport React__default from \"react\";\nfunction ClientOnly({ children, fallback = null }) {\n return useHydrated() ? /* @__PURE__ */ jsx(React__default.Fragment, { children }) : /* @__PURE__ */ jsx(React__default.Fragment, { children: fallback });\n}\nfunction useHydrated() {\n return React__default.useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nexport {\n ClientOnly\n};\n//# sourceMappingURL=ClientOnly.js.map\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d) {\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n shallow\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nconst routerContext = React.createContext(null);\nfunction getRouterContext() {\n if (typeof document === \"undefined\") {\n return routerContext;\n }\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__;\n }\n window.__TSR_ROUTER_CONTEXT__ = routerContext;\n return routerContext;\n}\nexport {\n getRouterContext\n};\n//# sourceMappingURL=routerContext.js.map\n","import * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction useRouter(opts) {\n const value = React.useContext(getRouterContext());\n warning(\n !(((opts == null ? void 0 : opts.warn) ?? true) && !value),\n \"useRouter must be used inside a <RouterProvider> component!\"\n );\n return value;\n}\nexport {\n useRouter\n};\n//# sourceMappingURL=useRouter.js.map\n","import { useStore } from \"@tanstack/react-store\";\nimport { useRef } from \"react\";\nimport { replaceEqualDeep } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useRouterState(opts) {\n const contextRouter = useRouter({\n warn: (opts == null ? void 0 : opts.router) === void 0\n });\n const router = (opts == null ? void 0 : opts.router) || contextRouter;\n const previousResult = useRef(void 0);\n return useStore(router.__store, (state) => {\n if (opts == null ? void 0 : opts.select) {\n if (opts.structuralSharing ?? router.options.defaultStructuralSharing) {\n const newSlice = replaceEqualDeep(\n previousResult.current,\n opts.select(state)\n );\n previousResult.current = newSlice;\n return newSlice;\n }\n return opts.select(state);\n }\n return state;\n });\n}\nexport {\n useRouterState\n};\n//# sourceMappingURL=useRouterState.js.map\n","import * as React from \"react\";\nconst matchContext = React.createContext(void 0);\nconst dummyMatchContext = React.createContext(\n void 0\n);\nexport {\n dummyMatchContext,\n matchContext\n};\n//# sourceMappingURL=matchContext.js.map\n","import * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { dummyMatchContext, matchContext } from \"./matchContext.js\";\nfunction useMatch(opts) {\n const nearestMatchId = React.useContext(\n opts.from ? dummyMatchContext : matchContext\n );\n const matchSelection = useRouterState({\n select: (state) => {\n const match = state.matches.find(\n (d) => opts.from ? opts.from === d.routeId : d.id === nearestMatchId\n );\n invariant(\n !((opts.shouldThrow ?? true) && !match),\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : \"a nearest match!\"}`\n );\n if (match === void 0) {\n return void 0;\n }\n return opts.select ? opts.select(match) : match;\n },\n structuralSharing: opts.structuralSharing\n });\n return matchSelection;\n}\nexport {\n useMatch\n};\n//# sourceMappingURL=useMatch.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderData(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n structuralSharing: opts.structuralSharing,\n select: (s) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData;\n }\n });\n}\nexport {\n useLoaderData\n};\n//# sourceMappingURL=useLoaderData.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderDeps(opts) {\n const { select, ...rest } = opts;\n return useMatch({\n ...rest,\n select: (s) => {\n return select ? select(s.loaderDeps) : s.loaderDeps;\n }\n });\n}\nexport {\n useLoaderDeps\n};\n//# sourceMappingURL=useLoaderDeps.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useParams(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.params) : match.params;\n }\n });\n}\nexport {\n useParams\n};\n//# sourceMappingURL=useParams.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useSearch(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.search) : match.search;\n }\n });\n}\nexport {\n useSearch\n};\n//# sourceMappingURL=useSearch.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useNavigate(_defaultOpts) {\n const { navigate, state } = useRouter();\n const matchIndex = useMatch({\n strict: false,\n select: (match) => match.index\n });\n return React.useCallback(\n (options) => {\n const from = options.from ?? (_defaultOpts == null ? void 0 : _defaultOpts.from) ?? state.matches[matchIndex].fullPath;\n return navigate({\n ...options,\n from\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [_defaultOpts == null ? void 0 : _defaultOpts.from, navigate]\n );\n}\nfunction Navigate(props) {\n const router = useRouter();\n const navigate = useNavigate();\n const previousPropsRef = React.useRef(null);\n React.useEffect(() => {\n if (previousPropsRef.current !== props) {\n navigate(props);\n previousPropsRef.current = props;\n }\n }, [router, props, navigate]);\n return null;\n}\nexport {\n Navigate,\n useNavigate\n};\n//# sourceMappingURL=useNavigate.js.map\n","import * as React from \"react\";\nfunction useStableCallback(fn) {\n const fnRef = React.useRef(fn);\n fnRef.current = fn;\n const ref = React.useRef((...args) => fnRef.current(...args));\n return ref.current;\n}\nconst useLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction usePrevious(value) {\n const ref = React.useRef({\n value,\n prev: null\n });\n const current = ref.current.value;\n if (value !== current) {\n ref.current = {\n value,\n prev: current\n };\n }\n return ref.current.prev;\n}\nfunction useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {\n React.useEffect(() => {\n if (!ref.current || options.disabled || typeof IntersectionObserver !== \"function\") {\n return;\n }\n const observer = new IntersectionObserver(([entry]) => {\n callback(entry);\n }, intersectionObserverOptions);\n observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }, [callback, intersectionObserverOptions, options.disabled, ref]);\n}\nfunction useForwardedRef(ref) {\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => innerRef.current, []);\n return innerRef;\n}\nexport {\n useForwardedRef,\n useIntersectionObserver,\n useLayoutEffect,\n usePrevious,\n useStableCallback\n};\n//# sourceMappingURL=utils.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { preloadWarning, functionalUpdate, exactPathTest, removeTrailingSlash, deepEqual } from \"@tanstack/router-core\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useForwardedRef, useIntersectionObserver } from \"./utils.js\";\nimport { useMatch } from \"./useMatch.js\";\nfunction useLinkProps(options, forwardedRef) {\n const router = useRouter();\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const hasRenderFetched = React.useRef(false);\n const innerRef = useForwardedRef(forwardedRef);\n const {\n // custom props\n activeProps,\n inactiveProps,\n activeOptions,\n to,\n preload: userPreload,\n preloadDelay: userPreloadDelay,\n hashScrollIntoView,\n replace,\n startTransition,\n resetScroll,\n viewTransition,\n // element props\n children,\n target,\n disabled,\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ignoreBlocker,\n // prevent these from being returned\n params: _params,\n search: _search,\n hash: _hash,\n state: _state,\n mask: _mask,\n reloadDocument: _reloadDocument,\n unsafeRelative: _unsafeRelative,\n from: _from,\n _fromLocation,\n ...propsSafeToSpread\n } = options;\n const type = React.useMemo(() => {\n try {\n new URL(to);\n return \"external\";\n } catch {\n }\n return \"internal\";\n }, [to]);\n const currentSearch = useRouterState({\n select: (s) => s.location.search,\n structuralSharing: true\n });\n const from = useMatch({\n strict: false,\n select: (match) => options.from ?? match.fullPath\n });\n const next = React.useMemo(\n () => router.buildLocation({ ...options, from }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n currentSearch,\n options._fromLocation,\n from,\n options.hash,\n options.to,\n options.search,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative\n ]\n );\n const isExternal = type === \"external\";\n const preload = options.reloadDocument || isExternal ? false : userPreload ?? router.options.defaultPreload;\n const preloadDelay = userPreloadDelay ?? router.options.defaultPreloadDelay ?? 0;\n const isActive = useRouterState({\n select: (s) => {\n if (isExternal) return false;\n if (activeOptions == null ? void 0 : activeOptions.exact) {\n const testExact = exactPathTest(\n s.location.pathname,\n next.pathname,\n router.basepath\n );\n if (!testExact) {\n return false;\n }\n } else {\n const currentPathSplit = removeTrailingSlash(\n s.location.pathname,\n router.basepath\n );\n const nextPathSplit = removeTrailingSlash(\n next.pathname,\n router.basepath\n );\n const pathIsFuzzyEqual = currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === \"/\");\n if (!pathIsFuzzyEqual) {\n return false;\n }\n }\n if ((activeOptions == null ? void 0 : activeOptions.includeSearch) ?? true) {\n const searchTest = deepEqual(s.location.search, next.search, {\n partial: !(activeOptions == null ? void 0 : activeOptions.exact),\n ignoreUndefined: !(activeOptions == null ? void 0 : activeOptions.explicitUndefined)\n });\n if (!searchTest) {\n return false;\n }\n }\n if (activeOptions == null ? void 0 : activeOptions.includeHash) {\n return s.location.hash === next.hash;\n }\n return true;\n }\n });\n const doPreload = React.useCallback(\n () => {\n router.preloadRoute({ ...options, from }).catch((err) => {\n console.warn(err);\n console.warn(preloadWarning);\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n options.to,\n options._fromLocation,\n from,\n options.search,\n options.hash,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative,\n options.hashScrollIntoView,\n options.href,\n options.ignoreBlocker,\n options.reloadDocument,\n options.replace,\n options.resetScroll,\n options.viewTransition\n ]\n );\n const preloadViewportIoCallback = React.useCallback(\n (entry) => {\n if (entry == null ? void 0 : entry.isIntersecting) {\n doPreload();\n }\n },\n [doPreload]\n );\n useIntersectionObserver(\n innerRef,\n preloadViewportIoCallback,\n intersectionObserverOptions,\n { disabled: !!disabled || !(preload === \"viewport\") }\n );\n React.useEffect(() => {\n if (hasRenderFetched.current) {\n return;\n }\n if (!disabled && preload === \"render\") {\n doPreload();\n hasRenderFetched.current = true;\n }\n }, [disabled, doPreload, preload]);\n if (isExternal) {\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n type,\n href: to,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className },\n ...onClick && { onClick },\n ...onFocus && { onFocus },\n ...onMouseEnter && { onMouseEnter },\n ...onMouseLeave && { onMouseLeave },\n ...onTouchStart && { onTouchStart }\n };\n }\n const handleClick = (e) => {\n if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!target || target === \"_self\") && e.button === 0) {\n e.preventDefault();\n flushSync(() => {\n setIsTransitioning(true);\n });\n const unsub = router.subscribe(\"onResolved\", () => {\n unsub();\n setIsTransitioning(false);\n });\n router.navigate({\n ...options,\n from,\n replace,\n resetScroll,\n hashScrollIntoView,\n startTransition,\n viewTransition,\n ignoreBlocker\n });\n }\n };\n const handleFocus = (_) => {\n if (disabled) return;\n if (preload) {\n doPreload();\n }\n };\n const handleTouchStart = handleFocus;\n const handleEnter = (e) => {\n if (disabled || !preload) return;\n if (!preloadDelay) {\n doPreload();\n } else {\n const eventTarget = e.target;\n if (timeoutMap.has(eventTarget)) {\n return;\n }\n const id = setTimeout(() => {\n timeoutMap.delete(eventTarget);\n doPreload();\n }, preloadDelay);\n timeoutMap.set(eventTarget, id);\n }\n };\n const handleLeave = (e) => {\n if (disabled || !preload || !preloadDelay) return;\n const eventTarget = e.target;\n const id = timeoutMap.get(eventTarget);\n if (id) {\n clearTimeout(id);\n timeoutMap.delete(eventTarget);\n }\n };\n const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT;\n const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT;\n const resolvedClassName = [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className\n ].filter(Boolean).join(\" \");\n const resolvedStyle = (style || resolvedActiveProps.style || resolvedInactiveProps.style) && {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style\n };\n return {\n ...propsSafeToSpread,\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n href: disabled ? void 0 : next.maskedLocation ? router.history.createHref(next.maskedLocation.href) : router.history.createHref(next.href),\n ref: innerRef,\n onClick: composeHandlers([onClick, handleClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n disabled: !!disabled,\n target,\n ...resolvedStyle && { style: resolvedStyle },\n ...resolvedClassName && { className: resolvedClassName },\n ...disabled && STATIC_DISABLED_PROPS,\n ...isActive && STATIC_ACTIVE_PROPS,\n ...isTransitioning && STATIC_TRANSITIONING_PROPS\n };\n}\nconst STATIC_EMPTY_OBJECT = {};\nconst STATIC_ACTIVE_OBJECT = { className: \"active\" };\nconst STATIC_DISABLED_PROPS = { role: \"link\", \"aria-disabled\": true };\nconst STATIC_ACTIVE_PROPS = { \"data-status\": \"active\", \"aria-current\": \"page\" };\nconst STATIC_TRANSITIONING_PROPS = { \"data-transitioning\": \"transitioning\" };\nconst timeoutMap = /* @__PURE__ */ new WeakMap();\nconst intersectionObserverOptions = {\n rootMargin: \"100px\"\n};\nconst composeHandlers = (handlers) => (e) => {\n handlers.filter(Boolean).forEach((handler) => {\n if (e.defaultPrevented) return;\n handler(e);\n });\n};\nfunction createLink(Comp) {\n return React.forwardRef(function CreatedLink(props, ref) {\n return /* @__PURE__ */ jsx(Link, { ...props, _asChild: Comp, ref });\n });\n}\nconst Link = React.forwardRef(\n (props, ref) => {\n const { _asChild, ...rest } = props;\n const {\n type: _type,\n ref: innerRef,\n ...linkProps\n } = useLinkProps(rest, ref);\n const children = typeof rest.children === \"function\" ? rest.children({\n isActive: linkProps[\"data-status\"] === \"active\"\n }) : rest.children;\n if (_asChild === void 0) {\n delete linkProps.disabled;\n }\n return React.createElement(\n _asChild ? _asChild : \"a\",\n {\n ...linkProps,\n ref: innerRef\n },\n children\n );\n }\n);\nfunction isCtrlEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n}\nconst linkOptions = (options) => {\n return options;\n};\nexport {\n Link,\n createLink,\n linkOptions,\n useLinkProps\n};\n//# sourceMappingURL=link.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { BaseRouteApi, notFound, BaseRoute, BaseRootRoute } from \"@tanstack/router-core\";\nimport React__default from \"react\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Link } from \"./link.js\";\nfunction getRouteApi(id) {\n return new RouteApi({ id });\n}\nclass RouteApi extends BaseRouteApi {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }) {\n super({ id });\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.id].fullPath });\n };\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.Link = React__default.forwardRef((props, ref) => {\n const router = useRouter();\n const fullPath = router.routesById[this.id].fullPath;\n return /* @__PURE__ */ jsx(Link, { ref, from: fullPath, ...props });\n });\n }\n}\nclass Route extends BaseRoute {\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRoute(options) {\n return new Route(options);\n}\nfunction createRootRouteWithContext() {\n return (options) => {\n return createRootRoute(options);\n };\n}\nconst rootRouteWithContext = createRootRouteWithContext;\nclass RootRoute extends BaseRootRoute {\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts == null ? void 0 : opts.select,\n from: this.id,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => (opts == null ? void 0 : opts.select) ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts == null ? void 0 : opts.select,\n structuralSharing: opts == null ? void 0 : opts.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createRootRoute(options) {\n return new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n return opts;\n}\nclass NotFoundRoute extends Route {\n constructor(options) {\n super({\n ...options,\n id: \"404\"\n });\n }\n}\nexport {\n NotFoundRoute,\n RootRoute,\n Route,\n RouteApi,\n createRootRoute,\n createRootRouteWithContext,\n createRoute,\n createRouteMask,\n getRouteApi,\n rootRouteWithContext\n};\n//# sourceMappingURL=route.js.map\n","import warning from \"tiny-warning\";\nimport { createRoute } from \"./route.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouter } from \"./useRouter.js\";\nfunction createFileRoute(path) {\n if (typeof path === \"object\") {\n return new FileRoute(path, {\n silent: true\n }).createRoute(path);\n }\n return new FileRoute(path, {\n silent: true\n }).createRoute;\n}\nclass FileRoute {\n constructor(path, _opts) {\n this.path = path;\n this.createRoute = (options) => {\n warning(\n this.silent,\n \"FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.\"\n );\n const route = createRoute(options);\n route.isRoot = false;\n return route;\n };\n this.silent = _opts == null ? void 0 : _opts.silent;\n }\n}\nfunction FileRouteLoader(_path) {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`\n );\n return (loaderFn) => loaderFn;\n}\nclass LazyRoute {\n constructor(opts) {\n this.useMatch = (opts2) => {\n return useMatch({\n select: opts2 == null ? void 0 : opts2.select,\n from: this.options.id,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing\n });\n };\n this.useRouteContext = (opts2) => {\n return useMatch({\n from: this.options.id,\n select: (d) => (opts2 == null ? void 0 : opts2.select) ? opts2.select(d.context) : d.context\n });\n };\n this.useSearch = (opts2) => {\n return useSearch({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useParams = (opts2) => {\n return useParams({\n select: opts2 == null ? void 0 : opts2.select,\n structuralSharing: opts2 == null ? void 0 : opts2.structuralSharing,\n from: this.options.id\n });\n };\n this.useLoaderDeps = (opts2) => {\n return useLoaderDeps({ ...opts2, from: this.options.id });\n };\n this.useLoaderData = (opts2) => {\n return useLoaderData({ ...opts2, from: this.options.id });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.options.id].fullPath });\n };\n this.options = opts;\n this.$$typeof = Symbol.for(\"react.memo\");\n }\n}\nfunction createLazyRoute(id) {\n return (opts) => {\n return new LazyRoute({\n id,\n ...opts\n });\n };\n}\nfunction createLazyFileRoute(id) {\n if (typeof id === \"object\") {\n return new LazyRoute(id);\n }\n return (opts) => new LazyRoute({ id, ...opts });\n}\nexport {\n FileRoute,\n FileRouteLoader,\n LazyRoute,\n createFileRoute,\n createLazyFileRoute,\n createLazyRoute\n};\n//# sourceMappingURL=fileRoute.js.map\n","import * as React from \"react\";\nimport { isModuleNotFoundError } from \"@tanstack/router-core\";\nfunction lazyRouteComponent(importer, exportName) {\n let loadPromise;\n let comp;\n let error;\n let reload;\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer().then((res) => {\n loadPromise = void 0;\n comp = res[exportName ?? \"default\"];\n }).catch((err) => {\n error = err;\n if (isModuleNotFoundError(error)) {\n if (error instanceof Error && typeof window !== \"undefined\" && typeof sessionStorage !== \"undefined\") {\n const storageKey = `tanstack_router_reload:${error.message}`;\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, \"1\");\n reload = true;\n }\n }\n }\n });\n }\n return loadPromise;\n };\n const lazyComp = function Lazy(props) {\n if (reload) {\n window.location.reload();\n throw new Promise(() => {\n });\n }\n if (error) {\n throw error;\n }\n if (!comp) {\n throw load();\n }\n return React.createElement(comp, props);\n };\n lazyComp.preload = load;\n return lazyComp;\n}\nexport {\n lazyRouteComponent\n};\n//# sourceMappingURL=lazyRouteComponent.js.map\n","import * as React from \"react\";\nimport { trimPathRight, getLocationChangeInfo, handleHashScroll } from \"@tanstack/router-core\";\nimport { usePrevious, useLayoutEffect } from \"./utils.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction Transitioner() {\n const router = useRouter();\n const mountLoadForRouter = React.useRef({ router, mounted: false });\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const { hasPendingMatches, isLoading } = useRouterState({\n select: (s) => ({\n isLoading: s.isLoading,\n hasPendingMatches: s.matches.some((d) => d.status === \"pending\")\n }),\n structuralSharing: true\n });\n const previousIsLoading = usePrevious(isLoading);\n const isAnyPending = isLoading || isTransitioning || hasPendingMatches;\n const previousIsAnyPending = usePrevious(isAnyPending);\n const isPagePending = isLoading || hasPendingMatches;\n const previousIsPagePending = usePrevious(isPagePending);\n router.startTransition = (fn) => {\n setIsTransitioning(true);\n React.startTransition(() => {\n fn();\n setIsTransitioning(false);\n });\n };\n React.useEffect(() => {\n const unsub = router.history.subscribe(router.load);\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n if (trimPathRight(router.latestLocation.href) !== trimPathRight(nextLocation.href)) {\n router.commitLocation({ ...nextLocation, replace: true });\n }\n return () => {\n unsub();\n };\n }, [router, router.history]);\n useLayoutEffect(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n typeof window !== \"undefined\" && router.ssr || mountLoadForRouter.current.router === router && mountLoadForRouter.current.mounted\n ) {\n return;\n }\n mountLoadForRouter.current = { router, mounted: true };\n const tryLoad = async () => {\n try {\n await router.load();\n } catch (err) {\n console.error(err);\n }\n };\n tryLoad();\n }, [router]);\n useLayoutEffect(() => {\n if (previousIsLoading && !isLoading) {\n router.emit({\n type: \"onLoad\",\n // When the new URL has committed, when the new matches have been loaded into state.matches\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [previousIsLoading, router, isLoading]);\n useLayoutEffect(() => {\n if (previousIsPagePending && !isPagePending) {\n router.emit({\n type: \"onBeforeRouteMount\",\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [isPagePending, previousIsPagePending, router]);\n useLayoutEffect(() => {\n if (previousIsAnyPending && !isAnyPending) {\n router.emit({\n type: \"onResolved\",\n ...getLocationChangeInfo(router.state)\n });\n router.__store.setState((s) => ({\n ...s,\n status: \"idle\",\n resolvedLocation: s.location\n }));\n handleHashScroll(router);\n }\n }, [isAnyPending, previousIsAnyPending, router]);\n return null;\n}\nexport {\n Transitioner\n};\n//# sourceMappingURL=Transitioner.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction CatchNotFound(props) {\n const resetKey = useRouterState({\n select: (s) => `not-found-${s.location.pathname}-${s.status}`\n });\n return /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n onCatch: (error, errorInfo) => {\n var _a;\n if (isNotFound(error)) {\n (_a = props.onCatch) == null ? void 0 : _a.call(props, error, errorInfo);\n } else {\n throw error;\n }\n },\n errorComponent: ({ error }) => {\n var _a;\n if (isNotFound(error)) {\n return (_a = props.fallback) == null ? void 0 : _a.call(props, error);\n } else {\n throw error;\n }\n },\n children: props.children\n }\n );\n}\nfunction DefaultGlobalNotFound() {\n return /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\nexport {\n CatchNotFound,\n DefaultGlobalNotFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nfunction SafeFragment(props) {\n return /* @__PURE__ */ jsx(Fragment, { children: props.children });\n}\nexport {\n SafeFragment\n};\n//# sourceMappingURL=SafeFragment.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport warning from \"tiny-warning\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nfunction renderRouteNotFound(router, route, data) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { data });\n }\n if (process.env.NODE_ENV === \"development\") {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<div>Not Found<div>)`\n );\n }\n return /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n }\n return /* @__PURE__ */ jsx(route.options.notFoundComponent, { data });\n}\nexport {\n renderRouteNotFound\n};\n//# sourceMappingURL=renderRouteNotFound.js.map\n","import { jsx } from \"react/jsx-runtime\";\nfunction ScriptOnce({\n children\n}) {\n if (typeof document !== \"undefined\") {\n return null;\n }\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n className: \"$tsr\",\n dangerouslySetInnerHTML: {\n __html: [children].filter(Boolean).join(\"\\n\")\n }\n }\n );\n}\nexport {\n ScriptOnce\n};\n//# sourceMappingURL=ScriptOnce.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { defaultGetScrollRestorationKey, restoreScroll, storageKey } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nfunction ScrollRestoration() {\n const router = useRouter();\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n const userKey = getKey(router.latestLocation);\n const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;\n if (!router.isScrollRestoring || !router.isServer) {\n return null;\n }\n const restoreScrollOptions = {\n storageKey,\n shouldScrollRestoration: true\n };\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey;\n }\n return /* @__PURE__ */ jsx(\n ScriptOnce,\n {\n children: `(${restoreScroll.toString()})(${JSON.stringify(restoreScrollOptions)})`\n }\n );\n}\nexport {\n ScrollRestoration\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","import { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\nimport { isNotFound, rootRouteId, pick, createControlledPromise, isRedirect, getLocationChangeInfo } from \"@tanstack/router-core\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nconst Match = React.memo(function MatchImpl({\n matchId\n}) {\n var _a, _b;\n const router = useRouter();\n const matchState = useRouterState({\n select: (s) => {\n const match = s.matches.find((d) => d.id === matchId);\n invariant(\n match,\n `Could not find match for matchId \"${matchId}\". Please file an issue!`\n );\n return pick(match, [\"routeId\", \"ssr\", \"_displayPending\"]);\n },\n structuralSharing: true\n });\n const route = router.routesById[matchState.routeId];\n const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent;\n const pendingElement = PendingComponent ? /* @__PURE__ */ jsx(PendingComponent, {}) : null;\n const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n const routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n const routeNotFoundComponent = route.isRoot ? (\n // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n route.options.notFoundComponent ?? ((_a = router.options.notFoundRoute) == null ? void 0 : _a.options.component)\n ) : route.options.notFoundComponent;\n const resolvedNoSsr = matchState.ssr === false || matchState.ssr === \"data-only\";\n const ResolvedSuspenseBoundary = (\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route.isRoot || route.options.wrapInSuspense || resolvedNoSsr) && (route.options.wrapInSuspense ?? PendingComponent ?? (((_b = route.options.errorComponent) == null ? void 0 : _b.preload) || resolvedNoSsr)) ? React.Suspense : SafeFragment\n );\n const ResolvedCatchBoundary = routeErrorComponent ? CatchBoundary : SafeFragment;\n const ResolvedNotFoundBoundary = routeNotFoundComponent ? CatchNotFound : SafeFragment;\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const parentRouteId = useRouterState({\n select: (s) => {\n var _a2;\n const index = s.matches.findIndex((d) => d.id === matchId);\n return (_a2 = s.matches[index - 1]) == null ? void 0 : _a2.routeId;\n }\n });\n const ShellComponent = route.isRoot ? route.options.shellComponent ?? SafeFragment : SafeFragment;\n return /* @__PURE__ */ jsxs(ShellComponent, { children: [\n /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: /* @__PURE__ */ jsx(ResolvedSuspenseBoundary, { fallback: pendingElement, children: /* @__PURE__ */ jsx(\n ResolvedCatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: routeErrorComponent || ErrorComponent,\n onCatch: (error, errorInfo) => {\n if (isNotFound(error)) throw error;\n warning(false, `Error in route match: ${matchId}`);\n routeOnCatch == null ? void 0 : routeOnCatch(error, errorInfo);\n },\n children: /* @__PURE__ */ jsx(\n ResolvedNotFoundBoundary,\n {\n fallback: (error) => {\n if (!routeNotFoundComponent || error.routeId && error.routeId !== matchState.routeId || !error.routeId && !route.isRoot)\n throw error;\n return React.createElement(routeNotFoundComponent, error);\n },\n children: resolvedNoSsr || matchState._displayPending ? /* @__PURE__ */ jsx(ClientOnly, { fallback: pendingElement, children: /* @__PURE__ */ jsx(MatchInner, { matchId }) }) : /* @__PURE__ */ jsx(MatchInner, { matchId })\n }\n )\n }\n ) }) }),\n parentRouteId === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(OnRendered, {}),\n /* @__PURE__ */ jsx(ScrollRestoration, {})\n ] }) : null\n ] });\n});\nfunction OnRendered() {\n const router = useRouter();\n const prevLocationRef = React.useRef(\n void 0\n );\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n suppressHydrationWarning: true,\n ref: (el) => {\n if (el && (prevLocationRef.current === void 0 || prevLocationRef.current.href !== router.latestLocation.href)) {\n router.emit({\n type: \"onRendered\",\n ...getLocationChangeInfo(router.state)\n });\n prevLocationRef.current = router.latestLocation;\n }\n }\n },\n router.latestLocation.state.__TSR_key\n );\n}\nconst MatchInner = React.memo(function MatchInnerImpl({\n matchId\n}) {\n var _a, _b, _c, _d, _e;\n const router = useRouter();\n const { match, key, routeId } = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === matchId);\n const match2 = s.matches[matchIndex];\n const routeId2 = match2.routeId;\n const remountFn = router.routesById[routeId2].options.remountDeps ?? router.options.defaultRemountDeps;\n const remountDeps = remountFn == null ? void 0 : remountFn({\n routeId: routeId2,\n loaderDeps: match2.loaderDeps,\n params: match2._strictParams,\n search: match2._strictSearch\n });\n const key2 = remountDeps ? JSON.stringify(remountDeps) : void 0;\n return {\n key: key2,\n routeId: routeId2,\n match: pick(match2, [\n \"id\",\n \"status\",\n \"error\",\n \"_forcePending\",\n \"_displayPending\"\n ])\n };\n },\n structuralSharing: true\n });\n const route = router.routesById[routeId];\n const out = React.useMemo(() => {\n const Comp = route.options.component ?? router.options.defaultComponent;\n if (Comp) {\n return /* @__PURE__ */ jsx(Comp, {}, key);\n }\n return /* @__PURE__ */ jsx(Outlet, {});\n }, [key, route.options.component, router.options.defaultComponent]);\n if (match._displayPending) {\n throw (_a = router.getMatch(match.id)) == null ? void 0 : _a.displayPendingPromise;\n }\n if (match._forcePending) {\n throw (_b = router.getMatch(match.id)) == null ? void 0 : _b.minPendingPromise;\n }\n if (match.status === \"pending\") {\n const pendingMinMs = route.options.pendingMinMs ?? router.options.defaultPendingMinMs;\n if (pendingMinMs && !((_c = router.getMatch(match.id)) == null ? void 0 : _c.minPendingPromise)) {\n if (!router.isServer) {\n const minPendingPromise = createControlledPromise();\n Promise.resolve().then(() => {\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise\n }));\n });\n setTimeout(() => {\n minPendingPromise.resolve();\n router.updateMatch(match.id, (prev) => ({\n ...prev,\n minPendingPromise: void 0\n }));\n }, pendingMinMs);\n }\n }\n throw (_d = router.getMatch(match.id)) == null ? void 0 : _d.loadPromise;\n }\n if (match.status === \"notFound\") {\n invariant(isNotFound(match.error), \"Expected a notFound error\");\n return renderRouteNotFound(router, route, match.error);\n }\n if (match.status === \"redirected\") {\n invariant(isRedirect(match.error), \"Expected a redirect error\");\n throw (_e = router.getMatch(match.id)) == null ? void 0 : _e.loadPromise;\n }\n if (match.status === \"error\") {\n if (router.isServer) {\n const RouteErrorComponent = (route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent;\n return /* @__PURE__ */ jsx(\n RouteErrorComponent,\n {\n error: match.error,\n reset: void 0,\n info: {\n componentStack: \"\"\n }\n }\n );\n }\n throw match.error;\n }\n return out;\n});\nconst Outlet = React.memo(function OutletImpl() {\n const router = useRouter();\n const matchId = React.useContext(matchContext);\n const routeId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches.find((d) => d.id === matchId)) == null ? void 0 : _a.routeId;\n }\n });\n const route = router.routesById[routeId];\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches;\n const parentMatch = matches.find((d) => d.id === matchId);\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId}\"`\n );\n return parentMatch.globalNotFound;\n }\n });\n const childMatchId = useRouterState({\n select: (s) => {\n var _a;\n const matches = s.matches;\n const index = matches.findIndex((d) => d.id === matchId);\n return (_a = matches[index + 1]) == null ? void 0 : _a.id;\n }\n });\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n if (parentGlobalNotFound) {\n return renderRouteNotFound(router, route, void 0);\n }\n if (!childMatchId) {\n return null;\n }\n const nextMatch = /* @__PURE__ */ jsx(Match, { matchId: childMatchId });\n if (matchId === rootRouteId) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: pendingElement, children: nextMatch });\n }\n return nextMatch;\n});\nexport {\n Match,\n MatchInner,\n Outlet\n};\n//# sourceMappingURL=Match.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Transitioner } from \"./Transitioner.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { Match } from \"./Match.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nfunction Matches() {\n const router = useRouter();\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n const ResolvedSuspense = router.isServer || typeof document !== \"undefined\" && router.ssr ? SafeFragment : React.Suspense;\n const inner = /* @__PURE__ */ jsxs(ResolvedSuspense, { fallback: pendingElement, children: [\n !router.isServer && /* @__PURE__ */ jsx(Transitioner, {}),\n /* @__PURE__ */ jsx(MatchesInner, {})\n ] });\n return router.options.InnerWrap ? /* @__PURE__ */ jsx(router.options.InnerWrap, { children: inner }) : inner;\n}\nfunction MatchesInner() {\n const router = useRouter();\n const matchId = useRouterState({\n select: (s) => {\n var _a;\n return (_a = s.matches[0]) == null ? void 0 : _a.id;\n }\n });\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const matchComponent = matchId ? /* @__PURE__ */ jsx(Match, { matchId }) : null;\n return /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: router.options.disableGlobalCatchBoundary ? matchComponent : /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: ErrorComponent,\n onCatch: (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`\n );\n warning(false, error.message || error.toString());\n },\n children: matchComponent\n }\n ) });\n}\nfunction useMatchRoute() {\n const router = useRouter();\n useRouterState({\n select: (s) => {\n var _a;\n return [s.location.href, (_a = s.resolvedLocation) == null ? void 0 : _a.href, s.status];\n },\n structuralSharing: true\n });\n return React.useCallback(\n (opts) => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts;\n return router.matchRoute(rest, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch\n });\n },\n [router]\n );\n}\nfunction MatchRoute(props) {\n const matchRoute = useMatchRoute();\n const params = matchRoute(props);\n if (typeof props.children === \"function\") {\n return props.children(params);\n }\n return params ? props.children : null;\n}\nfunction useMatches(opts) {\n return useRouterState({\n select: (state) => {\n const matches = state.matches;\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useParentMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId)\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nfunction useChildMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId) + 1\n );\n return (opts == null ? void 0 : opts.select) ? opts.select(matches) : matches;\n },\n structuralSharing: opts == null ? void 0 : opts.structuralSharing\n });\n}\nexport {\n MatchRoute,\n Matches,\n useChildMatches,\n useMatchRoute,\n useMatches,\n useParentMatches\n};\n//# sourceMappingURL=Matches.js.map\n","import { RouterCore } from \"@tanstack/router-core\";\nimport { createFileRoute, createLazyFileRoute } from \"./fileRoute.js\";\nconst createRouter = (options) => {\n return new Router(options);\n};\nclass Router extends RouterCore {\n constructor(options) {\n super(options);\n }\n}\nif (typeof globalThis !== \"undefined\") {\n globalThis.createFileRoute = createFileRoute;\n globalThis.createLazyFileRoute = createLazyFileRoute;\n} else if (typeof window !== \"undefined\") {\n window.createFileRoute = createFileRoute;\n window.createFileRoute = createLazyFileRoute;\n}\nexport {\n Router,\n createRouter\n};\n//# sourceMappingURL=router.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { Matches } from \"./Matches.js\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction RouterContextProvider({\n router,\n children,\n ...rest\n}) {\n if (Object.keys(rest).length > 0) {\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context\n }\n });\n }\n const routerContext = getRouterContext();\n const provider = /* @__PURE__ */ jsx(routerContext.Provider, { value: router, children });\n if (router.options.Wrap) {\n return /* @__PURE__ */ jsx(router.options.Wrap, { children: provider });\n }\n return provider;\n}\nfunction RouterProvider({ router, ...rest }) {\n return /* @__PURE__ */ jsx(RouterContextProvider, { router, ...rest, children: /* @__PURE__ */ jsx(Matches, {}) });\n}\nexport {\n RouterContextProvider,\n RouterProvider\n};\n//# sourceMappingURL=RouterProvider.js.map\n","import { defaultGetScrollRestorationKey, getCssSelector, scrollRestorationCache, setupScrollRestoration } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useScrollRestoration() {\n const router = useRouter();\n setupScrollRestoration(router, true);\n}\nfunction ScrollRestoration(_props) {\n useScrollRestoration();\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\"\n );\n }\n return null;\n}\nfunction useElementScrollRestoration(options) {\n var _a, _b;\n useScrollRestoration();\n const router = useRouter();\n const getKey = options.getKey || defaultGetScrollRestorationKey;\n let elementSelector = \"\";\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`;\n } else {\n const element = (_a = options.getElement) == null ? void 0 : _a.call(options);\n if (!element) {\n return;\n }\n elementSelector = element instanceof Window ? \"window\" : getCssSelector(element);\n }\n const restoreKey = getKey(router.latestLocation);\n const byKey = (_b = scrollRestorationCache) == null ? void 0 : _b.state[restoreKey];\n return byKey == null ? void 0 : byKey[elementSelector];\n}\nexport {\n ScrollRestoration,\n useElementScrollRestoration\n};\n//# sourceMappingURL=ScrollRestoration.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nfunction _resolveBlockerOpts(opts, condition) {\n if (opts === void 0) {\n return {\n shouldBlockFn: () => true,\n withResolver: false\n };\n }\n if (\"shouldBlockFn\" in opts) {\n return opts;\n }\n if (typeof opts === \"function\") {\n const shouldBlock2 = Boolean(condition ?? true);\n const _customBlockerFn2 = async () => {\n if (shouldBlock2) return await opts();\n return false;\n };\n return {\n shouldBlockFn: _customBlockerFn2,\n enableBeforeUnload: shouldBlock2,\n withResolver: false\n };\n }\n const shouldBlock = Boolean(opts.condition ?? true);\n const fn = opts.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n}\nfunction useBlocker(opts, condition) {\n const {\n shouldBlockFn,\n enableBeforeUnload = true,\n disabled = false,\n withResolver = false\n } = _resolveBlockerOpts(opts, condition);\n const router = useRouter();\n const { history } = router;\n const [resolver, setResolver] = React.useState({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n React.useEffect(() => {\n const blockerFnComposed = async (blockerFnArgs) => {\n function getLocation(location) {\n const parsedLocation = router.parseLocation(void 0, location);\n const matchedRoutes = router.getMatchedRoutes(\n parsedLocation.pathname,\n void 0\n );\n if (matchedRoutes.foundRoute === void 0) {\n throw new Error(`No route found for location ${location.href}`);\n }\n return {\n routeId: matchedRoutes.foundRoute.id,\n fullPath: matchedRoutes.foundRoute.fullPath,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: parsedLocation.search\n };\n }\n const current = getLocation(blockerFnArgs.currentLocation);\n const next = getLocation(blockerFnArgs.nextLocation);\n const shouldBlock = await shouldBlockFn({\n action: blockerFnArgs.action,\n current,\n next\n });\n if (!withResolver) {\n return shouldBlock;\n }\n if (!shouldBlock) {\n return false;\n }\n const promise = new Promise((resolve) => {\n setResolver({\n status: \"blocked\",\n current,\n next,\n action: blockerFnArgs.action,\n proceed: () => resolve(false),\n reset: () => resolve(true)\n });\n });\n const canNavigateAsync = await promise;\n setResolver({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n return canNavigateAsync;\n };\n return disabled ? void 0 : history.block({ blockerFn: blockerFnComposed, enableBeforeUnload });\n }, [\n shouldBlockFn,\n enableBeforeUnload,\n disabled,\n withResolver,\n history,\n router\n ]);\n return resolver;\n}\nconst _resolvePromptBlockerArgs = (props) => {\n if (\"shouldBlockFn\" in props) {\n return { ...props };\n }\n const shouldBlock = Boolean(props.condition ?? true);\n const fn = props.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n};\nfunction Block(opts) {\n const { children, ...rest } = opts;\n const args = _resolvePromptBlockerArgs(rest);\n const resolver = useBlocker(args);\n return children ? typeof children === \"function\" ? children(resolver) : children : null;\n}\nexport {\n Block,\n useBlocker\n};\n//# sourceMappingURL=useBlocker.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useRouteContext(opts) {\n return useMatch({\n ...opts,\n select: (match) => opts.select ? opts.select(match.context) : match.context\n });\n}\nexport {\n useRouteContext\n};\n//# sourceMappingURL=useRouteContext.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useLocation(opts) {\n return useRouterState({\n select: (state) => (opts == null ? void 0 : opts.select) ? opts.select(state.location) : state.location\n });\n}\nexport {\n useLocation\n};\n//# sourceMappingURL=useLocation.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useCanGoBack() {\n return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 });\n}\nexport {\n useCanGoBack\n};\n//# sourceMappingURL=useCanGoBack.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction Asset({\n tag,\n attrs,\n children\n}) {\n switch (tag) {\n case \"title\":\n return /* @__PURE__ */ jsx(\"title\", { ...attrs, suppressHydrationWarning: true, children });\n case \"meta\":\n return /* @__PURE__ */ jsx(\"meta\", { ...attrs, suppressHydrationWarning: true });\n case \"link\":\n return /* @__PURE__ */ jsx(\"link\", { ...attrs, suppressHydrationWarning: true });\n case \"style\":\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children }\n }\n );\n case \"script\":\n return /* @__PURE__ */ jsx(Script, { attrs, children });\n default:\n return null;\n }\n}\nfunction Script({\n attrs,\n children\n}) {\n React.useEffect(() => {\n if (attrs == null ? void 0 : attrs.src) {\n const script = document.createElement(\"script\");\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n if (typeof children === \"string\") {\n const script = document.createElement(\"script\");\n script.textContent = children;\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n return void 0;\n }, [attrs, children]);\n if ((attrs == null ? void 0 : attrs.src) && typeof attrs.src === \"string\") {\n return /* @__PURE__ */ jsx(\"script\", { ...attrs, suppressHydrationWarning: true });\n }\n if (typeof children === \"string\") {\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children },\n suppressHydrationWarning: true\n }\n );\n }\n return null;\n}\nexport {\n Asset\n};\n//# sourceMappingURL=Asset.js.map\n","import * as React from \"react\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nconst useTags = () => {\n const router = useRouter();\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta).filter(Boolean);\n }\n });\n const meta = React.useMemo(() => {\n const resultMeta = [];\n const metaByAttribute = {};\n let title;\n [...routeMeta].reverse().forEach((metas) => {\n [...metas].reverse().forEach((m) => {\n if (!m) return;\n if (m.title) {\n if (!title) {\n title = {\n tag: \"title\",\n children: m.title\n };\n }\n } else {\n const attribute = m.name ?? m.property;\n if (attribute) {\n if (metaByAttribute[attribute]) {\n return;\n } else {\n metaByAttribute[attribute] = true;\n }\n }\n resultMeta.push({\n tag: \"meta\",\n attrs: {\n ...m\n }\n });\n }\n });\n });\n if (title) {\n resultMeta.push(title);\n }\n resultMeta.reverse();\n return resultMeta;\n }, [routeMeta]);\n const links = useRouterState({\n select: (state) => {\n var _a;\n const constructed = state.matches.map((match) => match.links).filter(Boolean).flat(1).map((link) => ({\n tag: \"link\",\n attrs: {\n ...link\n }\n }));\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n const assets = state.matches.map((match) => {\n var _a2;\n return ((_a2 = manifest == null ? void 0 : manifest.routes[match.routeId]) == null ? void 0 : _a2.assets) ?? [];\n }).filter(Boolean).flat(1).filter((asset) => asset.tag === \"link\").map(\n (asset) => ({\n tag: \"link\",\n attrs: {\n ...asset.attrs,\n suppressHydrationWarning: true\n }\n })\n );\n return [...constructed, ...assets];\n },\n structuralSharing: true\n });\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta2 = [];\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a, _b, _c, _d;\n return (_d = (_c = (_b = (_a = router.ssr) == null ? void 0 : _a.manifest) == null ? void 0 : _b.routes[route.id]) == null ? void 0 : _c.preloads) == null ? void 0 : _d.filter(Boolean).forEach((preload) => {\n preloadMeta2.push({\n tag: \"link\",\n attrs: {\n rel: \"modulepreload\",\n href: preload\n }\n });\n });\n }\n );\n return preloadMeta2;\n },\n structuralSharing: true\n });\n const styles = useRouterState({\n select: (state) => state.matches.map((match) => match.styles).flat(1).filter(Boolean).map(({ children, ...attrs }) => ({\n tag: \"style\",\n attrs,\n children\n })),\n structuralSharing: true\n });\n const headScripts = useRouterState({\n select: (state) => state.matches.map((match) => match.headScripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script\n },\n children\n })),\n structuralSharing: true\n });\n return uniqBy(\n [\n ...meta,\n ...preloadMeta,\n ...links,\n ...styles,\n ...headScripts\n ],\n (d) => {\n return JSON.stringify(d);\n }\n );\n};\nfunction HeadContent() {\n const tags = useTags();\n return tags.map((tag) => /* @__PURE__ */ createElement(Asset, { ...tag, key: `tsr-meta-${JSON.stringify(tag)}` }));\n}\nfunction uniqBy(arr, fn) {\n const seen = /* @__PURE__ */ new Set();\n return arr.filter((item) => {\n const key = fn(item);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nexport {\n HeadContent,\n useTags\n};\n//# sourceMappingURL=HeadContent.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nconst Scripts = () => {\n const router = useRouter();\n const assetScripts = useRouterState({\n select: (state) => {\n var _a;\n const assetScripts2 = [];\n const manifest = (_a = router.ssr) == null ? void 0 : _a.manifest;\n if (!manifest) {\n return [];\n }\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => {\n var _a2, _b;\n return (_b = (_a2 = manifest.routes[route.id]) == null ? void 0 : _a2.assets) == null ? void 0 : _b.filter((d) => d.tag === \"script\").forEach((asset) => {\n assetScripts2.push({\n tag: \"script\",\n attrs: asset.attrs,\n children: asset.children\n });\n });\n }\n );\n return assetScripts2;\n },\n structuralSharing: true\n });\n const { scripts } = useRouterState({\n select: (state) => ({\n scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script,\n suppressHydrationWarning: true\n },\n children\n }))\n }),\n structuralSharing: true\n });\n const allScripts = [...scripts, ...assetScripts];\n return /* @__PURE__ */ jsx(Fragment, { children: allScripts.map((asset, i) => /* @__PURE__ */ createElement(Asset, { ...asset, key: `tsr-scripts-${asset.tag}-${i}` })) });\n};\nexport {\n Scripts\n};\n//# sourceMappingURL=Scripts.js.map\n"],"names":["require$$0","shimModule","shallow","isMatch","React","jsx","jsxs","React__default","require$$1","withSelectorModule","useSyncExternalStoreWithSelector","Fragment","ScrollRestoration","createElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]}
|