From bd3c1eb2f547ad9811d76e4c9d1942f82a98b698 Mon Sep 17 00:00:00 2001 From: doxa-maps Date: Fri, 11 Sep 2026 23:53:23 +0000 Subject: [PATCH] =?UTF-8?q?revert:=20remove=20the=20vibe-coded=20prayer-ma?= =?UTF-8?q?p=20profile=20entirely=20(bundle,=20output,=20SPA=20nav/PROFILE?= =?UTF-8?q?S)=20=E2=80=94=20the=20real=20prayer=20map=20is=20the=20doxa-si?= =?UTF-8?q?mple-map=20prayer=20instance;=20rebuild=20tree+shell=20(9=20bun?= =?UTF-8?q?dles)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app-profiles/prayer-map/index.html | 55 --- app-profiles/prayer-map/index.js | 57 --- app-profiles/prayer-map/prayer-map.vue | 251 ------------- app-profiles/prayer-map/src/README.md | 28 -- app-profiles/prayer-map/src/api/README.md | 15 - app-profiles/prayer-map/src/colors/README.md | 25 -- .../prayer-map/src/colors/colors.json | 17 - .../prayer-map/src/components/README.md | 16 - .../prayer-map/src/composables/README.md | 16 - app-profiles/prayer-map/src/utils/README.md | 13 - layouts/app-wrapper-material/index.html | 8 - layouts/app-wrapper-material/nav.js | 3 - public/doxa-maps/cities-internet/index.html | 2 +- public/doxa-maps/country-posters/index.html | 2 +- public/doxa-maps/demo-map/index.html | 2 +- public/doxa-maps/doxa-research-map/index.html | 2 +- public/doxa-maps/doxa-simple-map/index.html | 2 +- public/doxa-maps/gospel-resources/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/key-cities/index.html | 2 +- public/doxa-maps/manifest.json | 27 +- public/doxa-maps/my-upg-100-list/index.html | 2 +- public/doxa-maps/prayer-map/index.html | 347 ------------------ public/doxa-maps/prayer-map/prayer-map.js | 181 --------- .../prayer-map/prayer-map/index.html | 121 ------ public/doxa-maps/template-bundle/index.html | 2 +- public/index.html | 8 - public/nav.js | 3 - 28 files changed, 12 insertions(+), 1199 deletions(-) delete mode 100644 app-profiles/prayer-map/index.html delete mode 100644 app-profiles/prayer-map/index.js delete mode 100644 app-profiles/prayer-map/prayer-map.vue delete mode 100644 app-profiles/prayer-map/src/README.md delete mode 100644 app-profiles/prayer-map/src/api/README.md delete mode 100644 app-profiles/prayer-map/src/colors/README.md delete mode 100644 app-profiles/prayer-map/src/colors/colors.json delete mode 100644 app-profiles/prayer-map/src/components/README.md delete mode 100644 app-profiles/prayer-map/src/composables/README.md delete mode 100644 app-profiles/prayer-map/src/utils/README.md delete mode 100644 public/doxa-maps/prayer-map/index.html delete mode 100644 public/doxa-maps/prayer-map/prayer-map.js delete mode 100644 public/doxa-maps/prayer-map/prayer-map/index.html diff --git a/app-profiles/prayer-map/index.html b/app-profiles/prayer-map/index.html deleted file mode 100644 index 29a6c14e8..000000000 --- a/app-profiles/prayer-map/index.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - doxa-maps · prayer-map staging - - - - - - - - - -
-

prayer-map · staging

-

One bundle, one profile, two in-map tabs: By Religion - (shared religion strategy) and Purple Pins - (bundle-local single-color strategy — all pins #8b5cf6).

- -
-
profile-config.profile = "prayer-map"
-
- -
-
-
- - - - - - - - diff --git a/app-profiles/prayer-map/index.js b/app-profiles/prayer-map/index.js deleted file mode 100644 index 6fc600b4f..000000000 --- a/app-profiles/prayer-map/index.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * app-profiles/prayer-map/index.js - * - * Bundle entry — registers the web component. - * Adapted from app-profiles/template-bundle/index.js (the copy-me reference). - * - * Folder name = bundle name. This folder builds to exactly one output file: - * app/doxa-maps/prayer-map/prayer-map.js - * - * Profiles live as FLAT .vue files DIRECTLY in this folder (prayer-map.vue) — - * no profiles/ subfolder. Each `*.vue` here = one profile. - * - * Usage from a host page: - * - * - */ - -import { defineCustomElement } from 'vue' -import { createPinia } from 'pinia' -import ProfileLoader from '@map/ProfileLoader.vue' -import { createAppI18n } from '@map/i18n/index.js' -import { registerStrategies } from '@map/colors/_registry.js' - -// ─── Bundle-private profile registry ───────────────────────────────────────── -// import.meta.glob is evaluated by Vite at build time relative to THIS file, so -// it captures only THIS bundle's profiles. ProfileLoader (in @map) cannot run -// this glob itself, so the bundle hands the result over via app.provide(). -const profileModules = import.meta.glob('./*.vue') - -// ─── Bundle-private color strategies ───────────────────────────────────────── -// Merges ./src/colors/*.js OVER the shared library set for THIS bundle -// only. prayer-map ships `single-color.js` → mode `singleColor` — the strategy -// its "Purple" tab uses. The shared `religion` strategy stays untouched. The -// glob is `*.js`, so `src/colors/colors.json` (plain values) is ignored by design. -registerStrategies(import.meta.glob('./src/colors/*.js', { eager: true })) - -// ─── Register the custom element ───────────────────────────────────────────── -// One tag per bundle, named after the bundle. The guard prevents an -// "already registered" error if the IIFE is ever loaded twice on one page. -const DemoMapElement = defineCustomElement(ProfileLoader, { - configureApp(app) { - app.use(createPinia()) - // Install i18n AND hand the instance to ProfileLoader by reference. The - // defineCustomElement root cannot use useI18n() (see ProfileLoader.vue); - // it drives locale through this provided instance instead. - const i18n = createAppI18n() - app.use(i18n) - app.provide('appI18n', i18n) - app.provide('profileModules', profileModules) - } -}) - -if (typeof customElements !== 'undefined' && !customElements.get('prayer-map')) { - customElements.define('prayer-map', DemoMapElement) -} - -export default DemoMapElement diff --git a/app-profiles/prayer-map/prayer-map.vue b/app-profiles/prayer-map/prayer-map.vue deleted file mode 100644 index ab0d4dbc3..000000000 --- a/app-profiles/prayer-map/prayer-map.vue +++ /dev/null @@ -1,251 +0,0 @@ - - - diff --git a/app-profiles/prayer-map/src/README.md b/app-profiles/prayer-map/src/README.md deleted file mode 100644 index 1b8e87996..000000000 --- a/app-profiles/prayer-map/src/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# src/ — this map's sandbox - -Everything this map needs that isn't already in the shared `library/` gets built here. Nothing in -this folder leaks to another map — build freely. - -``` -src/ -├── api/ which API/CSV/endpoint this map reads -├── colors/ this map's colors: values (colors.json) + strategy .js files -├── components/ this map's own .vue pieces (not reusable) -├── composables/ this map's own logic hooks (useThing.js) -└── utils/ this map's own pure helpers -``` - -Two import styles, two meanings: - -```js -import { useMapInstance } from '@map/composables/useMapInstance.js' // reuse the shared library -import colors from './src/colors/colors.json' // your own sandbox (relative) -``` - -There is no `@map/`-style alias for your sandbox — your code is always relative. That boundary keeps -it private. **Reusable + parameterized → `library/` (an expert move); specific to this map → stays -here.** Local by default. - -Each subfolder has its own README. See also: -[`../../README.md`](../../README.md) (authoring guide) · -[`../../../docs/reference.md`](../../../docs/reference.md) (the `@map/…` menu). diff --git a/app-profiles/prayer-map/src/api/README.md b/app-profiles/prayer-map/src/api/README.md deleted file mode 100644 index 248b8301a..000000000 --- a/app-profiles/prayer-map/src/api/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# src/api/ — this map's data wiring - -Declare **which** data source this map reads. The library owns the *mechanism* (how to fetch and -parse); you own the *declaration*. - -- Mechanism (`DataSourceManager`, the source registry) → `library/api/`, reused via `@map/api/…`. - Never edited. -- Which source, endpoint, and field mappings → **here**, in your own `sources.json`. - -Data usually arrives at runtime from the host page's `profile-config` (`inject('dataSource')`), so -the same bundle can point at different data with no rebuild. Ship a `sources.json` here only for a -fixed default source. Prefer a real API over inlining large JSON. - -- Source-entry contract (types + fields): [`../../../../library/api/README.md`](../../../../library/api/README.md) -- The `@map/api` mechanism: [`../../../../docs/reference.md`](../../../../docs/reference.md) diff --git a/app-profiles/prayer-map/src/colors/README.md b/app-profiles/prayer-map/src/colors/README.md deleted file mode 100644 index 6fd4c9fc7..000000000 --- a/app-profiles/prayer-map/src/colors/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# src/colors/ — this map's colors - -All of one map's colors live here, and it's **bundle-private** — editing it can never affect -another map. Two surfaces sit side by side: - -``` - src/colors/ - ┌──────────────────────────────────────────────┐ - │ colors.json fixed colors (hex only, no code)│ ← non-coders edit this - │ .js data-driven color strategies │ ← green if praying, red if not - └──────────────────────────────────────────────┘ - index.js globs *.js as strategies · colors.json is a plain import -``` - -- **`colors.json`** — pins/polygons/fallback as plain hex. Import it relatively: - `import colors from './src/colors/colors.json'` (the sandbox has no `@map/` alias). -- **A strategy `.js`** — colors pins by a data value. Drop one in and this bundle's `index.js` - auto-registers it, merging **over** the shared library set. Same mode key as a shared strategy → - overrides it; a new key → adds one. For this bundle only. -- Filename → mode key: `example-mode.js` → `exampleMode`. Files starting with `_`/`.` are skipped. - -**Writing a strategy?** The full contract (required `export default` shape, checklist, -profile-local overrides) is in -**[../../../../docs/architecture/color-strategies.md](../../../../docs/architecture/color-strategies.md)**. -Two places a color can live, in depth: [`../../../../contributing/COLORS.md`](../../../../contributing/COLORS.md). diff --git a/app-profiles/prayer-map/src/colors/colors.json b/app-profiles/prayer-map/src/colors/colors.json deleted file mode 100644 index 3b4a0b815..000000000 --- a/app-profiles/prayer-map/src/colors/colors.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "_comment": "Your map's colors as plain VALUES — no code. Edit the hex strings; nothing else. This file is a pure edit surface a non-programmer can safely change. Import it in your profile .vue with a relative path: import colors from './src/colors/colors.json'. For color logic that varies per data value (e.g. color a pin by a field), use a code-based strategy .js file right here in src/colors/ instead — see this folder's README.", - - "pins": { - "default": "#2563eb", - "selected": "#f59e0b", - "muted": "#94a3b8" - }, - - "polygons": { - "fill": "#93c5fd", - "fillOpacity": 0.35, - "outline": "#1d4ed8" - }, - - "fallback": "#cbd5e1" -} diff --git a/app-profiles/prayer-map/src/components/README.md b/app-profiles/prayer-map/src/components/README.md deleted file mode 100644 index 2751cd604..000000000 --- a/app-profiles/prayer-map/src/components/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# src/components/ — this map's own Vue pieces - -Small `.vue` components used by **this map only** — a custom info card, a bespoke overlay, a one-off -panel. Reusable, parameterized components (legend, toolbar button, drawer) live in -`library/components/` and are reused via `@map/components/…`. - -Before building one, check the library first — it ships legends, map-control buttons, drawers, a -geocoder, poster tools, and more (see [`../../../../docs/reference.md`](../../../../docs/reference.md)). - -```js -import LegendDesktop from '@map/components/legends/LegendDesktop.vue' // reuse (by reference) -import YourThing from './src/components/YourThing.vue' // your own (relative) -``` - -Your profile `.vue` screens stay **flat at the bundle root** (that's the discovery convention); the -pieces they're built from live here. diff --git a/app-profiles/prayer-map/src/composables/README.md b/app-profiles/prayer-map/src/composables/README.md deleted file mode 100644 index f5a6bdf97..000000000 --- a/app-profiles/prayer-map/src/composables/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# src/composables/ — this map's own logic hooks - -Composition-API hooks (`useSomething.js`) holding **this map's** logic. Reusable map logic already -ships in `library/composables/` — `useMapInstance`, `useMapData`, `useMapLayers`, -`useMapClustering`, `useMapFly`, `useMapTheme`, `useLegendData`, and more -(see [`../../../../docs/reference.md`](../../../../docs/reference.md)). Write here only the glue -unique to your map. - -```js -import { useMapInstance } from '@map/composables/useMapInstance.js' // reuse -import { useYourThing } from './src/composables/useYourThing.js' // your own (relative) -``` - -- One hook per file, named `useThing.js`, exporting a `useThing()`. -- Keep it framework-pure — that's what makes a hook easy to promote to `library/` later, *if* a - second map ever needs it (local by default). diff --git a/app-profiles/prayer-map/src/utils/README.md b/app-profiles/prayer-map/src/utils/README.md deleted file mode 100644 index 83e69b23b..000000000 --- a/app-profiles/prayer-map/src/utils/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# src/utils/ — this map's own helper functions - -Small, pure, stateless helpers (formatters, tiny transforms, lookups) specific to **this map**. -General reusable helpers — geo math, cluster helpers, `apiBaseUrl` — live in `library/utils/` and -are reused via `@map/utils/…` (see [`../../../../docs/reference.md`](../../../../docs/reference.md)). - -```js -import { haversine } from '@map/utils/geoUtils.js' // reuse -import { formatLabel } from './src/utils/format.js' // your own (relative) -``` - -- Keep functions pure (no side effects, no global state). -- Named exports, one concern per file. diff --git a/layouts/app-wrapper-material/index.html b/layouts/app-wrapper-material/index.html index 7d2e6c507..7388cdd54 100644 --- a/layouts/app-wrapper-material/index.html +++ b/layouts/app-wrapper-material/index.html @@ -900,14 +900,6 @@ const PROFILES = { views: ['map'], config: { profile:'upg-neighbors', dataSource:'pray-tools', instanceId:'wrapper-upg-neighbor-lab' }, }, - // Flagship prayer map — MapLibre by default (token-free; no single point of failure for - // partner embeds), no search bar. Experimental until blessed to production. - 'prayer-map-maplibre': { - tag: 'prayer-map', - src: './doxa-maps/prayer-map/prayer-map.js', - views: ['map'], - config: { profile:'prayer-map', dataSource:'pray-tools', instanceId:'wrapper-prayer-map', provider:'maplibre' }, - }, } diff --git a/layouts/app-wrapper-material/nav.js b/layouts/app-wrapper-material/nav.js index 5ce138394..309fde64d 100644 --- a/layouts/app-wrapper-material/nav.js +++ b/layouts/app-wrapper-material/nav.js @@ -98,9 +98,6 @@ export const NAV = [ open: false, children: [ { kind: 'item', id: 'nationmapper', label: 'Nationmapper', icon: 'share', target: 'both' }, - // Flagship prayer-map (MapLibre-default, token-free, no search) — in Experimental - // until blessed to production, per the experimental-profile law. - { kind: 'item', id: 'prayer-map-maplibre', label: 'Prayer Map (MapLibre)', icon: 'prayer', target: 'both' }, // Country Posters MOVED here from Prayer Mobilization to Experimental. { kind: 'item', id: 'countries-map', label: 'Country Posters', icon: 'poster', target: 'both' }, // Outreach Planner = geo-steward, renamed + moved out of the Dashboard folder. diff --git a/public/doxa-maps/cities-internet/index.html b/public/doxa-maps/cities-internet/index.html index e9a9a1116..637a6138d 100644 --- a/public/doxa-maps/cities-internet/index.html +++ b/public/doxa-maps/cities-internet/index.html @@ -129,7 +129,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/country-posters-map>"}}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/demo-map>"},"bundle":"demo-map"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/doxa-research-map>"}}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"cities-internet-map","iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./cities-internet/cities-internet.js\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"","element":"country-posters-map","iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./country-posters/country-posters.js\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/country-posters-map>"}}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./demo-map/demo-map.js\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/demo-map>"},"bundle":"demo-map"}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"","element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-research-map/doxa-research-map.js\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"","element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"","element":"gospel-resources-map","iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./gospel-resources/gospel-resources.js\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"key-cities","scriptUrl":"./key-cities/key-cities.js","output":"doxa-maps/key-cities/key-cities.js","elements":["key-cities-map"],"profiles":[{"profile":"cities-list","file":"cities-list.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/cities-list/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/cities-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"cities-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"cities-map","file":"cities-map.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/cities-map/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/cities-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"cities-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"city-poster-wall","file":"city-poster-wall.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/city-poster-wall/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/city-poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"city-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/data-tables/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"key-cities","scriptUrl":"./key-cities/key-cities.js","output":"doxa-maps/key-cities/key-cities.js","elements":["key-cities-map"],"profiles":[{"profile":"cities-list","file":"cities-list.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/cities-list/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/cities-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"cities-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"cities-map","file":"cities-map.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/cities-map/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/cities-map/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"cities-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"city-poster-wall","file":"city-poster-wall.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/city-poster-wall/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/city-poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"city-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"","element":"key-cities-map","iframeUrl":"./key-cities/data-tables/index.html","scriptUrl":"./key-cities/key-cities.js","embed":{"iframe":"\u003ciframe src=\"./key-cities/data-tables/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./key-cities/key-cities.js\">\u003c/script>\n\u003ckey-cities-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/key-cities-map>"}}]}]}; \n" - }, - "bundle": "prayer-map" - } - ] - }, { "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", diff --git a/public/doxa-maps/my-upg-100-list/index.html b/public/doxa-maps/my-upg-100-list/index.html index 588f4fdc3..70225c1e6 100644 --- a/public/doxa-maps/my-upg-100-list/index.html +++ b/public/doxa-maps/my-upg-100-list/index.html @@ -129,7 +129,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"","element":"my-upg-100-list-map","iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/my-upg-100-list-map>"}}]}]}; - - - diff --git a/public/doxa-maps/prayer-map/prayer-map.js b/public/doxa-maps/prayer-map/prayer-map.js deleted file mode 100644 index 200a19c72..000000000 --- a/public/doxa-maps/prayer-map/prayer-map.js +++ /dev/null @@ -1,181 +0,0 @@ -(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".profile-loader[data-v-e7b71944]{width:100%;height:100%;position:relative}.profile-error[data-v-e7b71944]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}")),document.head.appendChild(e)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})(); -(function(){"use strict";var ea=typeof document<"u"?document.currentScript:null;const hb="modulepreload",mb=function(e){return"/"+e},bb={},Ec=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** -* @vue/shared v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function ta(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ae={},un=[],mt=()=>{},Ms=()=>!1,to=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),no=e=>e.startsWith("onUpdate:"),Ne=Object.assign,na=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},$c=Object.prototype.hasOwnProperty,pe=(e,t)=>$c.call(e,t),oe=Array.isArray,Bt=e=>Ln(e)==="[object Map]",oo=e=>Ln(e)==="[object Set]",Rs=e=>Ln(e)==="[object Date]",se=e=>typeof e=="function",Ee=e=>typeof e=="string",ot=e=>typeof e=="symbol",me=e=>e!==null&&typeof e=="object",Fs=e=>(me(e)||se(e))&&se(e.then)&&se(e.catch),Ds=Object.prototype.toString,Ln=e=>Ds.call(e),Lc=e=>Ln(e).slice(8,-1),ao=e=>Ln(e)==="[object Object]",so=e=>Ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Cn=ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),io=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Cc=/-\w/g,De=io(e=>e.replace(Cc,t=>t.slice(1).toUpperCase())),Nc=/\B([A-Z])/g,at=io(e=>e.replace(Nc,"-$1").toLowerCase()),ro=io(e=>e.charAt(0).toUpperCase()+e.slice(1)),oa=io(e=>e?`on${ro(e)}`:""),bt=(e,t)=>!Object.is(e,t),aa=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},wc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},xs=e=>{const t=Ee(e)?Number(e):NaN;return isNaN(t)?e:t};let js;const lo=()=>js||(js=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function co(e){if(oe(e)){const t={};for(let n=0;n{if(n){const o=n.split(Ic);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function uo(e){let t="";if(Ee(e))t=e;else if(oe(e))for(let n=0;n!!(e&&e.__v_isRef===!0),gn=e=>Ee(e)?e:e==null?"":oe(e)||me(e)&&(e.toString===Ds||!se(e.toString))?Us(e)?gn(e.value):JSON.stringify(e,Gs,2):String(e),Gs=(e,t)=>Us(t)?Gs(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[sa(o,s)+" =>"]=a,n),{})}:oo(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>sa(n))}:ot(t)?sa(t):me(t)&&!oe(t)&&!ao(t)?String(t):t,sa=(e,t="")=>{var n;return ot(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Me;class zs{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Me&&(Me.active?(this.parent=Me,this.index=(Me.scopes||(Me.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Me===this)Me=this.prevScope;else{let t=Me;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(wn){let t=wn;for(wn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Nn;){let t=Nn;for(Nn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Ys(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Js(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ga(o),xc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ua(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Xs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Xs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pn)||(e.globalVersion=Pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ua(e))))return;e.flags|=2;const t=e.dep,n=Se,o=lt;Se=e,lt=!0;try{Ys(e);const a=e.fn(e._value);(t.version===0||bt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Se=n,lt=o,Js(e),e.flags&=-3}}function ga(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ga(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let lt=!0;const Zs=[];function _t(){Zs.push(lt),lt=!1}function yt(){const e=Zs.pop();lt=e===void 0?!0:e}function Qs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Se;Se=void 0;try{t()}finally{Se=n}}}let Pn=0;class jc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class da{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Se||!lt||Se===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Se)n=this.activeLink=new jc(Se,this),Se.deps?(n.prevDep=Se.depsTail,Se.depsTail.nextDep=n,Se.depsTail=n):Se.deps=Se.depsTail=n,ei(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Se.depsTail,n.nextDep=void 0,Se.depsTail.nextDep=n,Se.depsTail=n,Se.deps===n&&(Se.deps=o)}return n}trigger(t){this.version++,Pn++,this.notify(t)}notify(t){la();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ca()}}}function ei(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ei(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const fo=new WeakMap,Qt=Symbol(""),fa=Symbol(""),In=Symbol("");function Ue(e,t,n){if(lt&&Se){let o=fo.get(e);o||fo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new da),a.map=o,a.key=n),a.track()}}function Lt(e,t,n,o,a,s){const i=fo.get(e);if(!i){Pn++;return}const r=l=>{l&&l.trigger()};if(la(),t==="clear")i.forEach(r);else{const l=oe(e),c=l&&so(n);if(l&&n==="length"){const u=Number(o);i.forEach((p,_)=>{(_==="length"||_===In||!ot(_)&&_>=u)&&r(p)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(In)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Qt)),Bt(e)&&r(i.get(fa)));break;case"delete":l||(r(i.get(Qt)),Bt(e)&&r(i.get(fa)));break;case"set":Bt(e)&&r(i.get(Qt));break}}ca()}function Bc(e,t){const n=fo.get(e);return n&&n.get(t)}function dn(e){const t=ce(e);return t===e?t:(Ue(t,"iterate",In),Ze(e)?t:t.map(ct))}function po(e){return Ue(e=ce(e),"iterate",In),e}function At(e,t){return wt(e)?fn(Nt(e)?ct(t):t):ct(t)}const Kc={__proto__:null,[Symbol.iterator](){return pa(this,Symbol.iterator,e=>At(this,e))},concat(...e){return dn(this).concat(...e.map(t=>oe(t)?dn(t):t))},entries(){return pa(this,"entries",e=>(e[1]=At(this,e[1]),e))},every(e,t){return Ct(this,"every",e,t,void 0,arguments)},filter(e,t){return Ct(this,"filter",e,t,n=>n.map(o=>At(this,o)),arguments)},find(e,t){return Ct(this,"find",e,t,n=>At(this,n),arguments)},findIndex(e,t){return Ct(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ct(this,"findLast",e,t,n=>At(this,n),arguments)},findLastIndex(e,t){return Ct(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ct(this,"forEach",e,t,void 0,arguments)},includes(...e){return ha(this,"includes",e)},indexOf(...e){return ha(this,"indexOf",e)},join(e){return dn(this).join(e)},lastIndexOf(...e){return ha(this,"lastIndexOf",e)},map(e,t){return Ct(this,"map",e,t,void 0,arguments)},pop(){return Mn(this,"pop")},push(...e){return Mn(this,"push",e)},reduce(e,...t){return ti(this,"reduce",e,t)},reduceRight(e,...t){return ti(this,"reduceRight",e,t)},shift(){return Mn(this,"shift")},some(e,t){return Ct(this,"some",e,t,void 0,arguments)},splice(...e){return Mn(this,"splice",e)},toReversed(){return dn(this).toReversed()},toSorted(e){return dn(this).toSorted(e)},toSpliced(...e){return dn(this).toSpliced(...e)},unshift(...e){return Mn(this,"unshift",e)},values(){return pa(this,"values",e=>At(this,e))}};function pa(e,t,n){const o=po(e),a=o[t]();return o!==e&&!Ze(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Uc=Array.prototype;function Ct(e,t,n,o,a,s){const i=po(e),r=i!==e&&!Ze(e),l=i[t];if(l!==Uc[t]){const p=l.apply(e,s);return r?ct(p):p}let c=n;i!==e&&(r?c=function(p,_){return n.call(this,At(e,p),_,e)}:n.length>2&&(c=function(p,_){return n.call(this,p,_,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function ti(e,t,n,o){const a=po(e),s=a!==e&&!Ze(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,p){return r&&(r=!1,c=At(e,c)),n.call(this,c,At(e,u),p,e)}):n.length>3&&(i=function(c,u,p){return n.call(this,c,u,p,e)}));const l=a[t](i,...o);return r?At(e,l):l}function ha(e,t,n){const o=ce(e);Ue(o,"iterate",In);const a=o[t](...n);return(a===-1||a===!1)&&Ao(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Mn(e,t,n=[]){_t(),la();const o=ce(e)[t].apply(e,n);return ca(),yt(),o}const Gc=ta("__proto__,__v_isRef,__isVue"),ni=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ot));function zc(e){ot(e)||(e=String(e));const t=ce(this);return Ue(t,"has",e),t.hasOwnProperty(e)}class oi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?ci:li:s?ri:ii).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=oe(t);if(!a){let l;if(i&&(l=Kc[n]))return l;if(n==="hasOwnProperty")return zc}const r=Reflect.get(t,n,Ce(t)?t:o);if((ot(n)?ni.has(n):Gc(n))||(a||Ue(t,"get",n),s))return r;if(Ce(r)){const l=i&&so(n)?r:r.value;return a&&me(l)?ba(l):l}return me(r)?a?ba(r):_o(r):r}}class ai extends oi{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=oe(t)&&so(n);if(!this._isShallow){const c=wt(s);if(!Ze(o)&&!wt(o)&&(s=ce(s),o=ce(o)),!i&&Ce(s)&&!Ce(o))return c||(s.value=o),!0}const r=i?Number(n)e,ho=e=>Reflect.getPrototypeOf(e);function Yc(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=Bt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ma:t?fn:ct;return!t&&Ue(s,"iterate",l?fa:Qt),Ne(Object.create(c),{next(){const{value:p,done:_}=c.next();return _?{value:p,done:_}:{value:r?[u(p[0]),u(p[1])]:u(p),done:_}}})}}function mo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jc(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(bt(a,r)&&Ue(i,"get",a),Ue(i,"get",r));const{has:l}=ho(i),c=t?ma:e?fn:ct;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Ue(ce(a),"iterate",Qt),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(bt(a,r)&&Ue(i,"has",a),Ue(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?ma:e?fn:ct;return!e&&Ue(l,"iterate",Qt),r.forEach((u,p)=>a.call(s,c(u),c(p),i))}};return Ne(n,e?{add:mo("add"),set:mo("set"),delete:mo("delete"),clear:mo("clear")}:{add(a){const s=ce(this),i=ho(s),r=ce(a),l=!t&&!Ze(a)&&!wt(a)?r:a;return i.has.call(s,l)||bt(a,l)&&i.has.call(s,a)||bt(r,l)&&i.has.call(s,r)||(s.add(l),Lt(s,"add",l,l)),this},set(a,s){!t&&!Ze(s)&&!wt(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=ho(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?bt(s,u)&&Lt(i,"set",a,s):Lt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=ho(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&Lt(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&Lt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Yc(a,e,t)}),n}function bo(e,t){const n=Jc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(pe(n,a)&&a in o?n:o,a,s)}const Xc={get:bo(!1,!1)},Zc={get:bo(!1,!0)},Qc={get:bo(!0,!1)},eu={get:bo(!0,!0)},ii=new WeakMap,ri=new WeakMap,li=new WeakMap,ci=new WeakMap;function tu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _o(e){return wt(e)?e:yo(e,!1,Hc,Xc,ii)}function nu(e){return yo(e,!1,Vc,Zc,ri)}function ba(e){return yo(e,!0,qc,Qc,li)}function yb(e){return yo(e,!0,Wc,eu,ci)}function yo(e,t,n,o,a){if(!me(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=tu(Lc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function Nt(e){return wt(e)?Nt(e.__v_raw):!!(e&&e.__v_isReactive)}function wt(e){return!!(e&&e.__v_isReadonly)}function Ze(e){return!!(e&&e.__v_isShallow)}function Ao(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Rn(e){return!pe(e,"__v_skip")&&Object.isExtensible(e)&&Os(e,"__v_skip",!0),e}const ct=e=>me(e)?_o(e):e,fn=e=>me(e)?ba(e):e;function Ce(e){return e?e.__v_isRef===!0:!1}function be(e){return gi(e,!1)}function ui(e){return gi(e,!0)}function gi(e,t){return Ce(e)?e:new ou(e,t)}class ou{constructor(t,n){this.dep=new da,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:ct(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ze(t)||wt(t);t=o?t:ce(t),bt(t,n)&&(this._rawValue=t,this._value=o?t:ct(t),this.dep.trigger())}}function _a(e){return Ce(e)?e.value:e}const au={get:(e,t,n)=>t==="__v_raw"?e:_a(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return Ce(a)&&!Ce(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function di(e){return Nt(e)?e:new Proxy(e,au)}function su(e){const t=oe(e)?new Array(e.length):{};for(const n in e)t[n]=ru(e,n);return t}class iu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=ot(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!oe(t)||ot(this._key)||!so(this._key))do a=!Ao(s)||Ze(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=_a(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ce(this._raw[this._key])){const n=this._object[this._key];if(Ce(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Bc(this._raw,this._key)}}function ru(e,t,n){return new iu(e,t,n)}class lu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new da(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Se!==this)return Ws(this,!0),!0}get value(){const t=this.dep.track();return Xs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function cu(e,t,n=!1){let o,a;return se(e)?o=e:(o=e.get,a=e.set),new lu(o,a,n)}const So={},vo=new WeakMap;let en;function uu(e,t=!1,n=en){if(n){let o=vo.get(n);o||vo.set(n,o=[]),o.push(e)}}function gu(e,t,n=Ae){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:Ze(b)||a===!1||a===0?Kt(b,1):Kt(b);let u,p,_,v,C=!1,k=!1;if(Ce(e)?(p=()=>e.value,C=Ze(e)):Nt(e)?(p=()=>c(e),C=!0):oe(e)?(k=!0,C=e.some(b=>Nt(b)||Ze(b)),p=()=>e.map(b=>{if(Ce(b))return b.value;if(Nt(b))return c(b);if(se(b))return l?l(b,2):b()})):se(e)?t?p=l?()=>l(e,2):e:p=()=>{if(_){_t();try{_()}finally{yt()}}const b=en;en=u;try{return l?l(e,3,[v]):e(v)}finally{en=b}}:p=mt,t&&a){const b=p,S=a===!0?1/0:a;p=()=>Kt(b(),S)}const M=Hs(),N=()=>{u.stop(),M&&M.active&&na(M.effects,u)};if(s&&t){const b=t;t=(...S)=>{const T=b(...S);return N(),T}}let L=k?new Array(e.length).fill(So):So;const h=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const S=u.run();if(b||a||C||(k?S.some((T,w)=>bt(T,L[w])):bt(S,L))){_&&_();const T=en;en=u;try{const w=[S,L===So?void 0:k&&L[0]===So?[]:L,v];L=S,l?l(t,3,w):t(...w)}finally{en=T}}}else u.run()};return r&&r(h),u=new qs(p),u.scheduler=i?()=>i(h,!1):h,v=b=>uu(b,!1,u),_=u.onStop=()=>{const b=vo.get(u);if(b){if(l)l(b,4);else for(const S of b)S();vo.delete(u)}},t?o?h(!0):L=u.run():i?i(h.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function Kt(e,t=1/0,n){if(t<=0||!me(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ce(e))Kt(e.value,t,n);else if(oe(e))for(let o=0;o{Kt(o,t,n)});else if(ao(e)){for(const o in e)Kt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Kt(e[o],t,n)}return e}/** -* @vue/runtime-core v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Fn=[];let ya=!1;function Ab(e,...t){if(ya)return;ya=!0,_t();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=du();if(o)pn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${gr(n,s.type)}>`).join(` -`),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...fu(a)),console.warn(...s)}yt(),ya=!1}function du(){let e=Fn[Fn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function fu(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...pu(n))}),t}function pu({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${gr(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...hu(e.props),s]:[a+s]}function hu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...fi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function fi(e,t,n){return Ee(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ce(t)?(t=fi(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function pn(e,t,n,o){try{return o?e(...o):e()}catch(a){Dn(a,t,n)}}function ut(e,t,n,o){if(se(e)){const a=pn(e,t,n,o);return a&&Fs(a)&&a.catch(s=>{Dn(s,t,n)}),a}if(oe(e)){const a=[];for(let s=0;s>>1,a=He[o],s=On(a);s=On(n)?He.push(e):He.splice(bu(t),0,e),e.flags|=1,hi()}}function hi(){ko||(ko=pi.then(_i))}function _u(e){if(!oe(e))Ut&&e.id===-1?Ut.splice(mn+1,0,e):e.flags&1||(hn.push(e),e.flags|=1);else for(let t=0;tOn(n)-On(o));if(hn.length=0,Ut){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function _i(e){try{for(St=0;St{o._d&&Ro(-1);const s=To(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)nr();To(s),o._d&&Ro(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function tn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&se(t)?t.call(o&&o.proxy):t}}function Au(){return!!(zt()||on)}const Su=Symbol.for("v-scx"),vu=()=>Ge(Su);function ku(e,t){return va(e,null,t)}function nn(e,t,n){return va(e,t,n)}function va(e,t,n=Ae){const{immediate:o,deep:a,flush:s,once:i}=n,r=Ne({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const v=vu();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!l){const v=()=>{};return v.stop=mt,v.resume=mt,v.pause=mt,v}}const u=je;r.call=(v,C,k)=>ut(v,u,C,k);let p=!1;s==="post"?r.scheduler=v=>{Ye(v,u&&u.suspense)}:s!=="sync"&&(p=!0,r.scheduler=(v,C)=>{C?v():Sa(v)}),r.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const _=gu(e,t,r);return _n&&(c?c.push(_):l&&_()),_}function Tu(e,t,n){const o=this.proxy,a=Ee(e)?e.includes(".")?Ai(o,e):()=>o[e]:e.bind(o,o);let s;se(t)?s=t:(s=t.handler,n=t);const i=Vn(this),r=va(a,s.bind(o),n);return i(),r}function Ai(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function $u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==It){t=n;break}}return t}function Si(e){if(!Co(e))return Eo(e.type)&&e.children?$u(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&se(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Eo(n.type)&&Si(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function xn(e,t){return se(e)?Ne({name:e.name},t,{setup:e}):e}function Ea(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function vi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const $o=new WeakMap;function jn(e,t,n,o,a=!1){if(oe(e)){e.forEach((k,M)=>jn(k,t&&(oe(t)?t[M]:t),n,o,a));return}if(Bn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&jn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===Ae?r.refs={}:r.refs,p=r.setupState,_=ce(p),v=p===Ae?Ms:k=>vi(u,k)?!1:pe(_,k),C=(k,M)=>!(M&&vi(u,M));if(c!=null&&c!==l){if(ki(t),Ee(c))u[c]=null,v(c)&&(p[c]=null);else if(Ce(c)){const k=t;C(c,k.k)&&(c.value=null),k.k&&(u[k.k]=null)}}if(se(l))pn(l,r,12,[i,u]);else{const k=Ee(l),M=Ce(l);if(k||M){const N=()=>{if(e.f){const L=k?v(l)?p[l]:u[l]:C()||!e.k?l.value:u[e.k];if(a)oe(L)&&na(L,s);else if(oe(L))L.includes(s)||L.push(s);else if(k)u[l]=[s],v(l)&&(p[l]=u[l]);else{const h=[s];C(l,e.k)&&(l.value=h),e.k&&(u[e.k]=h)}}else k?(u[l]=i,v(l)&&(p[l]=i)):M&&(C(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{N(),$o.delete(e)};L.id=-1,$o.set(e,L),Ye(L,n)}else ki(e),N()}}}function ki(e){const t=$o.get(e);t&&(t.flags|=8,$o.delete(e))}const Ti=e=>e.nodeType===8;lo().requestIdleCallback,lo().cancelIdleCallback;function Lu(e,t){if(Ti(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Ti(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Bn=e=>!!e.type.__asyncLoader;function Cu(e){se(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,p=0;const _=()=>(p++,c=null,v()),v=()=>{let C;return c||(C=c=t().catch(k=>{if(k=k instanceof Error?k:new Error(String(k)),l)return new Promise((M,N)=>{l(k,()=>M(_()),()=>N(k),p+1)});throw k}).then(k=>C!==c&&c?c:(k&&(k.__esModule||k[Symbol.toStringTag]==="Module")&&(k=k.default),u=k,k)))};return xn({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(C,k,M){const N=C.isConnected;let L=!1;(k.bu||(k.bu=[])).push(()=>L=!0);const h=()=>{L||!C.parentNode||N&&!C.isConnected||M()},b=s?()=>{const S=s(h,T=>Lu(C,T));S&&(k.bum||(k.bum=[])).push(S)}:h;u?b():v().then(()=>!k.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const C=je;if(Ea(C),u)return()=>Lo(u,C);const k=S=>{c=null,Dn(S,C,13,!o)};if(r&&C.suspense||_n)return v().then(S=>()=>Lo(S,C)).catch(S=>(k(S),()=>o?Oe(o,{error:S}):null));const M=be(!1),N=be(),L=be(!!a);let h,b;return Po(()=>{h!=null&&clearTimeout(h),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{C.isUnmounted||(L.value=!1)},a)),i!=null&&(h=setTimeout(()=>{if(!C.isUnmounted&&!M.value&&!N.value){const S=new Error(`Async component timed out after ${i}ms.`);k(S),N.value=S}},i)),v().then(()=>{C.isUnmounted||(M.value=!0,C.parent&&Co(C.parent.vnode)&&C.parent.update())}).catch(S=>{if(C.isUnmounted){c=null;return}k(S),N.value=S}),()=>{if(M.value&&u)return Lo(u,C);if(N.value&&o)return Oe(o,{error:N.value});if(n&&!L.value)return Lo(n,C)}}})}function Lo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Oe(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Co=e=>e.type.__isKeepAlive;function Nu(e,t){Ei(e,"a",t)}function wu(e,t){Ei(e,"da",t)}function Ei(e,t,n=je){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(No(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Co(a.parent.vnode)&&Pu(o,t,n,a),a=a.parent}}function Pu(e,t,n,o){const a=No(t,e,o,!0);Po(()=>{na(o[t],a)},n)}function No(e,t,n=je,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{_t();const r=Vn(n),l=ut(t,n,e,i);return r(),yt(),l});return o?a.unshift(s):a.push(s),s}}const Pt=e=>(t,n=je)=>{(!_n||e==="sp")&&No(e,(...o)=>t(...o),n)},$i=Pt("bm"),wo=Pt("m"),Iu=Pt("bu"),Mu=Pt("u"),Li=Pt("bum"),Po=Pt("um"),Ru=Pt("sp"),Fu=Pt("rtg"),Du=Pt("rtc");function Ou(e,t=je){No("ec",e,t)}const xu="components",Ci=Symbol.for("v-ndc");function ju(e){return Ee(e)?Bu(xu,e,!1)||e:e||Ci}function Bu(e,t,n=!0,o=!1){const a=gt||je;if(a){const s=a.type;{const r=ur(s,!1);if(r&&(r===t||r===De(t)||r===ro(De(t))))return s}const i=Ni(a[e]||s[e],t)||Ni(a.appContext[e],t);return!i&&o?s:i}}function Ni(e,t){return e&&(e[t]||e[De(t)]||e[ro(De(t))])}function wi(e,t,n,o){let a;const s=n,i=oe(e);if(i||Ee(e)){const r=i&&Nt(e);let l=!1,c=!1;r&&(l=!Ze(e),c=wt(e),e=po(e)),a=new Array(e.length);for(let u=0,p=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?rr(e)?Fa(e):$a(e.parent):null,Kn=Ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$a(e.parent),$root:e=>$a(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ri(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Aa.bind(e.proxy)),$watch:e=>Tu.bind(e)}),La=(e,t)=>e!==Ae&&!e.__isScriptSetup&&pe(e,t),Ku={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const _=i[t];if(_!==void 0)switch(_){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(La(o,t))return i[t]=1,o[t];if(a!==Ae&&pe(a,t))return i[t]=2,a[t];if(pe(s,t))return i[t]=3,s[t];if(n!==Ae&&pe(n,t))return i[t]=4,n[t];Ca&&(i[t]=0)}}const c=Kn[t];let u,p;if(c)return t==="$attrs"&&Ue(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==Ae&&pe(n,t))return i[t]=4,n[t];if(p=l.config.globalProperties,pe(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return La(a,t)?(a[t]=n,!0):o!==Ae&&pe(o,t)?(o[t]=n,!0):pe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==Ae&&r[0]!=="$"&&pe(e,r)||La(t,r)||pe(s,r)||pe(o,r)||pe(Kn,r)||pe(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:pe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Pi(e){return oe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ca=!0;function Uu(e){const t=Ri(e),n=e.proxy,o=e.ctx;Ca=!1,t.beforeCreate&&Ii(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:p,mounted:_,beforeUpdate:v,updated:C,activated:k,deactivated:M,beforeDestroy:N,beforeUnmount:L,destroyed:h,unmounted:b,render:S,renderTracked:T,renderTriggered:w,errorCaptured:I,serverPrefetch:A,expose:W,inheritAttrs:Z,components:j,directives:Y,filters:Q}=t;if(c&&Gu(c,o,null),i)for(const J in i){const ne=i[J];se(ne)&&(o[J]=ne.bind(n))}if(a){const J=a.call(n,n);me(J)&&(e.data=_o(J))}if(Ca=!0,s)for(const J in s){const ne=s[J],Ie=se(ne)?ne.bind(n,n):se(ne.get)?ne.get.bind(n,n):mt,z=!se(ne)&&se(ne.set)?ne.set.bind(n):mt,te=$e({get:Ie,set:z});Object.defineProperty(o,J,{enumerable:!0,configurable:!0,get:()=>te.value,set:X=>te.value=X})}if(r)for(const J in r)Mi(r[J],o,n,J);if(l){const J=se(l)?l.call(n):l;Reflect.ownKeys(J).forEach(ne=>{dt(ne,J[ne])})}u&&Ii(u,e,"c");function V(J,ne){oe(ne)?ne.forEach(Ie=>J(Ie.bind(n))):ne&&J(ne.bind(n))}if(V($i,p),V(wo,_),V(Iu,v),V(Mu,C),V(Nu,k),V(wu,M),V(Ou,I),V(Du,T),V(Fu,w),V(Li,L),V(Po,b),V(Ru,A),oe(W))if(W.length){const J=e.exposed||(e.exposed={});W.forEach(ne=>{Object.defineProperty(J,ne,{get:()=>n[ne],set:Ie=>n[ne]=Ie,enumerable:!0})})}else e.exposed||(e.exposed={});S&&e.render===mt&&(e.render=S),Z!=null&&(e.inheritAttrs=Z),j&&(e.components=j),Y&&(e.directives=Y),A&&Ea(e)}function Gu(e,t,n=mt){oe(e)&&(e=Na(e));for(const o in e){const a=e[o];let s;me(a)?"default"in a?s=Ge(a.from||o,a.default,!0):s=Ge(a.from||o):s=Ge(a),Ce(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ii(e,t,n){ut(oe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Mi(e,t,n,o){let a=o.includes(".")?Ai(n,o):()=>n[o];if(Ee(e)){const s=t[e];se(s)&&nn(a,s)}else if(se(e))nn(a,e.bind(n));else if(me(e))if(oe(e))e.forEach(s=>Mi(s,t,n,o));else{const s=se(e.handler)?e.handler.bind(n):t[e.handler];se(s)&&nn(a,s,e)}}function Ri(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Io(l,c,i,!0)),Io(l,t,i)),me(t)&&s.set(t,l),l}function Io(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Io(e,s,n,!0),a&&a.forEach(i=>Io(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=zu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const zu={data:Fi,props:Di,emits:Di,methods:Un,computed:Un,beforeCreate:qe,created:qe,beforeMount:qe,mounted:qe,beforeUpdate:qe,updated:qe,beforeDestroy:qe,beforeUnmount:qe,destroyed:qe,unmounted:qe,activated:qe,deactivated:qe,errorCaptured:qe,serverPrefetch:qe,components:Un,directives:Un,watch:qu,provide:Fi,inject:Hu};function Fi(e,t){return t?e?function(){return Ne(se(e)?e.call(this,this):e,se(t)?t.call(this,this):t)}:t:e}function Hu(e,t){return Un(Na(e),Na(t))}function Na(e){if(oe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${De(t)}Modifiers`]||e[`${at(t)}Modifiers`];function Ju(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Ae;let a=n;const s=t.startsWith("update:"),i=s&&Yu(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ee(u)?u.trim():u)),i.number&&(a=a.map(wc)));let r,l=o[r=oa(t)]||o[r=oa(De(t))];!l&&s&&(l=o[r=oa(at(t))]),l&&ut(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,ut(c,e,6,a)}}const Xu=new WeakMap;function xi(e,t,n=!1){const o=n?Xu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!se(e)){const l=c=>{const u=xi(c,t,!0);u&&(r=!0,Ne(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(me(e)&&o.set(e,null),null):(oe(s)?s.forEach(l=>i[l]=null):Ne(i,s),me(e)&&o.set(e,i),i)}function Mo(e,t){return!e||!to(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),pe(e,t[0].toLowerCase()+t.slice(1))||pe(e,at(t))||pe(e,t))}function Sb(){}function ji(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:p,data:_,setupState:v,ctx:C,inheritAttrs:k}=e,M=To(e);let N,L;try{if(n.shapeFlag&4){const b=a||o,S=b;N=vt(c.call(S,b,u,p,v,_,C)),L=r}else{const b=t;N=vt(b.length>1?b(p,{attrs:r,slots:i,emit:l}):b(p,null)),L=t.props?r:Zu(r)}}catch(b){sn.length=0,Dn(b,e,1),N=Oe(It)}let h=N;if(L&&k!==!1){const b=Object.keys(L),{shapeFlag:S}=h;b.length&&S&7&&(s&&b.some(no)&&(L=Qu(L,s)),h=bn(h,L,!1,!0))}if(n.dirs&&(h=bn(h,null,!1,!0),h.dirs=h.dirs?h.dirs.concat(n.dirs):n.dirs),n.transition){const b=Eo(h.type)&&Si(h)||h;Ta(b,n.transition)}return N=h,To(M),N}const Zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||to(n))&&((t||(t={}))[n]=e[n]);return t},Qu=(e,t)=>{const n={};for(const o in e)(!no(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function eg(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Bi(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(Ui),zi=e=>Object.getPrototypeOf(e)===Ui;function ng(e,t,n,o=!1){const a={},s=Gi();e.propsDefaults=Object.create(null),Hi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:nu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function og(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ce(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[_,v]=qi(p,t,!0);Ne(i,_),v&&r.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return me(e)&&o.set(e,un),un;if(oe(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ia=e=>oe(e)?e.map(vt):[vt(e)],sg=(e,t,n)=>{if(t._n)return t;const o=yu((...a)=>Ia(t(...a)),n);return o._c=!1,o},Wi=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Pa(a))continue;const s=e[a];if(se(s))t[a]=sg(a,s,o);else if(s!=null){const i=Ia(s);t[a]=()=>i}}},Yi=(e,t)=>{const n=Ia(t);e.slots.default=()=>n},Ji=(e,t,n)=>{for(const o in t)(n||!Pa(o))&&(e[o]=t[o])},ig=(e,t,n)=>{const o=e.slots=Gi();if(e.vnode.shapeFlag&32){const a=t._;a?(Ji(o,t,n),n&&Os(o,"_",a,!0)):Wi(t,o)}else t&&Yi(e,t)},rg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=Ae;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Ji(a,t,n):(s=!t.$stable,Wi(t,a)),i=t}else t&&(Yi(e,t),i={default:1});if(s)for(const r in a)!Pa(r)&&i[r]==null&&delete a[r]},Ye=dg;function lg(e){return cg(e)}function cg(e,t){const n=lo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:_,setScopeId:v=mt,insertStaticContent:C}=e,k=(f,y,m,P=null,O=null,D=null,G=void 0,U=null,g=!!y.dynamicChildren)=>{if(f===y)return;f&&!Hn(f,y)&&(P=he(f),X(f,O,D,!0),f=null),y.patchFlag===-2&&(g=!1,y.dynamicChildren=null);const{type:d,ref:$,shapeFlag:R}=y;switch(d){case Gn:M(f,y,m,P);break;case It:N(f,y,m,P);break;case Ra:f==null&&L(y,m,P,G);break;case Qe:j(f,y,m,P,O,D,G,U,g);break;default:R&1?S(f,y,m,P,O,D,G,U,g):R&6?Y(f,y,m,P,O,D,G,U,g):(R&64||R&128)&&d.process(f,y,m,P,O,D,G,U,g,ge)}$!=null&&O?jn($,f&&f.ref,D,y||f,!y):$==null&&f&&f.ref!=null&&jn(f.ref,null,D,f,!0)},M=(f,y,m,P)=>{if(f==null)o(y.el=r(y.children),m,P);else{const O=y.el=f.el;y.children!==f.children&&c(O,y.children)}},N=(f,y,m,P)=>{f==null?o(y.el=l(y.children||""),m,P):y.el=f.el},L=(f,y,m,P)=>{[f.el,f.anchor]=C(f.children,y,m,P,f.el,f.anchor)},h=({el:f,anchor:y},m,P)=>{let O;for(;f&&f!==y;)O=_(f),o(f,m,P),f=O;o(y,m,P)},b=({el:f,anchor:y})=>{let m;for(;f&&f!==y;)m=_(f),a(f),f=m;a(y)},S=(f,y,m,P,O,D,G,U,g)=>{if(y.type==="svg"?G="svg":y.type==="math"&&(G="mathml"),f==null)T(y,m,P,O,D,G,U,g);else{const d=f.el&&f.el._isVueCE?f.el:null;try{d&&d._beginPatch(),A(f,y,O,D,G,U,g)}finally{d&&d._endPatch()}}},T=(f,y,m,P,O,D,G,U)=>{let g,d;const{props:$,shapeFlag:R,transition:H,dirs:K}=f;if(g=f.el=i(f.type,D,$&&$.is,$),R&8?u(g,f.children):R&16&&I(f.children,g,null,P,O,Ma(f,D),G,U),K&&tn(f,null,P,"created"),w(g,f,f.scopeId,G,P),$){for(const F in $)F!=="value"&&!Cn(F)&&s(g,F,null,$[F],D,P);"value"in $&&s(g,"value",null,$.value,D),(d=$.onVnodeBeforeMount)&&kt(d,P,f)}K&&tn(f,null,P,"beforeMount");const E=ug(O,H);E&&H.beforeEnter(g),o(g,y,m),((d=$&&$.onVnodeMounted)||E||K)&&Ye(()=>{try{d&&kt(d,P,f),E&&H.enter(g),K&&tn(f,null,P,"mounted")}finally{}},O)},w=(f,y,m,P,O)=>{if(m&&v(f,m),P)for(let D=0;D{for(let d=g;d{const U=y.el=f.el;let{patchFlag:g,dynamicChildren:d,dirs:$}=y;g|=f.patchFlag&16;const R=f.props||Ae,H=y.props||Ae;let K;if(m&&an(m,!1),(K=H.onVnodeBeforeUpdate)&&kt(K,m,y,f),$&&tn(y,f,m,"beforeUpdate"),m&&an(m,!0),d&&(!f.dynamicChildren||f.dynamicChildren.length!==d.length)&&(g=0,G=!1,d=null),(R.innerHTML&&H.innerHTML==null||R.textContent&&H.textContent==null)&&u(U,""),d?W(f.dynamicChildren,d,U,m,P,Ma(y,O),D):G||ne(f,y,U,null,m,P,Ma(y,O),D,!1),g>0){if(g&16)Z(U,R,H,m,O);else if(g&2&&R.class!==H.class&&s(U,"class",null,H.class,O),g&4&&s(U,"style",R.style,H.style,O),g&8){const E=y.dynamicProps;for(let F=0;F{K&&kt(K,m,y,f),$&&tn(y,f,m,"updated")},P)},W=(f,y,m,P,O,D,G)=>{for(let U=0;U{if(y!==m){if(y!==Ae)for(const D in y)!Cn(D)&&!(D in m)&&s(f,D,y[D],null,O,P);for(const D in m){if(Cn(D))continue;const G=m[D],U=y[D];G!==U&&D!=="value"&&s(f,D,U,G,O,P)}"value"in m&&s(f,"value",y.value,m.value,O)}},j=(f,y,m,P,O,D,G,U,g)=>{const d=y.el=f?f.el:r(""),$=y.anchor=f?f.anchor:r("");let{patchFlag:R,dynamicChildren:H,slotScopeIds:K}=y;K&&(U=U?U.concat(K):K),f==null?(o(d,m,P),o($,m,P),I(y.children||[],m,$,O,D,G,U,g)):R>0&&R&64&&H&&f.dynamicChildren&&f.dynamicChildren.length===H.length?(W(f.dynamicChildren,H,m,O,D,G,U),(y.key!=null||O&&y===O.subTree)&&Xi(f,y,!0)):ne(f,y,m,$,O,D,G,U,g)},Y=(f,y,m,P,O,D,G,U,g)=>{y.slotScopeIds=U,f==null?y.shapeFlag&512?O.ctx.activate(y,m,P,G,g):Q(y,m,P,O,D,G,g):B(f,y,g)},Q=(f,y,m,P,O,D,G)=>{const U=f.component=_g(f,P,O);if(Co(f)&&(U.ctx.renderer=ge),yg(U,!1,G),U.asyncDep){if(O&&O.registerDep(U,V,G),!f.el){const g=U.subTree=Oe(It);N(null,g,y,m),f.placeholder=g.el}}else V(U,f,y,m,O,D,G)},B=(f,y,m)=>{const P=y.component=f.component;if(eg(f,y,m))if(P.asyncDep&&!P.asyncResolved){J(P,y,m);return}else P.next=y,P.update();else y.el=f.el,P.vnode=y},V=(f,y,m,P,O,D,G)=>{const U=()=>{if(f.isMounted){let{next:R,bu:H,u:K,parent:E,vnode:F}=f;{const Ke=Zi(f);if(Ke){R&&(R.el=F.el,J(f,R,G)),Ke.asyncDep.then(()=>{Ye(()=>{f.isUnmounted||d()},O)});return}}let ee=R,re;an(f,!1),R?(R.el=F.el,J(f,R,G)):R=F,H&&aa(H),(re=R.props&&R.props.onVnodeBeforeUpdate)&&kt(re,E,R,F),an(f,!0);const Te=ji(f),We=f.subTree;f.subTree=Te,k(We,Te,p(We.el),he(We),f,O,D),R.el=Te.el,ee===null&&tg(f,Te.el),K&&Ye(K,O),(re=R.props&&R.props.onVnodeUpdated)&&Ye(()=>kt(re,E,R,F),O)}else{let R;const{el:H,props:K}=y,{bm:E,m:F,parent:ee,root:re,type:Te}=f,We=Bn(y);an(f,!1),E&&aa(E),!We&&(R=K&&K.onVnodeBeforeMount)&&kt(R,ee,y),an(f,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(Te,f.parent?f.parent.type:void 0);const Ke=f.subTree=ji(f);k(null,Ke,m,P,f,O,D),y.el=Ke.el}if(F&&Ye(F,O),!We&&(R=K&&K.onVnodeMounted)){const Ke=y;Ye(()=>kt(R,ee,Ke),O)}(y.shapeFlag&256||ee&&Bn(ee.vnode)&&ee.vnode.shapeFlag&256)&&f.a&&Ye(f.a,O),f.isMounted=!0,y=m=P=null}};f.scope.on();const g=f.effect=new qs(U);f.scope.off();const d=f.update=g.run.bind(g),$=f.job=g.runIfDirty.bind(g);$.i=f,$.id=f.uid,g.scheduler=()=>Sa($),an(f,!0),d()},J=(f,y,m)=>{y.component=f;const P=f.vnode.props;f.vnode=y,f.next=null,og(f,y.props,P,m),rg(f,y.children,m),_t(),mi(f),yt()},ne=(f,y,m,P,O,D,G,U,g=!1)=>{const d=f&&f.children,$=f?f.shapeFlag:0,R=y.children,{patchFlag:H,shapeFlag:K}=y;if(H>0){if(H&128){z(d,R,m,P,O,D,G,U,g);return}else if(H&256){Ie(d,R,m,P,O,D,G,U,g);return}}K&8?($&16&&ke(d,O,D),R!==d&&u(m,R)):$&16?K&16?z(d,R,m,P,O,D,G,U,g):ke(d,O,D,!0):($&8&&u(m,""),K&16&&I(R,m,P,O,D,G,U,g))},Ie=(f,y,m,P,O,D,G,U,g)=>{f=f||un,y=y||un;const d=f.length,$=y.length,R=Math.min(d,$);let H;for(H=0;H$?ke(f,O,D,!0,!1,R):I(y,m,P,O,D,G,U,g,R)},z=(f,y,m,P,O,D,G,U,g)=>{let d=0;const $=y.length;let R=f.length-1,H=$-1;for(;d<=R&&d<=H;){const K=f[d],E=y[d]=g?Mt(y[d]):vt(y[d]);if(Hn(K,E))k(K,E,m,null,O,D,G,U,g);else break;d++}for(;d<=R&&d<=H;){const K=f[R],E=y[H]=g?Mt(y[H]):vt(y[H]);if(Hn(K,E))k(K,E,m,null,O,D,G,U,g);else break;R--,H--}if(d>R){if(d<=H){const K=H+1,E=K<$?y[K].el:P;for(;d<=H;)k(null,y[d]=g?Mt(y[d]):vt(y[d]),m,E,O,D,G,U,g),d++}}else if(d>H)for(;d<=R;)X(f[d],O,D,!0),d++;else{const K=d,E=d,F=new Map;for(d=E;d<=H;d++){const nt=y[d]=g?Mt(y[d]):vt(y[d]);nt.key!=null&&F.set(nt.key,d)}let ee,re=0;const Te=H-E+1;let We=!1,Ke=0;const cn=new Array(Te);for(d=0;d=Te){X(nt,O,D,!0);continue}let $t;if(nt.key!=null)$t=F.get(nt.key);else for(ee=E;ee<=H;ee++)if(cn[ee-E]===0&&Hn(nt,y[ee])){$t=ee;break}$t===void 0?X(nt,O,D,!0):(cn[$t-E]=d+1,$t>=Ke?Ke=$t:We=!0,k(nt,y[$t],m,null,O,D,G,U,g),re++)}const Is=We?gg(cn):un;for(ee=Is.length-1,d=Te-1;d>=0;d--){const nt=E+d,$t=y[nt],kc=y[nt+1],Tc=nt+1<$?kc.el||er(kc):P;cn[d]===0?k(null,$t,m,Tc,O,D,G,U,g):We&&(ee<0||d!==Is[ee]?te($t,m,Tc,2):ee--)}}},te=(f,y,m,P,O=null)=>{const{el:D,type:G,transition:U,children:g,shapeFlag:d}=f;if(d&6){te(f.component.subTree,y,m,P);return}if(d&128){f.suspense.move(y,m,P);return}if(d&64){G.move(f,y,m,ge);return}if(G===Qe){o(D,y,m);for(let R=0;RU.enter(D),O));else{const{leave:R,delayLeave:H,afterLeave:K}=U,E=()=>{f.ctx.isUnmounted?a(D):o(D,y,m)},F=()=>{const ee=D._isLeaving||!!D[ka];D._isLeaving&&D[ka](!0),U.persisted&&!ee?E():R(D,()=>{E(),K&&K()})};H?H(D,E,F):F()}else o(D,y,m)},X=(f,y,m,P=!1,O=!1)=>{const{type:D,props:G,ref:U,children:g,dynamicChildren:d,shapeFlag:$,patchFlag:R,dirs:H,cacheIndex:K,memo:E}=f;if(R===-2&&(O=!1),U!=null&&(_t(),jn(U,null,m,f,!0),yt()),K!=null&&(y.renderCache[K]=void 0),$&256){y.ctx.deactivate(f);return}const F=$&1&&H,ee=!Bn(f);let re;if(ee&&(re=G&&G.onVnodeBeforeUnmount)&&kt(re,y,f),$&6)Fe(f.component,m,P);else{if($&128){f.suspense.unmount(m,P);return}F&&tn(f,null,y,"beforeUnmount"),$&64?f.type.remove(f,y,m,ge,P):d&&!d.hasOnce&&(D!==Qe||R>0&&R&64)?ke(d,y,m,!1,!0):(D===Qe&&R&384||!O&&$&16)&&ke(g,y,m),P&&fe(f)}const Te=E!=null&&K==null;(ee&&(re=G&&G.onVnodeUnmounted)||F||Te)&&Ye(()=>{re&&kt(re,y,f),F&&tn(f,null,y,"unmounted"),Te&&(f.el=null)},m)},fe=f=>{const{type:y,el:m,anchor:P,transition:O}=f;if(y===Qe){ue(m,P);return}if(y===Ra){b(f);return}const D=()=>{a(m),O&&!O.persisted&&O.afterLeave&&O.afterLeave()};if(f.shapeFlag&1&&O&&!O.persisted){const{leave:G,delayLeave:U}=O,g=()=>G(m,D);U?U(f.el,D,g):g()}else D()},ue=(f,y)=>{let m;for(;f!==y;)m=_(f),a(f),f=m;a(y)},Fe=(f,y,m)=>{const{bum:P,scope:O,job:D,subTree:G,um:U,m:g,a:d}=f;Qi(g),Qi(d),P&&aa(P),O.stop(),D&&(D.flags|=8,X(G,f,y,m)),U&&Ye(U,y),Ye(()=>{f.isUnmounted=!0},y)},ke=(f,y,m,P=!1,O=!1,D=0)=>{for(let G=D;G{if(f.shapeFlag&6)return he(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const y=_(f.anchor||f.el),m=y&&y[Eu];return m?_(m):y};let ye=!1;const x=(f,y,m)=>{let P;f==null?y._vnode&&(X(y._vnode,null,null,!0),P=y._vnode.component):k(y._vnode||null,f,y,null,null,null,m),y._vnode=f,ye||(ye=!0,mi(P),bi(),ye=!1)},ge={p:k,um:X,m:te,r:fe,mt:Q,mc:I,pc:ne,pbc:W,n:he,o:e};return{render:x,hydrate:void 0,createApp:Wu(x)}}function Ma({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ug(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Xi(e,t,n=!1){const o=e.children,a=t.children;if(oe(o)&&oe(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function Zi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zi(t)}function Qi(e){if(e)for(let t=0;te.__isSuspense;function dg(e,t){t&&t.pendingBranch?oe(e)?t.effects.push(...e):t.effects.push(e):_u(e)}const Qe=Symbol.for("v-fgt"),Gn=Symbol.for("v-txt"),It=Symbol.for("v-cmt"),Ra=Symbol.for("v-stc"),sn=[];let et=null;function Je(e=!1){sn.push(et=e?null:[])}function nr(){sn.pop(),et=sn[sn.length-1]||null}let zn=1;function Ro(e,t=!1){zn+=e,e<0&&et&&t&&(et.hasOnce=!0)}function or(e){return e.dynamicChildren=zn>0?et||un:null,nr(),zn>0&&et&&et.push(e),e}function st(e,t,n,o,a,s){return or(tt(e,t,n,o,a,s,!0))}function ar(e,t,n,o,a){return or(Oe(e,t,n,o,a,!0))}function Fo(e){return e?e.__v_isVNode===!0:!1}function Hn(e,t){return e.type===t.type&&e.key===t.key}const sr=({key:e})=>e??null,Do=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ee(e)||Ce(e)||se(e)?{i:gt,r:e,k:t,f:!!n}:e:null);function tt(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&sr(t),ref:t&&Do(t),scopeId:yi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:gt};return r?(xo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ee(n)?8:16),zn>0&&!i&&et&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&et.push(l),l}const Oe=fg;function fg(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Ci)&&(e=It),Fo(e)){const r=bn(e,t,!0);return n&&xo(r,n),zn>0&&!s&&et&&(r.shapeFlag&6?et[et.indexOf(e)]=r:et.push(r)),r.patchFlag=-2,r}if(Eg(e)&&(e=e.__vccOpts),t){t=pg(t);let{class:r,style:l}=t;r&&!Ee(r)&&(t.class=uo(r)),me(l)&&(Ao(l)&&!oe(l)&&(l=Ne({},l)),t.style=co(l))}const i=Ee(e)?1:tr(e)?128:Eo(e)?64:me(e)?4:se(e)?2:0;return tt(e,t,n,o,a,i,s,!0)}function pg(e){return e?Ao(e)||zi(e)?Ne({},e):e:null}function bn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?hg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&sr(c),ref:t&&t.ref?n&&s?oe(s)?s.concat(Do(t)):[s,Do(t)]:Do(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bn(e.ssContent),ssFallback:e.ssFallback&&bn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Gt(e=" ",t=0){return Oe(Gn,null,e,t)}function Oo(e="",t=!1){return t?(Je(),ar(It,null,e)):Oe(It,null,e)}function vt(e){return e==null||typeof e=="boolean"?Oe(It):oe(e)?Oe(Qe,null,e.slice()):Fo(e)?Mt(e):Oe(Gn,null,String(e))}function Mt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:bn(e)}function xo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(oe(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),xo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!zi(t)?t._ctx=gt:a===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(se(t)){if(o&65){xo(e,{default:t});return}t={default:t,_ctx:gt},n=32}else t=String(t),o&64?(n=16,t=[Gt(t)]):n=8;e.children=t,e.shapeFlag|=n}function hg(...e){const t={};for(let n=0;nje||gt;let jo,qn;{const e=lo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};jo=t("__VUE_INSTANCE_SETTERS__",n=>je=n),qn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Vn=e=>{const t=je;return jo(e),e.scope.on(),()=>{e.scope.off(),jo(t)}},ir=()=>{je&&je.scope.off(),jo(null)};function rr(e){return e.vnode.shapeFlag&4}let _n=!1;function yg(e,t=!1,n=!1){t&&qn(t);const{props:o,children:a}=e.vnode,s=rr(e);ng(e,o,s,t),ig(e,a,n||t);const i=s?Ag(e,t):void 0;return t&&qn(!1),i}function Ag(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ku);const{setup:o}=n;if(o){_t();const a=e.setupContext=o.length>1?vg(e):null,s=Vn(e),i=pn(o,e,0,[e.props,a]),r=Fs(i);if(yt(),s(),(r||e.sp)&&!Bn(e)&&Ea(e),r){if(i.then(ir,ir),t)return i.then(l=>{qn(!0);try{lr(e,l,t)}finally{qn(!1)}}).catch(l=>{Dn(l,e,0)});e.asyncDep=i}else lr(e,i)}else cr(e)}function lr(e,t,n){se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:me(t)&&(e.setupState=di(t)),cr(e)}function cr(e,t,n){const o=e.type;e.render||(e.render=o.render||mt);{const a=Vn(e);_t();try{Uu(e)}finally{yt(),a()}}}const Sg={get(e,t){return Ue(e,"get",""),e[t]}};function vg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(di(Rn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Kn)return Kn[n](e)},has(t,n){return n in t||n in Kn}})):e.proxy}const kg=/(?:^|[-_])\w/g,Tg=e=>e.replace(kg,t=>t.toUpperCase()).replace(/[-_]/g,"");function ur(e,t=!0){return se(e)?e.displayName||e.name:e.name||t&&e.__name}function gr(e,t,n=!1){let o=ur(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Tg(o):n?"App":"Anonymous"}function Eg(e){return se(e)&&"__vccOpts"in e}const $e=(e,t)=>cu(e,t,_n);function dr(e,t,n){try{Ro(-1);const o=arguments.length;return o===2?me(t)&&!oe(t)?Fo(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Fo(n)&&(n=[n]),Oe(e,t,n))}finally{Ro(1)}}const $g="3.5.42";/** -* @vue/runtime-dom v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Da;const fr=typeof window<"u"&&window.trustedTypes;if(fr)try{Da=fr.createPolicy("vue",{createHTML:e=>e})}catch{}const pr=Da?e=>Da.createHTML(e):e=>e,Lg="http://www.w3.org/2000/svg",Cg="http://www.w3.org/1998/Math/MathML",Rt=typeof document<"u"?document:null,hr=Rt&&Rt.createElement("template"),Ng={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?Rt.createElementNS(Lg,e):t==="mathml"?Rt.createElementNS(Cg,e):n?Rt.createElement(e,{is:n}):Rt.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>Rt.createTextNode(e),createComment:e=>Rt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Rt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const i=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{hr.innerHTML=pr(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=hr.content;if(o==="svg"||o==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},wg=Symbol("_vtc");function Pg(e,t,n){const o=e[wg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mr=Symbol("_vod"),Ig=Symbol("_vsh"),Mg=Symbol(""),Rg=/(?:^|;)\s*display\s*:/;function Fg(e,t,n){const o=e.style,a=Ee(n);let s=!1;if(n&&!a){if(t)if(Ee(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Wn(o,r,"")}else for(const i in t)n[i]==null&&Wn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?Og(e,i,!Ee(t)&&t?t[i]:void 0,r)||Wn(o,i,r):Wn(o,i,"")}}else if(a){if(t!==n){const i=o[Mg];i&&(n+=";"+i),o.cssText=n,s=Rg.test(n)}}else t&&e.removeAttribute("style");mr in e&&(e[mr]=s?o.display:"",e[Ig]&&(o.display="none"))}const Bo=/\s*!important$/;function Wn(e,t,n){if(oe(n))n.forEach(o=>Wn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Bo.test(n)?e.setProperty(t,n.replace(Bo,""),"important"):e.setProperty(t,n);else{const o=Dg(e,t);Bo.test(n)?e.setProperty(at(o),n.replace(Bo,""),"important"):e[o]=n}}const br=["Webkit","Moz","ms"],Oa={};function Dg(e,t){const n=Oa[t];if(n)return n;let o=De(t);if(o!=="filter"&&o in e)return Oa[t]=o;o=ro(o);for(let a=0;axa||(zg.then(()=>xa=0),xa=Date.now());function qg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(oe(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const i=a.slice(),r=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vg=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?Pg(e,o,i):t==="style"?Fg(e,n,o):to(t)?no(t)||Bg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wg(e,t,o,i))?(Ar(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&yr(e,t,o,i,s,t!=="value")):e._isVueCE&&(Yg(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ee(o)))?Ar(e,De(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),yr(e,t,o,i))};function Wg(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&vr(t)&&se(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return vr(t)&&Ee(n)?!1:t in e}function Yg(e,t){const n=e._def.props;if(!n)return!1;const o=De(t);return Array.isArray(n)?n.some(a=>De(a)===o):Object.keys(n).some(a=>De(a)===o)}const kr={};function Jg(e,t,n){let o=xn(e,t);ao(o)&&(o=Ne({},o,t));class a extends ja{constructor(i){super(o,i,n)}}return a.def=o,a}const Xg=typeof HTMLElement<"u"?HTMLElement:class{};class ja extends Xg{constructor(t,n={},o=$r){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==$r?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ne({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof ja){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Aa(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:i}=o;let r;if(s&&!oe(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=xs(this._props[l])),(r||(r=Object.create(null)))[De(l)]=!0)}this._numberProps=r,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)pe(this,o)||Object.defineProperty(this,o,{get:()=>_a(n[o])})}_resolveProps(t){const{props:n}=t,o=oe(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(De))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):kr;const a=De(t);n&&this._numberProps&&this._numberProps[a]&&(o=xs(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===kr?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(at(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(at(t),n+""):n||this.removeAttribute(at(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Qg(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Oe(this._def,Ne(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,i)=>{this.dispatchEvent(new CustomEvent(s,ao(i[0])?Ne({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),at(s)!==s&&a(at(s),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let r=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,r||i),r=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{Er().render(...e)},$r=(...e)=>{const t=Er().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=td(o);if(!a)return;const s=t._component;!se(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,ed(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function ed(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function td(e){return Ee(e)?document.querySelector(e):e}/*! - * pinia v2.3.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Lr;const Ko=e=>Lr=e,Cr=Symbol();function Ba(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Yn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Yn||(Yn={}));function nd(){const e=ia(!0),t=e.run(()=>be({}));let n=[],o=[];const a=Rn({install(s){Ko(a),a._a=s,s.provide(Cr,a),s.config.globalProperties.$pinia=a,o.forEach(i=>n.push(i)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Nr=()=>{};function wr(e,t,n,o=Nr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Hs()&&Oc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const od=e=>e(),Pr=Symbol(),Ka=Symbol();function Ua(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ba(a)&&Ba(o)&&e.hasOwnProperty(n)&&!Ce(o)&&!Nt(o)?e[n]=Ua(a,o):e[n]=o}return e}const ad=Symbol();function sd(e){return!Ba(e)||!e.hasOwnProperty(ad)}const{assign:Ht}=Object;function id(e){return!!(Ce(e)&&e.effect)}function rd(e,t,n,o){const{state:a,actions:s,getters:i}=t,r=n.state.value[e];let l;function c(){r||(n.state.value[e]=a?a():{});const u=su(n.state.value[e]);return Ht(u,s,Object.keys(i||{}).reduce((p,_)=>(p[_]=Rn($e(()=>{Ko(n);const v=n._s.get(e);return i[_].call(v,v)})),p),{}))}return l=Ir(e,c,t,n,o,!0),l}function Ir(e,t,n={},o,a,s){let i;const r=Ht({actions:{}},n),l={deep:!0};let c,u,p=[],_=[],v;const C=o.state.value[e];!s&&!C&&(o.state.value[e]={});let k;function M(I){let A;c=u=!1,typeof I=="function"?(I(o.state.value[e]),A={type:Yn.patchFunction,storeId:e,events:v}):(Ua(o.state.value[e],I),A={type:Yn.patchObject,payload:I,storeId:e,events:v});const W=k=Symbol();Aa().then(()=>{k===W&&(c=!0)}),u=!0,yn(p,A,o.state.value[e])}const N=s?function(){const{state:A}=n,W=A?A():{};this.$patch(Z=>{Ht(Z,W)})}:Nr;function L(){i.stop(),p=[],_=[],o._s.delete(e)}const h=(I,A="")=>{if(Pr in I)return I[Ka]=A,I;const W=function(){Ko(o);const Z=Array.from(arguments),j=[],Y=[];function Q(J){j.push(J)}function B(J){Y.push(J)}yn(_,{args:Z,name:W[Ka],store:S,after:Q,onError:B});let V;try{V=I.apply(this&&this.$id===e?this:S,Z)}catch(J){throw yn(Y,J),J}return V instanceof Promise?V.then(J=>(yn(j,J),J)).catch(J=>(yn(Y,J),Promise.reject(J))):(yn(j,V),V)};return W[Pr]=!0,W[Ka]=A,W},b={_p:o,$id:e,$onAction:wr.bind(null,_),$patch:M,$reset:N,$subscribe(I,A={}){const W=wr(p,I,A.detached,()=>Z()),Z=i.run(()=>nn(()=>o.state.value[e],j=>{(A.flush==="sync"?u:c)&&I({storeId:e,type:Yn.direct,events:v},j)},Ht({},l,A)));return W},$dispose:L},S=_o(b);o._s.set(e,S);const w=(o._a&&o._a.runWithContext||od)(()=>o._e.run(()=>(i=ia()).run(()=>t({action:h}))));for(const I in w){const A=w[I];if(Ce(A)&&!id(A)||Nt(A))s||(C&&sd(A)&&(Ce(A)?A.value=C[I]:Ua(A,C[I])),o.state.value[e][I]=A);else if(typeof A=="function"){const W=h(A,I);w[I]=W,r.actions[I]=A}}return Ht(S,w),Ht(ce(S),w),Object.defineProperty(S,"$state",{get:()=>o.state.value[e],set:I=>{M(A=>{Ht(A,I)})}}),o._p.forEach(I=>{Ht(S,i.run(()=>I({store:S,app:o._a,pinia:o,options:r})))}),C&&s&&n.hydrate&&n.hydrate(S.$state,C),c=!0,u=!0,S}/*! #__NO_SIDE_EFFECTS__ */function Ga(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function i(r,l){const c=Au();return r=r||(c?Ge(Cr,null):null),r&&Ko(r),r=Lr,r._s.has(o)||(s?Ir(o,t,a,r):rd(o,a,r)),r._s.get(o)}return i.$id=o,i}const ld={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},cd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},ud={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},gd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},dd={menuComingSoon:"القائمة قادمة قريباً"},fd={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},pd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},hd={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},md={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},bd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},_d={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},yd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ad={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Sd={menuComingSoon:"Menü folgt in Kürze"},vd={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},kd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Td={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ed={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},$d={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ld={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed"},Cd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Nd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},wd={menuComingSoon:"Menu coming soon"},Pd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Id={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Md={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Rd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Fd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Dd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Od={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},xd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},jd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Bd={menuComingSoon:"Menú próximamente"},Kd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Ud={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Gd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},zd={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Hd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},qd={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Vd={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Wd={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Yd={menuComingSoon:"Menu bientôt disponible"},Jd={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Xd={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Zd={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Qd={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},ef={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},tf={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},nf={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},of={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},af={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},sf={menuComingSoon:"मेनू शीघ्र आ रहा है"},rf={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},lf={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},cf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},uf={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},gf={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},df={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},ff={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},pf={menuComingSoon:"Menu in arrivo"},hf={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},mf={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},bf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},_f={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},yf={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Af={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Sf={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},vf={menuComingSoon:"Menu em breve"},kf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Tf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ef={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},$f={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Lf={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Cf={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Nf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},wf={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Pf={menuComingSoon:"Meniu în curând"},If={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Mf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Rf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Ff={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Df={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Of={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},xf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},jf={menuComingSoon:"Меню скоро появится"},Bf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Kf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Uf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Gf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},zf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Hf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},qf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Vf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Wf={menuComingSoon:"菜单即将推出"},Yf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Jf={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Xf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! - * shared v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function Zf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Uo=typeof window<"u",qt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Qf=(e,t,n)=>ep({l:e,k:t,s:n}),ep=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),we=e=>typeof e=="number"&&isFinite(e),tp=e=>Or(e)==="[object Date]",Vt=e=>Or(e)==="[object RegExp]",Go=e=>ie(e)&&Object.keys(e).length===0,Be=Object.assign,np=Object.create,_e=(e=null)=>np(e);let Mr;const Ft=()=>Mr||(Mr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:_e());function Rr(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Fr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function op(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${Fr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${Fr(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const ap=Object.prototype.hasOwnProperty;function ft(e,t){return ap.call(e,t)}const Le=Array.isArray,ve=e=>typeof e=="function",q=e=>typeof e=="string",le=e=>typeof e=="boolean",de=e=>e!==null&&typeof e=="object",sp=e=>de(e)&&ve(e.then)&&ve(e.catch),Dr=Object.prototype.toString,Or=e=>Dr.call(e),ie=e=>{if(!de(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},ip=e=>e==null?"":Le(e)||ie(e)&&e.toString===Dr?JSON.stringify(e,null,2):String(e);function rp(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function zo(e){let t=e;return()=>++t}const Ho=e=>!de(e)||Le(e);function qo(e,t){if(Ho(e)||Ho(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(de(o[s])&&!de(a[s])&&(a[s]=Array.isArray(o[s])?[]:_e()),Ho(a[s])||Ho(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! - * message-compiler v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function lp(e,t,n){return{line:e,column:t,offset:n}}function Vo(e,t,n){return{start:e,end:t}}const cp=/\{([0-9a-zA-Z]+)\}/g;function xr(e,...t){return t.length===1&&up(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(cp,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const jr=Object.assign,Br=e=>typeof e=="string",up=e=>e!==null&&typeof e=="object";function Kr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const za={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},gp={[za.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function dp(e,t,...n){const o=xr(gp[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},fp={[ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=xr((a||fp)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function pp(e){throw e}const Dt=" ",hp="\r",Ve=` -`,mp="\u2028",bp="\u2029";function _p(e){const t=e;let n=0,o=1,a=1,s=0;const i=w=>t[w]===hp&&t[w+1]===Ve,r=w=>t[w]===Ve,l=w=>t[w]===bp,c=w=>t[w]===mp,u=w=>i(w)||r(w)||l(w)||c(w),p=()=>n,_=()=>o,v=()=>a,C=()=>s,k=w=>i(w)||l(w)||c(w)?Ve:t[w],M=()=>k(n),N=()=>k(n+s);function L(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function h(){return i(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function S(w=0){s=w}function T(){const w=n+s;for(;w!==n;)L();s=0}return{index:p,line:_,column:v,peekOffset:C,charAt:k,currentChar:M,currentPeek:N,next:L,peek:h,reset:b,resetPeek:S,skipToPeek:T}}const Wt=void 0,yp=".",Ur="'",Ap="tokenizer";function Sp(e,t={}){const n=t.location!==!1,o=_p(e),a=()=>o.index(),s=()=>lp(o.line(),o.column(),o.index()),i=s(),r=a(),l={currentType:14,offset:r,startLoc:i,endLoc:i,lastType:14,lastOffset:r,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(g,d,$,...R){const H=c();if(d.column+=$,d.offset+=$,u){const K=n?Vo(H.startLoc,d):null,E=An(g,K,{domain:Ap,args:R});u(E)}}function _(g,d,$){g.endLoc=s(),g.currentType=d;const R={type:d};return n&&(R.loc=Vo(g.startLoc,g.endLoc)),$!=null&&(R.value=$),R}const v=g=>_(g,14);function C(g,d){return g.currentChar()===d?(g.next(),d):(p(ae.EXPECTED_TOKEN,s(),0,d),"")}function k(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Ve;)d+=g.currentPeek(),g.peek();return d}function M(g){const d=k(g);return g.skipToPeek(),d}function N(g){if(g===Wt)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function L(g){if(g===Wt)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function h(g,d){const{currentType:$}=d;if($!==2)return!1;k(g);const R=N(g.currentPeek());return g.resetPeek(),R}function b(g,d){const{currentType:$}=d;if($!==2)return!1;k(g);const R=g.currentPeek()==="-"?g.peek():g.currentPeek(),H=L(R);return g.resetPeek(),H}function S(g,d){const{currentType:$}=d;if($!==2)return!1;k(g);const R=g.currentPeek()===Ur;return g.resetPeek(),R}function T(g,d){const{currentType:$}=d;if($!==8)return!1;k(g);const R=g.currentPeek()===".";return g.resetPeek(),R}function w(g,d){const{currentType:$}=d;if($!==9)return!1;k(g);const R=N(g.currentPeek());return g.resetPeek(),R}function I(g,d){const{currentType:$}=d;if(!($===8||$===12))return!1;k(g);const R=g.currentPeek()===":";return g.resetPeek(),R}function A(g,d){const{currentType:$}=d;if($!==10)return!1;const R=()=>{const K=g.currentPeek();return K==="{"?N(g.peek()):K==="@"||K==="%"||K==="|"||K===":"||K==="."||K===Dt||!K?!1:K===Ve?(g.peek(),R()):j(g,!1)},H=R();return g.resetPeek(),H}function W(g){k(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function Z(g){const d=k(g),$=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:$,hasSpace:d.length>0}}function j(g,d=!0){const $=(H=!1,K="",E=!1)=>{const F=g.currentPeek();return F==="{"?K==="%"?!1:H:F==="@"||!F?K==="%"?!0:H:F==="%"?(g.peek(),$(H,"%",!0)):F==="|"?K==="%"||E?!0:!(K===Dt||K===Ve):F===Dt?(g.peek(),$(!0,Dt,E)):F===Ve?(g.peek(),$(!0,Ve,E)):!0},R=$();return d&&g.resetPeek(),R}function Y(g,d){const $=g.currentChar();return $===Wt?Wt:d($)?(g.next(),$):null}function Q(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function B(g){return Y(g,Q)}function V(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function J(g){return Y(g,V)}function ne(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function Ie(g){return Y(g,ne)}function z(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function te(g){return Y(g,z)}function X(g){let d="",$="";for(;d=Ie(g);)$+=d;return $}function fe(g){M(g);const d=g.currentChar();return d!=="%"&&p(ae.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function ue(g){let d="";for(;;){const $=g.currentChar();if($==="{"||$==="}"||$==="@"||$==="|"||!$)break;if($==="%")if(j(g))d+=$,g.next();else break;else if($===Dt||$===Ve)if(j(g))d+=$,g.next();else{if(W(g))break;d+=$,g.next()}else d+=$,g.next()}return d}function Fe(g){M(g);let d="",$="";for(;d=J(g);)$+=d;return g.currentChar()===Wt&&p(ae.UNTERMINATED_CLOSING_BRACE,s(),0),$}function ke(g){M(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${X(g)}`):d+=X(g),g.currentChar()===Wt&&p(ae.UNTERMINATED_CLOSING_BRACE,s(),0),d}function he(g){return g!==Ur&&g!==Ve}function ye(g){M(g),C(g,"'");let d="",$="";for(;d=Y(g,he);)d==="\\"?$+=x(g):$+=d;const R=g.currentChar();return R===Ve||R===Wt?(p(ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),R===Ve&&(g.next(),C(g,"'")),$):(C(g,"'"),$)}function x(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ge(g,d,4);case"U":return ge(g,d,6);default:return p(ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ge(g,d,$){C(g,d);let R="";for(let H=0;H<$;H++){const K=te(g);if(!K){p(ae.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${d}${R}${g.currentChar()}`);break}R+=K}return`\\${d}${R}`}function Pe(g){return g!=="{"&&g!=="}"&&g!==Dt&&g!==Ve}function f(g){M(g);let d="",$="";for(;d=Y(g,Pe);)$+=d;return $}function y(g){let d="",$="";for(;d=B(g);)$+=d;return $}function m(g){const d=$=>{const R=g.currentChar();return R==="{"||R==="%"||R==="@"||R==="|"||R==="("||R===")"||!R||R===Dt?$:($+=R,g.next(),d($))};return d("")}function P(g){M(g);const d=C(g,"|");return M(g),d}function O(g,d){let $=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&p(ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),$=_(d,2,"{"),M(g),d.braceNest++,$;case"}":return d.braceNest>0&&d.currentType===2&&p(ae.EMPTY_PLACEHOLDER,s(),0),g.next(),$=_(d,3,"}"),d.braceNest--,d.braceNest>0&&M(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),$;case"@":return d.braceNest>0&&p(ae.UNTERMINATED_CLOSING_BRACE,s(),0),$=D(g,d)||v(d),d.braceNest=0,$;default:{let H=!0,K=!0,E=!0;if(W(g))return d.braceNest>0&&p(ae.UNTERMINATED_CLOSING_BRACE,s(),0),$=_(d,1,P(g)),d.braceNest=0,d.inLinked=!1,$;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return p(ae.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,G(g,d);if(H=h(g,d))return $=_(d,5,Fe(g)),M(g),$;if(K=b(g,d))return $=_(d,6,ke(g)),M(g),$;if(E=S(g,d))return $=_(d,7,ye(g)),M(g),$;if(!H&&!K&&!E)return $=_(d,13,f(g)),p(ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,$.value),M(g),$;break}}return $}function D(g,d){const{currentType:$}=d;let R=null;const H=g.currentChar();switch(($===8||$===9||$===12||$===10)&&(H===Ve||H===Dt)&&p(ae.INVALID_LINKED_FORMAT,s(),0),H){case"@":return g.next(),R=_(d,8,"@"),d.inLinked=!0,R;case".":return M(g),g.next(),_(d,9,".");case":":return M(g),g.next(),_(d,10,":");default:return W(g)?(R=_(d,1,P(g)),d.braceNest=0,d.inLinked=!1,R):T(g,d)||I(g,d)?(M(g),D(g,d)):w(g,d)?(M(g),_(d,12,y(g))):A(g,d)?(M(g),H==="{"?O(g,d)||R:_(d,11,m(g))):($===8&&p(ae.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,G(g,d))}}function G(g,d){let $={type:14};if(d.braceNest>0)return O(g,d)||v(d);if(d.inLinked)return D(g,d)||v(d);switch(g.currentChar()){case"{":return O(g,d)||v(d);case"}":return p(ae.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),_(d,3,"}");case"@":return D(g,d)||v(d);default:{if(W(g))return $=_(d,1,P(g)),d.braceNest=0,d.inLinked=!1,$;const{isModulo:H,hasSpace:K}=Z(g);if(H)return K?_(d,0,ue(g)):_(d,4,fe(g));if(j(g))return _(d,0,ue(g));break}}return $}function U(){const{currentType:g,offset:d,startLoc:$,endLoc:R}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=$,l.lastEndLoc=R,l.offset=a(),l.startLoc=s(),o.currentChar()===Wt?_(l,14):G(o,l)}return{nextToken:U,currentOffset:a,currentPosition:s,context:c}}const vp="parser",kp=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Tp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Ep(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(h,b,S,T,...w){const I=h.currentPosition();if(I.offset+=T,I.column+=T,n){const A=t?Vo(S,I):null,W=An(b,A,{domain:vp,args:w});n(W)}}function s(h,b,S,T,...w){const I=h.currentPosition();if(I.offset+=T,I.column+=T,o){const A=t?Vo(S,I):null;o(dp(b,A,w))}}function i(h,b,S){const T={type:h};return t&&(T.start=b,T.end=b,T.loc={start:S,end:S}),T}function r(h,b,S,T){t&&(h.end=b,h.loc&&(h.loc.end=S))}function l(h,b){const S=h.context(),T=i(3,S.offset,S.startLoc);return T.value=b,r(T,h.currentOffset(),h.currentPosition()),T}function c(h,b){const S=h.context(),{lastOffset:T,lastStartLoc:w}=S,I=i(5,T,w);return I.index=parseInt(b,10),h.nextToken(),r(I,h.currentOffset(),h.currentPosition()),I}function u(h,b,S){const T=h.context(),{lastOffset:w,lastStartLoc:I}=T,A=i(4,w,I);return A.key=b,S===!0&&(A.modulo=!0),h.nextToken(),r(A,h.currentOffset(),h.currentPosition()),A}function p(h,b){const S=h.context(),{lastOffset:T,lastStartLoc:w}=S,I=i(9,T,w);return I.value=b.replace(kp,Tp),h.nextToken(),r(I,h.currentOffset(),h.currentPosition()),I}function _(h){const b=h.nextToken(),S=h.context(),{lastOffset:T,lastStartLoc:w}=S,I=i(8,T,w);return b.type!==12?(a(h,ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,S.lastStartLoc,0),I.value="",r(I,T,w),{nextConsumeToken:b,node:I}):(b.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,pt(b)),I.value=b.value||"",r(I,h.currentOffset(),h.currentPosition()),{node:I})}function v(h,b){const S=h.context(),T=i(7,S.offset,S.startLoc);return T.value=b,r(T,h.currentOffset(),h.currentPosition()),T}function C(h){const b=h.context(),S=i(6,b.offset,b.startLoc);let T=h.nextToken();if(T.type===9){const w=_(h);S.modifier=w.node,T=w.nextConsumeToken||h.nextToken()}switch(T.type!==10&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(T)),T=h.nextToken(),T.type===2&&(T=h.nextToken()),T.type){case 11:T.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(T)),S.key=v(h,T.value||"");break;case 5:T.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(T)),S.key=u(h,T.value||"");break;case 6:T.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(T)),S.key=c(h,T.value||"");break;case 7:T.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(T)),S.key=p(h,T.value||"");break;default:{a(h,ae.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const w=h.context(),I=i(7,w.offset,w.startLoc);return I.value="",r(I,w.offset,w.startLoc),S.key=I,r(S,w.offset,w.startLoc),{nextConsumeToken:T,node:S}}}return r(S,h.currentOffset(),h.currentPosition()),{node:S}}function k(h){const b=h.context(),S=b.currentType===1?h.currentOffset():b.offset,T=b.currentType===1?b.endLoc:b.startLoc,w=i(2,S,T);w.items=[];let I=null,A=null;do{const j=I||h.nextToken();switch(I=null,j.type){case 0:j.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(j)),w.items.push(l(h,j.value||""));break;case 6:j.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(j)),w.items.push(c(h,j.value||""));break;case 4:A=!0;break;case 5:j.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(j)),w.items.push(u(h,j.value||"",!!A)),A&&(s(h,za.USE_MODULO_SYNTAX,b.lastStartLoc,0,pt(j)),A=null);break;case 7:j.value==null&&a(h,ae.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,pt(j)),w.items.push(p(h,j.value||""));break;case 8:{const Y=C(h);w.items.push(Y.node),I=Y.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const W=b.currentType===1?b.lastOffset:h.currentOffset(),Z=b.currentType===1?b.lastEndLoc:h.currentPosition();return r(w,W,Z),w}function M(h,b,S,T){const w=h.context();let I=T.items.length===0;const A=i(1,b,S);A.cases=[],A.cases.push(T);do{const W=k(h);I||(I=W.items.length===0),A.cases.push(W)}while(w.currentType!==14);return I&&a(h,ae.MUST_HAVE_MESSAGES_IN_PLURAL,S,0),r(A,h.currentOffset(),h.currentPosition()),A}function N(h){const b=h.context(),{offset:S,startLoc:T}=b,w=k(h);return b.currentType===14?w:M(h,S,T,w)}function L(h){const b=Sp(h,jr({},e)),S=b.context(),T=i(0,S.offset,S.startLoc);return t&&T.loc&&(T.loc.source=h),T.body=N(b),e.onCacheKey&&(T.cacheKey=e.onCacheKey(h)),S.currentType!==14&&a(b,ae.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,h[S.offset]||""),r(T,b.currentOffset(),b.currentPosition()),T}return{parse:L}}function pt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function $p(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Gr(e,t){for(let n=0;nzr(n)),e}function zr(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(k,M){i.code+=k}function c(k,M=!0){const N=M?o:"";l(a?N+" ".repeat(k):N)}function u(k=!0){const M=++i.indentLevel;k&&c(M)}function p(k=!0){const M=--i.indentLevel;k&&c(M)}function _(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:p,newline:_,helper:k=>`_${k}`,needIndent:()=>i.needIndent}}function Ip(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),vn(e,t.key),t.modifier?(e.push(", "),vn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Mp(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Br(t.mode)?t.mode:"normal",o=Br(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],r=Pp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${Kr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),vn(r,e),r.deindent(s),r.push("}"),delete e.helpers;const{code:l,map:c}=r.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Op(e,t={}){const n=jr({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=Ep(n).parse(e);return o?(s&&Cp(r),a&&Sn(r),{ast:r,code:""}):(Lp(r,n),Dp(r,n))}/*! - * core-base v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */function xp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ft().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ft().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ft().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Tt(e){return de(e)&&qa(e)===0&&(ft(e,"b")||ft(e,"body"))}const Hr=["b","body"];function jp(e){return Yt(e,Hr)}const qr=["c","cases"];function Bp(e){return Yt(e,qr,[])}const Vr=["s","static"];function Kp(e){return Yt(e,Vr)}const Wr=["i","items"];function Up(e){return Yt(e,Wr,[])}const Yr=["t","type"];function qa(e){return Yt(e,Yr)}const Jr=["v","value"];function Wo(e,t){const n=Yt(e,Jr);if(n!=null)return n;throw Jn(t)}const Xr=["m","modifier"];function Gp(e){return Yt(e,Xr)}const Zr=["k","key"];function zp(e){const t=Yt(e,Zr);if(t)return t;throw Jn(6)}function Yt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},_[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},_[2]=()=>{_[0](),a++},_[3]=()=>{if(a>0)a--,o=4,_[0]();else{if(a=0,i===void 0||(i=Yp(i),i===!1))return!1;_[1]()}};function v(){const C=e[n+1];if(o===5&&C==="'"||o===6&&C==='"')return n++,r="\\"+C,_[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&v())){if(l=Wp(s),p=Jt[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=_[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const el=new Map;function Xp(e,t){return de(e)?e[t]:null}function Zp(e,t){if(!de(e))return null;let n=el.get(t);if(n||(n=Jp(t),n&&el.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,eh=e=>"",th="text",nh=e=>e.length===0?"":rp(e),oh=ip;function tl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ah(e){const t=we(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(we(e.named.count)||we(e.named.n))?we(e.named.count)?e.named.count:we(e.named.n)?e.named.n:t:t}function sh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ih(e={}){const t=e.locale,n=ah(e),o=de(e.pluralRules)&&q(t)&&ve(e.pluralRules[t])?e.pluralRules[t]:tl,a=de(e.pluralRules)&&q(t)&&ve(e.pluralRules[t])?tl:void 0,s=N=>N[o(n,N.length,a)],i=e.list||[],r=N=>i[N],l=e.named||_e();we(e.pluralIndex)&&sh(n,l);const c=N=>l[N];function u(N){const L=ve(e.messages)?e.messages(N):de(e.messages)?e.messages[N]:!1;return L||(e.parent?e.parent.message(N):eh)}const p=N=>e.modifiers?e.modifiers[N]:Qp,_=ie(e.processor)&&ve(e.processor.normalize)?e.processor.normalize:nh,v=ie(e.processor)&&ve(e.processor.interpolate)?e.processor.interpolate:oh,C=ie(e.processor)&&q(e.processor.type)?e.processor.type:th,M={list:r,named:c,plural:s,linked:(N,...L)=>{const[h,b]=L;let S="text",T="";L.length===1?de(h)?(T=h.modifier||T,S=h.type||S):q(h)&&(T=h||T):L.length===2&&(q(h)&&(T=h||T),q(b)&&(S=b||S));const w=u(N)(M),I=S==="vnode"&&Le(w)&&T?w[0]:w;return T?p(T)(I,S):I},message:u,type:C,interpolate:v,normalize:_,values:Be(_e(),i,l)};return M}let Xn=null;function rh(e){Xn=e}function lh(e,t,n){Xn&&Xn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const ch=uh("function:translate");function uh(e){return t=>Xn&&Xn.emit(e,t)}const gh=za.__EXTEND_POINT__,rn=zo(gh),dh={FALLBACK_TO_TRANSLATE:rn(),CANNOT_FORMAT_NUMBER:rn(),FALLBACK_TO_NUMBER_FORMAT:rn(),CANNOT_FORMAT_DATE:rn(),FALLBACK_TO_DATE_FORMAT:rn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:rn(),__EXTEND_POINT__:rn()},nl=ae.__EXTEND_POINT__,ln=zo(nl),ht={INVALID_ARGUMENT:nl,INVALID_DATE_ARGUMENT:ln(),INVALID_ISO_DATE_ARGUMENT:ln(),NOT_SUPPORT_NON_STRING_MESSAGE:ln(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ln(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ln(),NOT_SUPPORT_LOCALE_TYPE:ln(),__EXTEND_POINT__:ln()};function Et(e){return An(e,null,void 0)}function Va(e,t){return t.locale!=null?ol(t.locale):ol(e.locale)}let Wa;function ol(e){if(q(e))return e;if(ve(e)){if(e.resolvedOnce&&Wa!=null)return Wa;if(e.constructor.name==="Function"){const t=e();if(sp(t))throw Et(ht.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Wa=t}else throw Et(ht.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Et(ht.NOT_SUPPORT_LOCALE_TYPE)}function fh(e,t,n){return[...new Set([n,...Le(t)?t:de(t)?Object.keys(t):q(t)?[t]:[n]])]}function al(e,t,n){const o=q(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;Le(i);)i=sl(s,i,t);const r=Le(t)||!ie(t)?t:t.default?t.default:null;i=q(r)?[r]:r,Le(i)&&sl(s,i,!1),a.__localeChainCache.set(o,s)}return s}function sl(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function bh(){return{upper:(e,t)=>t==="text"&&q(e)?e.toUpperCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&q(e)?e.toLowerCase():t==="vnode"&&de(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&q(e)?rl(e):t==="vnode"&&de(e)&&"__v_isVNode"in e?rl(e.children):e}}let ll;function cl(e){ll=e}let ul;function _h(e){ul=e}let gl;function yh(e){gl=e}let dl=null;const Ah=e=>{dl=e},Sh=()=>dl;let fl=null;const pl=e=>{fl=e},vh=()=>fl;let hl=0;function kh(e={}){const t=ve(e.onWarn)?e.onWarn:Zf,n=q(e.version)?e.version:mh,o=q(e.locale)||ve(e.locale)?e.locale:kn,a=ve(o)?kn:o,s=Le(e.fallbackLocale)||ie(e.fallbackLocale)||q(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ie(e.messages)?e.messages:Ya(a),r=ie(e.datetimeFormats)?e.datetimeFormats:Ya(a),l=ie(e.numberFormats)?e.numberFormats:Ya(a),c=Be(_e(),e.modifiers,bh()),u=e.pluralRules||_e(),p=ve(e.missing)?e.missing:null,_=le(e.missingWarn)||Vt(e.missingWarn)?e.missingWarn:!0,v=le(e.fallbackWarn)||Vt(e.fallbackWarn)?e.fallbackWarn:!0,C=!!e.fallbackFormat,k=!!e.unresolving,M=ve(e.postTranslation)?e.postTranslation:null,N=ie(e.processor)?e.processor:null,L=le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,h=!!e.escapeParameter,b=ve(e.messageCompiler)?e.messageCompiler:ll,S=ve(e.messageResolver)?e.messageResolver:ul||Xp,T=ve(e.localeFallbacker)?e.localeFallbacker:gl||fh,w=de(e.fallbackContext)?e.fallbackContext:void 0,I=e,A=de(I.__datetimeFormatters)?I.__datetimeFormatters:new Map,W=de(I.__numberFormatters)?I.__numberFormatters:new Map,Z=de(I.__meta)?I.__meta:{};hl++;const j={version:n,cid:hl,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:p,missingWarn:_,fallbackWarn:v,fallbackFormat:C,unresolving:k,postTranslation:M,processor:N,warnHtmlMessage:L,escapeParameter:h,messageCompiler:b,messageResolver:S,localeFallbacker:T,fallbackContext:w,onWarn:t,__meta:Z};return j.datetimeFormats=r,j.numberFormats=l,j.__datetimeFormatters=A,j.__numberFormatters=W,__INTLIFY_PROD_DEVTOOLS__&&lh(j,n,Z),j}const Ya=e=>({[e]:_e()});function Ja(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return q(r)?r:t}else return t}function Zn(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Th(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Eh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;o$h(n,e)}function $h(e,t){const n=jp(t);if(n==null)throw Jn(0);if(qa(n)===1){const s=Bp(n);return e.plural(s.reduce((i,r)=>[...i,ml(e,r)],[]))}else return ml(e,n)}function ml(e,t){const n=Kp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Up(t).reduce((a,s)=>[...a,Za(e,s)],[]);return e.normalize(o)}}function Za(e,t){const n=qa(t);switch(n){case 3:return Wo(t,n);case 9:return Wo(t,n);case 4:{const o=t;if(ft(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(ft(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Jn(n)}case 5:{const o=t;if(ft(o,"i")&&we(o.i))return e.interpolate(e.list(o.i));if(ft(o,"index")&&we(o.index))return e.interpolate(e.list(o.index));throw Jn(n)}case 6:{const o=t,a=Gp(o),s=zp(o);return e.linked(Za(e,s),a?Za(e,a):void 0,e.type)}case 7:return Wo(t,n);case 8:return Wo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const bl=e=>e;let Tn=_e();function _l(e,t={}){let n=!1;const o=t.onError||pp;return t.onError=a=>{n=!0,o(a)},{...Op(e,t),detectError:n}}const Lh=(e,t)=>{if(!q(e))throw Et(ht.NOT_SUPPORT_NON_STRING_MESSAGE);{le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||bl)(e),a=Tn[o];if(a)return a;const{code:s,detectError:i}=_l(e,t),r=new Function(`return ${s}`)();return i?r:Tn[o]=r}};function Ch(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&q(e)){le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||bl)(e),a=Tn[o];if(a)return a;const{ast:s,detectError:i}=_l(e,{...t,location:!1,jit:!0}),r=Xa(s);return i?r:Tn[o]=r}else{const n=e.cacheKey;if(n){const o=Tn[n];return o||(Tn[n]=Xa(e))}else return Xa(e)}}const yl=()=>"",it=e=>ve(e);function Al(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=Qa(...t),u=le(c.missingWarn)?c.missingWarn:e.missingWarn,p=le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,C=q(c.default)||le(c.default)?le(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",k=n||C!=="",M=Va(e,c);_&&Nh(c);let[N,L,h]=v?[l,M,r[M]||_e()]:Sl(e,l,M,i,p,u),b=N,S=l;if(!v&&!(q(b)||Tt(b)||it(b))&&k&&(b=C,S=b),!v&&(!(q(b)||Tt(b)||it(b))||!q(L)))return a?Yo:l;let T=!1;const w=()=>{T=!0},I=it(b)?b:vl(e,l,L,b,S,w);if(T)return b;const A=Ih(e,L,h,c),W=ih(A),Z=wh(e,I,W);let j=o?o(Z,l):Z;if(_&&q(j)&&(j=op(j)),__INTLIFY_PROD_DEVTOOLS__){const Y={timestamp:Date.now(),key:q(l)?l:it(b)?b.key:"",locale:L||(it(b)?b.locale:""),format:q(b)?b:it(b)?b.source:"",message:j};Y.meta=Be({},e.__meta,Sh()||{}),ch(Y)}return j}function Nh(e){Le(e.list)?e.list=e.list.map(t=>q(t)?Rr(t):t):de(e.named)&&Object.keys(e.named).forEach(t=>{q(e.named[t])&&(e.named[t]=Rr(e.named[t]))})}function Sl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=_e(),_,v=null;const C="translate";for(let k=0;ko;return c.locale=n,c.key=t,c}const l=i(o,Ph(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function wh(e,t,n){return t(n)}function Qa(...e){const[t,n,o]=e,a=_e();if(!q(t)&&!we(t)&&!it(t)&&!Tt(t))throw Et(ht.INVALID_ARGUMENT);const s=we(t)?String(t):(it(t),t);return we(n)?a.plural=n:q(n)?a.default=n:ie(n)&&!Go(n)?a.named=n:Le(n)&&(a.list=n),we(o)?a.plural=o:q(o)?a.default=o:ie(o)&&Be(a,o),[s,a]}function Ph(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>Qf(t,n,i)}}function Ih(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,_={locale:t,modifiers:a,pluralRules:s,messages:v=>{let C=i(n,v);if(C==null&&u){const[,,k]=Sl(u,v,t,r,l,c);C=i(k,v)}if(q(C)||Tt(C)){let k=!1;const N=vl(e,v,t,C,v,()=>{k=!0});return k?yl:N}else return it(C)?C:yl}};return e.processor&&(_.processor=e.processor),o.list&&(_.list=o.list),o.named&&(_.named=o.named),we(o.plural)&&(_.pluralIndex=o.plural),_}function kl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,p]=es(...t),_=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,C=Va(e,u),k=i(e,a,C);if(!q(l)||l==="")return new Intl.DateTimeFormat(C,p).format(c);let M={},N,L=null;const h="datetime format";for(let T=0;T{Tl.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ie(o)&&(i=o),ie(a)&&(i=a),[s.key||"",r,s,i]}function El(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function $l(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,p]=ts(...t),_=le(u.missingWarn)?u.missingWarn:e.missingWarn;le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,C=Va(e,u),k=i(e,a,C);if(!q(l)||l==="")return new Intl.NumberFormat(C,p).format(c);let M={},N,L=null;const h="number format";for(let T=0;T{Ll.includes(l)?i[l]=n[l]:s[l]=n[l]}),q(o)?s.locale=o:ie(o)&&(i=o),ie(a)&&(i=a),[s.key||"",r,s,i]}function Cl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}xp();/*! - * vue-i18n v9.14.5 - * (c) 2025 kazuya kawaguchi - * Released under the MIT License. - */const Mh="9.14.5";function Rh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Ft().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Ft().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Ft().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Ft().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Ft().__INTLIFY_PROD_DEVTOOLS__=!1)}const Fh=dh.__EXTEND_POINT__,Ot=zo(Fh);Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot();const Nl=ht.__EXTEND_POINT__,Xe=zo(Nl),Re={UNEXPECTED_RETURN_TYPE:Nl,INVALID_ARGUMENT:Xe(),MUST_BE_CALL_SETUP_TOP:Xe(),NOT_INSTALLED:Xe(),NOT_AVAILABLE_IN_LEGACY_MODE:Xe(),REQUIRED_VALUE:Xe(),INVALID_VALUE:Xe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Xe(),NOT_INSTALLED_WITH_PROVIDE:Xe(),UNEXPECTED_ERROR:Xe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Xe(),BRIDGE_SUPPORT_VUE_2_ONLY:Xe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Xe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Xe(),__EXTEND_POINT__:Xe()};function xe(e,...t){return An(e,null,void 0)}const ns=qt("__translateVNode"),os=qt("__datetimeParts"),as=qt("__numberParts"),wl=qt("__setPluralRules"),Pl=qt("__injectWithOption"),ss=qt("__dispose");function Qn(e){if(!de(e)||Tt(e))return e;for(const t in e)if(ft(e,t))if(!t.includes("."))de(e[t])&&Qn(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||_e(),qo(c,i[l])):qo(c,i)}else q(r)&&qo(JSON.parse(r),i)}),a==null&&s)for(const r in i)ft(i,r)&&Qn(i[r]);return i}function Il(e){return e.type}function Ml(e,t,n){let o=de(t.messages)?t.messages:_e();"__i18nGlobal"in n&&(o=Jo(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(de(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(de(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Rl(e){return Oe(Gn,null,e,0)}const Fl="__INTLIFY_META__",Dl=()=>[],Dh=()=>!1;let Ol=0;function xl(e){return(t,n,o,a)=>e(n,o,zt()||void 0,a)}const Oh=()=>{const e=zt();let t=null;return e&&(t=Il(e)[Fl])?{[Fl]:t}:null};function is(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Uo?be:ui,r=!!e.translateExistCompatible;let l=le(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:q(e.locale)?e.locale:kn),u=i(n&&l?n.fallbackLocale.value:q(e.fallbackLocale)||Le(e.fallbackLocale)||ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=i(Jo(c.value,e)),_=i(ie(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=i(ie(e.numberFormats)?e.numberFormats:{[c.value]:{}});let C=n?n.missingWarn:le(e.missingWarn)||Vt(e.missingWarn)?e.missingWarn:!0,k=n?n.fallbackWarn:le(e.fallbackWarn)||Vt(e.fallbackWarn)?e.fallbackWarn:!0,M=n?n.fallbackRoot:le(e.fallbackRoot)?e.fallbackRoot:!0,N=!!e.fallbackFormat,L=ve(e.missing)?e.missing:null,h=ve(e.missing)?xl(e.missing):null,b=ve(e.postTranslation)?e.postTranslation:null,S=n?n.warnHtmlMessage:le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,T=!!e.escapeParameter;const w=n?n.modifiers:ie(e.modifiers)?e.modifiers:{};let I=e.pluralRules||n&&n.pluralRules,A;A=(()=>{a&&pl(null);const E={version:Mh,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:w,pluralRules:I,missing:h===null?void 0:h,missingWarn:C,fallbackWarn:k,fallbackFormat:N,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:S,escapeParameter:T,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=_.value,E.numberFormats=v.value,E.__datetimeFormatters=ie(A)?A.__datetimeFormatters:void 0,E.__numberFormatters=ie(A)?A.__numberFormatters:void 0;const F=kh(E);return a&&pl(F),F})(),Zn(A,c.value,u.value);function Z(){return[c.value,u.value,p.value,_.value,v.value]}const j=$e({get:()=>c.value,set:E=>{c.value=E,A.locale=c.value}}),Y=$e({get:()=>u.value,set:E=>{u.value=E,A.fallbackLocale=u.value,Zn(A,c.value,E)}}),Q=$e(()=>p.value),B=$e(()=>_.value),V=$e(()=>v.value);function J(){return ve(b)?b:null}function ne(E){b=E,A.postTranslation=E}function Ie(){return L}function z(E){E!==null&&(h=xl(E)),L=E,A.missing=h}const te=(E,F,ee,re,Te,We)=>{Z();let Ke;try{__INTLIFY_PROD_DEVTOOLS__,a||(A.fallbackContext=n?vh():void 0),Ke=E(A)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(A.fallbackContext=void 0)}if(ee!=="translate exists"&&we(Ke)&&Ke===Yo||ee==="translate exists"&&!Ke){const[cn,Is]=F();return n&&M?re(n):Te(cn)}else{if(We(Ke))return Ke;throw xe(Re.UNEXPECTED_RETURN_TYPE)}};function X(...E){return te(F=>Reflect.apply(Al,null,[F,...E]),()=>Qa(...E),"translate",F=>Reflect.apply(F.t,F,[...E]),F=>F,F=>q(F))}function fe(...E){const[F,ee,re]=E;if(re&&!de(re))throw xe(Re.INVALID_ARGUMENT);return X(F,ee,Be({resolvedMessage:!0},re||{}))}function ue(...E){return te(F=>Reflect.apply(kl,null,[F,...E]),()=>es(...E),"datetime format",F=>Reflect.apply(F.d,F,[...E]),()=>il,F=>q(F))}function Fe(...E){return te(F=>Reflect.apply($l,null,[F,...E]),()=>ts(...E),"number format",F=>Reflect.apply(F.n,F,[...E]),()=>il,F=>q(F))}function ke(E){return E.map(F=>q(F)||we(F)||le(F)?Rl(String(F)):F)}const ye={normalize:ke,interpolate:E=>E,type:"vnode"};function x(...E){return te(F=>{let ee;const re=F;try{re.processor=ye,ee=Reflect.apply(Al,null,[re,...E])}finally{re.processor=null}return ee},()=>Qa(...E),"translate",F=>F[ns](...E),F=>[Rl(F)],F=>Le(F))}function ge(...E){return te(F=>Reflect.apply($l,null,[F,...E]),()=>ts(...E),"number format",F=>F[as](...E),Dl,F=>q(F)||Le(F))}function Pe(...E){return te(F=>Reflect.apply(kl,null,[F,...E]),()=>es(...E),"datetime format",F=>F[os](...E),Dl,F=>q(F)||Le(F))}function f(E){I=E,A.pluralRules=I}function y(E,F){return te(()=>{if(!E)return!1;const ee=q(F)?F:c.value,re=O(ee),Te=A.messageResolver(re,E);return r?Te!=null:Tt(Te)||it(Te)||q(Te)},()=>[E],"translate exists",ee=>Reflect.apply(ee.te,ee,[E,F]),Dh,ee=>le(ee))}function m(E){let F=null;const ee=al(A,u.value,c.value);for(let re=0;re{l&&(c.value=E,A.locale=E,Zn(A,c.value,u.value))}),nn(n.fallbackLocale,E=>{l&&(u.value=E,A.fallbackLocale=E,Zn(A,c.value,u.value))}));const K={id:Ol,locale:j,fallbackLocale:Y,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Zn(A,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:Q,get modifiers(){return w},get pluralRules(){return I||{}},get isGlobal(){return a},get missingWarn(){return C},set missingWarn(E){C=E,A.missingWarn=C},get fallbackWarn(){return k},set fallbackWarn(E){k=E,A.fallbackWarn=k},get fallbackRoot(){return M},set fallbackRoot(E){M=E},get fallbackFormat(){return N},set fallbackFormat(E){N=E,A.fallbackFormat=N},get warnHtmlMessage(){return S},set warnHtmlMessage(E){S=E,A.warnHtmlMessage=E},get escapeParameter(){return T},set escapeParameter(E){T=E,A.escapeParameter=E},t:X,getLocaleMessage:O,setLocaleMessage:D,mergeLocaleMessage:G,getPostTranslationHandler:J,setPostTranslationHandler:ne,getMissingHandler:Ie,setMissingHandler:z,[wl]:f};return K.datetimeFormats=B,K.numberFormats=V,K.rt=fe,K.te=y,K.tm=P,K.d=ue,K.n=Fe,K.getDateTimeFormat=U,K.setDateTimeFormat=g,K.mergeDateTimeFormat=d,K.getNumberFormat=$,K.setNumberFormat=R,K.mergeNumberFormat=H,K[Pl]=o,K[ns]=x,K[os]=Pe,K[as]=ge,K}function xh(e){const t=q(e.locale)?e.locale:kn,n=q(e.fallbackLocale)||Le(e.fallbackLocale)||ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=ve(e.missing)?e.missing:void 0,a=le(e.silentTranslationWarn)||Vt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=le(e.silentFallbackWarn)||Vt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=le(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ie(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=ve(e.postTranslation)?e.postTranslation:void 0,p=q(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,_=!!e.escapeParameterHtml,v=le(e.sync)?e.sync:!0;let C=e.messages;if(ie(e.sharedMessages)){const T=e.sharedMessages;C=Object.keys(T).reduce((I,A)=>{const W=I[A]||(I[A]={});return Be(W,T[A]),I},C||{})}const{__i18n:k,__root:M,__injectWithOption:N}=e,L=e.datetimeFormats,h=e.numberFormats,b=e.flatJson,S=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:C,flatJson:b,datetimeFormats:L,numberFormats:h,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:_,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:S,__i18n:k,__root:M,__injectWithOption:N}}function rs(e={},t){{const n=is(xh(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=le(s)?!s:s},get silentFallbackWarn(){return le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=le(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[i,r,l]=s,c={};let u=null,p=null;if(!q(i))throw xe(Re.INVALID_ARGUMENT);const _=i;return q(r)?c.locale=r:Le(r)?u=r:ie(r)&&(p=r),Le(l)?u=l:ie(l)&&(p=l),Reflect.apply(n.t,n,[_,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,p=null;if(!q(i))throw xe(Re.INVALID_ARGUMENT);const _=i;return q(r)?c.locale=r:we(r)?c.plural=r:Le(r)?u=r:ie(r)&&(p=r),q(l)?c.locale=l:Le(l)?u=l:ie(l)&&(p=l),Reflect.apply(n.t,n,[_,u||p||{},c])},te(s,i){return n.te(s,i)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,i){n.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){n.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,i){n.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){n.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,i){n.setNumberFormat(s,i)},mergeNumberFormat(s,i){n.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=o,a}}const ls={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function jh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Qe?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},_e())}function jl(e){return Qe}const Bl=xn({name:"i18n-t",props:Be({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>we(e)||!isNaN(e)}},ls),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||Xo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),i=_e();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=q(e.plural)?+e.plural:e.plural);const r=jh(t,s),l=a[ns](e.keypath,r,i),c=Be(_e(),o),u=q(e.tag)||de(e.tag)?e.tag:jl();return dr(u,c,l)}}});function Bh(e){return Le(e)&&!q(e[0])}function Kl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=_e();e.locale&&(i.locale=e.locale),q(e.format)?i.key=e.format:de(e.format)&&(q(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((_,v)=>n.includes(v)?Be(_e(),_,{[v]:e.format[v]}):_,_e()));const l=o(e.value,i,r);let c=[i.key];Le(l)?c=l.map((_,v)=>{const C=a[_.type],k=C?C({[_.type]:_.value,index:v,parts:l}):[_.value];return Bh(k)&&(k[0].key=`${_.type}-${v}`),k}):q(l)&&(c=[l]);const u=Be(_e(),s),p=q(e.tag)||de(e.tag)?e.tag:jl();return dr(p,u,c)}}const Ul=xn({name:"i18n-n",props:Be({value:{type:Number,required:!0},format:{type:[String,Object]}},ls),setup(e,t){const n=e.i18n||Xo({useScope:e.scope,__useComponent:!0});return Kl(e,t,Ll,(...o)=>n[as](...o))}}),Gl=xn({name:"i18n-d",props:Be({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ls),setup(e,t){const n=e.i18n||Xo({useScope:e.scope,__useComponent:!0});return Kl(e,t,Tl,(...o)=>n[os](...o))}});function Kh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Uh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw xe(Re.UNEXPECTED_ERROR);const u=Kh(e,r.$),p=zl(c);return[Reflect.apply(u.t,u,[...Hl(p)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Uo&&e.global===c&&(i.__i18nWatcher=nn(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Uo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=zl(r);i.textContent=Reflect.apply(l.t,l,[...Hl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function zl(e){if(q(e))return{path:e};if(ie(e)){if(!("path"in e))throw xe(Re.REQUIRED_VALUE,"path");return e}else throw xe(Re.INVALID_VALUE)}function Hl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return q(n)&&(i.locale=n),we(a)&&(i.plural=a),we(s)&&(i.plural=s),[t,r,i]}function Gh(e,t,...n){const o=ie(n[0])?n[0]:{},a=!!o.useI18nComponentName;(le(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Bl.name,"I18nT"].forEach(i=>e.component(i,Bl)),[Ul.name,"I18nN"].forEach(i=>e.component(i,Ul)),[Gl.name,"I18nD"].forEach(i=>e.component(i,Gl))),e.directive("t",Uh(t))}function zh(e,t,n){return{beforeCreate(){const o=zt();if(!o)throw xe(Re.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=ql(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=rs(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=ql(e,a);else{this.$i18n=rs({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ml(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=zt();if(!o)throw xe(Re.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),n.__deleteInstance(o),delete this.$i18n}}}function ql(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[wl](t.pluralizationRules||e.pluralizationRules);const n=Jo(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const Hh=qt("global-vue-i18n");function qh(e={},t){const n=__VUE_I18N_LEGACY_API__&&le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=le(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=Vh(e,n),l=qt("");function c(_){return s.get(_)||null}function u(_,v){s.set(_,v)}function p(_){s.delete(_)}{const _={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(v,...C){if(v.__VUE_I18N_SYMBOL__=l,v.provide(v.__VUE_I18N_SYMBOL__,_),ie(C[0])){const N=C[0];_.__composerExtend=N.__composerExtend,_.__vueI18nExtend=N.__vueI18nExtend}let k=null;!n&&o&&(k=nm(v,_.global)),__VUE_I18N_FULL_INSTALL__&&Gh(v,_,...C),__VUE_I18N_LEGACY_API__&&n&&v.mixin(zh(r,r.__composer,_));const M=v.unmount;v.unmount=()=>{k&&k(),_.dispose(),M()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return _}}function Xo(e={}){const t=zt();if(t==null)throw xe(Re.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw xe(Re.NOT_INSTALLED);const n=Wh(t),o=Jh(n),a=Il(t),s=Yh(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw xe(Re.NOT_AVAILABLE_IN_LEGACY_MODE);return em(t,s,o,e)}if(s==="global")return Ml(o,e,a),o;if(s==="parent"){let l=Xh(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Be({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=is(l),i.__composerExtend&&(r[ss]=i.__composerExtend(r)),Qh(i,t,r),i.__setInstance(t,r)}return r}function Vh(e,t,n){const o=ia();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>rs(e)):o.run(()=>is(e));if(a==null)throw xe(Re.UNEXPECTED_ERROR);return[o,a]}}function Wh(e){{const t=Ge(e.isCE?Hh:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw xe(e.isCE?Re.NOT_INSTALLED_WITH_PROVIDE:Re.UNEXPECTED_ERROR);return t}}function Yh(e,t){return Go(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Jh(e){return e.mode==="composition"?e.global:e.global.__composer}function Xh(e,t,n=!1){let o=null;const a=t.root;let s=Zh(t,n);for(;s!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(o=r.__composer,n&&o&&!o[Pl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function Zh(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Qh(e,t,n){wo(()=>{},t),Po(()=>{const o=n;e.__deleteInstance(t);const a=o[ss];a&&(a(),delete o[ss])},t)}function em(e,t,n,o={}){const a=t==="local",s=ui(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw xe(Re.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=le(o.inheritLocale)?o.inheritLocale:!q(o.locale),r=be(!a||i?n.locale.value:q(o.locale)?o.locale:kn),l=be(!a||i?n.fallbackLocale.value:q(o.fallbackLocale)||Le(o.fallbackLocale)||ie(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=be(Jo(r.value,o)),u=be(ie(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),p=be(ie(o.numberFormats)?o.numberFormats:{[r.value]:{}}),_=a?n.missingWarn:le(o.missingWarn)||Vt(o.missingWarn)?o.missingWarn:!0,v=a?n.fallbackWarn:le(o.fallbackWarn)||Vt(o.fallbackWarn)?o.fallbackWarn:!0,C=a?n.fallbackRoot:le(o.fallbackRoot)?o.fallbackRoot:!0,k=!!o.fallbackFormat,M=ve(o.missing)?o.missing:null,N=ve(o.postTranslation)?o.postTranslation:null,L=a?n.warnHtmlMessage:le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,h=!!o.escapeParameter,b=a?n.modifiers:ie(o.modifiers)?o.modifiers:{},S=o.pluralRules||a&&n.pluralRules;function T(){return[r.value,l.value,c.value,u.value,p.value]}const w=$e({get:()=>s.value?s.value.locale.value:r.value,set:m=>{s.value&&(s.value.locale.value=m),r.value=m}}),I=$e({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:m=>{s.value&&(s.value.fallbackLocale.value=m),l.value=m}}),A=$e(()=>s.value?s.value.messages.value:c.value),W=$e(()=>u.value),Z=$e(()=>p.value);function j(){return s.value?s.value.getPostTranslationHandler():N}function Y(m){s.value&&s.value.setPostTranslationHandler(m)}function Q(){return s.value?s.value.getMissingHandler():M}function B(m){s.value&&s.value.setMissingHandler(m)}function V(m){return T(),m()}function J(...m){return s.value?V(()=>Reflect.apply(s.value.t,null,[...m])):V(()=>"")}function ne(...m){return s.value?Reflect.apply(s.value.rt,null,[...m]):""}function Ie(...m){return s.value?V(()=>Reflect.apply(s.value.d,null,[...m])):V(()=>"")}function z(...m){return s.value?V(()=>Reflect.apply(s.value.n,null,[...m])):V(()=>"")}function te(m){return s.value?s.value.tm(m):{}}function X(m,P){return s.value?s.value.te(m,P):!1}function fe(m){return s.value?s.value.getLocaleMessage(m):{}}function ue(m,P){s.value&&(s.value.setLocaleMessage(m,P),c.value[m]=P)}function Fe(m,P){s.value&&s.value.mergeLocaleMessage(m,P)}function ke(m){return s.value?s.value.getDateTimeFormat(m):{}}function he(m,P){s.value&&(s.value.setDateTimeFormat(m,P),u.value[m]=P)}function ye(m,P){s.value&&s.value.mergeDateTimeFormat(m,P)}function x(m){return s.value?s.value.getNumberFormat(m):{}}function ge(m,P){s.value&&(s.value.setNumberFormat(m,P),p.value[m]=P)}function Pe(m,P){s.value&&s.value.mergeNumberFormat(m,P)}const f={get id(){return s.value?s.value.id:-1},locale:w,fallbackLocale:I,messages:A,datetimeFormats:W,numberFormats:Z,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(m){s.value&&(s.value.inheritLocale=m)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:b},get pluralRules(){return s.value?s.value.pluralRules:S},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:_},set missingWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(m){s.value&&(s.value.missingWarn=m)},get fallbackRoot(){return s.value?s.value.fallbackRoot:C},set fallbackRoot(m){s.value&&(s.value.fallbackRoot=m)},get fallbackFormat(){return s.value?s.value.fallbackFormat:k},set fallbackFormat(m){s.value&&(s.value.fallbackFormat=m)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:L},set warnHtmlMessage(m){s.value&&(s.value.warnHtmlMessage=m)},get escapeParameter(){return s.value?s.value.escapeParameter:h},set escapeParameter(m){s.value&&(s.value.escapeParameter=m)},t:J,getPostTranslationHandler:j,setPostTranslationHandler:Y,getMissingHandler:Q,setMissingHandler:B,rt:ne,d:Ie,n:z,tm:te,te:X,getLocaleMessage:fe,setLocaleMessage:ue,mergeLocaleMessage:Fe,getDateTimeFormat:ke,setDateTimeFormat:he,mergeDateTimeFormat:ye,getNumberFormat:x,setNumberFormat:ge,mergeNumberFormat:Pe};function y(m){m.locale.value=r.value,m.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{m.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{m.mergeDateTimeFormat(P,u.value[P])}),Object.keys(p.value).forEach(P=>{m.mergeNumberFormat(P,p.value[P])}),m.escapeParameter=h,m.fallbackFormat=k,m.fallbackRoot=C,m.fallbackWarn=v,m.missingWarn=_,m.warnHtmlMessage=L}return $i(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw xe(Re.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const m=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=m.locale.value,l.value=m.fallbackLocale.value,c.value=m.messages.value,u.value=m.datetimeFormats.value,p.value=m.numberFormats.value):a&&y(m)}),f}const tm=["locale","fallbackLocale","availableLocales"],Vl=["t","rt","d","n","tm","te"];function nm(e,t){const n=Object.create(null);return tm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw xe(Re.UNEXPECTED_ERROR);const i=Ce(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,Vl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw xe(Re.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Vl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Rh(),__INTLIFY_JIT_COMPILATION__?cl(Ch):cl(Lh),_h(Zp),yh(al),__INTLIFY_PROD_DEVTOOLS__){const e=Ft();e.__INTLIFY__=!0,rh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const om=Object.assign({"./locales/ar/aria.json":ld,"./locales/ar/buttons.json":cd,"./locales/ar/detail.json":ud,"./locales/ar/legend.json":gd,"./locales/ar/messages.json":dd,"./locales/ar/options.json":fd,"./locales/ar/prayerLaps.json":pd,"./locales/ar/search.json":hd,"./locales/ar/tabs.json":md,"./locales/de/aria.json":bd,"./locales/de/buttons.json":_d,"./locales/de/detail.json":yd,"./locales/de/legend.json":Ad,"./locales/de/messages.json":Sd,"./locales/de/options.json":vd,"./locales/de/prayerLaps.json":kd,"./locales/de/search.json":Td,"./locales/de/tabs.json":Ed,"./locales/en/aria.json":$d,"./locales/en/buttons.json":Ld,"./locales/en/detail.json":Cd,"./locales/en/legend.json":Nd,"./locales/en/messages.json":wd,"./locales/en/options.json":Pd,"./locales/en/popup.json":Id,"./locales/en/prayerLaps.json":Md,"./locales/en/search.json":Rd,"./locales/en/tabs.json":Fd,"./locales/es/aria.json":Dd,"./locales/es/buttons.json":Od,"./locales/es/detail.json":xd,"./locales/es/legend.json":jd,"./locales/es/messages.json":Bd,"./locales/es/options.json":Kd,"./locales/es/prayerLaps.json":Ud,"./locales/es/search.json":Gd,"./locales/es/tabs.json":zd,"./locales/fr/aria.json":Hd,"./locales/fr/buttons.json":qd,"./locales/fr/detail.json":Vd,"./locales/fr/legend.json":Wd,"./locales/fr/messages.json":Yd,"./locales/fr/options.json":Jd,"./locales/fr/popup.json":Xd,"./locales/fr/prayerLaps.json":Zd,"./locales/fr/search.json":Qd,"./locales/fr/tabs.json":ef,"./locales/hi/aria.json":tf,"./locales/hi/buttons.json":nf,"./locales/hi/detail.json":of,"./locales/hi/legend.json":af,"./locales/hi/messages.json":sf,"./locales/hi/options.json":rf,"./locales/hi/prayerLaps.json":lf,"./locales/hi/search.json":cf,"./locales/it/aria.json":uf,"./locales/it/buttons.json":gf,"./locales/it/detail.json":df,"./locales/it/legend.json":ff,"./locales/it/messages.json":pf,"./locales/it/options.json":hf,"./locales/it/prayerLaps.json":mf,"./locales/it/search.json":bf,"./locales/pt/aria.json":_f,"./locales/pt/buttons.json":yf,"./locales/pt/detail.json":Af,"./locales/pt/legend.json":Sf,"./locales/pt/messages.json":vf,"./locales/pt/options.json":kf,"./locales/pt/prayerLaps.json":Tf,"./locales/pt/search.json":Ef,"./locales/pt/tabs.json":$f,"./locales/ro/aria.json":Lf,"./locales/ro/buttons.json":Cf,"./locales/ro/detail.json":Nf,"./locales/ro/legend.json":wf,"./locales/ro/messages.json":Pf,"./locales/ro/options.json":If,"./locales/ro/prayerLaps.json":Mf,"./locales/ro/search.json":Rf,"./locales/ru/aria.json":Ff,"./locales/ru/buttons.json":Df,"./locales/ru/detail.json":Of,"./locales/ru/legend.json":xf,"./locales/ru/messages.json":jf,"./locales/ru/options.json":Bf,"./locales/ru/prayerLaps.json":Kf,"./locales/ru/search.json":Uf,"./locales/ru/tabs.json":Gf,"./locales/zh/aria.json":zf,"./locales/zh/buttons.json":Hf,"./locales/zh/detail.json":qf,"./locales/zh/legend.json":Vf,"./locales/zh/messages.json":Wf,"./locales/zh/options.json":Yf,"./locales/zh/prayerLaps.json":Jf,"./locales/zh/search.json":Xf}),eo={};for(const[e,t]of Object.entries(om)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;eo[o]??(eo[o]={}),eo[o][a]=t}const Wl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function am(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Wl.includes(t)?t:"en"}function sm(){return qh({legacy:!1,globalInjection:!0,locale:am(),fallbackLocale:"en",messages:eo,missingWarn:!1,fallbackWarn:!1})}let im=0;const rm=Ga("ui",{state:()=>({_storeInstanceId:++im,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light"),localStorage.setItem("theme",e)},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){const e=localStorage.getItem("theme");e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),lm=Ga("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),cm=Ga("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Rn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Rn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Yl={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},um=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},gm={class:"profile-loader"},dm={key:0,class:"profile-error"},fm={key:1,class:"profile-error"},pm=um({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var M;const t=e,n=$e(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),o=$e(()=>{var N;return((N=n.value)==null?void 0:N.profile)||null}),a=$e(()=>{var N;return((N=n.value)==null?void 0:N.tk)||""}),s=$e(()=>{var N;return((N=n.value)==null?void 0:N.dataSource)||Yl.activeSource||"doxa-csv"}),i=$e(()=>{var N;return((N=n.value)==null?void 0:N.colorSet)||"default"}),r=$e(()=>{var L,h;const N=(((L=n.value)==null?void 0:L.locale)||((h=n.value)==null?void 0:h.lang)||"").split("-")[0].toLowerCase();return Wl.includes(N)?N:""}),l=Ge("appI18n",null);ku(()=>{r.value&&l&&(l.global.locale.value=r.value)});const c=$e(()=>{var N,L;return r.value||((L=(N=l==null?void 0:l.global)==null?void 0:N.locale)==null?void 0:L.value)||"en"}),u=$e(()=>{var N;return((N=n.value)==null?void 0:N.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),p=Ge("profileModules",null);if(!p)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const _=$e(()=>{if(!o.value)return null;const N=`./${o.value}.vue`;return p[N]?Cu(p[N]):(console.error(`[ProfileLoader] Profile not found: "${o.value}". Available:`,Object.keys(p)),null)});dt("mapboxToken",a),dt("dataSource",s),dt("colorSet",i),dt("profileConfig",n),dt("instanceId",u),dt("lang",c);const v=rm(),C=lm(),k=cm();if(typeof localStorage<"u"){const N=localStorage.getItem("theme");N&&((M=v.setTheme)==null||M.call(v,N))}return dt("uiStore",v),dt("mapStore",C),dt("dataStore",k),(N,L)=>(Je(),st("div",gm,[n.value?_.value?(Je(),ar(ju(_.value),{key:2})):(Je(),st("div",fm,[tt("p",null,[L[1]||(L[1]=Gt("⚠️ Profile ",-1)),tt("strong",null,'"'+gn(o.value)+'"',1),L[2]||(L[2]=Gt(" not found.",-1))])])):(Je(),st("div",dm,[...L[0]||(L[0]=[tt("p",null,[Gt("⚠️ "),tt("strong",null,"doxa-map"),Gt(": missing or invalid "),tt("code",null,"profile-config"),Gt(" prop.")],-1),tt("p",null,[Gt("Example: "),tt("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-e7b71944"]]),Jl="adoptionStatus",xt={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},hm=xt,cs={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},mm=cs;function Xl(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xt.hasAdoption:xt.notAdopted}function us({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],xt.hasAdoption,["==",t,1],xt.hasAdoption,xt.notAdopted]}const Zl=us,bm=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:hm,ADOPTION_LABELS:mm,LABELS:cs,PALETTE:xt,PROPERTY_KEY:Jl,applyColor:us,buildColorExpression:Zl,default:{name:"Adoption Progress",propertyKey:Jl,palette:xt,colors:xt,labels:cs,getColor:Xl,applyColor:us,buildColorExpression:Zl},getColor:Xl},Symbol.toStringTag,{value:"Module"})),Ql="engagementStatus",jt={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},_m=jt,gs={notEngaged:"Unengaged",hasEngagement:"Engaged"},ym=gs;function ec(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?jt.hasEngagement:jt.notEngaged}function ds({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],jt.hasEngagement,["==",t,1],jt.hasEngagement,jt.notEngaged]}const tc=ds,Am=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:_m,ENGAGEMENT_LABELS:ym,LABELS:gs,PALETTE:jt,PROPERTY_KEY:Ql,applyColor:ds,buildColorExpression:tc,default:{name:"Engagement Progress",propertyKey:Ql,palette:jt,colors:jt,labels:gs,getColor:ec,applyColor:ds,buildColorExpression:tc},getColor:ec},Symbol.toStringTag,{value:"Module"})),fs="languageFamily",Sm="#000000",Xt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},vm=Xt;function Zo(e){return Xt[e]||Sm}const km=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Xt))t[e(n)]=n;return t})();function ps(e){if(!e)return"Unknown";const t=String(e).trim();return km[t.toLowerCase()]||t}function nc(e){var t;return Zo(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",fs]];return Object.entries(Xt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const oc=hs,Tm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:vm,PALETTE:Xt,PROPERTY_KEY:fs,applyColor:hs,buildColorExpression:oc,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:fs,palette:Xt,colors:Xt,getColor:nc,applyColor:hs,buildColorExpression:oc,getLanguageFamilyColor:Zo,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:nc,getLanguageFamilyColor:Zo,languageFamilyColors:Xt},Symbol.toStringTag,{value:"Module"})),ac="peoplePraying",En=144,Zt={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Em=Zt,ms={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$m=ms;function Qo(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=En?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function bs(e){return Zt[Qo(e)]}function sc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function ic(e){return Qo(e)==="fullPrayer"}function rc(e){return bs(e)}function _s({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,En],Zt.fullPrayer,[">",t,0],Zt.hasPrayer,Zt.noPrayer]}const lc=_s,Lm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:En,LABELS:ms,PALETTE:Zt,PRAYER_COLORS:Em,PRAYER_LABELS:$m,PROPERTY_KEY:ac,applyColor:_s,buildColorExpression:lc,checkHasFullPrayer:ic,checkHasPrayer:sc,default:{name:"Prayer Progress",propertyKey:ac,palette:Zt,colors:Zt,labels:ms,threshold:En,getColor:rc,applyColor:_s,buildColorExpression:lc,getPrayerLevel:Qo,getPrayerColor:bs,checkHasPrayer:sc,checkHasFullPrayer:ic},getColor:rc,getPrayerColor:bs,getPrayerLevel:Qo},Symbol.toStringTag,{value:"Module"})),cc="religion",ys="#94a3b8",As={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},rt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function uc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return As[t]?t:"U"}function gc(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return rt[uc(t)]||ys}function Ss(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",rt.C,"M",rt.M,"H",rt.H,"B",rt.B,"E",rt.E,"J",rt.J,"S",rt.S,"N",rt.N,"O",rt.O,ys]}const dc=Ss,Cm=Object.assign({"./adoption.js":bm,"./engagement.js":Am,"./language-family.js":Tm,"./prayer-progress.js":Lm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:rt,PROPERTY_KEY:cc,RELIGION_FAMILIES:As,applyColor:Ss,buildColorExpression:dc,default:{name:"Religion",propertyKey:cc,palette:rt,families:As,getColor:gc,applyColor:Ss,buildColorExpression:dc,fallback:ys},getColor:gc,getReligionFamily:uc},Symbol.toStringTag,{value:"Module"}))}),Nm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),wm=e=>e.replace(/-/g,"_").toUpperCase(),vs={...{STATUS:"status",CUSTOM:"custom"}},ks={};function fc(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const a=Nm(n);vs[wm(n)]=a,ks[a]=o}}fc(Cm);function Pm(e){e&&fc(e)}function Ts(e){return ks[e]||ks[vs.LANGUAGE_FAMILY]}function pc(e,t={}){return Ts(e).applyColor(t)}const Im=Object.assign({"./prayer-map.vue":()=>Ec(()=>Promise.resolve().then(()=>pb),void 0)});Pm(Object.assign({}));const Mm=Jg(pm,{configureApp(e){e.use(nd());const t=sm();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Im)}});typeof customElements<"u"&&!customElements.get("prayer-map")&&customElements.define("prayer-map",Mm);const Rm="rgba(120, 128, 134, 0.28)",hc="36px",mc=()=>{};function Fm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return mc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return mc;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${Rm} ${hc}, transparent ${hc})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const L of o)l.has(L)||i(L)},_=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(p,250))},v=()=>_(),C=L=>{if(!(L.touches&&L.touches.length===1))return;const h=L.target;h&&h.classList&&h.classList.contains("map-scroll-edge")||_()},k=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",k,{passive:!0}),e.addEventListener("touchcancel",k,{passive:!0});const M=()=>{c||_()};typeof window<"u"&&window.addEventListener("scroll",M,{passive:!0});const N=[];for(const L of o){const h=()=>{l.add(L),s(L)},b=()=>{l.delete(L),i(L)},S=()=>{c=!0,s(L)},T=()=>{c=!1,i(L)};L.addEventListener("mouseenter",h),L.addEventListener("mouseleave",b),L.addEventListener("touchstart",S,{passive:!0}),L.addEventListener("touchend",T,{passive:!0}),N.push(()=>{L.removeEventListener("mouseenter",h),L.removeEventListener("mouseleave",b),L.removeEventListener("touchstart",S),L.removeEventListener("touchend",T)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",C),e.removeEventListener("touchend",k),e.removeEventListener("touchcancel",k),typeof window<"u"&&window.removeEventListener("scroll",M);for(const h of N)h();for(const h of o)i(h)}}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}},Dm=$n.mapbox.css,Om="https://tiles.openfreemap.org/styles/liberty";function Es(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function xm(e){const t=$n[e]||$n.mapbox;if(Es(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(Es(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function jm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Bm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:Om}const Km=85.0511,bc=-2,Um=0,Gm=-60;function _c(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function zm(e,t,n,o){if(!e||e<=0||!t||t<=0)return Um;const a=Math.log2(e/512),s=_c(o)-_c(Km),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(bc,Math.min(r,(n??18)-1))}function Hm({containerRef:e,accessToken:t,style:n,provider:o="mapbox",center:a=[20,10],zoom:s=2,minZoom:i=void 0,maxZoom:r=18,pitch:l=0,bearing:c=0,renderWorldCopies:u=!0,showEdgeBorders:p=!0,southCutoff:_=Gm,maxBounds:v=void 0}){const C=be(null),k=be(!1);let M=null,N=null;const L=o==="maplibre";async function h(){var Y;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await xm(o);const S=Es(o);if(!S){console.error(`[useMapInstance] ${L?"maplibregl":"mapboxgl"} is not available. Add the ${L?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!L){if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await jm(e.value,L?$n.maplibre.css:Dm),await new Promise(Q=>requestAnimationFrame(Q));const T=e.value,w=T.clientWidth,I=T.clientHeight;if(w===0||I===0){console.error(`[useMapInstance] Container has ZERO dimensions (${w}×${I}). Map will be invisible. Check that parent elements have CSS sizing.`);let Q=T.parentElement,B=0;for(;Q&&B<5;)Q=Q.parentElement,B++}const A=t;L||(S.accessToken=A);const W=()=>typeof window<"u"&&window.innerWidth>=1024,Z=(Q,B)=>{if(!W())return bc;const V=zm(Q,B,r,_);return typeof i=="number"?Math.max(i,V):V},j=Z(T.clientWidth,T.clientHeight);L?C.value=new S.Map({container:e.value,style:Bm(n),center:a,zoom:s,minZoom:j,maxZoom:r,pitch:l,bearing:c,dragRotate:!1,renderWorldCopies:u,...v?{maxBounds:v}:{},attributionControl:!1}):C.value=new S.Map({accessToken:A,container:e.value,style:n,center:a,zoom:s,minZoom:j,maxZoom:r,pitch:l,bearing:c,dragRotate:!1,touchPitch:!1,renderWorldCopies:u,...v?{maxBounds:v}:{},attributionControl:!1});try{C.value.touchZoomRotate.disableRotation()}catch{}N=Fm(((Y=e.value)==null?void 0:Y.parentElement)||null,{enabled:p}),M=()=>{const Q=C.value;if(!Q)return;const B=Z(T.clientWidth,T.clientHeight);Q.setMinZoom(B),Q.getZoom(){requestAnimationFrame(()=>{var Q;(Q=C.value)==null||Q.resize(),C.value&&C.value.setMinZoom(Z(T.clientWidth,T.clientHeight)),k.value=!0})})}function b(){C.value&&(M&&(C.value.off("resize",M),typeof window<"u"&&(window.removeEventListener("resize",M),window.removeEventListener("orientationchange",M)),M=null),N&&(N(),N=null),C.value.remove(),C.value=null,k.value=!1)}return{map:C,isMapReady:k,initializeMap:h,destroy:b}}const qm=["mapbox","maplibre"],yc="mapbox";function Vm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Wm(e){const t=Vm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||yc).toLowerCase().trim();return qm.includes(s)?s:yc}function Ym(e){return typeof window<"u"&&!!window.mapboxgl&&e instanceof window.mapboxgl.Map}function $s(e){return Ym(e)?{"circle-emissive-strength":1}:{}}const ze={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Ac={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"};function Ls(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Jm=[[/ sign language$/i,"Sign Language"]];function Xm(e){var r,l;const t=Ls(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Ac[n])return Ac[n];const o=Ls(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(ze[c])return ze[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(ze[u])return ze[u]}}if(ze[a])return ze[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&ze[i])return ze[i];for(const[c,u]of Jm)if(c.test(a))return u;return""}function Zm(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=w=>w}=e;o||console.error("useMapData: dataSourceManager is required!");const i=be(!1),r=be(null),l=be(!1),c=be([]),u=be([]),p=be(null),_=be([]),v=be([]),C=be([]),k=be(null);async function M(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const B=a.getSourceData(n);u.value=s(B.normalizedData||[])}else{const B=await o.setActiveSource(n);for(const V of B){const J=Ls(V.language||V.primary_language);J&&(V.language=J);const ne=Xm(V);V.languageFamily=ps(ne)}u.value=s(B),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:B,timestamp:Date.now()})}c.value=s(u.value.map(B=>({id:B.uniqueId,slug:B.slug||"",rop3:B.peopleGroupId,peopleId3:B.peopleId3,name:B.name,language:B.language,languageFamily:B.languageFamily,country:B.country,population:B.population,status:B.engagementStatus||B.status,latitude:B.latitude,longitude:B.longitude,lng:B.longitude,lat:B.latitude,description:B.description,imageUrl:B.imageUrl,doxaRegion:B.doxaRegion||B.wagfRegion||"",peoplePraying:B.peoplePraying??null,_normalized:B})));const w=o.getDataByLanguageFamily();_.value=Object.entries(w).map(([B,V])=>{const J=V.reduce((ne,Ie)=>{const z=parseInt(Ie.population)||0;return ne+z},0);return{name:B,count:V.length,peopleGroupCount:V.length,population:J,groups:V}}).sort((B,V)=>V.count-B.count);const I=o.getDataByRegion();v.value=Object.entries(I).map(([B,V])=>{const J=V.reduce((ne,Ie)=>{const z=parseInt(Ie.population)||0;return ne+z},0);return{name:B,count:V.length,peopleGroupCount:V.length,population:J,groups:V}}).sort((B,V)=>B.name.localeCompare(V.name));const A={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(B=>{const V=parseInt(B.population)||0;let J=!1;B.bible==="Available"&&(A.bible.count++,A.bible.population+=V,A.bible.groups.push(B),J=!0),B.jesusFilm==="Available"&&(A.jesusFilm.count++,A.jesusFilm.population+=V,A.jesusFilm.groups.push(B),J=!0),B.radio==="Available"&&(A.radio.count++,A.radio.population+=V,A.radio.groups.push(B),J=!0),B.gospel==="Available"&&(A.gospel.count++,A.gospel.population+=V,A.gospel.groups.push(B),J=!0),B.audio==="Available"&&(A.audio.count++,A.audio.population+=V,A.audio.groups.push(B),J=!0),B.stories==="Available"&&(A.stories.count++,A.stories.population+=V,A.stories.groups.push(B),J=!0),J?(A.hasResources.count++,A.hasResources.population+=V,A.hasResources.groups.push(B)):(A.noResources.count++,A.noResources.population+=V,A.noResources.groups.push(B))});const W=u.value.length,Z=u.value.reduce((B,V)=>B+(parseInt(V.population)||0),0),j={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},Y={bible:{count:W-A.bible.count,population:Z-A.bible.population},jesusFilm:{count:W-A.jesusFilm.count,population:Z-A.jesusFilm.population},radio:{count:W-A.radio.count,population:Z-A.radio.population},gospel:{count:W-A.gospel.count,population:Z-A.gospel.population},audio:{count:W-A.audio.count,population:Z-A.audio.population},stories:{count:W-A.stories.count,population:Z-A.stories.population}},Q="#2c3e50";return C.value=[{name:j.bible,key:"bible",count:A.bible.count,population:A.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:Y.bible.count,population:Y.bible.population,color:Q}]},{name:j.jesusFilm,key:"jesusFilm",count:A.jesusFilm.count,population:A.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:Y.jesusFilm.count,population:Y.jesusFilm.population,color:Q}]},{name:j.radio,key:"radio",count:A.radio.count,population:A.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:Y.radio.count,population:Y.radio.population,color:Q}]},{name:j.gospel,key:"gospel",count:A.gospel.count,population:A.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:Y.gospel.count,population:Y.gospel.population,color:Q}]},{name:j.audio,key:"audio",count:A.audio.count,population:A.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:Y.audio.count,population:Y.audio.population,color:Q}]},{name:j.stories,key:"stories",count:A.stories.count,population:A.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:Y.stories.count,population:Y.stories.population,color:Q}]},{name:j.hasResources,key:"hasResources",count:A.hasResources.count,population:A.hasResources.population,isParent:!0,children:[{name:j.noResources,key:"noResources",count:A.noResources.count,population:A.noResources.population,color:Q}]}],k.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:_.value,doxaRegionsData:v.value,resourcesData:C.value,stats:k.value}}catch(w){throw console.error(`Failed to load data for map "${t}":`,w),r.value=w.message||"Failed to load data",w}finally{i.value=!1}}async function N(){var w,I,A;try{const W={},Z=u.value||[];for(const j of Z){const Y=j.countryIso||((I=(w=j._raw)==null?void 0:w.country_code)==null?void 0:I.value)||"",Q=(A=j._raw)==null?void 0:A.wagf_region,B=j.doxaRegion||j.wagfRegion||(Q&&typeof Q=="object"?Q.value:"")||"";Y&&B&&!W[Y]&&(W[Y]=B)}return p.value={isoToRegion:W},p.value}catch(W){throw console.error(`Error building regions data for map "${t}":`,W),r.value=W.message||"Failed to build regions",W}}function L(){return o?o.getDataByLanguageFamily():{}}function h(){return o?o.getDataByRegion():{}}function b(w){return L()[w]||[]}function S(w){return h()[w]||[]}function T(){c.value=[],u.value=[],p.value=null,_.value=[],v.value=[],C.value=[],k.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:p,languageFamiliesData:_,doxaRegionsData:v,resourcesData:C,stats:k,loadData:M,loadRegionsData:N,getDataByLanguageFamily:L,getDataByRegion:h,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:S,clearData:T}}const Sc={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,12,2,15,4,19,6,20,8,21,10,22,12,24,14,28]}};function Cs(e="standard"){return Sc.circleRadius[e]||Sc.circleRadius.standard}function Qm(e={}){const{getMap:t=()=>null,mapId:n="unknown",getLanguageFamilyColor:o=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Ge("uiStore"),{t:i,locale:r}=Xo(),l=be([]);function c(h){const b=o(h.languageFamily),S="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let T=h.imageUrl;(!T||T.includes("NoImageAvailable"))&&(T=S);const w=(h.name||"U")[0].toUpperCase(),I=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],A=w.charCodeAt(0)%I.length;return` -
- -
- -
- ${w} -
- - -
-

${h.name}

-

${h.country||"Unknown"} • ${h.status||"Unknown Status"}

-
-
- - -
- ${h.name} -
- - -
-

- Language: ${h.language||"Unknown"} -

-

- Family: - - ${h.languageFamily||"Unknown"} - -

- ${h.population?`

Population: ${h.population}

`:""} - ${h.description?`

${h.description}

`:""} -
-
- `}function u(h){const b=h.iso_3166_1_alpha_3||"",T=h["name_"+((r==null?void 0:r.value)||"en")]||h.name_en||h.name||b,w=a(),I=b.toUpperCase(),A=w.filter(Q=>{const B=(Q.countryIso||Q.country||"").toUpperCase();return B&&B===I}),W=A.length,Z=A[0],j=(Z==null?void 0:Z.wagfRegionLabel)||(Z==null?void 0:Z.doxaRegionLabel)||(Z==null?void 0:Z.doxaRegion)||(Z==null?void 0:Z.wagfRegion)||"—",Y=(Z==null?void 0:Z.wagfBlockLabel)||(Z==null?void 0:Z.wagfBlock)||"—";return` -
-

- ${T} -

-

- ${i("popup.country.wagfRegion")}: ${j} -

-

- ${i("popup.country.wagfBlock")}: ${Y} -

-

- ${i("popup.country.country")}: ${T} (${b}) -

-

- ${i("popup.country.uupgCount")}: ${W} -

-
- `}function p(h){const b=t();if(!b)return;const S=h||"language-family-pins";if(!b.getLayer(S))return;const T=w=>{try{const I=w.features[0],A=I.properties,W=I.geometry.coordinates.slice();for(;Math.abs(w.lngLat.lng-W[0])>180;)W[0]+=w.lngLat.lng>W[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(I),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:n}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(W).setHTML(c(A)).addTo(b)}catch(I){console.error(` [${n}] Pin click handler error:`,I)}};b.on("click",S,T),l.value.push({event:"click",layer:S,handler:T})}function _(){const h=t();if(!h)return;const b="regions-fill";if(!h.getLayer(b))return;const S=T=>{const w=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const I of w)if(h.getLayer(I)){const A=h.queryRenderedFeatures(T.point,{layers:[I]});if(A&&A.length>0)return}if(T.features&&T.features.length>0){const I=T.features[0].properties;new mapboxgl.Popup().setLngLat(T.lngLat).setHTML(u(I)).addTo(h)}};h.on("click",b,S),l.value.push({event:"click",layer:b,handler:S})}function v(){const h=t();if(!h)return;const b="clusters";if(!h.getLayer(b))return;const S=T=>{const w=h.queryRenderedFeatures(T.point,{layers:[b]});if(!w.length)return;const I=w[0].properties.cluster_id,A=w[0].source;h.getSource(A).getClusterExpansionZoom(I,(W,Z)=>{W||h.easeTo({center:w[0].geometry.coordinates,zoom:Z})})};h.on("click",b,S),l.value.push({event:"click",layer:b,handler:S})}function C(h){const b=t();if(!b||!b.getLayer(h))return;const S=()=>{b.getCanvas().style.cursor="pointer"},T=()=>{b.getCanvas().style.cursor=""};b.on("mouseenter",h,S),b.on("mouseleave",h,T),l.value.push({event:"mouseenter",layer:h,handler:S}),l.value.push({event:"mouseleave",layer:h,handler:T})}function k(){p(),C("language-family-pins"),p("language-family-pins-hitbox"),C("language-family-pins-hitbox"),v(),C("clusters")}function M(){_(),C("regions-fill")}function N(){const h=t();h&&(h.getLayer("language-family-pins")&&k(),h.getLayer("regions-fill")&&M(),h.getLayer("people-groups-pins")&&(p(),C("people-groups-pins")))}function L(){const h=t();if(h){for(const{event:b,layer:S,handler:T}of l.value)try{h.off(b,S,T)}catch{}l.value=[]}}return{attachAllEventHandlers:N,attachLanguageFamilyEvents:k,attachRegionEvents:M,attachPinClickHandler:p,attachRegionClickHandler:_,attachClusterClickHandler:v,attachCursorHandlers:C,detachAllEventHandlers:L,generatePinPopupContent:c,generateRegionPopupContent:u,registeredHandlers:l}}const Ns=[">",["to-number",["get","peoplePraying"],0],0],ws={0:.25,8:.4,14:.5},Ps={0:.1,8:.18,14:.22},eb=["interpolate",["linear"],["zoom"],0,["case",Ns,ws[0],Ps[0]],8,["case",Ns,ws[8],Ps[8]],14,["case",Ns,ws[14],Ps[14]]],tb=[[/ sign language$/i,"Sign Language"]];function nb(e){if(!e||typeof e!="string")return null;const t=e.trim(),n=t.split(",").map(a=>a.trim()).filter(Boolean);if(n.length>=2){const a=[...n].reverse().join(" ");if(ze[a])return ze[a];if(n.length>=3){const s=[n[1],n[0]].join(" ");if(ze[s])return ze[s]}}if(ze[t])return ze[t];const o=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(o!==t&&ze[o])return ze[o];for(const[a,s]of tb)if(a.test(t))return s;return null}function ob(e={}){const{getMap:t=()=>null,mapId:n="unknown",getLanguageFamilyColor:o=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Qm({getMap:t,mapId:n,getLanguageFamilyColor:o,getNormalizedPeopleGroups:a}),i=be({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),r=be({});function l(z,te="languageFamily"){const X=t();if(!X||!(z!=null&&z.length))return;const fe=pc(te),ue=z.map(x=>{var ge,Pe,f,y,m,P,O,D,G,U,g,d,$,R,H,K,E,F,ee;return{type:"Feature",properties:{uniqueId:x.id||x.uniqueId,slug:x.slug||((ge=x._normalized)==null?void 0:ge.slug)||"",rop3:x.rop3||x.peopleGroupId,peopleId3:x.peopleId3||"",name:x.name,language:x.language,languageFamily:x.languageFamily||((Pe=x._normalized)==null?void 0:Pe.languageFamily)||nb(x.language)||"Unknown",affinityBlock:x.affinityBlock||x.affbloc||x.Affbloc||((f=x._normalized)==null?void 0:f.affinityBlock)||"Unknown",affinityBlockLabel:x.affinityBlockLabel||((y=x._normalized)==null?void 0:y.affinityBlockLabel)||"",cluster:x.cluster||((m=x._normalized)==null?void 0:m.cluster)||"",clusterLabel:x.clusterLabel||((P=x._normalized)==null?void 0:P.clusterLabel)||"",peopleGroup:x.peopleGroup||((O=x._normalized)==null?void 0:O.peopleGroup)||"",peopleGroupLabel:x.peopleGroupLabel||((D=x._normalized)==null?void 0:D.peopleGroupLabel)||"",doxaRegion:x.doxaRegion||((G=x._normalized)==null?void 0:G.doxaRegion)||"Unknown",wagfBlock:x.wagfBlock||((U=x._normalized)==null?void 0:U.wagfBlock)||"",wagfBlockLabel:x.wagfBlockLabel||((g=x._normalized)==null?void 0:g.wagfBlockLabel)||"",wagfRegionLabel:x.wagfRegionLabel||((d=x._normalized)==null?void 0:d.wagfRegionLabel)||"",country:x.country,countryIso:x.countryIso,countryIsoLabel:x.countryIsoLabel,countryName:x.countryName,religion:x.religion,religionCode:x.religionCode,religionLabel:x.religionLabel,religionName:x.religionName,population:x.population,status:x.status,description:x.description||"",imageUrl:x.imageUrl||"",peoplePraying:Number(x.peoplePraying??(($=x._normalized)==null?void 0:$.peoplePraying)??0),engagementStatus:x.engagementStatus===!0||x.engagementStatus===1||!1,adoptionStatus:x.adoptionStatus===!0||x.adoptionStatus===1||!1,bible:x.bible||((R=x._normalized)==null?void 0:R.bible)||"Not Available",jesusFilm:x.jesusFilm||((H=x._normalized)==null?void 0:H.jesusFilm)||"Not Available",radio:x.radio||((K=x._normalized)==null?void 0:K.radio)||"Not Available",gospel:x.gospel||((E=x._normalized)==null?void 0:E.gospel)||"Not Available",audio:x.audio||((F=x._normalized)==null?void 0:F.audio)||"Not Available",stories:x.stories||((ee=x._normalized)==null?void 0:ee.stories)||"Not Available",lng:parseFloat(x.longitude||x.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(x.longitude||x.lng),parseFloat(x.latitude||x.lat)]}}}).filter(x=>!isNaN(x.geometry.coordinates[0])&&!isNaN(x.geometry.coordinates[1])),Fe=.04,ke=x=>`${x.geometry.coordinates[0]},${x.geometry.coordinates[1]}`,he=new Map;for(const x of ue){const ge=ke(x);he.has(ge)||he.set(ge,[]),he.get(ge).push(x)}for(const x of he.values()){if(x.length<2)continue;const[ge,Pe]=x[0].geometry.coordinates,f=x.length;for(let y=0;y",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),X.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":Cs("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function c(z,te="doxa-regions"){const X=t();if(!X)return;X.getLayer("regions-fill")&&X.removeLayer("regions-fill"),X.getLayer("regions-border")&&X.removeLayer("regions-border"),X.getSource("regions")&&X.removeSource("regions");const fe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},ue="#cccccc",Fe=z&&z.isoToRegion?z.isoToRegion:{},ke=[],he={};for(const[ge,Pe]of Object.entries(Fe)){const f=fe[String(Pe).toLowerCase()];f&&ke.push(ge,f),he[Pe]||(he[Pe]=[]),he[Pe].push(ge)}r.value=he;const ye=ke.length?["match",["get","iso_3166_1_alpha_3"],...ke,ue]:ue,x=X.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":X.getLayer("language-family-pins")?"language-family-pins":void 0;X.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),X.addLayer({id:"regions-fill",type:"fill",source:"regions","source-layer":"country_boundaries",paint:{"fill-color":ye,"fill-opacity":te==="none"?.1:.7,"fill-antialias":!0,"fill-emissive-strength":1,"fill-opacity-transition":{duration:300}}},x),X.addLayer({id:"regions-border",type:"line",source:"regions","source-layer":"country_boundaries",paint:{"line-color":ye,"line-width":1,"line-opacity":.9,"line-emissive-strength":1}},x),i.value.regions=!0,s.attachRegionEvents()}function u(z,te){const X=t();if(!X||!z||!(te!=null&&te.length))return;p();const fe=te.filter(ye=>{var ge;return(ye.languageFamily||((ge=ye._normalized)==null?void 0:ge.languageFamily)||"Unknown")===z});if(fe.length<2)return;const ue=o(z),Fe=[],ke=15,he=[...fe].sort((ye,x)=>(ye.longitude||ye.lng)-(x.longitude||x.lng));for(let ye=0;ye=",["get","peoplePraying"],En],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const j=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function Y(z,te){const X=["interpolate",["linear"],["zoom"]];for(let fe=0;fe",["get","peoplePraying"],0],X=Z();if(!w.every(ue=>z.getLayer(ue))){for(const ue of w)if(z.getLayer(ue))try{z.removeLayer(ue)}catch{}z.addLayer({id:b,type:"circle",source:"language-families",filter:te,paint:{"circle-radius":Y(j,1),"circle-color":X,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...$s(z)}},"language-family-pins");for(const ue of T)z.addLayer({id:ue,type:"circle",source:"language-families",filter:te,paint:{"circle-radius":Y(j,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":X,"circle-stroke-opacity":0,...$s(z)}},"language-family-pins")}}function B(){const z=t();if(z)for(const te of w)z.getLayer(te)&&z.removeLayer(te)}function V(z){const te=t();if(!te)return;const X=[">",["get","peoplePraying"],0],fe=z?["all",X,z]:X;for(const ue of w)if(te.getLayer(ue))try{te.setFilter(ue,fe)}catch{}}function J(){const z=t();if(z){if(Q(),N&&(cancelAnimationFrame(N),N=null),L=!0,z.getLayer("language-family-pins"))try{z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],En],1,[">",["get","peoplePraying"],0],1,3])}catch{}ne()}}function ne(){N&&(cancelAnimationFrame(N),N=null);const z=++h;let te=performance.now();function X(fe){if(!L||z!==h)return;const ue=t();if(!ue||!w.some(ke=>ue.getLayer(ke))){N=null;return}const Fe=(fe-te)/1e3;for(let ke=0;ke{var r;const o=zt();if(!o)return;const a=(r=o.proxy)==null?void 0:r.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function sb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ea&&ea.tagName.toUpperCase()==="SCRIPT"&&ea.src||new URL("prayer-map.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}class vc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Yl,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const p={};o.forEach((_,v)=>{p[_]=i[v]||""}),n.push(p)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=sb(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,p]of Object.entries(i))s.push(`${u}=${encodeURIComponent(p)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const _=await u.json();return this.rawData=Array.isArray(_)?_:_.posts||_.data||_.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new vc;const ib={class:"dm-root"},rb={key:0,class:"dm-tab-bar"},lb=["onClick"],cb={class:"dm-map-area"},ub={key:0,class:"dm-loading"},gb={key:1,class:"dm-error"},db={key:2,class:"dm-legend"},fb={class:"dm-legend-title"},pb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"prayer-map",setup(e){ab(` - .dm-root { position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden; - font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } - .dm-tab-bar { flex:0 0 auto;display:flex;align-items:center;background:#fff; - border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.08);height:48px; - padding:0 12px;gap:4px;z-index:10; } - .dm-tab { background:none;border:none;padding:0 20px;height:100%;font-size:14px; - font-weight:500;color:#555;cursor:pointer;border-bottom:3px solid transparent; - transition:color .15s,border-color .15s,background .15s;white-space:nowrap; } - .dm-tab:hover { background:rgba(139,92,246,.06);color:#8b5cf6; } - .dm-tab.active { color:#8b5cf6;border-bottom-color:#8b5cf6;background:rgba(139,92,246,.06); } - .dm-map-area { flex:1 1 0;position:relative;overflow:hidden; } - .dm-map-canvas { position:absolute;inset:0; } - .dm-loading { position:absolute;inset:0;display:flex;align-items:center;justify-content:center; - background:#f8f9fa;color:#555;font-size:14px;z-index:5; } - /* Failure state, NOT a cover: modelled on cities-internet's .gm-err so anything the - map did manage to render stays visible around it. A spinner that outlives the - failure reads as "slow" and the user just waits; this says the map is gone. */ - .dm-error { position:absolute;top:50%;left:12px;right:12px;z-index:7;transform:translateY(-50%); - text-align:center;font-size:13px;line-height:1.5;color:#7f1d1d;background:rgba(255,255,255,.94); - border:1px solid rgba(127,29,29,.25);border-radius:10px;padding:12px 14px; - box-shadow:0 2px 10px rgba(0,0,0,.16); } - .dm-legend { position:absolute;left:10px;bottom:26px;z-index:6;background:rgba(255,255,255,.92); - border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.12); - padding:10px 14px;max-width:220px; } - .dm-legend-title { font-size:12px;font-weight:700;color:#374151;margin-bottom:6px; - text-transform:uppercase;letter-spacing:.04em; } - .dm-legend-row { display:flex;align-items:center;gap:8px;font-size:12px;color:#4b5563; - line-height:1.7; } - .dm-dot { flex:none;width:10px;height:10px;border-radius:50%; - border:1px solid rgba(0,0,0,.25); } -`,"prayer-map");const t=Ge("profileConfig"),n=Ge("mapboxToken"),o=Ge("dataSource"),a=()=>((t==null?void 0:t.value)??t)||{},s=Wm({...a(),provider:a().provider||"maplibre"}),i=a().style||null,r=[{id:"prayer",label:"Prayer",colorStrategy:vs.PRAYER_PROGRESS}],l=$e(()=>{var j;return((j=t==null?void 0:t.value)==null?void 0:j.tabs)??r}),c=be(null),u=$e(()=>l.value.find(j=>j.id===c.value)??l.value[0]);function p(j){if(j===c.value)return;c.value=j;const Y=l.value.find(B=>B.id===j),Q=w.value;!Y||!Q||!Q.getLayer("language-family-pins")||Q.setPaintProperty("language-family-pins","circle-color",pc(Y.colorStrategy))}const _=$e(()=>{var Q;const j=Ts((Q=u.value)==null?void 0:Q.colorStrategy);if(!j)return[];if(j.families)return Object.entries(j.families).map(([B,V])=>{var J;return{label:V,color:((J=j.palette)==null?void 0:J[B])??j.fallback}});const Y=j.palette||j.PALETTE||{};return[{label:"Needs prayer",color:Y.none??Y.low??"#e74c3c"},{label:"Has prayer",color:Y.some??Y.mid??"#f39c12"},{label:"Full prayer coverage",color:Y.full??Y.high??"#2ecc71"}]}),v=$e(()=>{var j,Y;return((Y=Ts((j=u.value)==null?void 0:j.colorStrategy))==null?void 0:Y.name)??"Legend"}),C=Ge("instanceId",null),k=(C==null?void 0:C.value)||C||"prayer-map-"+Math.random().toString(36).slice(2,7);dt("mapId",k);const M=Ge("mapStore"),N=Ge("dataStore"),L=Ge("uiStore"),h=be(null),b=be(!1),S=be(null),T=new vc,{map:w,initializeMap:I,destroy:A}=Hm({containerRef:h,provider:s,accessToken:n==null?void 0:n.value,...i?{style:i}:{},center:[20,10],zoom:1.8}),W=Zm({mapId:k,dataSourceId:o.value,dataSourceManager:T,dataStore:N,markRaw:j=>j}),Z=ob({getMap:()=>w.value,mapId:k,getLanguageFamilyColor:Zo,getNormalizedPeopleGroups:()=>W.normalizedPeopleGroups.value||[]});return wo(async()=>{var Y,Q;c.value=((Y=l.value[0])==null?void 0:Y.id)??null,(Q=L==null?void 0:L.updateBreakpoint)==null||Q.call(L,window.innerWidth);const j=W.loadData().catch(B=>(console.error("[demo-map] Data load failed:",B),{normalizedPeopleGroups:[]}));try{await I()}catch(B){console.error("[demo-map] Map failed to initialize —",B),S.value=String((B==null?void 0:B.message)||B);return}if(!w.value){console.error("[demo-map] Map failed to initialize — check token and container"),S.value="Map failed to initialize — check token and container";return}w.value.once("style.load",async()=>{var B,V,J;try{const{normalizedPeopleGroups:ne}=await j;(B=M==null?void 0:M.registerMap)==null||B.call(M,k,w.value);try{w.value.setProjection("mercator")}catch{}ne!=null&&ne.length&&Z.addLanguageFamilyLayer(ne,(V=u.value)==null?void 0:V.colorStrategy),(J=M==null?void 0:M.setMapReady)==null||J.call(M,k),b.value=!0}catch(ne){console.error("[demo-map] Map ready failed:",ne),S.value=String((ne==null?void 0:ne.message)||ne)}})}),Li(()=>{var j;(j=M==null?void 0:M.unregisterMap)==null||j.call(M,k),A()}),(j,Y)=>(Je(),st("div",ib,[l.value.length>1?(Je(),st("div",rb,[(Je(!0),st(Qe,null,wi(l.value,Q=>{var B;return Je(),st("button",{key:Q.id,class:uo(["dm-tab",{active:((B=u.value)==null?void 0:B.id)===Q.id}]),onClick:V=>p(Q.id)},gn(Q.label),11,lb)}),128))])):Oo("",!0),tt("div",cb,[!b.value&&!S.value?(Je(),st("div",ub,"Loading map…")):Oo("",!0),S.value?(Je(),st("div",gb,"The map could not be loaded. "+gn(S.value),1)):Oo("",!0),tt("div",{ref_key:"mapContainer",ref:h,class:"dm-map-canvas"},null,512),b.value?(Je(),st("div",db,[tt("div",fb,gn(v.value),1),(Je(!0),st(Qe,null,wi(_.value,Q=>(Je(),st("div",{key:Q.label,class:"dm-legend-row"},[tt("span",{class:"dm-dot",style:co({background:Q.color})},null,4),Gt(gn(Q.label),1)]))),128))])):Oo("",!0)])]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/prayer-map/prayer-map/index.html b/public/doxa-maps/prayer-map/prayer-map/index.html deleted file mode 100644 index e8f77a388..000000000 --- a/public/doxa-maps/prayer-map/prayer-map/index.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - prayer-map · prayer-map - - - - - - - - - -
-
loading token…
- - - - - - - diff --git a/public/doxa-maps/template-bundle/index.html b/public/doxa-maps/template-bundle/index.html index 090018da3..a2753346f 100644 --- a/public/doxa-maps/template-bundle/index.html +++ b/public/doxa-maps/template-bundle/index.html @@ -129,7 +129,7 @@ header.top .sub { margin-top: 3px; font: 12px/1.4 var(--sans); color: var(--mut) + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"app-profiles/*/*.vue","embedBase":".","bundleCount":9,"profileCount":20,"bundles":[{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript src=\"./template-bundle/template-bundle.js\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]};