From 992e5ff2dffcadaa8d9a89bd32ec7f467a7ea28b Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 00:29:55 +0000 Subject: [PATCH 01/26] The map legend says what it shows, and opens there "Zone" was our internal word leaking into the UI. The thing the map paints IS a UPG-100 list -- 27 of them, one per printable packet -- so the tab is named for that, and the legend opens on it. Region stays, described as what it actually does: sort those lists by world area when you want that. ORDER IS DELIBERATELY UNCHANGED, and the comment now says why. Tab INDEX is coupled to tree DEPTH inside the shared legend -- `activeTab = Math.min(sel.depth, ...)` and again on breadcrumb -- and the tree nests region(0) -> zone(1) -> group(2). Moving the list tab to index 0 to make it open first would have made selecting a zone jump to the Region tab instead, and SEVEN profiles share that component. I started that way and backed it out. Opening on the list tab uses the mechanism already built for it: `:default-tab`, added for country-posters with the same need ("it opens to the country's semantic level in the legend"). One prop at the call site, no shared behaviour touched, and the component clamps an out-of-range value so it degrades to the top generation rather than blanking. LegendMobile takes neither tabs nor defaultTab -- it derives its own view -- so there is nothing to wire there. Card: BUILD-UPG100-MAP-LEGEND-LEADS-WITH-THE-UPG-100-LIST (the rename + default half; print-from-selection is still open and is the packet's entry point). --- .../my-upg-100-list/upg-100-list.vue | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/plugin-designs/my-upg-100-list/upg-100-list.vue b/plugin-designs/my-upg-100-list/upg-100-list.vue index 3ce4a92bf..2c2ec1ad2 100644 --- a/plugin-designs/my-upg-100-list/upg-100-list.vue +++ b/plugin-designs/my-upg-100-list/upg-100-list.vue @@ -271,14 +271,35 @@ const LEGEND_TITLE = 'My UPG 100 List — Legend' // by coincidence — the catalog means the ROP-2.5 sense, not this bundle's). Prefixed ids own no // catalog entry, so the labels below are what render. If these tabs are ever translated, add // `upg100Region`/`upg100Zone`/`upg100Group` to tabs.json rather than reusing a generic key. +// ★ "Zone" RENAMED, ORDER DELIBERATELY UNCHANGED (2026-09-23). +// Driver: "the user does not know what zones means" — the thing the map paints IS +// a UPG-100 list (27 of them); "zone" was our internal word leaking into the UI. +// So the LABEL now names what it shows. Region stays as what it actually is: a way +// to SORT those lists by world area when you want that. +// +// ⚠ DO NOT REORDER THESE TO MAKE THE LIST TAB OPEN FIRST. Tab INDEX is coupled to +// tree DEPTH in the shared legend: `activeTab = Math.min(sel.depth, …)` and again +// on breadcrumb (SemanticTreeLegend ~231 and ~418). The tree nests region(0) → +// zone(1) → group(2), so moving zone to index 0 would make selecting a zone jump +// to the Region tab. Seven profiles share that component. +// Opening on the list tab is done the way the codebase already provides for it: +// `:default-tab="1"` at the call site — the prop country-posters added for exactly +// this ("it opens to the country's semantic level in the legend"). +// +// NOTE the warning above: these prefixed ids own no catalog entry, so THESE labels +// are what render. If the packet is ever translated, add upg100Zone / upg100Region +// / upg100Group to tabs.json rather than reusing a generic key. const LEGEND_TABS = [ { id: 'upg100Region', label: 'Region', - info: 'Region — the broadest grouping, one row per world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every zone beneath it.' }, - { id: 'upg100Zone', label: 'Zone', - info: 'Zone — the prayer zones inside a region (e.g. Frontier Asia (uncovered) within Asia, or the Indian states within India). This is the level the map paints and colours.' }, + info: 'Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.' }, + { id: 'upg100Zone', label: 'UPG-100 Lists', + info: 'UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.' }, { id: 'upg100Group', label: 'People Group', - info: 'People Group — the individual unreached groups inside a zone, largest prayer need first. Each map dot is one of these.' }, + info: 'People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these.' }, ] +// The generation the legend OPENS on: index 1 = the UPG-100 Lists tab. A reader +// should meet the lists first and reach for Region only to sort them. +const LEGEND_DEFAULT_TAB = 1 const geocoderContext = 'people-groups' const geocoderPlaceholder = 'Search people group, zone, or territory…' @@ -1810,6 +1831,7 @@ onBeforeUnmount(() => { v-if="legendNodes.length" :nodes="legendNodes" :tabs="LEGEND_TABS" + :default-tab="LEGEND_DEFAULT_TAB" :columns="['count', 'pop']" :title="LEGEND_TITLE" :export-enabled="true" From cb5285017dde2dc9bcfc622518f36ec348aae812 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 01:53:21 +0000 Subject: [PATCH 02/26] test(packet): gate the prayer packet at the RENDERED layer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every bug this gate exists for produced a file of the right size, with no error, no broken image, and a generator reporting success. They were only visible once a browser laid the document out, so this drives a real browser and reads computed style rather than inspecting the HTML source. ★ The law it encodes: never print a number without asserting on it. The throwaway probe this replaces PRINTED "PDF pages: 16" for several runs while reporting "packet verified", because the failure counter never looked at that value. A number that is displayed but not asserted on is decoration. Two regressions it catches, both confirmed to FAIL before this was accepted: transform instead of zoom -> 16 PDF pages for 8 sheets map stylesheet removed -> unresolved --paper/--sea/--frameline; 660/661 map elements fill BLACK The second is the subtler one. The map SVG carries almost no presentation attributes; it is styled from the poster document's stylesheet. Lift the without those rules and SVG fill falls back to its initial value, which is black — the whole map paints as a solid rectangle with nothing to see in the DOM, no console error, and no broken image. It is asserted as a WHOLE-MAP property because the first attempt tested one hand-picked (the one just repaired) and went green while 647 others were still black. Page count is load-bearing rather than cosmetic: the packet is printed front-and-back, so "one sheet is exactly one page" is a correctness property, not a tidiness one. Counts are relative (sheets vs pages, cards vs photos) so the gate is not pinned to one zone's group count, and the packet path is an argument or PACKET_HTML rather than a hardcoded path. With no packet given it SKIPS rather than failing, since the packet is generated on demand. --- internal/check-packet-render.mjs | 126 +++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 127 insertions(+) create mode 100644 internal/check-packet-render.mjs diff --git a/internal/check-packet-render.mjs b/internal/check-packet-render.mjs new file mode 100644 index 000000000..60a3df5db --- /dev/null +++ b/internal/check-packet-render.mjs @@ -0,0 +1,126 @@ +// check-packet-render — the UPG-100 prayer packet must RENDER, not merely generate. +// +// Every bug this gate exists for produced a file of the right size, with no error, no +// broken image, and a generator that reported success. They were only visible at the +// RENDERED layer, which is why this drives a real browser and reads computed style. +// +// ★ THE LAW THIS GATE ENCODES: never print a number without asserting on it. An earlier +// version of this probe PRINTED "PDF pages: 16" for several runs while reporting +// "✓ packet verified", because the failure counter never looked at that value. A number +// that is displayed but not asserted on is decoration, not verification. +// +// What it catches, each measured on a real regression: +// 1. PAGE COUNT. transform:scale() is PAINT-time, so a scaled sheet still RESERVES its +// full layout box and the paginator splits it — 8 sheets came out as 16 PDF pages, +// inking only the top of each. (zoom is LAYOUT-time and paginates correctly.) +// The packet is printed front-and-back, so an exact page count is load-bearing. +// 2. MAP PALETTE. The map SVG carries almost no presentation attributes; it is styled +// from the poster document's stylesheet. Lift the without those rules and SVG +// `fill` falls back to its INITIAL value, which is BLACK — 670 elements painted solid +// black with no error of any kind. Asserted as a WHOLE-MAP property, because the first +// attempt at this check tested one hand-picked (the one just repaired) and went +// green while 647 others were still black. +// 3. Content the Driver specified explicitly: Mark 5:1-20 in full, 12 wheel segments, +// the prayer rhythms, and exactly two minimal metacamp.org attributions. +// +// Usage: node internal/check-packet-render.mjs [path/to/packet.html] +// Default path is overridable with PACKET_HTML so this is not machine-specific. + +import { chromium } from 'playwright' +import { existsSync } from 'node:fs' +import { resolve } from 'node:path' +import { pathToFileURL } from 'node:url' + +const target = process.argv[2] || process.env.PACKET_HTML +if (!target) { + console.log('PACKET-RENDER: SKIP — no packet given (pass a path or set PACKET_HTML).') + console.log(' The packet is generated on demand, so this gate is opt-in rather than') + console.log(' failing a build on a file that is not expected to exist.') + process.exit(0) +} +const file = resolve(target) +if (!existsSync(file)) { + console.error(`PACKET-RENDER: FAIL — no such packet: ${file}`) + process.exit(1) +} + +const browser = await chromium.launch() +const page = await browser.newPage({ viewport: { width: 1500, height: 1941 } }) +const errs = [] +page.on('pageerror', (e) => errs.push(String(e).slice(0, 120))) +await page.goto(pathToFileURL(file).href, { waitUntil: 'networkidle' }) + +const r = await page.evaluate(() => { + const body = document.body.innerText + const imgs = [...document.querySelectorAll('.card img')] + const RHYTHMS = ['PRAISE', 'WAIT', 'CONFESS', 'READ THE WORD', 'ASK', 'INTERCESSION', + 'PRAY THE WORD', 'THANK', 'SING', 'MEDITATE', 'LISTEN'] + + // Whole-map property, NOT one sampled element — see header note 2. + const mapFaults = (() => { + const svg = document.querySelector('.sheet svg') + if (!svg) return ['no map svg found'] + const faults = [] + const names = [...new Set((svg.outerHTML.match(/var\((--[a-z0-9-]+)/g) || []).map((v) => v.slice(4)))] + const cs = getComputedStyle(svg) + for (const n of names) if (!cs.getPropertyValue(n).trim()) faults.push(`unresolved ${n}`) + const all = [...svg.querySelectorAll('path,circle,text,rect,line')] + const black = all.filter((e) => getComputedStyle(e).fill === 'rgb(0, 0, 0)') + if (all.length && black.length > all.length * 0.25) { + faults.push(`${black.length}/${all.length} map elements fill BLACK`) + } + return faults + })() + + return { + sheets: document.querySelectorAll('.sheet').length, + cards: document.querySelectorAll('.card').length, + imgs: imgs.length, + broken: imgs.filter((i) => !i.complete || i.naturalWidth === 0).length, + nophoto: document.querySelectorAll('.nophoto').length, + rhythms: RHYTHMS.filter((w) => body.includes(w)).length, + rhythmsTotal: RHYTHMS.length, + wheelSegs: document.querySelectorAll('svg path[fill^="hsl"]').length, + hasMark5: body.includes('Gadarenes'), // a word unique to Mark 5:1-20 + metacamp: (body.match(/metacamp\.org/g) || []).length, + mapFaults, + } +}) + +const pdf = await page.pdf({ preferCSSPageSize: true }) +await browser.close() + +const raw = pdf.toString('latin1') +const boxes = [...raw.matchAll(/MediaBox\s*\[\s*0\s+0\s+([\d.]+)\s+([\d.]+)\s*\]/g)].map((m) => [+m[1], +m[2]]) +const pages = (raw.match(/\/Type\s*\/Page[^s]/g) || []).length +const landscape = boxes.filter(([w, h]) => h <= w).length + +// Counts are RELATIVE (sheets vs pages, cards vs photos) so this gate is not pinned to +// one zone's group count — a per-zone packet has a different number of both. +const fails = [] +if (!r.sheets) fails.push('no .sheet elements — the packet did not render') +if (!r.cards) fails.push('no people-group cards') +if (r.broken) fails.push(`${r.broken} broken photo(s)`) +if (r.wheelSegs !== 12) fails.push(`prayer wheel has ${r.wheelSegs} segments, expected 12`) +if (r.rhythms !== r.rhythmsTotal) fails.push(`only ${r.rhythms}/${r.rhythmsTotal} prayer rhythms present`) +if (!r.hasMark5) fails.push('Mark 5:1-20 is NOT printed in full (Driver requirement for point 4)') +if (r.metacamp !== 2) fails.push(`${r.metacamp} metacamp.org attributions, expected exactly 2`) +if (r.mapFaults.length) fails.push(`map: ${r.mapFaults.join('; ')}`) +if (errs.length) fails.push(`${errs.length} page error(s): ${errs[0]}`) +if (landscape) fails.push(`${landscape} landscape page(s) — the packet must be portrait`) +if (pages !== r.sheets) fails.push(`${pages} PDF pages for ${r.sheets} sheets — one sheet must be exactly one page`) + +console.log(` sheets/PDF pages : ${r.sheets} / ${pages}`) +console.log(` people cards : ${r.cards} (${r.imgs} photos, ${r.nophoto} typographic)`) +console.log(` wheel segments : ${r.wheelSegs}`) +console.log(` Mark 5 in full : ${r.hasMark5}`) +console.log(` metacamp.org : ${r.metacamp}`) +console.log(` map : ${r.mapFaults.length ? r.mapFaults.join('; ') : 'palette resolves, not black'}`) +console.log(` page size : ${boxes[0] ? boxes[0].join(' x ') : '?'} pt`) + +if (fails.length) { + console.error(`\nPACKET-RENDER: FAIL — ${fails.length} problem(s)`) + for (const f of fails) console.error(` - ${f}`) + process.exit(1) +} +console.log(`\nPACKET-RENDER: PASS — ${r.sheets} sheets, ${r.sheets} pages, portrait, map painted, content intact.`) diff --git a/package.json b/package.json index ba06dc2dd..b5ef4f07b 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "check:heartbeat": "node internal/check-heartbeat-threshold.mjs # the HEARTBEAT ZONE threshold (the choropleth's top bin) must come from config AND the shipped config must still render today's ramp. Two sides: (B) a configured threshold must MOVE the edge — catches re-hard-coding; (A2) dashboard.config.js's own map.* must still resolve to 5/20/60/150/Infinity — catches the shipped default silently changing. A2 was MISSING at first and heartbeatThreshold:999 shipped past this gate printing 'default ramp unchanged'. A grep for '150' cannot do either job: it false-positives on the legitimate default and false-negatives on a re-hard-coding at 200. run check:heartbeat:self-test for the NEGATIVE tests (3 cases).", "check:heartbeat:self-test": "node internal/check-heartbeat-threshold.mjs --self-test # THREE regression cases, each required to fire ITS OWN assertion: [literal] resolver replaced by the old hard-coded array -> B; [shipped-default] dashboard.config.js heartbeatThreshold changed -> A2; [shipped-mode] heartbeatMode flipped to quantile -> A2. Poisons IN MEMORY, never the file. Testing that the FEATURE works is not testing that the REGRESSION is caught — this gate shipped with only the first and missed the second.", "build:unlocked": "bun run gates:pre && bun run library-index && bun run check:library-index && bun run clean && bun run token && bun run build:bundles && bun run tree && bun run gates:post && bun run gallery", + "check:packet-render": "node internal/check-packet-render.mjs", "check:template-literal": "node internal/template-literal-check.mjs", "verify:map-paint": "node internal/verify-map-paint.mjs", "check:sri": "node internal/sri-consistency-check.mjs", From fc69adbbd51f51009a0bcd5a3a49b93b19f52286 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 05:09:12 +0000 Subject: [PATCH 03/26] Country boundaries load on MapLibre in the shared library, not per plugin main added country-posters-mfe (isMap=true). It inherits the engine swap correctly -- 14 -> 4 requests to api.mapbox.com, maplibregl loaded -- but threw Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" is not supported A new map arriving is exactly what the rollout has to cover, so this was worth chasing rather than noting. TWO shared library sites, not one, which only measuring found. Fixing useCountryOutline.js (consumers: doxa-simple-map, countries-map, research-map) cleaned two of the four leaves and left countries-map -- and the new element nesting it -- still throwing, from a SECOND site: useMapLayers.js addRegionsLayer. Both now branch per engine, using the keyless assets/boundaries/world-adm0.geojson the tree already ships, with iso3 normalised once to iso_3166_1_alpha_3 so every downstream expression keeps reading the name it always read, and 'source-layer' set for the vector-tile path alone. The engine is read off the LIVE map -- its container carries maplibregl-map -- rather than from config, because both composables are called with nothing but a map getter. MEASURED: 0 mapbox:// errors across country-posters-mfe, countries-map, doxa-simple-map, research-map and demo-map; the adm0 fetch confirmed firing; provider sweep 15/17. The Mapbox path is unchanged -- its control screenshot still shows the coloured WAGF region fills. Also fixes check:descriptions, which the new profile red-gated by shipping an empty description. Written from the component's own header, not a placeholder: 34/34 profiles described. NOT FIXED, and recorded in the ledger rather than glossed: under MapLibre countries-map still paints NO coloured region fills. The error is gone and the geojson loads, but the fill does not appear. That is a separate defect from the source failing, and claiming this commit finishes it would be false. --- library/composables/useCountryOutline.js | 45 +++++++++- library/composables/useMapLayers.js | 43 +++++++-- .../country-posters/country-posters-mfe.vue | 5 ++ .../all-people-groups/all-people-groups.js | 46 +++++----- .../all-people-groups/index.html | 2 +- public/doxa-maps/big-picture/big-picture.js | 16 ++-- .../big-picture/big-picture/index.html | 2 +- .../big-picture/frontier/index.html | 2 +- .../big-picture/big-picture/index.html | 2 +- .../cities-internet/cities-internet.js | 2 +- .../connectivity-list/index.html | 2 +- .../connectivity-map/index.html | 2 +- .../cities-internet/data-tables/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters-mfe/index.html | 2 +- .../country-posters/country-posters.js | 84 ++++++++--------- .../dashboard-plus-grid.js | 64 ++++++------- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/doxa-maps/demo-map/demo-map.js | 74 +++++++-------- public/doxa-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 84 ++++++++--------- .../doxa-research-map/research-map/index.html | 2 +- .../research-map/maplibre/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 90 +++++++++---------- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-resources/gospel-resources.js | 2 +- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 72 +++++++-------- .../my-upg-100-list/my-upg-100-list.js | 2 +- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../research-dashboard/research-dashboard.js | 62 ++++++------- .../research-dashboard/index.html | 2 +- .../template-bundle/template-bundle.js | 32 +++---- .../template-bundle/template-map-a/index.html | 2 +- .../template-bundle/template-map-b/index.html | 2 +- 47 files changed, 432 insertions(+), 353 deletions(-) diff --git a/library/composables/useCountryOutline.js b/library/composables/useCountryOutline.js index 845c4da7e..97d37714a 100644 --- a/library/composables/useCountryOutline.js +++ b/library/composables/useCountryOutline.js @@ -31,6 +31,8 @@ * outline.clearCountry() */ +import { resolveAssetsBase } from '../utils/embedBase.js' + const SOURCE_ID = 'doxa-country-outline' const LAYER_ID = 'doxa-country-outline-line' @@ -124,12 +126,51 @@ export function useCountryOutline(getMap, opts = {}) { // Swap any stale source, then (re)create the singleton outline layer. clearCountry() try { - m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + // ── COUNTRY POLYGONS, PER ENGINE ──────────────────────────────────────────────────────── + // ★ COUNTRY_BOUNDARIES_URL IS A MAPBOX-HOSTED VECTOR TILESET, AND MAPLIBRE CANNOT FETCH IT. + // It throws "Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme + // 'mapbox' is not supported" and then draws everything else perfectly, so the country + // outline is simply ABSENT with no visible failure. MEASURED on country-posters-mfe the + // moment it landed: engine swapped, 14 -> 4 mapbox requests, canvas fine, and this error in + // the console. THREE consumers share this composable — doxa-simple-map, countries-map and + // research-map — so the fix belongs here, once, not three times. + // Same shape already proven in DashboardMapPanel and RegionCountryMap. + // + // The ENGINE is read off the live map rather than guessed from config: the container carries + // maplibregl-map or mapboxgl-map, which is a fact about the instance in hand. Consumers call + // useCountryOutline(() => map.value) with no options, so there is no provider to pass in. + const isMaplibre = (() => { + try { return !!m.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })() + + if (isMaplibre) { + // Add EMPTY first, then setData after the fetch, so addLayer below stays SYNCHRONOUS and + // the outline keeps its place in the layer order. + m.addSource(SOURCE_ID, { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }) + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // The tileset names the ISO field iso_3166_1_alpha_3; the geojson names it iso3. + // countryFilter() reads the tileset name, so normalise ONCE here and every filter + // downstream keeps reading the single name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3 + } + const live = typeof getMap === 'function' ? getMap() : null + const src = live && live.getSource(SOURCE_ID) + if (src) src.setData(gj) + }) + .catch((e) => console.warn('[country-outline] boundaries failed to load', e)) + } else { + m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + } m.addLayer({ id: LAYER_ID, type: 'line', source: SOURCE_ID, - 'source-layer': SOURCE_LAYER, + // 'source-layer' applies to VECTOR TILE sources only — MapLibre rejects a layer that + // declares one on a geojson source ("does not need a source-layer"). + ...(isMaplibre ? {} : { 'source-layer': SOURCE_LAYER }), filter, layout: { 'line-join': 'round', 'line-cap': 'round' }, // Outline only — no fill layer — so pins / labels under the country diff --git a/library/composables/useMapLayers.js b/library/composables/useMapLayers.js index 70ca970c8..b82777df8 100644 --- a/library/composables/useMapLayers.js +++ b/library/composables/useMapLayers.js @@ -4,6 +4,7 @@ // Import Vue functions from NPM package import { ref, toRaw } from 'vue'; +import { resolveAssetsBase } from '../utils/embedBase.js' import { emissivePaint } from './useMapProvider.js'; // Import utilities @@ -416,16 +417,48 @@ export function useMapLayers(options = {}) { ? 'language-family-pins' : undefined; - map.addSource('regions', { - type: 'vector', - url: 'mapbox://mapbox.country-boundaries-v1' - }); + // ── REGION POLYGONS, PER ENGINE ──────────────────────────────────────────────────── + // ★ SECOND SITE OF THE SAME DEFECT. mapbox://mapbox.country-boundaries-v1 is a + // Mapbox-hosted VECTOR TILESET; MapLibre cannot fetch a mapbox:// URL and throws + // Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" + // then renders everything else correctly with this fill simply MISSING. Fixing the + // country-OUTLINE composable cleaned doxa-simple-map and research-map but left + // countries-map (and the new country-posters-mfe that nests it) still throwing — + // measured, which is how this second site was found at all. + // The keyless equivalent already ships: assets/boundaries/world-adm0.geojson. + // Engine read off the live map (its container carries maplibregl-map), not guessed. + const _isMaplibre = (() => { + try { return !!map.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })(); + if (_isMaplibre) { + // EMPTY first so the addLayer below stays synchronous and keeps its z-order slot + // (regions → shadow → pins → hitbox); setData once the fetch lands. + map.addSource('regions', { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }); + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // Tileset field is iso_3166_1_alpha_3; the geojson's is iso3. Normalise ONCE + // so every colour/filter expression downstream reads the name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3; + } + const src = map.getSource('regions'); + if (src) src.setData(gj); + }) + .catch((e) => console.warn('[map-layers] region boundaries failed to load', e)); + } else { + map.addSource('regions', { + type: 'vector', + url: 'mapbox://mapbox.country-boundaries-v1' + }); + } map.addLayer({ id: 'regions-fill', type: 'fill', source: 'regions', - 'source-layer': 'country_boundaries', + // VECTOR-TILE only; MapLibre rejects a layer declaring source-layer on geojson. + ...(_isMaplibre ? {} : { 'source-layer': 'country_boundaries' }), paint: { 'fill-color': fillColorExpr, 'fill-opacity': colorScheme === 'none' ? 0.1 : 0.7, diff --git a/plugin-designs/country-posters/country-posters-mfe.vue b/plugin-designs/country-posters/country-posters-mfe.vue index 5b9fc0350..d849cd146 100644 --- a/plugin-designs/country-posters/country-posters-mfe.vue +++ b/plugin-designs/country-posters/country-posters-mfe.vue @@ -2,6 +2,11 @@ /** * country-posters-mfe.vue — Country Posters as a TWO-TAB element. * + * @element country-posters-mfe + * @description Country Posters as ONE two-tab element — the countries map and the printable + * poster wall behind a single view switcher, structured like the UPG-100 list. The switcher is + * the library's shared ViewSelect, not a third hand-rolled copy. + * * Driver: "Country Posters is supposed to have two tabs, structured like the * UPG-100 list." * diff --git a/public/doxa-maps/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index da86ec7ba..3075a011b 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,45 +1,45 @@ -(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Mb="modulepreload",Ib=function(e){return"/"+e},Rb={},Mc=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)})};/** +(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Bb="modulepreload",Kb=function(e){return"/"+e},Ub={},Mc=function(t,n,o){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},un=[],gt=()=>{},Os=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),io=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ia=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Cn(e)==="[object Map]",ro=e=>Cn(e)==="[object Set]",xs=e=>Cn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",pe=e=>e!==null&&typeof e=="object",js=e=>(pe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Cn=e=>Bs.call(e),Rc=e=>Cn(e).slice(8,-1),lo=e=>Cn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Dc=/-\w/g,Pe=uo(e=>e.replace(Dc,t=>t.slice(1).toUpperCase())),Fc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Fc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ra=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Oc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const fo=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function po(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Nn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||pe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:ro(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):pe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ye={},un=[],gt=()=>{},Ds=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ro=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ra=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Nn(e)==="[object Map]",io=e=>Nn(e)==="[object Set]",xs=e=>Nn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",js=e=>(fe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Nn=e=>Bs.call(e),Rc=e=>Nn(e).slice(8,-1),lo=e=>Nn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fc=/-\w/g,Pe=uo(e=>e.replace(Fc,t=>t.slice(1).toUpperCase())),Oc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Oc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ia=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Dc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const po=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function fo(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function wn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||fe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:io(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):fe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(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 Le;class Ws{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&&Le&&(Le.active?(this.parent=Le,this.index=(Le.scopes||(Le.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(Le===this)Le=this.prevScope;else{let t=Le;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(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=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 Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ei(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function pa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!pa(e))))return;e.flags|=2;const t=e.dep,n=ye,o=at;ye=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ye=n,at=o,ei(e),e.flags&=-3}}function ha(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)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const ni=[];function ft(){ni.push(at),at=!1}function pt(){const e=ni.pop();at=e===void 0?!0:e}function oi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let In=0;class Hc{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 ma{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(!ye||!at||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new Hc(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,ai(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=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{fa()}}}function ai(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)ai(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&ye){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function kt(e,t,n,o,a,s){const i=mo.get(e);if(!i){In++;return}const r=l=>{l&&l.trigger()};if(da(),t==="clear")i.forEach(r);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(Rn)),t){case"add":l?c&&r(i.get("length")):(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"delete":l||(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"set":jt(e)&&r(i.get(en));break}}fa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return $t(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return _a(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return _a(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return Tt(this,"every",e,t,void 0,arguments)},filter(e,t){return Tt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return Tt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return Tt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Tt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return Tt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Tt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ya(this,"includes",e)},indexOf(...e){return ya(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ya(this,"lastIndexOf",e)},map(e,t){return Tt(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return si(this,"reduce",e,t)},reduceRight(e,...t){return si(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return Tt(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return _a(this,"values",e=>ht(this,e))}};function _a(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function Tt(e,t,n,o,a,s){const i=bo(e),r=i!==e&&!He(e),l=i[t];if(l!==Yc[t]){const f=l.apply(e,s);return r?st(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,ht(e,f),m,e)}:n.length>2&&(c=function(f,m){return n.call(this,f,m,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function si(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=ht(e,c)),n.call(this,c,ht(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?ht(e,l):l}function ya(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&ko(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Dn(e,t,n=[]){ft(),da();const o=ce(e)[t].apply(e,n);return fa(),pt(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),ii=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ri{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?fi:di:s?gi:ui).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Z(t);if(!a){let l;if(i&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const r=Reflect.get(t,n,Te(t)?t:o);if((Xe(n)?ii.has(n):Jc(n))||(a||je(t,"get",n),s))return r;if(Te(r)){const l=i&&co(n)?r:r.value;return a&&pe(l)?Sa(l):l}return pe(r)?a?Sa(r):So(r):r}}class li extends ri{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=Z(t)&&co(n);if(!this._isShallow){const c=$t(s);if(!He(o)&&!$t(o)&&(s=ce(s),o=ce(o)),!i&&Te(s)&&!Te(o))return c||(s.value=o),!0}const r=i?Number(n)e,_o=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function yo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(dt(a,r)&&je(i,"get",a),je(i,"get",r));const{has:l}=_o(i),c=t?Aa:e?dn:st;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&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(dt(a,r)&&je(i,"has",a),je(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?Aa:e?dn:st;return!e&&je(l,"iterate",en),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Ee(n,e?{add:yo("add"),set:yo("set"),delete:yo("delete"),clear:yo("clear")}:{add(a){const s=ce(this),i=_o(s),r=ce(a),l=!t&&!He(a)&&!$t(a)?r:a;return i.has.call(s,l)||dt(a,l)&&i.has.call(s,a)||dt(r,l)&&i.has.call(s,r)||(s.add(l),kt(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!$t(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=_o(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?dt(s,u)&&kt(i,"set",a,s):kt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=_o(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&&kt(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&kt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},iu={get:Ao(!0,!1)},ru={get:Ao(!0,!0)},ui=new WeakMap,gi=new WeakMap,di=new WeakMap,fi=new WeakMap;function lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function So(e){return $t(e)?e:vo(e,!1,Zc,au,ui)}function cu(e){return vo(e,!1,eu,su,gi)}function Sa(e){return vo(e,!0,Qc,iu,di)}function Fb(e){return vo(e,!0,tu,ru,fi)}function vo(e,t,n,o,a){if(!pe(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=lu(Rc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function Et(e){return $t(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function ko(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Fn(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>pe(e)?So(e):e,dn=e=>pe(e)?Sa(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function he(e){return pi(e,!1)}function va(e){return pi(e,!0)}function pi(e,t){return Te(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||$t(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function To(e){return Te(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:To(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return Te(a)&&!Te(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hi(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=pu(e,n);return t}class fu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!ko(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=To(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Te(this._raw[this._key])){const n=this._object[this._key];if(Te(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function pu(e,t,n){return new fu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},$o=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=$o.get(n);o||$o.set(n,o=[]),o.push(e)}}function _u(e,t,n=_e){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,N=!1,v=!1;if(Te(e)?(f=()=>e.value,N=He(e)):Et(e)?(f=()=>c(e),N=!0):Z(e)?(v=!0,N=e.some(b=>Et(b)||He(b)),f=()=>e.map(b=>{if(Te(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){ft();try{m()}finally{pt()}}const b=tn;tn=u;try{return l?l(e,3,[k]):e(k)}finally{tn=b}}:f=gt,t&&a){const b=f,L=a===!0?1/0:a;f=()=>Bt(b(),L)}const $=Ys(),P=()=>{u.stop(),$&&$.active&&ia($.effects,u)};if(s&&t){const b=t;t=(...L)=>{const A=b(...L);return P(),A}}let T=v?new Array(e.length).fill(Eo):Eo;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const L=u.run();if(b||a||N||(v?L.some((A,w)=>dt(A,T[w])):dt(L,T))){m&&m();const A=tn;tn=u;try{const w=[L,T===Eo?void 0:v&&T[0]===Eo?[]:T,k];T=L,l?l(t,3,w):t(...w)}finally{tn=A}}}else u.run()};return r&&r(_),u=new Js(f),u.scheduler=i?()=>i(_,!1):_,k=b=>bu(b,!1,u),m=u.onStop=()=>{const b=$o.get(u);if(b){if(l)l(b,4);else for(const L of b)L();$o.delete(u)}},t?o?_(!0):T=u.run():i?i(_.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Te(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** +**/let Ce;class Ws{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&&Ce&&(Ce.active?(this.parent=Ce,this.index=(Ce.scopes||(Ce.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(Ce===this)Ce=this.prevScope;else{let t=Ce;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(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=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 Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function er(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function fa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fa(e))))return;e.flags|=2;const t=e.dep,n=_e,o=at;_e=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{_e=n,at=o,er(e),e.flags&=-3}}function ha(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)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const nr=[];function pt(){nr.push(at),at=!1}function ft(){const e=nr.pop();at=e===void 0?!0:e}function or(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let In=0;class Hc{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 ma{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(!_e||!at||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Hc(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,ar(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=_e.depsTail,n.nextDep=void 0,_e.depsTail.nextDep=n,_e.depsTail=n,_e.deps===n&&(_e.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{pa()}}}function ar(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)ar(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&_e){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function $t(e,t,n,o,a,s){const r=mo.get(e);if(!r){In++;return}const i=l=>{l&&l.trigger()};if(da(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);r.forEach((p,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&i(p)})}else switch((n!==void 0||r.has(void 0))&&i(r.get(n)),c&&i(r.get(Rn)),t){case"add":l?c&&i(r.get("length")):(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"delete":l||(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"set":jt(e)&&i(r.get(en));break}}pa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return Tt(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return ya(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return ya(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return kt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return _a(this,"includes",e)},indexOf(...e){return _a(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return _a(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return Fn(this,"pop")},push(...e){return Fn(this,"push",e)},reduce(e,...t){return sr(this,"reduce",e,t)},reduceRight(e,...t){return sr(this,"reduceRight",e,t)},shift(){return Fn(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return Fn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Fn(this,"unshift",e)},values(){return ya(this,"values",e=>ht(this,e))}};function ya(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function kt(e,t,n,o,a,s){const r=bo(e),i=r!==e&&!He(e),l=r[t];if(l!==Yc[t]){const p=l.apply(e,s);return i?st(p):p}let c=n;r!==e&&(i?c=function(p,m){return n.call(this,ht(e,p),m,e)}:n.length>2&&(c=function(p,m){return n.call(this,p,m,e)}));const u=l.call(r,c,o);return i&&a?a(u):u}function sr(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let r=n,i=!1;a!==e&&(s?(i=o.length===0,r=function(c,u,p){return i&&(i=!1,c=ht(e,c)),n.call(this,c,ht(e,u),p,e)}):n.length>3&&(r=function(c,u,p){return n.call(this,c,u,p,e)}));const l=a[t](r,...o);return i?ht(e,l):l}function _a(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&$o(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Fn(e,t,n=[]){pt(),da();const o=ce(e)[t].apply(e,n);return pa(),ft(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),rr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ir{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?pr:dr:s?gr:ur).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const i=Reflect.get(t,n,ke(t)?t:o);if((Xe(n)?rr.has(n):Jc(n))||(a||je(t,"get",n),s))return i;if(ke(i)){const l=r&&co(n)?i:i.value;return a&&fe(l)?Sa(l):l}return fe(i)?a?Sa(i):So(i):i}}class lr extends ir{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const r=Z(t)&&co(n);if(!this._isShallow){const c=Tt(s);if(!He(o)&&!Tt(o)&&(s=ce(s),o=ce(o)),!r&&ke(s)&&!ke(o))return c||(s.value=o),!0}const i=r?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),r=jt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:i?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function _o(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,r=ce(s),i=ce(a);e||(dt(a,i)&&je(r,"get",a),je(r,"get",i));const{has:l}=yo(r),c=t?Aa:e?dn:st;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,r=ce(s),i=ce(a);return e||(dt(a,i)&&je(r,"has",a),je(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=ce(i),c=t?Aa:e?dn:st;return!e&&je(l,"iterate",en),i.forEach((u,p)=>a.call(s,c(u),c(p),r))}};return Ee(n,e?{add:_o("add"),set:_o("set"),delete:_o("delete"),clear:_o("clear")}:{add(a){const s=ce(this),r=yo(s),i=ce(a),l=!t&&!He(a)&&!Tt(a)?i:a;return r.has.call(s,l)||dt(a,l)&&r.has.call(s,a)||dt(i,l)&&r.has.call(s,i)||(s.add(l),$t(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!Tt(s)&&(s=ce(s));const r=ce(this),{has:i,get:l}=yo(r);let c=i.call(r,a);c||(a=ce(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?dt(s,u)&&$t(r,"set",a,s):$t(r,"add",a,s),this},delete(a){const s=ce(this),{has:r,get:i}=yo(s);let l=r.call(s,a);l||(a=ce(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&$t(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,r=a.clear();return s&&$t(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},ru={get:Ao(!0,!1)},iu={get:Ao(!0,!0)},ur=new WeakMap,gr=new WeakMap,dr=new WeakMap,pr=new WeakMap;function lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function So(e){return Tt(e)?e:vo(e,!1,Zc,au,ur)}function cu(e){return vo(e,!1,eu,su,gr)}function Sa(e){return vo(e,!0,Qc,ru,dr)}function zb(e){return vo(e,!0,tu,iu,pr)}function vo(e,t,n,o,a){if(!fe(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 r=lu(Rc(e));if(r===0)return e;const i=new Proxy(e,r===2?o:n);return a.set(e,i),i}function Et(e){return Tt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function $o(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function On(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>fe(e)?So(e):e,dn=e=>fe(e)?Sa(e):e;function ke(e){return e?e.__v_isRef===!0:!1}function he(e){return fr(e,!1)}function va(e){return fr(e,!0)}function fr(e,t){return ke(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||Tt(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function ko(e){return ke(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:ko(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ke(a)&&!ke(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hr(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=fu(e,n);return t}class pu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!$o(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ko(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ke(this._raw[this._key])){const n=this._object[this._key];if(ke(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function fu(e,t,n){return new pu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&_e!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return tr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},To=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function yu(e,t,n=ye){const{immediate:o,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,p,m,$,w=!1,v=!1;if(ke(e)?(p=()=>e.value,w=He(e)):Et(e)?(p=()=>c(e),w=!0):Z(e)?(v=!0,w=e.some(b=>Et(b)||He(b)),p=()=>e.map(b=>{if(ke(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?p=l?()=>l(e,2):e:p=()=>{if(m){pt();try{m()}finally{ft()}}const b=tn;tn=u;try{return l?l(e,3,[$]):e($)}finally{tn=b}}:p=gt,t&&a){const b=p,C=a===!0?1/0:a;p=()=>Bt(b(),C)}const T=Ys(),P=()=>{u.stop(),T&&T.active&&ra(T.effects,u)};if(s&&t){const b=t;t=(...C)=>{const A=b(...C);return P(),A}}let k=v?new Array(e.length).fill(Eo):Eo;const y=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const C=u.run();if(b||a||w||(v?C.some((A,L)=>dt(A,k[L])):dt(C,k))){m&&m();const A=tn;tn=u;try{const L=[C,k===Eo?void 0:v&&k[0]===Eo?[]:k,$];k=C,l?l(t,3,L):t(...L)}finally{tn=A}}}else u.run()};return i&&i(y),u=new Js(p),u.scheduler=r?()=>r(y,!1):y,$=b=>bu(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const C of b)C();To.delete(u)}},t?o?y(!0):k=u.run():r?r(y.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!fe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ke(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const On=[];let ka=!1;function Ob(e,...t){if(ka)return;ka=!0,ft();const n=On.length?On[On.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=yu();if(o)fn(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 <${dr(n,s.type)}>`).join(` +**/const Dn=[];let $a=!1;function qb(e,...t){if($a)return;$a=!0,pt();const n=Dn.length?Dn[Dn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=_u();if(o)pn(o,n,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${di(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...Au(a)),console.warn(...s)}pt(),ka=!1}function yu(){let e=On[On.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 Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${dr(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mi(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Te(t)?(t=mi(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){xn(a,t,n)}}function it(e,t,n,o){if(te(e)){const a=fn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(Tu(t),0,e),e.flags|=1,_i()}}function _i(){Lo||(Lo=bi.then(Si))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Si(e){try{for(mt=0;mt{o._d&&jo(-1);const s=wo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)ar();wo(s),o._d&&jo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&te(t)?t.call(o&&o.proxy):t}}function Lu(){return!!(Mt()||on)}const Cu=Symbol.for("v-scx"),wu=()=>De(Cu);function Nu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=_e){const{immediate:o,deep:a,flush:s,once:i}=n,r=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=wu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=gt,k.resume=gt,k.pause=gt,k}}const u=Fe;r.call=(k,N,v)=>it(k,u,N,v);let f=!1;s==="post"?r.scheduler=k=>{ze(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,N)=>{N?k():Ta(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=_u(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?ki(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const i=Jn(this),r=Ea(a,s.bind(o),n);return i(),r}function ki(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,$a=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function Ti(e){if(!Io(e))return No(e.type)&&e.children?Iu(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&&te(n.default))return n.default()}}function La(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;La(No(n.type)&&Ti(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 Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Ca(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ei(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,$)=>Kn(v,t&&(Z(t)?t[$]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===_e?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===_e?Os:v=>Ei(u,v)?!1:de(m,v),N=(v,$)=>!($&&Ei(u,$));if(c!=null&&c!==l){if($i(t),ve(c))u[c]=null,k(c)&&(f[c]=null);else if(Te(c)){const v=t;N(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))fn(l,r,12,[i,u]);else{const v=ve(l),$=Te(l);if(v||$){const P=()=>{if(e.f){const T=v?k(l)?f[l]:u[l]:N()||!e.k?l.value:u[e.k];if(a)Z(T)&&ia(T,s);else if(Z(T))T.includes(s)||T.push(s);else if(v)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];N(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else v?(u[l]=i,k(l)&&(f[l]=i)):$&&(N(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const T=()=>{P(),Po.delete(e)};T.id=-1,Po.set(e,T),ze(T,n)}else $i(e),P()}}}function $i(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Li=e=>e.nodeType===8;fo().requestIdleCallback,fo().cancelIdleCallback;function Ru(e,t){if(Li(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Li(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Du(e){te(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,f=0;const m=()=>(f++,c=null,k()),k=()=>{let N;return c||(N=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise(($,P)=>{l(v,()=>$(m()),()=>P(v),f+1)});throw v}).then(v=>N!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(N,v,$){const P=N.isConnected;let T=!1;(v.bu||(v.bu=[])).push(()=>T=!0);const _=()=>{T||!N.parentNode||P&&!N.isConnected||$()},b=s?()=>{const L=s(_,A=>Ru(N,A));L&&(v.bum||(v.bum=[])).push(L)}:_;u?b():k().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const N=Fe;if(Ca(N),u)return()=>Mo(u,N);const v=L=>{c=null,xn(L,N,13,!o)};if(r&&N.suspense||_n)return k().then(L=>()=>Mo(L,N)).catch(L=>(v(L),()=>o?Me(o,{error:L}):null));const $=he(!1),P=he(),T=he(!!a);let _,b;return Fo(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{N.isUnmounted||(T.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!N.isUnmounted&&!$.value&&!P.value){const L=new Error(`Async component timed out after ${i}ms.`);v(L),P.value=L}},i)),k().then(()=>{N.isUnmounted||($.value=!0,N.parent&&Io(N.parent.vnode)&&N.parent.update())}).catch(L=>{if(N.isUnmounted){c=null;return}v(L),P.value=L}),()=>{if($.value&&u)return Mo(u,N);if(P.value&&o)return Me(o,{error:P.value});if(n&&!T.value)return Mo(n,N)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Me(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Io=e=>e.type.__isKeepAlive;function Fu(e,t){Ci(e,"a",t)}function Ou(e,t){Ci(e,"da",t)}function Ci(e,t,n=Fe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Fo(()=>{ia(o[t],a)},n)}function Ro(e,t,n=Fe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ft();const r=Jn(n),l=it(t,n,e,i);return r(),pt(),l});return o?a.unshift(s):a.push(s),s}}const Lt=e=>(t,n=Fe)=>{(!_n||e==="sp")&&Ro(e,(...o)=>t(...o),n)},wi=Lt("bm"),Gn=Lt("m"),ju=Lt("bu"),Bu=Lt("u"),Do=Lt("bum"),Fo=Lt("um"),Ku=Lt("sp"),Uu=Lt("rtg"),Gu=Lt("rtc");function zu(e,t=Fe){Ro("ec",e,t)}const qu="components",Ni=Symbol.for("v-ndc");function Pi(e){return ve(e)?Hu(qu,e,!1)||e:e||Ni}function Hu(e,t,n=!0,o=!1){const a=rt||Fe;if(a){const s=a.type;{const r=gr(s,!1);if(r&&(r===t||r===Pe(t)||r===go(Pe(t))))return s}const i=Mi(a[e]||s[e],t)||Mi(a.appContext[e],t);return!i&&o?s:i}}function Mi(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,i=Z(e);if(i||ve(e)){const r=i&&Et(e);let l=!1,c=!1;r&&(l=!He(e),c=$t(e),e=bo(e)),a=new Array(e.length);for(let u=0,f=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?lr(e)?xa(e):wa(e.parent):null,zn=Ee(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=>wa(e.parent),$root:e=>wa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ta(e.update)}),$nextTick:e=>e.n||(e.n=Co.bind(e.proxy)),$watch:e=>Pu.bind(e)}),Na=(e,t)=>e!==_e&&!e.__isScriptSetup&&de(e,t),Wu={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 m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Na(o,t))return i[t]=1,o[t];if(a!==_e&&de(a,t))return i[t]=2,a[t];if(de(s,t))return i[t]=3,s[t];if(n!==_e&&de(n,t))return i[t]=4,n[t];Pa&&(i[t]=0)}}const c=zn[t];let u,f;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==_e&&de(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,de(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Na(a,t)?(a[t]=n,!0):o!==_e&&de(o,t)?(o[t]=n,!0):de(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!==_e&&r[0]!=="$"&&de(e,r)||Na(t,r)||de(s,r)||de(o,r)||de(zn,r)||de(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ii(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Fi(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Ri(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:N,activated:v,deactivated:$,beforeDestroy:P,beforeUnmount:T,destroyed:_,unmounted:b,render:L,renderTracked:A,renderTriggered:w,errorCaptured:D,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),i)for(const q in i){const W=i[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);pe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,ie=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>ie.value,set:fe=>ie.value=fe})}if(r)for(const q in r)Di(r[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Ri(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(wi,f),j(Gn,m),j(ju,k),j(Bu,N),j(Fu,v),j(Ou,$),j(zu,D),j(Gu,A),j(Uu,w),j(Do,T),j(Fo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===gt&&(e.render=L),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Ca(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;pe(a)?"default"in a?s=De(a.from||o,a.default,!0):s=De(a.from||o):s=De(a),Te(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ri(e,t,n){it(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Di(e,t,n,o){let a=o.includes(".")?ki(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(pe(e))if(Z(e))e.forEach(s=>Di(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Fi(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=>Oo(l,c,i,!0)),Oo(l,t,i)),pe(t)&&s.set(t,l),l}function Oo(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Oo(e,s,n,!0),a&&a.forEach(i=>Oo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Xu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Xu={data:Oi,props:xi,emits:xi,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Oi,inject:Zu};function Oi(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let a=n;const s=t.startsWith("update:"),i=s&&ng(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>ve(u)?u.trim():u)),i.number&&(a=a.map(Oc)));let r,l=o[r=ra(t)]||o[r=ra(Pe(t))];!l&&s&&(l=o[r=ra(Ze(t))]),l&&it(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,it(c,e,6,a)}}const ag=new WeakMap;function Bi(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!te(e)){const l=c=>{const u=Bi(c,t,!0);u&&(r=!0,Ee(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(pe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>i[l]=null):Ee(i,s),pe(e)&&o.set(e,i),i)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function xb(){}function Ki(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:N,inheritAttrs:v}=e,$=wo(e);let P,T;try{if(n.shapeFlag&4){const b=a||o,L=b;P=_t(c.call(L,b,u,f,k,m,N)),T=r}else{const b=t;P=_t(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),T=t.props?r:sg(r)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Ct)}let _=P;if(T&&v!==!1){const b=Object.keys(T),{shapeFlag:L}=_;b.length&&L&7&&(s&&b.some(io)&&(T=ig(T,s)),_=mn(_,T,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=No(_.type)&&Ti(_)||_;La(b,n.transition)}return P=_,wo($),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},ig=(e,t)=>{const n={};for(const o in e)(!io(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function rg(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?Ui(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(zi),Hi=e=>Object.getPrototypeOf(e)===zi;function cg(e,t,n,o=!1){const a={},s=qi();e.propsDefaults=Object.create(null),Vi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(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 f=0;f{l=!0;const[m,k]=Wi(f,t,!0);Ee(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return pe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Da=e=>Z(e)?e.map(_t):[_t(e)],dg=(e,t,n)=>{if(t._n)return t;const o=$u((...a)=>Da(t(...a)),n);return o._c=!1,o},Ji=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const i=Da(s);t[a]=()=>i}}},Xi=(e,t)=>{const n=Da(t);e.slots.default=()=>n},Zi=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},fg=(e,t,n)=>{const o=e.slots=qi();if(e.vnode.shapeFlag&32){const a=t._;a?(Zi(o,t,n),n&&Ks(o,"_",a,!0)):Ji(t,o)}else t&&Xi(e,t)},pg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=_e;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Zi(a,t,n):(s=!t.$stable,Ji(t,a)),i=t}else t&&(Xi(e,t),i={default:1});if(s)for(const r in a)!Ra(r)&&i[r]==null&&delete a[r]},ze=yg;function hg(e){return mg(e)}function mg(e,t){const n=fo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=gt,insertStaticContent:N}=e,v=(p,y,h,M=null,x=null,O=null,U=void 0,K=null,g=!!y.dynamicChildren)=>{if(p===y)return;p&&!Wn(p,y)&&(M=Ye(p),fe(p,x,O,!0),p=null),y.patchFlag===-2&&(g=!1,y.dynamicChildren=null);const{type:d,ref:C,shapeFlag:I}=y;switch(d){case Hn:$(p,y,h,M);break;case Ct:P(p,y,h,M);break;case Oa:p==null&&T(y,h,M,U);break;case Qe:z(p,y,h,M,x,O,U,K,g);break;default:I&1?L(p,y,h,M,x,O,U,K,g):I&6?ee(p,y,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,y,h,M,x,O,U,K,g,ot)}C!=null&&x?Kn(C,p&&p.ref,O,y||p,!y):C==null&&p&&p.ref!=null&&Kn(p.ref,null,O,p,!0)},$=(p,y,h,M)=>{if(p==null)o(y.el=r(y.children),h,M);else{const x=y.el=p.el;y.children!==p.children&&c(x,y.children)}},P=(p,y,h,M)=>{p==null?o(y.el=l(y.children||""),h,M):y.el=p.el},T=(p,y,h,M)=>{[p.el,p.anchor]=N(p.children,y,h,M,p.el,p.anchor)},_=({el:p,anchor:y},h,M)=>{let x;for(;p&&p!==y;)x=m(p),o(p,h,M),p=x;o(y,h,M)},b=({el:p,anchor:y})=>{let h;for(;p&&p!==y;)h=m(p),a(p),p=h;a(y)},L=(p,y,h,M,x,O,U,K,g)=>{if(y.type==="svg"?U="svg":y.type==="math"&&(U="mathml"),p==null)A(y,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),S(p,y,x,O,U,K,g)}finally{d&&d._endPatch()}}},A=(p,y,h,M,x,O,U,K)=>{let g,d;const{props:C,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,C&&C.is,C),I&8?u(g,p.children):I&16&&D(p.children,g,null,M,x,Fa(p,O),U,K),B&&nn(p,null,M,"created"),w(g,p,p.scopeId,U,M),C){for(const R in C)R!=="value"&&!wn(R)&&s(g,R,null,C[R],O,M);"value"in C&&s(g,"value",null,C.value,O),(d=C.onVnodeBeforeMount)&&yt(d,M,p)}B&&nn(p,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,y,h),((d=C&&C.onVnodeMounted)||E||B)&&ze(()=>{try{d&&yt(d,M,p),E&&G.enter(g),B&&nn(p,null,M,"mounted")}finally{}},x)},w=(p,y,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=y.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:C}=y;g|=p.patchFlag&16;const I=p.props||_e,G=y.props||_e;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&yt(B,h,y,p),C&&nn(y,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(p.dynamicChildren,d,K,h,M,Fa(y,x),O):U||W(p,y,K,null,h,M,Fa(y,x),O,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=y.dynamicProps;for(let R=0;R{B&&yt(B,h,y,p),C&&nn(y,p,h,"updated")},M)},V=(p,y,h,M,x,O,U)=>{for(let K=0;K{if(y!==h){if(y!==_e)for(const O in y)!wn(O)&&!(O in h)&&s(p,O,y[O],null,x,M);for(const O in h){if(wn(O))continue;const U=h[O],K=y[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",y.value,h.value,x)}},z=(p,y,h,M,x,O,U,K,g)=>{const d=y.el=p?p.el:r(""),C=y.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=y;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(C,h,M),D(y.children||[],h,C,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(V(p.dynamicChildren,G,h,x,O,U,K),(y.key!=null||x&&y===x.subTree)&&Qi(p,y,!0)):W(p,y,h,C,x,O,U,K,g)},ee=(p,y,h,M,x,O,U,K,g)=>{y.slotScopeIds=K,p==null?y.shapeFlag&512?x.ctx.activate(y,h,M,U,g):Y(y,h,M,x,O,U,g):F(p,y,g)},Y=(p,y,h,M,x,O,U)=>{const K=p.component=Eg(p,M,x);if(Io(p)&&(K.ctx.renderer=ot),$g(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Me(Ct);P(null,g,y,h),p.placeholder=g.el}}else j(K,p,y,h,x,O,U)},F=(p,y,h)=>{const M=y.component=p.component;if(rg(p,y,h))if(M.asyncDep&&!M.asyncResolved){q(M,y,h);return}else M.next=y,M.update();else y.el=p.el,M.vnode=y},j=(p,y,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=p;{const xe=er(p);if(xe){I&&(I.el=R.el,q(p,I,U)),xe.asyncDep.then(()=>{ze(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,q(p,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&yt(se,E,I,R),an(p,!0);const Se=Ki(p),Ge=p.subTree;p.subTree=Se,v(Ge,Se,f(Ge.el),Ye(Ge),p,x,O),I.el=Se.el,J===null&&lg(p,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>yt(se,E,I,R),x)}else{let I;const{el:G,props:B}=y,{bm:E,m:R,parent:J,root:se,type:Se}=p,Ge=Un(y);an(p,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&yt(I,J,y),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,p.parent?p.parent.type:void 0);const xe=p.subTree=Ki(p);v(null,xe,h,M,p,x,O),y.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=y;ze(()=>yt(I,J,xe),x)}(y.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&ze(p.a,x),p.isMounted=!0,y=h=M=null}};p.scope.on();const g=p.effect=new Js(K);p.scope.off();const d=p.update=g.run.bind(g),C=p.job=g.runIfDirty.bind(g);C.i=p,C.id=p.uid,g.scheduler=()=>Ta(C),an(p,!0),d()},q=(p,y,h)=>{y.component=p;const M=p.vnode.props;p.vnode=y,p.next=null,ug(p,y.props,M,h),pg(p,y.children,h),ft(),yi(p),pt()},W=(p,y,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,C=p?p.shapeFlag:0,I=y.children,{patchFlag:G,shapeFlag:B}=y;if(G>0){if(G&128){ge(d,I,h,M,x,O,U,K,g);return}else if(G&256){X(d,I,h,M,x,O,U,K,g);return}}B&8?(C&16&&Re(d,x,O),I!==d&&u(h,I)):C&16?B&16?ge(d,I,h,M,x,O,U,K,g):Re(d,x,O,!0):(C&8&&u(h,""),B&16&&D(I,h,M,x,O,U,K,g))},X=(p,y,h,M,x,O,U,K,g)=>{p=p||un,y=y||un;const d=p.length,C=y.length,I=Math.min(d,C);let G;for(G=0;GC?Re(p,x,O,!0,!1,I):D(y,h,M,x,O,U,K,g,I)},ge=(p,y,h,M,x,O,U,K,g)=>{let d=0;const C=y.length;let I=p.length-1,G=C-1;for(;d<=I&&d<=G;){const B=p[d],E=y[d]=g?Pt(y[d]):_t(y[d]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],E=y[G]=g?Pt(y[G]):_t(y[G]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)fe(p[d],x,O,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=y[d]=g?Pt(y[d]):_t(y[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){fe(Je,x,O,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,y[J])){vt=J;break}vt===void 0?fe(Je,x,O,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,y[vt],h,null,x,O,U,K,g),se++)}const Fs=Ge?_g(cn):un;for(J=Fs.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=y[Je],Nc=y[Je+1],Pc=Je+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){ie(p.component.subTree,y,h,M);return}if(d&128){p.suspense.move(y,h,M);return}if(d&64){U.move(p,y,h,ot);return}if(U===Qe){o(O,y,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{p.ctx.isUnmounted?a(O):o(O,y,h)},R=()=>{const J=O._isLeaving||!!O[$a];O._isLeaving&&O[$a](!0),K.persisted&&!J?E():I(O,()=>{E(),B&&B()})};G?G(O,E,R):R()}else o(O,y,h)},fe=(p,y,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:C,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=p;if(I===-2&&(x=!1),K!=null&&(ft(),Kn(K,null,h,p,!0),pt()),B!=null&&(y.renderCache[B]=void 0),C&256){y.ctx.deactivate(p);return}const R=C&1&&G,J=!Un(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&yt(se,y,p),C&6)Ne(p.component,h,M);else{if(C&128){p.suspense.unmount(h,M);return}R&&nn(p,null,y,"beforeUnmount"),C&64?p.type.remove(p,y,h,ot,M):d&&!d.hasOnce&&(O!==Qe||I>0&&I&64)?Re(d,y,h,!1,!0):(O===Qe&&I&384||!x&&C&16)&&Re(g,y,h),M&&oe(p)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&yt(se,y,p),R&&nn(p,null,y,"unmounted"),Se&&(p.el=null)},h)},oe=p=>{const{type:y,el:h,anchor:M,transition:x}=p;if(y===Qe){le(h,M);return}if(y===Oa){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},le=(p,y)=>{let h;for(;p!==y;)h=m(p),a(p),p=h;a(y)},Ne=(p,y,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;tr(g),tr(d),M&&la(M),x.stop(),O&&(O.flags|=8,fe(U,p,y,h)),K&&ze(K,y),ze(()=>{p.isUnmounted=!0},y)},Re=(p,y,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return Ye(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const y=m(p.anchor||p.el),h=y&&y[Mu];return h?m(h):y};let nt=!1;const Zt=(p,y,h)=>{let M;p==null?y._vnode&&(fe(y._vnode,null,null,!0),M=y._vnode.component):v(y._vnode||null,p,y,null,null,null,h),y._vnode=p,nt||(nt=!0,yi(M),Ai(),nt=!1)},ot={p:v,um:fe,m:ie,r:oe,mt:Y,mc:D,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Fa({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 bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qi(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(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 er(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:er(t)}function tr(e){if(e)for(let t=0;te.__isSuspense;function yg(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Oa=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ar(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function sr(e){return e.dynamicChildren=Vn>0?Ve||un:null,ar(),Vn>0&&Ve&&Ve.push(e),e}function wt(e,t,n,o,a,s){return sr(Ce(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return sr(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ir=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||Te(e)||te(e)?{i:rt,r:e,k:t,f:!!n}:e:null);function Ce(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&&ir(t),ref:t&&Uo(t),scopeId:vi,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:rt};return r?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!i&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Ni)&&(e=Ct),Ko(e)){const r=mn(e,t,!0);return n&&Go(r,n),Vn>0&&!s&&Ve&&(r.shapeFlag&6?Ve[Ve.indexOf(e)]=r:Ve.push(r)),r.patchFlag=-2,r}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:r,style:l}=t;r&&!ve(r)&&(t.class=Nn(r)),pe(l)&&(ko(l)&&!Z(l)&&(l=Ee({},l)),t.style=po(l))}const i=ve(e)?1:or(e)?128:No(e)?64:pe(e)?4:te(e)?2:0;return Ce(e,t,n,o,a,i,s,!0)}function Sg(e){return e?ko(e)||Hi(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ir(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(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&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&La(u,l.clone(u)),u}function Nt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Ct,null,e)):Me(Ct,null,e)}function _t(e){return e==null||typeof e=="boolean"?Me(Ct):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hi(t)?t._ctx=rt:a===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:rt},n=32}else t=String(t),o&64?(n=16,t=[Nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nFe||rt;let zo,Yn;{const e=fo(),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)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Fe=n),Yn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Jn=e=>{const t=Fe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},rr=()=>{Fe&&Fe.scope.off(),zo(null)};function lr(e){return e.vnode.shapeFlag&4}let _n=!1;function $g(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=lr(e);cg(e,o,s,t),fg(e,a,n||t);const i=s?Lg(e,t):void 0;return t&&Yn(!1),i}function Lg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){ft();const a=e.setupContext=o.length>1?wg(e):null,s=Jn(e),i=fn(o,e,0,[e.props,a]),r=js(i);if(pt(),s(),(r||e.sp)&&!Un(e)&&Ca(e),r){if(i.then(rr,rr),t)return i.then(l=>{Yn(!0);try{cr(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=i}else cr(e,i)}else ur(e)}function cr(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:pe(t)&&(e.setupState=hi(t)),ur(e)}function ur(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);ft();try{Yu(e)}finally{pt(),a()}}}const Cg={get(e,t){return je(e,"get",""),e[t]}};function wg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Cg),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hi(Fn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const Ng=/(?:^|[-_])\w/g,Pg=e=>e.replace(Ng,t=>t.toUpperCase()).replace(/[-_]/g,"");function gr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function dr(e,t,n=!1){let o=gr(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?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,_n);function fr(e,t,n){try{jo(-1);const o=arguments.length;return o===2?pe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** +`,...Au(a)),console.warn(...s)}ft(),$a=!1}function _u(){let e=Dn[Dn.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 Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${di(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mr(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mr(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ke(t)?(t=mr(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(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){xn(a,t,n)}}function rt(e,t,n,o){if(te(e)){const a=pn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(ku(t),0,e),e.flags|=1,yr()}}function yr(){Co||(Co=br.then(Sr))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(fn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(fn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Sr(e){try{for(mt=0;mt{o._d&&jo(-1);const s=Lo(t),r=sn.length;let i;try{i=e(...a)}finally{for(let l=sn.length;l>r;l--)ai();Lo(s),o._d&&jo(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let r=0;r1)return n&&te(t)?t.call(o&&o.proxy):t}}function Cu(){return!!(Mt()||on)}const Nu=Symbol.for("v-scx"),Lu=()=>Fe(Nu);function wu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=ye){const{immediate:o,deep:a,flush:s,once:r}=n,i=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(yn){if(s==="sync"){const $=Lu();c=$.__watcherHandles||($.__watcherHandles=[])}else if(!l){const $=()=>{};return $.stop=gt,$.resume=gt,$.pause=gt,$}}const u=Oe;i.call=($,w,v)=>rt($,u,w,v);let p=!1;s==="post"?i.scheduler=$=>{ze($,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=($,w)=>{w?$():ka($)}),i.augmentJob=$=>{t&&($.flags|=4),p&&($.flags|=2,u&&($.id=u.uid,$.i=u))};const m=yu(e,t,i);return yn&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?$r(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const r=Jn(this),i=Ea(a,s.bind(o),n);return r(),i}function $r(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,Ta=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Nt){t=n;break}}return t}function kr(e){if(!Io(e))return wo(e.type)&&e.children?Iu(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&&te(n.default))return n.default()}}function Ca(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ca(wo(n.type)&&kr(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 Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Na(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Er(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,T)=>Kn(v,t&&(Z(t)?t[T]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===ye?i.refs={}:i.refs,p=i.setupState,m=ce(p),$=p===ye?Ds:v=>Er(u,v)?!1:de(m,v),w=(v,T)=>!(T&&Er(u,T));if(c!=null&&c!==l){if(Tr(t),ve(c))u[c]=null,$(c)&&(p[c]=null);else if(ke(c)){const v=t;w(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))pn(l,i,12,[r,u]);else{const v=ve(l),T=ke(l);if(v||T){const P=()=>{if(e.f){const k=v?$(l)?p[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Z(k)&&ra(k,s);else if(Z(k))k.includes(s)||k.push(s);else if(v)u[l]=[s],$(l)&&(p[l]=u[l]);else{const y=[s];w(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else v?(u[l]=r,$(l)&&(p[l]=r)):T&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const k=()=>{P(),Po.delete(e)};k.id=-1,Po.set(e,k),ze(k,n)}else Tr(e),P()}}}function Tr(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Cr=e=>e.nodeType===8;po().requestIdleCallback,po().cancelIdleCallback;function Ru(e,t){if(Cr(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Cr(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Fu(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,$()),$=()=>{let w;return c||(w=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((T,P)=>{l(v,()=>T(m()),()=>P(v),p+1)});throw v}).then(v=>w!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:$,__asyncHydrate(w,v,T){const P=w.isConnected;let k=!1;(v.bu||(v.bu=[])).push(()=>k=!0);const y=()=>{k||!w.parentNode||P&&!w.isConnected||T()},b=s?()=>{const C=s(y,A=>Ru(w,A));C&&(v.bum||(v.bum=[])).push(C)}:y;u?b():$().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const w=Oe;if(Na(w),u)return()=>Mo(u,w);const v=C=>{c=null,xn(C,w,13,!o)};if(i&&w.suspense||yn)return $().then(C=>()=>Mo(C,w)).catch(C=>(v(C),()=>o?Me(o,{error:C}):null));const T=he(!1),P=he(),k=he(!!a);let y,b;return Oo(()=>{y!=null&&clearTimeout(y),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{w.isUnmounted||(k.value=!1)},a)),r!=null&&(y=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!P.value){const C=new Error(`Async component timed out after ${r}ms.`);v(C),P.value=C}},r)),$().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Io(w.parent.vnode)&&w.parent.update())}).catch(C=>{if(w.isUnmounted){c=null;return}v(C),P.value=C}),()=>{if(T.value&&u)return Mo(u,w);if(P.value&&o)return Me(o,{error:P.value});if(n&&!k.value)return Mo(n,w)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,r=Me(e,o,a);return r.ref=n,r.ce=s,delete t.vnode.ce,r}const Io=e=>e.type.__isKeepAlive;function Ou(e,t){Nr(e,"a",t)}function Du(e,t){Nr(e,"da",t)}function Nr(e,t,n=Oe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Oo(()=>{ra(o[t],a)},n)}function Ro(e,t,n=Oe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{pt();const i=Jn(n),l=rt(t,n,e,r);return i(),ft(),l});return o?a.unshift(s):a.push(s),s}}const Ct=e=>(t,n=Oe)=>{(!yn||e==="sp")&&Ro(e,(...o)=>t(...o),n)},Lr=Ct("bm"),Gn=Ct("m"),ju=Ct("bu"),Bu=Ct("u"),Fo=Ct("bum"),Oo=Ct("um"),Ku=Ct("sp"),Uu=Ct("rtg"),Gu=Ct("rtc");function zu(e,t=Oe){Ro("ec",e,t)}const qu="components",wr=Symbol.for("v-ndc");function Pr(e){return ve(e)?Hu(qu,e,!1)||e:e||wr}function Hu(e,t,n=!0,o=!1){const a=it||Oe;if(a){const s=a.type;{const i=gi(s,!1);if(i&&(i===t||i===Pe(t)||i===go(Pe(t))))return s}const r=Mr(a[e]||s[e],t)||Mr(a.appContext[e],t);return!r&&o?s:r}}function Mr(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,r=Z(e);if(r||ve(e)){const i=r&&Et(e);let l=!1,c=!1;i&&(l=!He(e),c=Tt(e),e=bo(e)),a=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;le?li(e)?xa(e):La(e.parent):null,zn=Ee(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=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Or(e),$forceUpdate:e=>e.f||(e.f=()=>{ka(e.update)}),$nextTick:e=>e.n||(e.n=No.bind(e.proxy)),$watch:e=>Pu.bind(e)}),wa=(e,t)=>e!==ye&&!e.__isScriptSetup&&de(e,t),Wu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(wa(o,t))return r[t]=1,o[t];if(a!==ye&&de(a,t))return r[t]=2,a[t];if(de(s,t))return r[t]=3,s[t];if(n!==ye&&de(n,t))return r[t]=4,n[t];Pa&&(r[t]=0)}}const c=zn[t];let u,p;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==ye&&de(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,de(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return wa(a,t)?(a[t]=n,!0):o!==ye&&de(o,t)?(o[t]=n,!0):de(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:r}},i){let l;return!!(n[i]||e!==ye&&i[0]!=="$"&&de(e,i)||wa(t,i)||de(s,i)||de(o,i)||de(zn,i)||de(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ir(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Or(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Rr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:$,updated:w,activated:v,deactivated:T,beforeDestroy:P,beforeUnmount:k,destroyed:y,unmounted:b,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),r)for(const q in r){const W=r[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);fe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,re=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>re.value,set:pe=>re.value=pe})}if(i)for(const q in i)Fr(i[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Rr(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(Lr,p),j(Gn,m),j(ju,$),j(Bu,w),j(Ou,v),j(Du,T),j(zu,F),j(Gu,A),j(Uu,L),j(Fo,k),j(Oo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===gt&&(e.render=C),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Na(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;fe(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ke(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[o]=s}}function Rr(e,t,n){rt(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fr(e,t,n,o){let a=o.includes(".")?$r(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(fe(e))if(Z(e))e.forEach(s=>Fr(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Or(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Do(l,c,r,!0)),Do(l,t,r)),fe(t)&&s.set(t,l),l}function Do(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Do(e,s,n,!0),a&&a.forEach(r=>Do(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const i=Xu[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Xu={data:Dr,props:xr,emits:xr,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Dr,inject:Zu};function Dr(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||ye;let a=n;const s=t.startsWith("update:"),r=s&&ng(o,t.slice(7));r&&(r.trim&&(a=n.map(u=>ve(u)?u.trim():u)),r.number&&(a=a.map(Dc)));let i,l=o[i=ia(t)]||o[i=ia(Pe(t))];!l&&s&&(l=o[i=ia(Ze(t))]),l&&rt(l,e,6,a);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,rt(c,e,6,a)}}const ag=new WeakMap;function Br(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!te(e)){const l=c=>{const u=Br(c,t,!0);u&&(i=!0,Ee(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(fe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):Ee(r,s),fe(e)&&o.set(e,r),r)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function Hb(){}function Kr(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:$,ctx:w,inheritAttrs:v}=e,T=Lo(e);let P,k;try{if(n.shapeFlag&4){const b=a||o,C=b;P=yt(c.call(C,b,u,p,$,m,w)),k=i}else{const b=t;P=yt(b.length>1?b(p,{attrs:i,slots:r,emit:l}):b(p,null)),k=t.props?i:sg(i)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Nt)}let y=P;if(k&&v!==!1){const b=Object.keys(k),{shapeFlag:C}=y;b.length&&C&7&&(s&&b.some(ro)&&(k=rg(k,s)),y=mn(y,k,!1,!0))}if(n.dirs&&(y=mn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const b=wo(y.type)&&kr(y)||y;Ca(b,n.transition)}return P=y,Lo(T),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},rg=(e,t)=>{const n={};for(const o in e)(!ro(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function ig(e,t,n){const{props:o,children:a,component:s}=e,{props:r,children:i,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?Ur(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(zr),Hr=e=>Object.getPrototypeOf(e)===zr;function cg(e,t,n,o=!1){const a={},s=qr();e.propsDefaults=Object.create(null),Vr(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=ce(a),[l]=e.propsOptions;let c=!1;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,$]=Wr(p,t,!0);Ee(r,m),$&&i.push(...$)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return fe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fa=e=>Z(e)?e.map(yt):[yt(e)],dg=(e,t,n)=>{if(t._n)return t;const o=Tu((...a)=>Fa(t(...a)),n);return o._c=!1,o},Jr=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const r=Fa(s);t[a]=()=>r}}},Xr=(e,t)=>{const n=Fa(t);e.slots.default=()=>n},Zr=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},pg=(e,t,n)=>{const o=e.slots=qr();if(e.vnode.shapeFlag&32){const a=t._;a?(Zr(o,t,n),n&&Ks(o,"_",a,!0)):Jr(t,o)}else t&&Xr(e,t)},fg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,r=ye;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:Zr(a,t,n):(s=!t.$stable,Jr(t,a)),r=t}else t&&(Xr(e,t),r={default:1});if(s)for(const i in a)!Ra(i)&&r[i]==null&&delete a[i]},ze=_g;function hg(e){return mg(e)}function mg(e,t){const n=po();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:$=gt,insertStaticContent:w}=e,v=(f,_,h,M=null,x=null,D=null,U=void 0,K=null,g=!!_.dynamicChildren)=>{if(f===_)return;f&&!Wn(f,_)&&(M=Ye(f),pe(f,x,D,!0),f=null),_.patchFlag===-2&&(g=!1,_.dynamicChildren=null);const{type:d,ref:N,shapeFlag:I}=_;switch(d){case Hn:T(f,_,h,M);break;case Nt:P(f,_,h,M);break;case Da:f==null&&k(_,h,M,U);break;case Qe:z(f,_,h,M,x,D,U,K,g);break;default:I&1?C(f,_,h,M,x,D,U,K,g):I&6?ee(f,_,h,M,x,D,U,K,g):(I&64||I&128)&&d.process(f,_,h,M,x,D,U,K,g,ot)}N!=null&&x?Kn(N,f&&f.ref,D,_||f,!_):N==null&&f&&f.ref!=null&&Kn(f.ref,null,D,f,!0)},T=(f,_,h,M)=>{if(f==null)o(_.el=i(_.children),h,M);else{const x=_.el=f.el;_.children!==f.children&&c(x,_.children)}},P=(f,_,h,M)=>{f==null?o(_.el=l(_.children||""),h,M):_.el=f.el},k=(f,_,h,M)=>{[f.el,f.anchor]=w(f.children,_,h,M,f.el,f.anchor)},y=({el:f,anchor:_},h,M)=>{let x;for(;f&&f!==_;)x=m(f),o(f,h,M),f=x;o(_,h,M)},b=({el:f,anchor:_})=>{let h;for(;f&&f!==_;)h=m(f),a(f),f=h;a(_)},C=(f,_,h,M,x,D,U,K,g)=>{if(_.type==="svg"?U="svg":_.type==="math"&&(U="mathml"),f==null)A(_,h,M,x,D,U,K,g);else{const d=f.el&&f.el._isVueCE?f.el:null;try{d&&d._beginPatch(),S(f,_,x,D,U,K,g)}finally{d&&d._endPatch()}}},A=(f,_,h,M,x,D,U,K)=>{let g,d;const{props:N,shapeFlag:I,transition:G,dirs:B}=f;if(g=f.el=r(f.type,D,N&&N.is,N),I&8?u(g,f.children):I&16&&F(f.children,g,null,M,x,Oa(f,D),U,K),B&&nn(f,null,M,"created"),L(g,f,f.scopeId,U,M),N){for(const R in N)R!=="value"&&!Ln(R)&&s(g,R,null,N[R],D,M);"value"in N&&s(g,"value",null,N.value,D),(d=N.onVnodeBeforeMount)&&_t(d,M,f)}B&&nn(f,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,_,h),((d=N&&N.onVnodeMounted)||E||B)&&ze(()=>{try{d&&_t(d,M,f),E&&G.enter(g),B&&nn(f,null,M,"mounted")}finally{}},x)},L=(f,_,h,M,x)=>{if(h&&$(f,h),M)for(let D=0;D{for(let d=g;d{const K=_.el=f.el;let{patchFlag:g,dynamicChildren:d,dirs:N}=_;g|=f.patchFlag&16;const I=f.props||ye,G=_.props||ye;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,h,_,f),N&&nn(_,f,h,"beforeUpdate"),h&&an(h,!0),d&&(!f.dynamicChildren||f.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(f.dynamicChildren,d,K,h,M,Oa(_,x),D):U||W(f,_,K,null,h,M,Oa(_,x),D,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=_.dynamicProps;for(let R=0;R{B&&_t(B,h,_,f),N&&nn(_,f,h,"updated")},M)},V=(f,_,h,M,x,D,U)=>{for(let K=0;K<_.length;K++){const g=f[K],d=_[K],N=g.el&&(g.type===Qe||!Wn(g,d)||g.shapeFlag&198)?p(g.el):h;v(g,d,N,null,M,x,D,U,!0)}},ae=(f,_,h,M,x)=>{if(_!==h){if(_!==ye)for(const D in _)!Ln(D)&&!(D in h)&&s(f,D,_[D],null,x,M);for(const D in h){if(Ln(D))continue;const U=h[D],K=_[D];U!==K&&D!=="value"&&s(f,D,K,U,x,M)}"value"in h&&s(f,"value",_.value,h.value,x)}},z=(f,_,h,M,x,D,U,K,g)=>{const d=_.el=f?f.el:i(""),N=_.anchor=f?f.anchor:i("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=_;B&&(K=K?K.concat(B):B),f==null?(o(d,h,M),o(N,h,M),F(_.children||[],h,N,x,D,U,K,g)):I>0&&I&64&&G&&f.dynamicChildren&&f.dynamicChildren.length===G.length?(V(f.dynamicChildren,G,h,x,D,U,K),(_.key!=null||x&&_===x.subTree)&&Qr(f,_,!0)):W(f,_,h,N,x,D,U,K,g)},ee=(f,_,h,M,x,D,U,K,g)=>{_.slotScopeIds=K,f==null?_.shapeFlag&512?x.ctx.activate(_,h,M,U,g):Y(_,h,M,x,D,U,g):O(f,_,g)},Y=(f,_,h,M,x,D,U)=>{const K=f.component=Eg(f,M,x);if(Io(f)&&(K.ctx.renderer=ot),Tg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!f.el){const g=K.subTree=Me(Nt);P(null,g,_,h),f.placeholder=g.el}}else j(K,f,_,h,x,D,U)},O=(f,_,h)=>{const M=_.component=f.component;if(ig(f,_,h))if(M.asyncDep&&!M.asyncResolved){q(M,_,h);return}else M.next=_,M.update();else _.el=f.el,M.vnode=_},j=(f,_,h,M,x,D,U)=>{const K=()=>{if(f.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=f;{const xe=ei(f);if(xe){I&&(I.el=R.el,q(f,I,U)),xe.asyncDep.then(()=>{ze(()=>{f.isUnmounted||d()},x)});return}}let J=I,se;an(f,!1),I?(I.el=R.el,q(f,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&_t(se,E,I,R),an(f,!0);const Se=Kr(f),Ge=f.subTree;f.subTree=Se,v(Ge,Se,p(Ge.el),Ye(Ge),f,x,D),I.el=Se.el,J===null&&lg(f,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>_t(se,E,I,R),x)}else{let I;const{el:G,props:B}=_,{bm:E,m:R,parent:J,root:se,type:Se}=f,Ge=Un(_);an(f,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&_t(I,J,_),an(f,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,f.parent?f.parent.type:void 0);const xe=f.subTree=Kr(f);v(null,xe,h,M,f,x,D),_.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=_;ze(()=>_t(I,J,xe),x)}(_.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&f.a&&ze(f.a,x),f.isMounted=!0,_=h=M=null}};f.scope.on();const g=f.effect=new Js(K);f.scope.off();const d=f.update=g.run.bind(g),N=f.job=g.runIfDirty.bind(g);N.i=f,N.id=f.uid,g.scheduler=()=>ka(N),an(f,!0),d()},q=(f,_,h)=>{_.component=f;const M=f.vnode.props;f.vnode=_,f.next=null,ug(f,_.props,M,h),fg(f,_.children,h),pt(),_r(f),ft()},W=(f,_,h,M,x,D,U,K,g=!1)=>{const d=f&&f.children,N=f?f.shapeFlag:0,I=_.children,{patchFlag:G,shapeFlag:B}=_;if(G>0){if(G&128){ge(d,I,h,M,x,D,U,K,g);return}else if(G&256){X(d,I,h,M,x,D,U,K,g);return}}B&8?(N&16&&Re(d,x,D),I!==d&&u(h,I)):N&16?B&16?ge(d,I,h,M,x,D,U,K,g):Re(d,x,D,!0):(N&8&&u(h,""),B&16&&F(I,h,M,x,D,U,K,g))},X=(f,_,h,M,x,D,U,K,g)=>{f=f||un,_=_||un;const d=f.length,N=_.length,I=Math.min(d,N);let G;for(G=0;GN?Re(f,x,D,!0,!1,I):F(_,h,M,x,D,U,K,g,I)},ge=(f,_,h,M,x,D,U,K,g)=>{let d=0;const N=_.length;let I=f.length-1,G=N-1;for(;d<=I&&d<=G;){const B=f[d],E=_[d]=g?Pt(_[d]):yt(_[d]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=f[I],E=_[G]=g?Pt(_[G]):yt(_[G]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)pe(f[d],x,D,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=_[d]=g?Pt(_[d]):yt(_[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){pe(Je,x,D,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,_[J])){vt=J;break}vt===void 0?pe(Je,x,D,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,_[vt],h,null,x,D,U,K,g),se++)}const Os=Ge?yg(cn):un;for(J=Os.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=_[Je],wc=_[Je+1],Pc=Je+1{const{el:D,type:U,transition:K,children:g,shapeFlag:d}=f;if(d&6){re(f.component.subTree,_,h,M);return}if(d&128){f.suspense.move(_,h,M);return}if(d&64){U.move(f,_,h,ot);return}if(U===Qe){o(D,_,h);for(let I=0;IK.enter(D),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{f.ctx.isUnmounted?a(D):o(D,_,h)},R=()=>{const J=D._isLeaving||!!D[Ta];D._isLeaving&&D[Ta](!0),K.persisted&&!J?E():I(D,()=>{E(),B&&B()})};G?G(D,E,R):R()}else o(D,_,h)},pe=(f,_,h,M=!1,x=!1)=>{const{type:D,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:N,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=f;if(I===-2&&(x=!1),K!=null&&(pt(),Kn(K,null,h,f,!0),ft()),B!=null&&(_.renderCache[B]=void 0),N&256){_.ctx.deactivate(f);return}const R=N&1&&G,J=!Un(f);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&_t(se,_,f),N&6)we(f.component,h,M);else{if(N&128){f.suspense.unmount(h,M);return}R&&nn(f,null,_,"beforeUnmount"),N&64?f.type.remove(f,_,h,ot,M):d&&!d.hasOnce&&(D!==Qe||I>0&&I&64)?Re(d,_,h,!1,!0):(D===Qe&&I&384||!x&&N&16)&&Re(g,_,h),M&&oe(f)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&_t(se,_,f),R&&nn(f,null,_,"unmounted"),Se&&(f.el=null)},h)},oe=f=>{const{type:_,el:h,anchor:M,transition:x}=f;if(_===Qe){le(h,M);return}if(_===Da){b(f);return}const D=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(f.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,D);K?K(f.el,D,g):g()}else D()},le=(f,_)=>{let h;for(;f!==_;)h=m(f),a(f),f=h;a(_)},we=(f,_,h)=>{const{bum:M,scope:x,job:D,subTree:U,um:K,m:g,a:d}=f;ti(g),ti(d),M&&la(M),x.stop(),D&&(D.flags|=8,pe(U,f,_,h)),K&&ze(K,_),ze(()=>{f.isUnmounted=!0},_)},Re=(f,_,h,M=!1,x=!1,D=0)=>{for(let U=D;U{if(f.shapeFlag&6)return Ye(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const _=m(f.anchor||f.el),h=_&&_[Mu];return h?m(h):_};let nt=!1;const Zt=(f,_,h)=>{let M;f==null?_._vnode&&(pe(_._vnode,null,null,!0),M=_._vnode.component):v(_._vnode||null,f,_,null,null,null,h),_._vnode=f,nt||(nt=!0,_r(M),Ar(),nt=!1)},ot={p:v,um:pe,m:re,r:oe,mt:Y,mc:F,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Oa({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 bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qr(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function ei(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ei(t)}function ti(e){if(e)for(let t=0;te.__isSuspense;function _g(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Nt=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ai(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function si(e){return e.dynamicChildren=Vn>0?Ve||un:null,ai(),Vn>0&&Ve&&Ve.push(e),e}function Lt(e,t,n,o,a,s){return si(Ne(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return si(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ri=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||ke(e)||te(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Ne(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ri(t),ref:t&&Uo(t),scopeId:vr,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:it};return i?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!r&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===wr)&&(e=Nt),Ko(e)){const i=mn(e,t,!0);return n&&Go(i,n),Vn>0&&!s&&Ve&&(i.shapeFlag&6?Ve[Ve.indexOf(e)]=i:Ve.push(i)),i.patchFlag=-2,i}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:i,style:l}=t;i&&!ve(i)&&(t.class=wn(i)),fe(l)&&($o(l)&&!Z(l)&&(l=Ee({},l)),t.style=fo(l))}const r=ve(e)?1:oi(e)?128:wo(e)?64:fe(e)?4:te(e)?2:0;return Ne(e,t,n,o,a,r,s,!0)}function Sg(e){return e?$o(e)||Hr(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ri(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ca(u,l.clone(u)),u}function wt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Nt,null,e)):Me(Nt,null,e)}function yt(e){return e==null||typeof e=="boolean"?Me(Nt):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hr(t)?t._ctx=it:a===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:it},n=32}else t=String(t),o&64?(n=16,t=[wt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nOe||it;let zo,Yn;{const e=po(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Oe=n),Yn=t("__VUE_SSR_SETTERS__",n=>yn=n)}const Jn=e=>{const t=Oe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},ii=()=>{Oe&&Oe.scope.off(),zo(null)};function li(e){return e.vnode.shapeFlag&4}let yn=!1;function Tg(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=li(e);cg(e,o,s,t),pg(e,a,n||t);const r=s?Cg(e,t):void 0;return t&&Yn(!1),r}function Cg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){pt();const a=e.setupContext=o.length>1?Lg(e):null,s=Jn(e),r=pn(o,e,0,[e.props,a]),i=js(r);if(ft(),s(),(i||e.sp)&&!Un(e)&&Na(e),i){if(r.then(ii,ii),t)return r.then(l=>{Yn(!0);try{ci(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=r}else ci(e,r)}else ui(e)}function ci(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=hr(t)),ui(e)}function ui(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);pt();try{Yu(e)}finally{ft(),a()}}}const Ng={get(e,t){return je(e,"get",""),e[t]}};function Lg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ng),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hr(On(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const wg=/(?:^|[-_])\w/g,Pg=e=>e.replace(wg,t=>t.toUpperCase()).replace(/[-_]/g,"");function gi(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function di(e,t,n=!1){let o=gi(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,yn);function pi(e,t,n){try{jo(-1);const o=arguments.length;return o===2?fe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ja;const pr=typeof window<"u"&&window.trustedTypes;if(pr)try{ja=pr.createPolicy("vue",{createHTML:e=>e})}catch{}const hr=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Dg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mr=It&&It.createElement("template"),Fg={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"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Dg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.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{mr.innerHTML=hr(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=mr.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]}},Og=Symbol("_vtc");function xg(e,t,n){const o=e[Og];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const br=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Xn(o,r,"")}else for(const i in t)n[i]==null&&Xn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?zg(e,i,!ve(t)&&t?t[i]:void 0,r)||Xn(o,i,r):Xn(o,i,"")}}else if(a){if(t!==n){const i=o[Bg];i&&(n+=";"+i),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");br in e&&(e[br]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const _r=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;a<_r.length;a++){const s=_r[a]+o;if(s in e)return Ba[t]=s}return t}function zg(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ve(o)&&n===o}const yr="http://www.w3.org/1999/xlink";function Ar(e,t,n,o,a,s=Uc(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(yr,t.slice(6,t.length)):e.setAttributeNS(yr,t,n):n==null||s&&!zs(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Xe(n)?String(n):n)}function Sr(e,t,n,o,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?hr(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const r=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(r!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const r=typeof e[t];r==="boolean"?n=zs(n):n==null&&r==="string"?(n="",i=!0):r==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(a||t)}function qg(e,t,n,o){e.addEventListener(t,n,o)}function Hg(e,t,n,o){e.removeEventListener(t,n,o)}const vr=Symbol("_vei");function Vg(e,t,n,o,a=null){const s=e[vr]||(e[vr]={}),i=s[t];if(o&&i)i.value=o;else{const[r,l]=Jg(t);if(o){const c=s[t]=Qg(o,a);qg(e,r,c,l)}else i&&(Hg(e,r,i,l),s[t]=void 0)}}const Wg=/(Once|Passive|Capture)$/,Yg=/^on:?(?:Once|Passive|Capture)$/;function Jg(e){let t,n;for(;(n=e.match(Wg))&&!Yg.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ze(e.slice(2)),t]}let Ka=0;const Xg=Promise.resolve(),Zg=()=>Ka||(Xg.then(()=>Ka=0),Ka=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(Z(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,ed=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?xg(e,o,i):t==="style"?Ug(e,n,o):so(t)?io(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,i))?(Sr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,o,i,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Sr(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ar(e,t,o,i))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&kr(t)&&te(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 kr(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const Tr={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(i){super(o,i,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Lr){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!==Lr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){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,Co(()=>{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&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(r||(r=Object.create(null)))[Pe(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)de(this,o)||Object.defineProperty(this,o,{get:()=>To(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(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(Pe))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):Tr;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(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===Tr?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(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),id(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(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,lo(i[0])?Ee({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),Ze(s)!==s&&a(Ze(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{$r().render(...e)},Lr=(...e)=>{const t=$r().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,rd(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function rd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! +**/let ja;const fi=typeof window<"u"&&window.trustedTypes;if(fi)try{ja=fi.createPolicy("vue",{createHTML:e=>e})}catch{}const hi=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Fg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mi=It&&It.createElement("template"),Og={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"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Fg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const r=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{mi.innerHTML=hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=mi.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Dg=Symbol("_vtc");function xg(e,t,n){const o=e[Dg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const bi=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();n[i]==null&&Xn(o,i,"")}else for(const r in t)n[r]==null&&Xn(o,r,"");for(const r in n){r==="display"&&(s=!0);const i=n[r];i!=null?zg(e,r,!ve(t)&&t?t[r]:void 0,i)||Xn(o,r,i):Xn(o,r,"")}}else if(a){if(t!==n){const r=o[Bg];r&&(n+=";"+r),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");bi in e&&(e[bi]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const yi=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;aKa||(Xg.then(()=>Ka=0),Ka=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(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const r=a.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ed=(e,t,n,o,a,s)=>{const r=a==="svg";t==="class"?xg(e,o,r):t==="style"?Ug(e,n,o):so(t)?ro(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,r))?(Si(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ai(e,t,o,r,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Si(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ai(e,t,o,r))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&$i(t)&&te(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 $i(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const ki={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(r){super(o,r,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Ci){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!==Ci?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){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,No(()=>{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:r}=o;let i;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(i||(i=Object.create(null)))[Pe(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(r),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)de(this,o)||Object.defineProperty(this,o,{get:()=>ko(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(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(Pe))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):ki;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(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===ki?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(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rd(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,lo(r[0])?Ee({detail:r},r[0]):{detail:r}))};o.emit=(s,...r)=>{a(s,r),Ze(s)!==s&&a(Ze(s),r)},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,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=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,i||r),i=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{Ti().render(...e)},Ci=(...e)=>{const t=Ti().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=n(a,!1,id(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function id(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Cr;const Ho=e=>Cr=e,wr=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=Fn({install(s){Ho(a),a._a=s,s.provide(wr,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 Pr(e,t,n,o=Nr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mr=Symbol(),za=Symbol();function qa(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];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!Te(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function fd(e){return!!(Te(e)&&e.effect)}function pd(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=du(n.state.value[e]);return Gt(u,s,Object.keys(i||{}).reduce((f,m)=>(f[m]=Fn(be(()=>{Ho(n);const k=n._s.get(e);return i[m].call(k,k)})),f),{}))}return l=Ir(e,c,t,n,o,!0),l}function Ir(e,t,n={},o,a,s){let i;const r=Gt({actions:{}},n),l={deep:!0};let c,u,f=[],m=[],k;const N=o.state.value[e];!s&&!N&&(o.state.value[e]={});let v;function $(D){let S;c=u=!1,typeof D=="function"?(D(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:k}):(qa(o.state.value[e],D),S={type:Zn.patchObject,payload:D,storeId:e,events:k});const V=v=Symbol();Co().then(()=>{v===V&&(c=!0)}),u=!0,yn(f,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:Nr;function T(){i.stop(),f=[],m=[],o._s.delete(e)}const _=(D,S="")=>{if(Mr in D)return D[za]=S,D;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function F(q){ee.push(q)}yn(m,{args:ae,name:V[za],store:L,after:Y,onError:F});let j;try{j=D.apply(this&&this.$id===e?this:L,ae)}catch(q){throw yn(ee,q),q}return j instanceof Promise?j.then(q=>(yn(z,q),q)).catch(q=>(yn(ee,q),Promise.reject(q))):(yn(z,j),j)};return V[Mr]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pr.bind(null,m),$patch:$,$reset:P,$subscribe(D,S={}){const V=Pr(f,D,S.detached,()=>ae()),ae=i.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&D({storeId:e,type:Zn.direct,events:k},z)},Gt({},l,S)));return V},$dispose:T},L=So(b);o._s.set(e,L);const w=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(i=ua()).run(()=>t({action:_}))));for(const D in w){const S=w[D];if(Te(S)&&!fd(S)||Et(S))s||(N&&dd(S)&&(Te(S)?S.value=N[D]:qa(S,N[D])),o.state.value[e][D]=S);else if(typeof S=="function"){const V=_(S,D);w[D]=V,r.actions[D]=S}}return Gt(L,w),Gt(ce(L),w),Object.defineProperty(L,"$state",{get:()=>o.state.value[e],set:D=>{$(S=>{Gt(S,D)})}}),o._p.forEach(D=>{Gt(L,i.run(()=>D({store:L,app:o._a,pinia:o,options:r})))}),N&&s&&n.hydrate&&n.hydrate(L.$state,N),c=!0,u=!0,L}/*! #__NO_SIDE_EFFECTS__ */function Ha(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=Lu();return r=r||(c?De(wr,null):null),r&&Ho(r),r=Cr,r._s.has(o)||(s?Ir(o,t,a,r):pd(o,a,r)),r._s.get(o)}return i.$id=o,i}const Va="__doxaMapToken",Wa="doxa:map-token",Rr="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Dr(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Rr])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Dr(t)}}),window[Rr]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Do(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Du({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const _d={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},yd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},kd={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Td={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},$d={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Ld={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Cd={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Nd={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Pd={menuComingSoon:"Menü folgt in Kürze"},Md={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Id={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Rd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={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"},Fd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Od={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},xd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},jd={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Bd={menuComingSoon:"Menu coming soon"},Kd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Ud={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Gd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zd={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"}},qd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},Hd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Vd={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"},Wd={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."}},Yd={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Jd={menuComingSoon:"Menú próximamente"},Xd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Zd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Qd={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"}},ef={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"},tf={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},nf={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"},of={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},af={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},sf={menuComingSoon:"Menu bientôt disponible"},rf={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},lf={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},cf={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},uf={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"}},gf={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"},df={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ff={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pf={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},hf={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},mf={menuComingSoon:"मेनू शीघ्र आ रहा है"},bf={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},_f={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Af={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Sf={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"},vf={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},kf={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Tf={menuComingSoon:"Menu in arrivo"},Ef={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},$f={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Lf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Cf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},wf={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"},Nf={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."}},Pf={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Mf={menuComingSoon:"Menu em breve"},If={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Rf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Df={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"}},Ff={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"},Of={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},xf={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ă"},jf={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ă."}},Bf={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Kf={menuComingSoon:"Meniu în curând"},Uf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Gf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},zf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qf={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:"Поделиться и встроить"},Vf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Wf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},Yf={menuComingSoon:"Меню скоро появится"},Jf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Xf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Qf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},ep={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tp={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},np={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},op={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},ap={menuComingSoon:"菜单即将推出"},sp={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ip={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},rp={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ni;const Ho=e=>Ni=e,Li=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=On({install(s){Ho(a),a._a=s,s.provide(Li,a),s.config.globalProperties.$pinia=a,o.forEach(r=>n.push(r)),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 wi=()=>{};function Pi(e,t,n,o=wi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function _n(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mi=Symbol(),za=Symbol();function qa(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];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!ke(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function pd(e){return!!(ke(e)&&e.effect)}function fd(e,t,n,o){const{state:a,actions:s,getters:r}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=a?a():{});const u=du(n.state.value[e]);return Gt(u,s,Object.keys(r||{}).reduce((p,m)=>(p[m]=On(be(()=>{Ho(n);const $=n._s.get(e);return r[m].call($,$)})),p),{}))}return l=Ii(e,c,t,n,o,!0),l}function Ii(e,t,n={},o,a,s){let r;const i=Gt({actions:{}},n),l={deep:!0};let c,u,p=[],m=[],$;const w=o.state.value[e];!s&&!w&&(o.state.value[e]={});let v;function T(F){let S;c=u=!1,typeof F=="function"?(F(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:$}):(qa(o.state.value[e],F),S={type:Zn.patchObject,payload:F,storeId:e,events:$});const V=v=Symbol();No().then(()=>{v===V&&(c=!0)}),u=!0,_n(p,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:wi;function k(){r.stop(),p=[],m=[],o._s.delete(e)}const y=(F,S="")=>{if(Mi in F)return F[za]=S,F;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function O(q){ee.push(q)}_n(m,{args:ae,name:V[za],store:C,after:Y,onError:O});let j;try{j=F.apply(this&&this.$id===e?this:C,ae)}catch(q){throw _n(ee,q),q}return j instanceof Promise?j.then(q=>(_n(z,q),q)).catch(q=>(_n(ee,q),Promise.reject(q))):(_n(z,j),j)};return V[Mi]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pi.bind(null,m),$patch:T,$reset:P,$subscribe(F,S={}){const V=Pi(p,F,S.detached,()=>ae()),ae=r.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&F({storeId:e,type:Zn.direct,events:$},z)},Gt({},l,S)));return V},$dispose:k},C=So(b);o._s.set(e,C);const L=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(r=ua()).run(()=>t({action:y}))));for(const F in L){const S=L[F];if(ke(S)&&!pd(S)||Et(S))s||(w&&dd(S)&&(ke(S)?S.value=w[F]:qa(S,w[F])),o.state.value[e][F]=S);else if(typeof S=="function"){const V=y(S,F);L[F]=V,i.actions[F]=S}}return Gt(C,L),Gt(ce(C),L),Object.defineProperty(C,"$state",{get:()=>o.state.value[e],set:F=>{T(S=>{Gt(S,F)})}}),o._p.forEach(F=>{Gt(C,r.run(()=>F({store:C,app:o._a,pinia:o,options:i})))}),w&&s&&n.hydrate&&n.hydrate(C.$state,w),c=!0,u=!0,C}/*! #__NO_SIDE_EFFECTS__ */function Ha(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 r(i,l){const c=Cu();return i=i||(c?Fe(Li,null):null),i&&Ho(i),i=Ni,i._s.has(o)||(s?Ii(o,t,a,i):fd(o,a,i)),i._s.get(o)}return r.$id=o,r}const Va="__doxaMapToken",Wa="doxa:map-token",Ri="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Fi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Ri])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Fi(t)}}),window[Ri]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Fo(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Fu({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const yd={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_d={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},$d={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},kd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Td={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Cd={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Nd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Ld={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Pd={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Md={menuComingSoon:"Menü folgt in Kürze"},Id={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Rd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Fd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Od={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={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"},xd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},jd={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Bd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Kd={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Ud={menuComingSoon:"Menu coming soon"},Gd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},zd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},qd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Vd={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"}},Wd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},Yd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Jd={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."}},Zd={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Qd={menuComingSoon:"Menú próximamente"},ep={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},tp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},np={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},op={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"}},ap={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"},sp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},rp={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"},ip={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},lp={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},cp={menuComingSoon:"Menu bientôt disponible"},up={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},gp={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},dp={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},pp={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},fp={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"}},hp={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"},mp={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},bp={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},yp={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},_p={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ap={menuComingSoon:"मेनू शीघ्र आ रहा है"},Sp={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vp={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},$p={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},kp={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ep={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Tp={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"},Cp={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Np={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Lp={menuComingSoon:"Menu in arrivo"},wp={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Pp={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Mp={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Ip={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Rp={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"},Fp={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."}},Op={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Dp={menuComingSoon:"Menu em breve"},xp={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},jp={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Bp={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Kp={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"}},Up={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"},Gp={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},zp={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ă"},qp={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ă."}},Hp={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Vp={menuComingSoon:"Meniu în curând"},Wp={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Yp={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Jp={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Xp={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zp={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qp={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},tf={menuComingSoon:"Меню скоро появится"},nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},of={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},af={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},sf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},rf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},lf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},cf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},uf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},gf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},df={menuComingSoon:"菜单即将推出"},pf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ff={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function lp(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),cp=(e,t,n)=>up({l:e,k:t,s:n}),up=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),$e=e=>typeof e=="number"&&isFinite(e),gp=e=>Br(e)==="[object Date]",qt=e=>Br(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,Oe=Object.assign,dp=Object.create,me=(e=null)=>dp(e);let Fr;const Rt=()=>Fr||(Fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Or(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function fp(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xr(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 pp=Object.prototype.hasOwnProperty;function lt(e,t){return pp.call(e,t)}const ke=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",re=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",hp=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),jr=Object.prototype.toString,Br=e=>jr.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},mp=e=>e==null?"":ke(e)||ne(e)&&e.toString===jr?JSON.stringify(e,null,2):String(e);function bp(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||ke(e);function Xo(e,t){if(Jo(e)||Jo(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__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! + */function mf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),bf=(e,t,n)=>yf({l:e,k:t,s:n}),yf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),_f=e=>Bi(e)==="[object Date]",qt=e=>Bi(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,De=Object.assign,Af=Object.create,me=(e=null)=>Af(e);let Oi;const Rt=()=>Oi||(Oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Di(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Sf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xi(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 vf=Object.prototype.hasOwnProperty;function lt(e,t){return vf.call(e,t)}const $e=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",ie=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",$f=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),ji=Object.prototype.toString,Bi=e=>ji.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},kf=e=>e==null?"":$e(e)||ne(e)&&e.toString===ji?JSON.stringify(e,null,2):String(e);function Ef(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||$e(e);function Xo(e,t){if(Jo(e)||Jo(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__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(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 _p(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const yp=/\{([0-9a-zA-Z]+)\}/g;function Kr(e,...t){return t.length===1&&Ap(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(yp,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ur=Object.assign,Gr=e=>typeof e=="string",Ap=e=>e!==null&&typeof e=="object";function zr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Sp={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function vp(e,t,...n){const o=Kr(Sp[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},kp={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=Kr((a||kp)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function Tp(e){throw e}const Dt=" ",Ep="\r",Ue=` -`,$p="\u2028",Lp="\u2029";function Cp(e){const t=e;let n=0,o=1,a=1,s=0;const i=w=>t[w]===Ep&&t[w+1]===Ue,r=w=>t[w]===Ue,l=w=>t[w]===Lp,c=w=>t[w]===$p,u=w=>i(w)||r(w)||l(w)||c(w),f=()=>n,m=()=>o,k=()=>a,N=()=>s,v=w=>i(w)||l(w)||c(w)?Ue:t[w],$=()=>v(n),P=()=>v(n+s);function T(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function _(){return i(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function L(w=0){s=w}function A(){const w=n+s;for(;w!==n;)T();s=0}return{index:f,line:m,column:k,peekOffset:N,charAt:v,currentChar:$,currentPeek:P,next:T,peek:_,reset:b,resetPeek:L,skipToPeek:A}}const Ht=void 0,wp=".",qr="'",Np="tokenizer";function Pp(e,t={}){const n=t.location!==!1,o=Cp(e),a=()=>o.index(),s=()=>_p(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 f(g,d,C,...I){const G=c();if(d.column+=C,d.offset+=C,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:Np,args:I});u(E)}}function m(g,d,C){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),C!=null&&(I.value=C),I}const k=g=>m(g,14);function N(g,d){return g.currentChar()===d?(g.next(),d):(f(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function $(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function T(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function _(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=T(I);return g.resetPeek(),G}function L(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()===qr;return g.resetPeek(),I}function A(g,d){const{currentType:C}=d;if(C!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function w(g,d){const{currentType:C}=d;if(C!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function D(g,d){const{currentType:C}=d;if(!(C===8||C===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:C}=d;if(C!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),C=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:C,hasSpace:d.length>0}}function z(g,d=!0){const C=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),C(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Dt||B===Ue):R===Dt?(g.peek(),C(!0,Dt,E)):R===Ue?(g.peek(),C(!0,Ue,E)):!0},I=C();return d&&g.resetPeek(),I}function ee(g,d){const C=g.currentChar();return C===Ht?Ht:d(C)?(g.next(),C):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function F(g){return ee(g,Y)}function j(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 q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function ie(g){return ee(g,ge)}function fe(g){let d="",C="";for(;d=X(g);)C+=d;return C}function oe(g){$(g);const d=g.currentChar();return d!=="%"&&f(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const C=g.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(z(g))d+=C,g.next();else break;else if(C===Dt||C===Ue)if(z(g))d+=C,g.next();else{if(V(g))break;d+=C,g.next()}else d+=C,g.next()}return d}function Ne(g){$(g);let d="",C="";for(;d=q(g);)C+=d;return g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C}function Re(g){$(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${fe(g)}`):d+=fe(g),g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qr&&g!==Ue}function nt(g){$(g),N(g,"'");let d="",C="";for(;d=ee(g,Ye);)d==="\\"?C+=Zt(g):C+=d;const I=g.currentChar();return I===Ue||I===Ht?(f(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),N(g,"'")),C):(N(g,"'"),C)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return f(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,C){N(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?C:(C+=I,g.next(),d(C))};return d("")}function M(g){$(g);const d=N(g,"|");return $(g),d}function x(g,d){let C=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),C=m(d,2,"{"),$(g),d.braceNest++,C;case"}":return d.braceNest>0&&d.currentType===2&&f(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),C=m(d,3,"}"),d.braceNest--,d.braceNest>0&&$(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),C;case"@":return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=O(g,d)||k(d),d.braceNest=0,C;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=_(g,d))return C=m(d,5,Ne(g)),$(g),C;if(B=b(g,d))return C=m(d,6,Re(g)),$(g),C;if(E=L(g,d))return C=m(d,7,nt(g)),$(g),C;if(!G&&!B&&!E)return C=m(d,13,p(g)),f(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,C.value),$(g),C;break}}return C}function O(g,d){const{currentType:C}=d;let I=null;const G=g.currentChar();switch((C===8||C===9||C===12||C===10)&&(G===Ue||G===Dt)&&f(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return $(g),g.next(),m(d,9,".");case":":return $(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||D(g,d)?($(g),O(g,d)):w(g,d)?($(g),m(d,12,y(g))):S(g,d)?($(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(C===8&&f(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let C={type:14};if(d.braceNest>0)return x(g,d)||k(d);if(d.inLinked)return O(g,d)||k(d);switch(g.currentChar()){case"{":return x(g,d)||k(d);case"}":return f(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return O(g,d)||k(d);default:{if(V(g))return C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return C}function K(){const{currentType:g,offset:d,startLoc:C,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=C,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Mp="parser",Ip=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Rp(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 Dp(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,n){const S=t?Zo(L,D):null,V=Sn(b,S,{domain:Mp,args:w});n(V)}}function s(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,o){const S=t?Zo(L,D):null;o(vp(b,S,w))}}function i(_,b,L){const A={type:_};return t&&(A.start=b,A.end=b,A.loc={start:L,end:L}),A}function r(_,b,L,A){t&&(_.end=b,_.loc&&(_.loc.end=L))}function l(_,b){const L=_.context(),A=i(3,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function c(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(5,A,w);return D.index=parseInt(b,10),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function u(_,b,L){const A=_.context(),{lastOffset:w,lastStartLoc:D}=A,S=i(4,w,D);return S.key=b,L===!0&&(S.modulo=!0),_.nextToken(),r(S,_.currentOffset(),_.currentPosition()),S}function f(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(9,A,w);return D.value=b.replace(Ip,Rp),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function m(_){const b=_.nextToken(),L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(8,A,w);return b.type!==12?(a(_,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,L.lastStartLoc,0),D.value="",r(D,A,w),{nextConsumeToken:b,node:D}):(b.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,ct(b)),D.value=b.value||"",r(D,_.currentOffset(),_.currentPosition()),{node:D})}function k(_,b){const L=_.context(),A=i(7,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function N(_){const b=_.context(),L=i(6,b.offset,b.startLoc);let A=_.nextToken();if(A.type===9){const w=m(_);L.modifier=w.node,A=w.nextConsumeToken||_.nextToken()}switch(A.type!==10&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=_.nextToken(),A.type===2&&(A=_.nextToken()),A.type){case 11:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=k(_,A.value||"");break;case 5:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=u(_,A.value||"");break;case 6:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=c(_,A.value||"");break;case 7:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=f(_,A.value||"");break;default:{a(_,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const w=_.context(),D=i(7,w.offset,w.startLoc);return D.value="",r(D,w.offset,w.startLoc),L.key=D,r(L,w.offset,w.startLoc),{nextConsumeToken:A,node:L}}}return r(L,_.currentOffset(),_.currentPosition()),{node:L}}function v(_){const b=_.context(),L=b.currentType===1?_.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,w=i(2,L,A);w.items=[];let D=null,S=null;do{const z=D||_.nextToken();switch(D=null,z.type){case 0:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(l(_,z.value||""));break;case 6:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(c(_,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(u(_,z.value||"",!!S)),S&&(s(_,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(f(_,z.value||""));break;case 8:{const ee=N(_);w.items.push(ee.node),D=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:_.currentOffset(),ae=b.currentType===1?b.lastEndLoc:_.currentPosition();return r(w,V,ae),w}function $(_,b,L,A){const w=_.context();let D=A.items.length===0;const S=i(1,b,L);S.cases=[],S.cases.push(A);do{const V=v(_);D||(D=V.items.length===0),S.cases.push(V)}while(w.currentType!==14);return D&&a(_,Q.MUST_HAVE_MESSAGES_IN_PLURAL,L,0),r(S,_.currentOffset(),_.currentPosition()),S}function P(_){const b=_.context(),{offset:L,startLoc:A}=b,w=v(_);return b.currentType===14?w:$(_,L,A,w)}function T(_){const b=Pp(_,Ur({},e)),L=b.context(),A=i(0,L.offset,L.startLoc);return t&&A.loc&&(A.loc.source=_),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(_)),L.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,_[L.offset]||""),r(A,b.currentOffset(),b.currentPosition()),A}return{parse:T}}function ct(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 Fp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hr(e,t){for(let n=0;nVr(n)),e}function Vr(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(v,$){i.code+=v}function c(v,$=!0){const P=$?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const $=++i.indentLevel;v&&c($)}function f(v=!0){const $=--i.indentLevel;v&&c($)}function m(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:m,helper:v=>`_${v}`,needIndent:()=>i.needIndent}}function Up(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),kn(e,t.key),t.modifier?(e.push(", "),kn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Gp(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=Gr(t.mode)?t.mode:"normal",o=Gr(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=Kp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${zr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),kn(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 Vp(e,t={}){const n=Ur({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=Dp(n).parse(e);return o?(s&&xp(r),a&&vn(r),{ast:r,code:""}):(Op(r,n),Hp(r,n))}/*! + */function Tf(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const Cf=/\{([0-9a-zA-Z]+)\}/g;function Ki(e,...t){return t.length===1&&Nf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Cf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ui=Object.assign,Gi=e=>typeof e=="string",Nf=e=>e!==null&&typeof e=="object";function zi(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Lf={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function wf(e,t,...n){const o=Ki(Lf[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},Pf={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,r=Ki((a||Pf)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=o,i}function Mf(e){throw e}const Ft=" ",If="\r",Ue=` +`,Rf="\u2028",Ff="\u2029";function Of(e){const t=e;let n=0,o=1,a=1,s=0;const r=L=>t[L]===If&&t[L+1]===Ue,i=L=>t[L]===Ue,l=L=>t[L]===Ff,c=L=>t[L]===Rf,u=L=>r(L)||i(L)||l(L)||c(L),p=()=>n,m=()=>o,$=()=>a,w=()=>s,v=L=>r(L)||l(L)||c(L)?Ue:t[L],T=()=>v(n),P=()=>v(n+s);function k(){return s=0,u(n)&&(o++,a=0),r(n)&&n++,n++,a++,t[n]}function y(){return r(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function C(L=0){s=L}function A(){const L=n+s;for(;L!==n;)k();s=0}return{index:p,line:m,column:$,peekOffset:w,charAt:v,currentChar:T,currentPeek:P,next:k,peek:y,reset:b,resetPeek:C,skipToPeek:A}}const Ht=void 0,Df=".",qi="'",xf="tokenizer";function jf(e,t={}){const n=t.location!==!1,o=Of(e),a=()=>o.index(),s=()=>Tf(o.line(),o.column(),o.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(g,d,N,...I){const G=c();if(d.column+=N,d.offset+=N,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:xf,args:I});u(E)}}function m(g,d,N){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),N!=null&&(I.value=N),I}const $=g=>m(g,14);function w(g,d){return g.currentChar()===d?(g.next(),d):(p(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Ft||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function T(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function k(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function y(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=k(I);return g.resetPeek(),G}function C(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()===qi;return g.resetPeek(),I}function A(g,d){const{currentType:N}=d;if(N!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function L(g,d){const{currentType:N}=d;if(N!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function F(g,d){const{currentType:N}=d;if(!(N===8||N===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:N}=d;if(N!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Ft||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),N=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:N,hasSpace:d.length>0}}function z(g,d=!0){const N=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),N(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Ft||B===Ue):R===Ft?(g.peek(),N(!0,Ft,E)):R===Ue?(g.peek(),N(!0,Ue,E)):!0},I=N();return d&&g.resetPeek(),I}function ee(g,d){const N=g.currentChar();return N===Ht?Ht:d(N)?(g.next(),N):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function O(g){return ee(g,Y)}function j(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 q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function re(g){return ee(g,ge)}function pe(g){let d="",N="";for(;d=X(g);)N+=d;return N}function oe(g){T(g);const d=g.currentChar();return d!=="%"&&p(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const N=g.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(z(g))d+=N,g.next();else break;else if(N===Ft||N===Ue)if(z(g))d+=N,g.next();else{if(V(g))break;d+=N,g.next()}else d+=N,g.next()}return d}function we(g){T(g);let d="",N="";for(;d=q(g);)N+=d;return g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N}function Re(g){T(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${pe(g)}`):d+=pe(g),g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qi&&g!==Ue}function nt(g){T(g),w(g,"'");let d="",N="";for(;d=ee(g,Ye);)d==="\\"?N+=Zt(g):N+=d;const I=g.currentChar();return I===Ue||I===Ht?(p(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),w(g,"'")),N):(w(g,"'"),N)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return p(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,N){w(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Ft?N:(N+=I,g.next(),d(N))};return d("")}function M(g){T(g);const d=w(g,"|");return T(g),d}function x(g,d){let N=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&p(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),N=m(d,2,"{"),T(g),d.braceNest++,N;case"}":return d.braceNest>0&&d.currentType===2&&p(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),N=m(d,3,"}"),d.braceNest--,d.braceNest>0&&T(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),N;case"@":return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=D(g,d)||$(d),d.braceNest=0,N;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=y(g,d))return N=m(d,5,we(g)),T(g),N;if(B=b(g,d))return N=m(d,6,Re(g)),T(g),N;if(E=C(g,d))return N=m(d,7,nt(g)),T(g),N;if(!G&&!B&&!E)return N=m(d,13,f(g)),p(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,N.value),T(g),N;break}}return N}function D(g,d){const{currentType:N}=d;let I=null;const G=g.currentChar();switch((N===8||N===9||N===12||N===10)&&(G===Ue||G===Ft)&&p(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return T(g),g.next(),m(d,9,".");case":":return T(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||F(g,d)?(T(g),D(g,d)):L(g,d)?(T(g),m(d,12,_(g))):S(g,d)?(T(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(N===8&&p(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let N={type:14};if(d.braceNest>0)return x(g,d)||$(d);if(d.inLinked)return D(g,d)||$(d);switch(g.currentChar()){case"{":return x(g,d)||$(d);case"}":return p(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return D(g,d)||$(d);default:{if(V(g))return N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return N}function K(){const{currentType:g,offset:d,startLoc:N,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=N,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Bf="parser",Kf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Uf(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 Gf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,n){const S=t?Zo(C,F):null,V=Sn(b,S,{domain:Bf,args:L});n(V)}}function s(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,o){const S=t?Zo(C,F):null;o(wf(b,S,L))}}function r(y,b,C){const A={type:y};return t&&(A.start=b,A.end=b,A.loc={start:C,end:C}),A}function i(y,b,C,A){t&&(y.end=b,y.loc&&(y.loc.end=C))}function l(y,b){const C=y.context(),A=r(3,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function c(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(5,A,L);return F.index=parseInt(b,10),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function u(y,b,C){const A=y.context(),{lastOffset:L,lastStartLoc:F}=A,S=r(4,L,F);return S.key=b,C===!0&&(S.modulo=!0),y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function p(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(9,A,L);return F.value=b.replace(Kf,Uf),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function m(y){const b=y.nextToken(),C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(8,A,L);return b.type!==12?(a(y,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,C.lastStartLoc,0),F.value="",i(F,A,L),{nextConsumeToken:b,node:F}):(b.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,ct(b)),F.value=b.value||"",i(F,y.currentOffset(),y.currentPosition()),{node:F})}function $(y,b){const C=y.context(),A=r(7,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function w(y){const b=y.context(),C=r(6,b.offset,b.startLoc);let A=y.nextToken();if(A.type===9){const L=m(y);C.modifier=L.node,A=L.nextConsumeToken||y.nextToken()}switch(A.type!==10&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=y.nextToken(),A.type===2&&(A=y.nextToken()),A.type){case 11:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=$(y,A.value||"");break;case 5:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=u(y,A.value||"");break;case 6:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=c(y,A.value||"");break;case 7:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=p(y,A.value||"");break;default:{a(y,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const L=y.context(),F=r(7,L.offset,L.startLoc);return F.value="",i(F,L.offset,L.startLoc),C.key=F,i(C,L.offset,L.startLoc),{nextConsumeToken:A,node:C}}}return i(C,y.currentOffset(),y.currentPosition()),{node:C}}function v(y){const b=y.context(),C=b.currentType===1?y.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,L=r(2,C,A);L.items=[];let F=null,S=null;do{const z=F||y.nextToken();switch(F=null,z.type){case 0:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(l(y,z.value||""));break;case 6:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(c(y,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(u(y,z.value||"",!!S)),S&&(s(y,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(p(y,z.value||""));break;case 8:{const ee=w(y);L.items.push(ee.node),F=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:y.currentOffset(),ae=b.currentType===1?b.lastEndLoc:y.currentPosition();return i(L,V,ae),L}function T(y,b,C,A){const L=y.context();let F=A.items.length===0;const S=r(1,b,C);S.cases=[],S.cases.push(A);do{const V=v(y);F||(F=V.items.length===0),S.cases.push(V)}while(L.currentType!==14);return F&&a(y,Q.MUST_HAVE_MESSAGES_IN_PLURAL,C,0),i(S,y.currentOffset(),y.currentPosition()),S}function P(y){const b=y.context(),{offset:C,startLoc:A}=b,L=v(y);return b.currentType===14?L:T(y,C,A,L)}function k(y){const b=jf(y,Ui({},e)),C=b.context(),A=r(0,C.offset,C.startLoc);return t&&A.loc&&(A.loc.source=y),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(y)),C.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,y[C.offset]||""),i(A,b.currentOffset(),b.currentPosition()),A}return{parse:k}}function ct(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 zf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hi(e,t){for(let n=0;nVi(n)),e}function Vi(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;nr;function l(v,T){r.code+=v}function c(v,T=!0){const P=T?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const T=++r.indentLevel;v&&c(T)}function p(v=!0){const T=--r.indentLevel;v&&c(T)}function m(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:v=>`_${v}`,needIndent:()=>r.needIndent}}function Jf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),$n(e,t.key),t.modifier?(e.push(", "),$n(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Xf(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=Gi(t.mode)?t.mode:"normal",o=Gi(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",r=e.helpers||[],i=Yf(e,{filename:o,breakLineCode:a,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${zi(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),$n(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function th(e,t={}){const n=Ui({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,i=Gf(n).parse(e);return o?(s&&Hf(i),a&&vn(i),{ast:i,code:""}):(qf(i,n),eh(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wr=["b","body"];function Yp(e){return Vt(e,Wr)}const Yr=["c","cases"];function Jp(e){return Vt(e,Yr,[])}const Jr=["s","static"];function Xp(e){return Vt(e,Jr)}const Xr=["i","items"];function Zp(e){return Vt(e,Xr,[])}const Zr=["t","type"];function Xa(e){return Vt(e,Zr)}const Qr=["v","value"];function Qo(e,t){const n=Vt(e,Qr);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function Qp(e){return Vt(e,el)}const tl=["k","key"];function eh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},m[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,i===void 0||(i=sh(i),i===!1))return!1;m[1]()}};function k(){const N=e[n+1];if(o===5&&N==="'"||o===6&&N==='"')return n++,r="\\"+N,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&k())){if(l=ah(s),f=Wt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function rh(e,t){return ue(e)?e[t]:null}function lh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=ih(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,uh=e=>"",gh="text",dh=e=>e.length===0?"":bp(e),fh=mp;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ph(e){const t=$e(e.pluralIndex)?e.pluralIndex:-1;return e.named&&($e(e.named.count)||$e(e.named.n))?$e(e.named.count)?e.named.count:$e(e.named.n)?e.named.n:t:t}function hh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function mh(e={}){const t=e.locale,n=ph(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],i=e.list||[],r=P=>i[P],l=e.named||me();$e(e.pluralIndex)&&hh(n,l);const c=P=>l[P];function u(P){const T=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return T||(e.parent?e.parent.message(P):uh)}const f=P=>e.modifiers?e.modifiers[P]:ch,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:dh,k=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:fh,N=ne(e.processor)&&H(e.processor.type)?e.processor.type:gh,$={list:r,named:c,plural:s,linked:(P,...T)=>{const[_,b]=T;let L="text",A="";T.length===1?ue(_)?(A=_.modifier||A,L=_.type||L):H(_)&&(A=_||A):T.length===2&&(H(_)&&(A=_||A),H(b)&&(L=b||L));const w=u(P)($),D=L==="vnode"&&ke(w)&&A?w[0]:w;return A?f(A)(D,L):D},message:u,type:N,interpolate:k,normalize:m,values:Oe(me(),i,l)};return $}let eo=null;function bh(e){eo=e}function _h(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const yh=Ah("function:translate");function Ah(e){return t=>eo&&eo.emit(e,t)}const Sh=Ya.__EXTEND_POINT__,rn=Yo(Sh),vh={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()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,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 St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?il(t.locale):il(e.locale)}let Qa;function il(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if(hp(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function kh(e,t,n){return[...new Set([n,...ke(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function rl(e,t,n){const o=H(n)?n:Tn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;ke(i);)i=ll(s,i,t);const r=ke(t)||!ne(t)?t:t.default?t.default:null;i=H(r)?[r]:r,ke(i)&&ll(s,i,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Lh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let fl;function Ch(e){fl=e}let pl;function wh(e){pl=e}let hl=null;const Nh=e=>{hl=e},Ph=()=>hl;let ml=null;const bl=e=>{ml=e},Mh=()=>ml;let _l=0;function Ih(e={}){const t=Ae(e.onWarn)?e.onWarn:lp,n=H(e.version)?e.version:$h,o=H(e.locale)||Ae(e.locale)?e.locale:Tn,a=Ae(o)?Tn:o,s=ke(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ne(e.messages)?e.messages:es(a),r=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=Oe(me(),e.modifiers,Lh()),u=e.pluralRules||me(),f=Ae(e.missing)?e.missing:null,m=re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,k=re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,N=!!e.fallbackFormat,v=!!e.unresolving,$=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,T=re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,L=Ae(e.messageResolver)?e.messageResolver:fl||rh,A=Ae(e.localeFallbacker)?e.localeFallbacker:pl||kh,w=ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,S=ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,V=ue(D.__numberFormatters)?D.__numberFormatters:new Map,ae=ue(D.__meta)?D.__meta:{};_l++;const z={version:n,cid:_l,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:N,unresolving:v,postTranslation:$,processor:P,warnHtmlMessage:T,escapeParameter:_,messageCompiler:b,messageResolver:L,localeFallbacker:A,fallbackContext:w,onWarn:t,__meta:ae};return z.datetimeFormats=r,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&_h(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return H(r)?r:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Rh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Dh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oFh(n,e)}function Fh(e,t){const n=Yp(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=Jp(n);return e.plural(s.reduce((i,r)=>[...i,yl(e,r)],[]))}else return yl(e,n)}function yl(e,t){const n=Xp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Zp(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&$e(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&$e(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=Qp(o),s=eh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Tp;return t.onError=a=>{n=!0,o(a)},{...Vp(e,t),detectError:n}}const Oh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:i}=Sl(e,t),r=new Function(`return ${s}`)();return i?r:En[o]=r}};function xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:i}=Sl(e,{...t,location:!1,jit:!0}),r=ns(s);return i?r:En[o]=r}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function kl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=as(...t),u=re(c.missingWarn)?c.missingWarn:e.missingWarn,f=re(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=re(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,N=H(c.default)||re(c.default)?re(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||N!=="",$=Za(e,c);m&&jh(c);let[P,T,_]=k?[l,$,r[$]||me()]:Tl(e,l,$,i,f,u),b=P,L=l;if(!k&&!(H(b)||At(b)||et(b))&&v&&(b=N,L=b),!k&&(!(H(b)||At(b)||et(b))||!H(T)))return a?ea:l;let A=!1;const w=()=>{A=!0},D=et(b)?b:El(e,l,T,b,L,w);if(A)return b;const S=Uh(e,T,_,c),V=mh(S),ae=Bh(e,D,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=fp(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:T||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=Oe({},e.__meta,Ph()||{}),yh(ee)}return z}function jh(e){ke(e.list)?e.list=e.list.map(t=>H(t)?Or(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Or(e.named[t]))})}function Tl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=me(),m,k=null;const N="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=i(o,Kh(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function Bh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!$e(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=$e(t)?String(t):(et(t),t);return $e(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:ke(n)&&(a.list=n),$e(o)?a.plural=o:H(o)?a.default=o:ne(o)&&Oe(a,o),[s,a]}function Kh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>cp(t,n,i)}}function Uh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:k=>{let N=i(n,k);if(N==null&&u){const[,,v]=Tl(u,k,t,r,l,c);N=i(v,k)}if(H(N)||At(N)){let v=!1;const P=El(e,k,t,N,k,()=>{v=!0});return v?vl:P}else return et(N)?N:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),$e(o.plural)&&(m.pluralIndex=o.plural),m}function $l(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ss(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.DateTimeFormat(N,f).format(c);let $={},P,T=null;const _="datetime format";for(let A=0;A{Ll.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(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.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function wl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=is(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.NumberFormat(N,f).format(c);let $={},P,T=null;const _="number format";for(let A=0;A{Nl.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Wp();/*! + */function nh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wi=["b","body"];function oh(e){return Vt(e,Wi)}const Yi=["c","cases"];function ah(e){return Vt(e,Yi,[])}const Ji=["s","static"];function sh(e){return Vt(e,Ji)}const Xi=["i","items"];function rh(e){return Vt(e,Xi,[])}const Zi=["t","type"];function Xa(e){return Vt(e,Zi)}const Qi=["v","value"];function Qo(e,t){const n=Vt(e,Qi);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function ih(e){return Vt(e,el)}const tl=["k","key"];function lh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{r===void 0?r=i:r+=i},m[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,r===void 0||(r=ph(r),r===!1))return!1;m[1]()}};function $(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,i="\\"+w,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&$())){if(l=dh(s),p=Wt[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function hh(e,t){return ue(e)?e[t]:null}function mh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=fh(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,yh=e=>"",_h="text",Ah=e=>e.length===0?"":Ef(e),Sh=kf;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function vh(e){const t=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:t:t}function $h(e,t){t.count||(t.count=e),t.n||(t.n=e)}function kh(e={}){const t=e.locale,n=vh(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],r=e.list||[],i=P=>r[P],l=e.named||me();Te(e.pluralIndex)&&$h(n,l);const c=P=>l[P];function u(P){const k=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return k||(e.parent?e.parent.message(P):yh)}const p=P=>e.modifiers?e.modifiers[P]:bh,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:Ah,$=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:Sh,w=ne(e.processor)&&H(e.processor.type)?e.processor.type:_h,T={list:i,named:c,plural:s,linked:(P,...k)=>{const[y,b]=k;let C="text",A="";k.length===1?ue(y)?(A=y.modifier||A,C=y.type||C):H(y)&&(A=y||A):k.length===2&&(H(y)&&(A=y||A),H(b)&&(C=b||C));const L=u(P)(T),F=C==="vnode"&&$e(L)&&A?L[0]:L;return A?p(A)(F,C):F},message:u,type:w,interpolate:$,normalize:m,values:De(me(),r,l)};return T}let eo=null;function Eh(e){eo=e}function Th(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Ch=Nh("function:translate");function Nh(e){return t=>eo&&eo.emit(e,t)}const Lh=Ya.__EXTEND_POINT__,rn=Yo(Lh),wh={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()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,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 St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?rl(t.locale):rl(e.locale)}let Qa;function rl(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if($f(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function Ph(e,t,n){return[...new Set([n,...$e(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function il(e,t,n){const o=H(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let r=[n];for(;$e(r);)r=ll(s,r,t);const i=$e(t)||!ne(t)?t:t.default?t.default:null;r=H(i)?[i]:i,$e(r)&&ll(s,r,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Fh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let pl;function Oh(e){pl=e}let fl;function Dh(e){fl=e}let hl=null;const xh=e=>{hl=e},jh=()=>hl;let ml=null;const bl=e=>{ml=e},Bh=()=>ml;let yl=0;function Kh(e={}){const t=Ae(e.onWarn)?e.onWarn:mf,n=H(e.version)?e.version:Rh,o=H(e.locale)||Ae(e.locale)?e.locale:kn,a=Ae(o)?kn:o,s=$e(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ne(e.messages)?e.messages:es(a),i=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=De(me(),e.modifiers,Fh()),u=e.pluralRules||me(),p=Ae(e.missing)?e.missing:null,m=ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,$=ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,v=!!e.unresolving,T=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,k=ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,C=Ae(e.messageResolver)?e.messageResolver:pl||hh,A=Ae(e.localeFallbacker)?e.localeFallbacker:fl||Ph,L=ue(e.fallbackContext)?e.fallbackContext:void 0,F=e,S=ue(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,V=ue(F.__numberFormatters)?F.__numberFormatters:new Map,ae=ue(F.__meta)?F.__meta:{};yl++;const z={version:n,cid:yl,locale:o,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:$,fallbackFormat:w,unresolving:v,postTranslation:T,processor:P,warnHtmlMessage:k,escapeParameter:y,messageCompiler:b,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:ae};return z.datetimeFormats=i,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&Th(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,n,t,a);return H(i)?i:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Uh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Gh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;ozh(n,e)}function zh(e,t){const n=oh(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=ah(n);return e.plural(s.reduce((r,i)=>[...r,_l(e,i)],[]))}else return _l(e,n)}function _l(e,t){const n=sh(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=rh(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&Te(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&Te(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=ih(o),s=lh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Mf;return t.onError=a=>{n=!0,o(a)},{...th(e,t),detectError:n}}const qh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:r}=Sl(e,t),i=new Function(`return ${s}`)();return r?i:En[o]=i}};function Hh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:r}=Sl(e,{...t,location:!1,jit:!0}),i=ns(s);return r?i:En[o]=i}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function $l(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=as(...t),u=ie(c.missingWarn)?c.missingWarn:e.missingWarn,p=ie(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=ie(c.escapeParameter)?c.escapeParameter:e.escapeParameter,$=!!c.resolvedMessage,w=H(c.default)||ie(c.default)?ie(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||w!=="",T=Za(e,c);m&&Vh(c);let[P,k,y]=$?[l,T,i[T]||me()]:kl(e,l,T,r,p,u),b=P,C=l;if(!$&&!(H(b)||At(b)||et(b))&&v&&(b=w,C=b),!$&&(!(H(b)||At(b)||et(b))||!H(k)))return a?ea:l;let A=!1;const L=()=>{A=!0},F=et(b)?b:El(e,l,k,b,C,L);if(A)return b;const S=Jh(e,k,y,c),V=kh(S),ae=Wh(e,F,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=Sf(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:k||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=De({},e.__meta,jh()||{}),Ch(ee)}return z}function Vh(e){$e(e.list)?e.list=e.list.map(t=>H(t)?Di(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Di(e.named[t]))})}function kl(e,t,n,o,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=me(),m,$=null;const w="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=r(o,Yh(e,n,a,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function Wh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!Te(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=Te(t)?String(t):(et(t),t);return Te(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:$e(n)&&(a.list=n),Te(o)?a.plural=o:H(o)?a.default=o:ne(o)&&De(a,o),[s,a]}function Yh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>bf(t,n,r)}}function Jh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:$=>{let w=r(n,$);if(w==null&&u){const[,,v]=kl(u,$,t,i,l,c);w=r(v,$)}if(H(w)||At(w)){let v=!1;const P=El(e,$,t,w,$,()=>{v=!0});return v?vl:P}else return et(w)?w:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),Te(o.plural)&&(m.pluralIndex=o.plural),m}function Tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ss(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.DateTimeFormat(w,p).format(c);let T={},P,k=null;const y="datetime format";for(let A=0;A{Cl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Nl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Ll(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,p]=rs(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.NumberFormat(w,p).format(c);let T={},P,k=null;const y="number format";for(let A=0;A{wl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}nh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Gh="9.14.5";function zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const qh=vh.__EXTEND_POINT__,Ft=Yo(qh);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),we={UNEXPECTED_RETURN_TYPE:Ml,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function Ie(e,...t){return Sn(e,null,void 0)}const rs=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(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]||me(),Xo(c,i[l])):Xo(c,i)}else H(r)&&Xo(JSON.parse(r),i)}),a==null&&s)for(const r in i)lt(i,r)&&no(i[r]);return i}function Dl(e){return e.type}function Fl(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Ol(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],Hh=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const Vh=()=>{const e=Mt();let t=null;return e&&(t=Dl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Vo?he:va,r=!!e.translateExistCompatible;let l=re(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:H(e.locale)?e.locale:Tn),u=i(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(ta(c.value,e)),m=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let N=n?n.missingWarn:re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,$=n?n.fallbackRoot:re(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,T=Ae(e.missing)?e.missing:null,_=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,L=n?n.warnHtmlMessage:re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const w=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let D=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Gh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:w,pluralRules:D,missing:_===null?void 0:_,missingWarn:N,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:L,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=k.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Ih(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,f.value,m.value,k.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>f.value),F=be(()=>m.value),j=be(()=>k.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return T}function ge(E){E!==null&&(_=Kl(E)),T=E,S.missing=_}const ie=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Mh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&$e(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Fs]=R();return n&&$?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(we.UNEXPECTED_RETURN_TYPE)}};function fe(...E){return ie(R=>Reflect.apply(kl,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(we.INVALID_ARGUMENT);return fe(R,J,Oe({resolvedMessage:!0},se||{}))}function le(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function Ne(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||$e(R)||re(R)?Ol(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return ie(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply(kl,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[rs](...E),R=>[Ol(R)],R=>ke(R))}function ot(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||ke(R))}function Ln(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||ke(R))}function p(E){D=E,S.pluralRules=D}function y(E,R){return ie(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return r?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),Hh,J=>re(J))}function h(E){let R=null;const J=rl(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return w},get pluralRules(){return D||{}},get isGlobal(){return a},get missingWarn(){return N},set missingWarn(E){N=E,S.missingWarn=N},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return $},set fallbackRoot(E){$=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return L},set warnHtmlMessage(E){L=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:fe,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:p};return B.datetimeFormats=F,B.numberFormats=j,B.rt=oe,B.te=y,B.tm=M,B.d=le,B.n=Ne,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=C,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[rs]=Zt,B[ls]=Ln,B[cs]=ot,B}function Wh(e){const t=H(e.locale)?e.locale:Tn,n=H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=re(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=re(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=re(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,f=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=re(e.sync)?e.sync:!0;let N=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;N=Object.keys(A).reduce((D,S)=>{const V=D[S]||(D[S]={});return Oe(V,A[S]),D},N||{})}const{__i18n:v,__root:$,__injectWithOption:P}=e,T=e.datetimeFormats,_=e.numberFormats,b=e.flatJson,L=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:N,flatJson:b,datetimeFormats:T,numberFormats:_,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:L,__i18n:v,__root:$,__injectWithOption:P}}function ds(e={},t){{const n=gs(Wh(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 re(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=re(s)?!s:s},get silentFallbackWarn(){return re(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=re(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,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:ke(r)?u=r:ne(r)&&(f=r),ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:$e(r)?c.plural=r:ke(r)?u=r:ne(r)&&(f=r),H(l)?c.locale=l:ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},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 fs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({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},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:Oe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$e(e)||!isNaN(e)}},fs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||ps({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=me();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=H(e.plural)?+e.plural:e.plural);const r=Yh(t,s),l=a[rs](e.keypath,r,i),c=Oe(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(u,c,l)}}});function Jh(e){return ke(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=me();e.locale&&(i.locale=e.locale),H(e.format)?i.key=e.format:ue(e.format)&&(H(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((m,k)=>n.includes(k)?Oe(me(),m,{[k]:e.format[k]}):m,me()));const l=o(e.value,i,r);let c=[i.key];ke(l)?c=l.map((m,k)=>{const N=a[m.type],v=N?N({[m.type]:m.value,index:k,parts:l}):[m.value];return Jh(v)&&(v[0].key=`${m.type}-${k}`),v}):H(l)&&(c=[l]);const u=Oe(me(),s),f=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(f,u,c)}}const ql=Bn({name:"i18n-n",props:Oe({value:{type:Number,required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Nl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:Oe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Ll,(...o)=>n[ls](...o))}});function Xh(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 Zh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw Ie(we.UNEXPECTED_ERROR);const u=Xh(e,r.$),f=Vl(c);return[Reflect.apply(u.t,u,[...Wl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Vo&&e.global===c&&(i.__i18nWatcher=Ut(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Vo&&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=Vl(r);i.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(we.REQUIRED_VALUE,"path");return e}else throw Ie(we.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return H(n)&&(i.locale=n),$e(a)&&(i.plural=a),$e(s)&&(i.plural=s),[t,r,i]}function Qh(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(re(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(i=>e.component(i,Gl)),[ql.name,"I18nN"].forEach(i=>e.component(i,ql)),[Hl.name,"I18nD"].forEach(i=>e.component(i,Hl))),e.directive("t",Zh(t))}function em(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(we.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=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ds(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yl(e,a);else{this.$i18n=ds({__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&&Fl(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=Mt();if(!o)throw Ie(we.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 Yl(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[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(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 tm=zt("global-vue-i18n");function nm(e={},t){const n=__VUE_I18N_LEGACY_API__&&re(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=re(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=om(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,k){s.set(m,k)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(k,...N){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),ne(N[0])){const P=N[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=dm(k,m.global)),__VUE_I18N_FULL_INSTALL__&&Qh(k,m,...N),__VUE_I18N_LEGACY_API__&&n&&k.mixin(em(r,r.__composer,m));const $=k.unmount;k.unmount=()=>{v&&v(),m.dispose(),$()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function ps(e={}){const t=Mt();if(t==null)throw Ie(we.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(we.NOT_INSTALLED);const n=am(t),o=im(n),a=Dl(t),s=sm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(we.NOT_AVAILABLE_IN_LEGACY_MODE);return um(t,s,o,e)}if(s==="global")return Fl(o,e,a),o;if(s==="parent"){let l=rm(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Oe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=gs(l),i.__composerExtend&&(r[us]=i.__composerExtend(r)),cm(i,t,r),i.__setInstance(t,r)}return r}function om(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(we.UNEXPECTED_ERROR);return[o,a]}}function am(e){{const t=De(e.isCE?tm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?we.NOT_INSTALLED_WITH_PROVIDE:we.UNEXPECTED_ERROR);return t}}function sm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function im(e){return e.mode==="composition"?e.global:e.global.__composer}function rm(e,t,n=!1){let o=null;const a=t.root;let s=lm(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[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function lm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cm(e,t,n){Gn(()=>{},t),Fo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function um(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(we.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=re(o.inheritLocale)?o.inheritLocale:!H(o.locale),r=he(!a||i?n.locale.value:H(o.locale)?o.locale:Tn),l=he(!a||i?n.fallbackLocale.value:H(o.fallbackLocale)||ke(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=he(ta(r.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=he(ne(o.numberFormats)?o.numberFormats:{[r.value]:{}}),m=a?n.missingWarn:re(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,k=a?n.fallbackWarn:re(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,N=a?n.fallbackRoot:re(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,$=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,T=a?n.warnHtmlMessage:re(o.warnHtmlMessage)?o.warnHtmlMessage:!0,_=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},L=o.pluralRules||a&&n.pluralRules;function A(){return[r.value,l.value,c.value,u.value,f.value]}const w=be({get:()=>s.value?s.value.locale.value:r.value,set:h=>{s.value&&(s.value.locale.value=h),r.value=h}}),D=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>f.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():$}function F(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function ie(h){return s.value?s.value.tm(h):{}}function fe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function Ne(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),f.value[h]=M)}function Ln(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const p={get id(){return s.value?s.value.id:-1},locale:w,fallbackLocale:D,messages:S,datetimeFormats:V,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},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:L},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:k},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:N},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:T},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:_},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:F,rt:W,d:X,n:ge,tm:ie,te:fe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:Ne,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Ln};function y(h){h.locale.value=r.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(f.value).forEach(M=>{h.mergeNumberFormat(M,f.value[M])}),h.escapeParameter=_,h.fallbackFormat=v,h.fallbackRoot=N,h.fallbackWarn=k,h.missingWarn=m,h.warnHtmlMessage=T}return wi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(we.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,u.value=h.datetimeFormats.value,f.value=h.numberFormats.value):a&&y(h)}),p}const gm=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function dm(e,t){const n=Object.create(null);return gm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(we.UNEXPECTED_ERROR);const i=Te(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,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(we.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(zh(),__INTLIFY_JIT_COMPILATION__?dl(xh):dl(Oh),Ch(lh),wh(rl),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,bh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const fm=Object.assign({"./locales/ar/aria.json":_d,"./locales/ar/buttons.json":yd,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":kd,"./locales/ar/prayerLaps.json":Td,"./locales/ar/search.json":Ed,"./locales/ar/tabs.json":$d,"./locales/de/aria.json":Ld,"./locales/de/buttons.json":Cd,"./locales/de/detail.json":wd,"./locales/de/legend.json":Nd,"./locales/de/messages.json":Pd,"./locales/de/options.json":Md,"./locales/de/prayerLaps.json":Id,"./locales/de/search.json":Rd,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":Fd,"./locales/en/buttons.json":Od,"./locales/en/detail.json":xd,"./locales/en/legend.json":jd,"./locales/en/messages.json":Bd,"./locales/en/options.json":Kd,"./locales/en/popup.json":Ud,"./locales/en/prayerLaps.json":Gd,"./locales/en/search.json":zd,"./locales/en/tabs.json":qd,"./locales/es/aria.json":Hd,"./locales/es/buttons.json":Vd,"./locales/es/detail.json":Wd,"./locales/es/legend.json":Yd,"./locales/es/messages.json":Jd,"./locales/es/options.json":Xd,"./locales/es/prayerLaps.json":Zd,"./locales/es/search.json":Qd,"./locales/es/tabs.json":ef,"./locales/fr/aria.json":tf,"./locales/fr/buttons.json":nf,"./locales/fr/detail.json":of,"./locales/fr/legend.json":af,"./locales/fr/messages.json":sf,"./locales/fr/options.json":rf,"./locales/fr/popup.json":lf,"./locales/fr/prayerLaps.json":cf,"./locales/fr/search.json":uf,"./locales/fr/tabs.json":gf,"./locales/hi/aria.json":df,"./locales/hi/buttons.json":ff,"./locales/hi/detail.json":pf,"./locales/hi/legend.json":hf,"./locales/hi/messages.json":mf,"./locales/hi/options.json":bf,"./locales/hi/prayerLaps.json":_f,"./locales/hi/search.json":yf,"./locales/it/aria.json":Af,"./locales/it/buttons.json":Sf,"./locales/it/detail.json":vf,"./locales/it/legend.json":kf,"./locales/it/messages.json":Tf,"./locales/it/options.json":Ef,"./locales/it/prayerLaps.json":$f,"./locales/it/search.json":Lf,"./locales/pt/aria.json":Cf,"./locales/pt/buttons.json":wf,"./locales/pt/detail.json":Nf,"./locales/pt/legend.json":Pf,"./locales/pt/messages.json":Mf,"./locales/pt/options.json":If,"./locales/pt/prayerLaps.json":Rf,"./locales/pt/search.json":Df,"./locales/pt/tabs.json":Ff,"./locales/ro/aria.json":Of,"./locales/ro/buttons.json":xf,"./locales/ro/detail.json":jf,"./locales/ro/legend.json":Bf,"./locales/ro/messages.json":Kf,"./locales/ro/options.json":Uf,"./locales/ro/prayerLaps.json":Gf,"./locales/ro/search.json":zf,"./locales/ru/aria.json":qf,"./locales/ru/buttons.json":Hf,"./locales/ru/detail.json":Vf,"./locales/ru/legend.json":Wf,"./locales/ru/messages.json":Yf,"./locales/ru/options.json":Jf,"./locales/ru/prayerLaps.json":Xf,"./locales/ru/search.json":Zf,"./locales/ru/tabs.json":Qf,"./locales/zh/aria.json":ep,"./locales/zh/buttons.json":tp,"./locales/zh/detail.json":np,"./locales/zh/legend.json":op,"./locales/zh/messages.json":ap,"./locales/zh/options.json":sp,"./locales/zh/prayerLaps.json":ip,"./locales/zh/search.json":rp}),oo={};for(const[e,t]of Object.entries(fm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function pm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function hm(){return nm({legacy:!1,globalInjection:!0,locale:pm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||mm(e);Gn(()=>{var r;const o=Mt();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 mm(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var $;return(($=n==null?void 0:n.value)==null?void 0:$.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),i=he(null);let r=null,l=null,c=null,u=null,f=null;function m(){s.value=!1}function k($,P){var _;let T=$==null?void 0:$.parentElement;for(let b=0;T&&b<12;b++,T=T.parentElement){if(T===P||(_=T.classList)!=null&&_.contains("profile-loader"))return null;let L="";try{L=getComputedStyle(T).position}catch{}if(L&&L!=="static"){const A=T.getBoundingClientRect();if(A.height>=120&&A.width>=160)return T}}return null}function N(){const $=i.value;if($)try{$.style.removeProperty("--pin-hint-lift");const P=$.getBoundingClientRect();if(!P.height)return;const T=Math.round(P.bottom-window.innerHeight);T>0&&$.style.setProperty("--pin-hint-lift",T+8+"px")}catch{}}function v($){const P=i.value;if(!P||!($!=null&&$.querySelector))return;let T=0;try{const b=$.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const L=b.getBoundingClientRect(),A=P.parentElement,w=A?A.getBoundingClientRect():null;if(T=w?Math.max(L.height||0,w.bottom-L.top):L.height||0,f!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}f=b,c=new ResizeObserver(()=>v($)),c.observe(b)}}}catch{}const _=Math.min(Math.max(Math.ceil(T)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",_+"px"),N()}return Gn(()=>{var _,b,L;const $=Mt(),P=(L=(b=(_=$==null?void 0:$.proxy)==null?void 0:_.$el)==null?void 0:b.getRootNode)==null?void 0:L.call(b);if(!P||typeof P.querySelector!="function")return;let T=0;r=setInterval(()=>{T++;const A=P.querySelector("canvas");A?(clearInterval(r),r=null,s.value=!0,Co(()=>{const w=k(A,P),D=i.value;if(w&&D&&D.parentElement!==w)try{w.appendChild(D),l=w}catch{}v(P),N();try{const S=i.value&&i.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>N()),u.observe(S)}}catch{}})):T>40&&(clearInterval(r),r=null)},300)}),Do(()=>{var $;if(r&&clearInterval(r),c){try{c.disconnect()}catch{}c=null}if(f=null,u){try{u.disconnect()}catch{}u=null}if(l&&(($=i.value)==null?void 0:$.parentElement)===l)try{l.removeChild(i.value)}catch{}l=null}),Zl(` + */const Xh="9.14.5";function Zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Qh=wh.__EXTEND_POINT__,Ot=Yo(Qh);Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),Le={UNEXPECTED_RETURN_TYPE:Ml,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function Ie(e,...t){return Sn(e,null,void 0)}const is=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||me(),Xo(c,r[l])):Xo(c,r)}else H(i)&&Xo(JSON.parse(i),r)}),a==null&&s)for(const i in r)lt(r,i)&&no(r[i]);return r}function Fl(e){return e.type}function Ol(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Dl(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],em=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const tm=()=>{const e=Mt();let t=null;return e&&(t=Fl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,r=Vo?he:va,i=!!e.translateExistCompatible;let l=ie(e.inheritLocale)?e.inheritLocale:!0;const c=r(n&&l?n.locale.value:H(e.locale)?e.locale:kn),u=r(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=r(ta(c.value,e)),m=r(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),$=r(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=n?n.missingWarn:ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,T=n?n.fallbackRoot:ie(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,k=Ae(e.missing)?e.missing:null,y=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,C=n?n.warnHtmlMessage:ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const L=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Xh,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:F,missing:y===null?void 0:y,missingWarn:w,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:C,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=$.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Kh(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,p.value,m.value,$.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>p.value),O=be(()=>m.value),j=be(()=>$.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return k}function ge(E){E!==null&&(y=Kl(E)),k=E,S.missing=y}const re=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Bh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&Te(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Os]=R();return n&&T?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(Le.UNEXPECTED_RETURN_TYPE)}};function pe(...E){return re(R=>Reflect.apply($l,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(Le.INVALID_ARGUMENT);return pe(R,J,De({resolvedMessage:!0},se||{}))}function le(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function we(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||Te(R)||ie(R)?Dl(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return re(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply($l,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[is](...E),R=>[Dl(R)],R=>$e(R))}function ot(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||$e(R))}function Cn(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||$e(R))}function f(E){F=E,S.pluralRules=F}function _(E,R){return re(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return i?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),em,J=>ie(J))}function h(E){let R=null;const J=il(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:Y,get modifiers(){return L},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(E){w=E,S.missingWarn=w},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return T},set fallbackRoot(E){T=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return C},set warnHtmlMessage(E){C=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:pe,getLocaleMessage:x,setLocaleMessage:D,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:f};return B.datetimeFormats=O,B.numberFormats=j,B.rt=oe,B.te=_,B.tm=M,B.d=le,B.n=we,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=N,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[is]=Zt,B[ls]=Cn,B[cs]=ot,B}function nm(e){const t=H(e.locale)?e.locale:kn,n=H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=ie(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ie(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ie(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,p=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,$=ie(e.sync)?e.sync:!0;let w=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;w=Object.keys(A).reduce((F,S)=>{const V=F[S]||(F[S]={});return De(V,A[S]),F},w||{})}const{__i18n:v,__root:T,__injectWithOption:P}=e,k=e.datetimeFormats,y=e.numberFormats,b=e.flatJson,C=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:b,datetimeFormats:k,numberFormats:y,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:$,translateExistCompatible:C,__i18n:v,__root:T,__injectWithOption:P}}function ds(e={},t){{const n=gs(nm(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 ie(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=ie(s)?!s:s},get silentFallbackWarn(){return ie(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=ie(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[r,i,l]=s,c={};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:$e(i)?u=i:ne(i)&&(p=i),$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:Te(i)?c.plural=i:$e(i)?u=i:ne(i)&&(p=i),H(l)?c.locale=l:$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},te(s,r){return n.te(s,r)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,r){n.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){n.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,r){n.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){n.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,r){n.setNumberFormat(s,r)},mergeNumberFormat(s,r){n.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=o,a}}const ps={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function om({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},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:De({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},ps),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||fs({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),r=me();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=H(e.plural)?+e.plural:e.plural);const i=om(t,s),l=a[is](e.keypath,i,r),c=De(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(u,c,l)}}});function am(e){return $e(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=me();e.locale&&(r.locale=e.locale),H(e.format)?r.key=e.format:ue(e.format)&&(H(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((m,$)=>n.includes($)?De(me(),m,{[$]:e.format[$]}):m,me()));const l=o(e.value,r,i);let c=[r.key];$e(l)?c=l.map((m,$)=>{const w=a[m.type],v=w?w({[m.type]:m.value,index:$,parts:l}):[m.value];return am(v)&&(v[0].key=`${m.type}-${$}`),v}):H(l)&&(c=[l]);const u=De(me(),s),p=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(p,u,c)}}const ql=Bn({name:"i18n-n",props:De({value:{type:Number,required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,wl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:De({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,Cl,(...o)=>n[ls](...o))}});function sm(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 rm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Ie(Le.UNEXPECTED_ERROR);const u=sm(e,i.$),p=Vl(c);return[Reflect.apply(u.t,u,[...Wl(p)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Vo&&e.global===c&&(r.__i18nWatcher=Ut(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Vo&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=Vl(i);r.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(Le.REQUIRED_VALUE,"path");return e}else throw Ie(Le.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,r={},i=o||{};return H(n)&&(r.locale=n),Te(a)&&(r.plural=a),Te(s)&&(r.plural=s),[t,i,r]}function im(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(ie(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(r=>e.component(r,Gl)),[ql.name,"I18nN"].forEach(r=>e.component(r,ql)),[Hl.name,"I18nD"].forEach(r=>e.component(r,Hl))),e.directive("t",rm(t))}function lm(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(Le.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=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ds(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yl(e,a);else{this.$i18n=ds({__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&&Ol(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,r)=>this.$i18n.te(s,r),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=Mt();if(!o)throw Ie(Le.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 Yl(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[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(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 cm=zt("global-vue-i18n");function um(e={},t){const n=__VUE_I18N_LEGACY_API__&&ie(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ie(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[r,i]=gm(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,$){s.set(m,$)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install($,...w){if($.__VUE_I18N_SYMBOL__=l,$.provide($.__VUE_I18N_SYMBOL__,m),ne(w[0])){const P=w[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=Am($,m.global)),__VUE_I18N_FULL_INSTALL__&&im($,m,...w),__VUE_I18N_LEGACY_API__&&n&&$.mixin(lm(i,i.__composer,m));const T=$.unmount;$.unmount=()=>{v&&v(),m.dispose(),T()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function fs(e={}){const t=Mt();if(t==null)throw Ie(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(Le.NOT_INSTALLED);const n=dm(t),o=fm(n),a=Fl(t),s=pm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return ym(t,s,o,e)}if(s==="global")return Ol(o,e,a),o;if(s==="parent"){let l=hm(n,t,e.__useComponent);return l==null&&(l=o),l}const r=n;let i=r.__getInstance(t);if(i==null){const l=De({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),i=gs(l),r.__composerExtend&&(i[us]=r.__composerExtend(i)),bm(r,t,i),r.__setInstance(t,i)}return i}function gm(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(Le.UNEXPECTED_ERROR);return[o,a]}}function dm(e){{const t=Fe(e.isCE?cm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function pm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fm(e){return e.mode==="composition"?e.global:e.global.__composer}function hm(e,t,n=!1){let o=null;const a=t.root;let s=mm(t,n);for(;s!=null;){const r=e;if(e.mode==="composition")o=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function mm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function bm(e,t,n){Gn(()=>{},t),Oo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function ym(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=ie(o.inheritLocale)?o.inheritLocale:!H(o.locale),i=he(!a||r?n.locale.value:H(o.locale)?o.locale:kn),l=he(!a||r?n.fallbackLocale.value:H(o.fallbackLocale)||$e(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=he(ta(i.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=he(ne(o.numberFormats)?o.numberFormats:{[i.value]:{}}),m=a?n.missingWarn:ie(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,$=a?n.fallbackWarn:ie(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,w=a?n.fallbackRoot:ie(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,T=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,k=a?n.warnHtmlMessage:ie(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},C=o.pluralRules||a&&n.pluralRules;function A(){return[i.value,l.value,c.value,u.value,p.value]}const L=be({get:()=>s.value?s.value.locale.value:i.value,set:h=>{s.value&&(s.value.locale.value=h),i.value=h}}),F=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>p.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():T}function O(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function re(h){return s.value?s.value.tm(h):{}}function pe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function we(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),p.value[h]=M)}function Cn(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const f={get id(){return s.value?s.value.id:-1},locale:L,fallbackLocale:F,messages:S,datetimeFormats:V,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},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:C},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:$},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:k},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:y},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:O,rt:W,d:X,n:ge,tm:re,te:pe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:we,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Cn};function _(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(p.value).forEach(M=>{h.mergeNumberFormat(M,p.value[M])}),h.escapeParameter=y,h.fallbackFormat=v,h.fallbackRoot=w,h.fallbackWarn=$,h.missingWarn=m,h.warnHtmlMessage=k}return Lr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(Le.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,u.value=h.datetimeFormats.value,p.value=h.numberFormats.value):a&&_(h)}),f}const _m=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function Am(e,t){const n=Object.create(null);return _m.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(Le.UNEXPECTED_ERROR);const r=ke(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,r)}),e.config.globalProperties.$i18n=n,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Zh(),__INTLIFY_JIT_COMPILATION__?dl(Hh):dl(qh),Oh(mh),Dh(il),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,Eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Sm=Object.assign({"./locales/ar/aria.json":yd,"./locales/ar/buttons.json":_d,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":$d,"./locales/ar/prayerLaps.json":kd,"./locales/ar/regions.json":Ed,"./locales/ar/search.json":Td,"./locales/ar/tabs.json":Cd,"./locales/de/aria.json":Nd,"./locales/de/buttons.json":Ld,"./locales/de/detail.json":wd,"./locales/de/legend.json":Pd,"./locales/de/messages.json":Md,"./locales/de/options.json":Id,"./locales/de/prayerLaps.json":Rd,"./locales/de/regions.json":Fd,"./locales/de/search.json":Od,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":xd,"./locales/en/buttons.json":jd,"./locales/en/detail.json":Bd,"./locales/en/legend.json":Kd,"./locales/en/messages.json":Ud,"./locales/en/options.json":Gd,"./locales/en/popup.json":zd,"./locales/en/prayerLaps.json":qd,"./locales/en/regions.json":Hd,"./locales/en/search.json":Vd,"./locales/en/tabs.json":Wd,"./locales/es/aria.json":Yd,"./locales/es/buttons.json":Jd,"./locales/es/detail.json":Xd,"./locales/es/legend.json":Zd,"./locales/es/messages.json":Qd,"./locales/es/options.json":ep,"./locales/es/prayerLaps.json":tp,"./locales/es/regions.json":np,"./locales/es/search.json":op,"./locales/es/tabs.json":ap,"./locales/fr/aria.json":sp,"./locales/fr/buttons.json":rp,"./locales/fr/detail.json":ip,"./locales/fr/legend.json":lp,"./locales/fr/messages.json":cp,"./locales/fr/options.json":up,"./locales/fr/popup.json":gp,"./locales/fr/prayerLaps.json":dp,"./locales/fr/regions.json":pp,"./locales/fr/search.json":fp,"./locales/fr/tabs.json":hp,"./locales/hi/aria.json":mp,"./locales/hi/buttons.json":bp,"./locales/hi/detail.json":yp,"./locales/hi/legend.json":_p,"./locales/hi/messages.json":Ap,"./locales/hi/options.json":Sp,"./locales/hi/prayerLaps.json":vp,"./locales/hi/regions.json":$p,"./locales/hi/search.json":kp,"./locales/it/aria.json":Ep,"./locales/it/buttons.json":Tp,"./locales/it/detail.json":Cp,"./locales/it/legend.json":Np,"./locales/it/messages.json":Lp,"./locales/it/options.json":wp,"./locales/it/prayerLaps.json":Pp,"./locales/it/search.json":Mp,"./locales/pt/aria.json":Ip,"./locales/pt/buttons.json":Rp,"./locales/pt/detail.json":Fp,"./locales/pt/legend.json":Op,"./locales/pt/messages.json":Dp,"./locales/pt/options.json":xp,"./locales/pt/prayerLaps.json":jp,"./locales/pt/regions.json":Bp,"./locales/pt/search.json":Kp,"./locales/pt/tabs.json":Up,"./locales/ro/aria.json":Gp,"./locales/ro/buttons.json":zp,"./locales/ro/detail.json":qp,"./locales/ro/legend.json":Hp,"./locales/ro/messages.json":Vp,"./locales/ro/options.json":Wp,"./locales/ro/prayerLaps.json":Yp,"./locales/ro/search.json":Jp,"./locales/ru/aria.json":Xp,"./locales/ru/buttons.json":Zp,"./locales/ru/detail.json":Qp,"./locales/ru/legend.json":ef,"./locales/ru/messages.json":tf,"./locales/ru/options.json":nf,"./locales/ru/prayerLaps.json":of,"./locales/ru/regions.json":af,"./locales/ru/search.json":sf,"./locales/ru/tabs.json":rf,"./locales/zh/aria.json":lf,"./locales/zh/buttons.json":cf,"./locales/zh/detail.json":uf,"./locales/zh/legend.json":gf,"./locales/zh/messages.json":df,"./locales/zh/options.json":pf,"./locales/zh/prayerLaps.json":ff,"./locales/zh/search.json":hf}),oo={};for(const[e,t]of Object.entries(Sm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function vm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function $m(){return um({legacy:!1,globalInjection:!0,locale:vm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||km(e);Gn(()=>{var i;const o=Mt();if(!o)return;const a=(i=o.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,s.appendChild(r)})}function km(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var T;return((T=n==null?void 0:n.value)==null?void 0:T.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),r=he(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function $(T,P){var y;let k=T==null?void 0:T.parentElement;for(let b=0;k&&b<12;b++,k=k.parentElement){if(k===P||(y=k.classList)!=null&&y.contains("profile-loader"))return null;let C="";try{C=getComputedStyle(k).position}catch{}if(C&&C!=="static"){const A=k.getBoundingClientRect();if(A.height>=120&&A.width>=160)return k}}return null}function w(){const T=r.value;if(T)try{T.style.removeProperty("--pin-hint-lift");const P=T.getBoundingClientRect();if(!P.height)return;const k=Math.round(P.bottom-window.innerHeight);k>0&&T.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function v(T){const P=r.value;if(!P||!(T!=null&&T.querySelector))return;let k=0;try{const b=T.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const C=b.getBoundingClientRect(),A=P.parentElement,L=A?A.getBoundingClientRect():null;if(k=L?Math.max(C.height||0,L.bottom-C.top):C.height||0,p!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=b,c=new ResizeObserver(()=>v(T)),c.observe(b)}}}catch{}const y=Math.min(Math.max(Math.ceil(k)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",y+"px"),w()}return Gn(()=>{var y,b,C;const T=Mt(),P=(C=(b=(y=T==null?void 0:T.proxy)==null?void 0:y.$el)==null?void 0:b.getRootNode)==null?void 0:C.call(b);if(!P||typeof P.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const A=P.querySelector("canvas");A?(clearInterval(i),i=null,s.value=!0,No(()=>{const L=$(A,P),F=r.value;if(L&&F&&F.parentElement!==L)try{L.appendChild(F),l=L}catch{}v(P),w();try{const S=r.value&&r.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(S)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),Fo(()=>{var T;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((T=r.value)==null?void 0:T.parentElement)===l)try{l.removeChild(r.value)}catch{}l=null}),Zl(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -68,9 +68,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),($,P)=>s.value?(We(),wt("div",{key:0,ref_key:"hintEl",ref:i,class:Nn(["pin-hint",{dark:o.value}]),role:"status"},[Ce("span",bm,[P[0]||(P[0]=Ce("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Nt(" "+Qt(a.value)+" ",1),Ce("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let ym=0;const Am=Ha("ui",{state:()=>({_storeInstanceId:++ym,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");try{localStorage.setItem("theme",e)}catch{}},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(){let e=null;try{e=localStorage.getItem("theme")}catch{}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)}))}}}),Sm=Ha("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()}}}),vm=Ha("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]=Fn({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]=Fn({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}}}),Ql={_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","imb_gsec","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}}},km=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Tm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Em={class:"profile-loader"},$m={key:0,class:"profile-error"},Lm={key:1,class:"profile-error"},Cm=Tm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var L;const n=e,o=De("profileConfig",null),a=be(()=>{var w;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const D=(w=o==null?void 0:o.value)==null?void 0:w.assetsBase;typeof D=="string"&&D&&(A.assetsBase=D)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),i=md(),r=be(()=>{var w;const A=(w=a.value)==null?void 0:w.tk;return typeof A=="string"&&A?A:i.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Dr(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),f=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var w,D;const A=(((w=a.value)==null?void 0:w.locale)||((D=a.value)==null?void 0:D.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),k=De("appI18n",null);Nu(()=>{m.value&&k&&(k.global.locale.value=m.value)});const N=be(()=>{var A,w;return m.value||((w=(A=k==null?void 0:k.global)==null?void 0:A.locale)==null?void 0:w.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=De("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return $[A]?bd($[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});bt("mapboxToken",r),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",N);const T=Am(),_=Sm(),b=vm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((L=T.setTheme)==null||L.call(T,A))}catch{}return bt("uiStore",T),bt("mapStore",_),bt("dataStore",b),(A,w)=>(We(),wt("div",Em,[a.value?P.value?(We(),Bo(Pi(P.value),{key:2})):(We(),wt("div",Lm,[Ce("p",null,[w[1]||(w[1]=Nt("⚠️ Profile ",-1)),Ce("strong",null,'"'+Qt(s.value)+'"',1),w[2]||(w[2]=Nt(" not found.",-1))])])):(We(),wt("div",$m,[...w[0]||(w[0]=[Ce("p",null,[Nt("⚠️ "),Ce("strong",null,"doxa-map"),Nt(": missing or invalid "),Ce("code",null,"profile-config"),Nt(" prop.")],-1),Ce("p",null,[Nt("Example: "),Ce("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pi(To(null)),{key:3})):bn("",!0),P.value&&f.value?(We(),Bo(_m,{key:4})):bn("",!0)]))}},[["styles",[km]],["__scopeId","data-v-ba19fc13"]]),wm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>Pb),void 0)}),Nm=od(Cm,{configureApp(e){e.use(cd());const t=hm();e.use(t),e.provide("appI18n",t),e.provide("profileModules",wm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",Nm);const Pm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Mm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=T=>T.classList.contains("map-scroll-edge--left");for(const T of o)T.style.background=`linear-gradient(${a(T)?"to right":"to left"}, ${Pm} ${ec}, transparent ${ec})`,T.style.opacity="0",T.style.transition="opacity 0.16s ease",T.style.userSelect="none",T.style.webkitUserSelect="none";const s=T=>{T.style.opacity="1"},i=T=>{T.style.opacity="0"},r=()=>o.find(T=>!a(T))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const T of o)l.has(T)||i(T)},m=()=>{const T=r();T&&(s(T),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),N=T=>{if(!(T.touches&&T.touches.length===1))return;const _=T.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",N,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const $=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",$,{passive:!0});const P=[];for(const T of o){const _=()=>{l.add(T),s(T)},b=()=>{l.delete(T),i(T)},L=()=>{c=!0,s(T)},A=()=>{c=!1,i(T)};T.addEventListener("mouseenter",_),T.addEventListener("mouseleave",b),T.addEventListener("touchstart",L,{passive:!0}),T.addEventListener("touchend",A,{passive:!0}),P.push(()=>{T.removeEventListener("mouseenter",_),T.removeEventListener("mouseleave",b),T.removeEventListener("touchstart",L),T.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",N),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",$);for(const _ of P)_();for(const _ of o)i(_)}}const Im=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Rm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Im[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Dm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const Fm=["mapbox","maplibre"],nc="mapbox";function Om(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=Om(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||nc).toLowerCase().trim();return Fm.includes(s)?s:nc}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"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const xm=$n.mapbox.css,jm="https://tiles.openfreemap.org/styles/liberty",Bm="https://tiles.openfreemap.org/styles/fiord";function hs(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 Km(e){const t=$n[e]||$n.mapbox;if(hs(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(hs(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 Um(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 Gm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Bm:jm}const zm=85.0511,ms=-2,qm=0,Hm=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Vm(e,t,n,o){if(!e||e<=0||!t||t<=0)return qm;const a=Math.log2(e/512),s=sc(o)-sc(zm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(ms,Math.min(r,(n??18)-1))}function Wm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:i=2,minZoom:r=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:f=0,renderWorldCopies:m=!0,showEdgeBorders:k=!0,southCutoff:N=Hm,maxBounds:v=void 0}){const $=va(null),P=he(!1);let T=null,_=null,b=null,L=null;try{L=De("profileConfig",null)}catch{}a=a||oc(L);const A=a==="maplibre";async function w(){var fe;const S=Rm(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Km(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Um(e.value,A?$n.maplibre.css:xm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const F=t;A||(ae.accessToken=F);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof r=="number"?r:ms;if(!j())return ms;const Ne=Vm(oe,le,c,N);return typeof r=="number"?Math.max(r,Ne):Ne},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){$.value=new ae.Map({container:e.value,style:Gm(V,X),center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}else{const oe=typeof o=="function"?o():o;$.value=new ae.Map({accessToken:F,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}try{let oe=!1;$.value.on("error",le=>{var Ye,nt;const Ne=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");Ne!==401&&Ne!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${Ne} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{$.value.touchZoomRotate.disableRotation()}catch{}b=Mm(((fe=e.value)==null?void 0:fe.parentElement)||null,{enabled:k});let ge=W,ie=null;T=()=>{const oe=$.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){ie=null;const Ne=$.value;if(!Ne)return;const Re=q(z.clientWidth,z.clientHeight);if(Ne.getZoom(){ie&&(clearTimeout(ie),ie=null)},$.value.on("resize",T),typeof window<"u"&&(window.addEventListener("resize",T),window.addEventListener("orientationchange",T)),$.value.on("style.load",()=>{if(S.paint&&$.value){const oe=Dm($.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=$.value)==null||oe.resize(),$.value&&$.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function D(){if($.value){if(T&&($.value.off("resize",T),typeof window<"u"&&(window.removeEventListener("resize",T),window.removeEventListener("orientationchange",T)),T=null),_){try{_()}catch{}_=null}b&&(b(),b=null),$.value.remove(),$.value=null,P.value=!1}}return{map:$,isMapReady:P,initializeMap:w,destroy:D}}const ic="doxa-prayed-local",Ym=7*24*60*60*1e3;function Jm(){try{const e=localStorage.getItem(ic);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Xm(e){try{localStorage.setItem(ic,JSON.stringify(e))}catch{}}function Zm(){const e=Date.now(),t=Jm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Ym)&&(delete t[o],n=!0);return n&&Xm(t),new Set(Object.keys(t))}function Qm(e){const t=Zm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={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"},rc={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"},bs="languageFamily",eb="#000000",Jt={"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","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},tb=Jt;function _s(e){return Jt[e]||eb}const nb=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),ob={"tai-kadai":"Kra-Dai",none:"Unknown"};function ys(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return ob[n]||nb[n]||t}function lc(e){var t;return _s(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,ab=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:tb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:ys,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:_s,canonicalFamilyName:ys},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:_s,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Ot={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},sb=Ot,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ib=Ss;function gc(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)?Ot.hasAdoption:Ot.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ot.hasAdoption,["==",t,1],Ot.hasAdoption,Ot.notAdopted]}const dc=vs,rb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:sb,ADOPTION_LABELS:ib,LABELS:Ss,PALETTE:Ot,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Ot,colors:Ot,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),fc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},lb=xt,ks={notEngaged:"Unengaged",hasEngagement:"Engaged"},cb=ks;function pc(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)?xt.hasEngagement:xt.notEngaged}function Ts({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=Ts,ub=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:lb,ENGAGEMENT_LABELS:cb,LABELS:ks,PALETTE:xt,PROPERTY_KEY:fc,applyColor:Ts,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:fc,palette:xt,colors:xt,labels:ks,getColor:pc,applyColor:Ts,buildColorExpression:hc},getColor:pc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},gb=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},db=Es;function oa(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>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $s(e){return Xt[oa(e)]}function bc(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 _c(e){return oa(e)==="fullPrayer"}function yc(e){return $s(e)}function Ls({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Ls,fb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:gb,PRAYER_LABELS:db,PROPERTY_KEY:mc,applyColor:Ls,buildColorExpression:Ac,checkHasFullPrayer:_c,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:yc,applyColor:Ls,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:$s,checkHasPrayer:bc,checkHasFullPrayer:_c},getColor:yc,getPrayerColor:$s,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Cs="#94a3b8",ws={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ws[t]?t:"U"}function kc(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 tt[vc(t)]||Cs}function Ns(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Cs]}const Tc=Ns,pb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:ws,applyColor:Ns,buildColorExpression:Tc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:ws,getColor:kc,applyColor:Ns,buildColorExpression:Tc,fallback:Cs},getColor:kc,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",$c={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Lc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Cc=Is,hb=Object.assign({"./adoption.js":rb,"./engagement.js":ub,"./language-family.js":ab,"./prayer-progress.js":fb,"./religion.js":pb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:$c,applyColor:Is,buildColorExpression:Cc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:$c,order:Ms,getColor:Lc,applyColor:Is,buildColorExpression:Cc,fallback:Ps},getColor:Lc},Symbol.toStringTag,{value:"Module"}))}),mb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),bb=e=>e.replace(/-/g,"_").toUpperCase(),_b={...{STATUS:"status",CUSTOM:"custom"}};function yb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=mb(n);_b[bb(n)]=a}}yb(hb);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Ab=[[/ sign language$/i,"Sign Language"]];function Sb(e){var r,l;const t=Rs(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&&rc[n])return rc[n];const o=Rs(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(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Yt[i])return Yt[i];for(const[c,u]of Ab)if(c.test(a))return u;return""}function vb(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=he(!1),r=he(null),l=he(!1),c=he([]),u=he([]),f=he(null),m=he([]),k=he([]),N=he([]),v=he(null);async function $(){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 F=a.getSourceData(n);u.value=s(F.normalizedData||[])}else{const F=await o.setActiveSource(n);for(const j of F){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Sb(j);j.languageFamily=ys(W)}u.value=s(F),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:F,timestamp:Date.now()})}c.value=s(Qm(u.value.map(F=>({id:F.uniqueId,slug:F.slug||"",rop3:F.peopleGroupId,peopleId3:F.peopleId3,name:F.name,language:F.language,languageFamily:F.languageFamily,country:F.country,population:F.population,status:F.engagementStatus||F.status,latitude:F.latitude,longitude:F.longitude,lng:F.longitude,lat:F.latitude,description:F.description,imageUrl:F.imageUrl,doxaRegion:F.doxaRegion||F.wagfRegion||"",peoplePraying:F.peoplePraying??null,_normalized:F}))));const w=o.getDataByLanguageFamily();m.value=Object.entries(w).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>j.count-F.count);const D=o.getDataByRegion();k.value=Object.entries(D).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>F.name.localeCompare(j.name));const S={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(F=>{const j=parseInt(F.population)||0;let q=!1;F.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(F),q=!0),F.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(F),q=!0),F.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(F),q=!0),F.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(F),q=!0),F.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(F),q=!0),F.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(F),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(F)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(F))});const V=u.value.length,ae=u.value.reduce((F,j)=>F+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return N.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:N.value,stats:v.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 P(){var w,D,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((D=(w=z._raw)==null?void 0:w.country_code)==null?void 0:D.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,F=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&F&&!V[ee]&&(V[ee]=F)}return f.value={isoToRegion:V},f.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),r.value=V.message||"Failed to build regions",V}}function T(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(w){return T()[w]||[]}function L(w){return _()[w]||[]}function A(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],N.value=[],v.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:N,stats:v,loadData:$,loadRegionsData:P,getDataByLanguageFamily:T,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:L,clearData:A}}const Ds={};function kb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ds==null?void 0:Ds.VITE_API_BASE_URL)||""}class wc{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=Ql,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;ls.value?(We(),Lt("div",{key:0,ref_key:"hintEl",ref:r,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Ne("span",Em,[P[0]||(P[0]=Ne("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),wt(" "+Qt(a.value)+" ",1),Ne("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let Cm=0;const Nm=Ha("ui",{state:()=>({_storeInstanceId:++Cm,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");try{localStorage.setItem("theme",e)}catch{}},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,r={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&o>0&&setTimeout(()=>{this.removeToast(r.id)},o),r.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(){let e=null;try{e=localStorage.getItem("theme")}catch{}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=Ha("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()}}}),wm=Ha("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]=On({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]=On({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}}}),Ql={_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","imb_gsec","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}}},Pm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Mm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Im={class:"profile-loader"},Rm={key:0,class:"profile-error"},Fm={key:1,class:"profile-error"},Om=Mm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var C;const n=e,o=Fe("profileConfig",null),a=be(()=>{var L;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const F=(L=o==null?void 0:o.value)==null?void 0:L.assetsBase;typeof F=="string"&&F&&(A.assetsBase=F)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),r=md(),i=be(()=>{var L;const A=(L=a.value)==null?void 0:L.tk;return typeof A=="string"&&A?A:r.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Fi(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),p=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var L,F;const A=(((L=a.value)==null?void 0:L.locale)||((F=a.value)==null?void 0:F.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),$=Fe("appI18n",null);wu(()=>{m.value&&$&&($.global.locale.value=m.value)});const w=be(()=>{var A,L;return m.value||((L=(A=$==null?void 0:$.global)==null?void 0:A.locale)==null?void 0:L.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),T=Fe("profileModules",null);if(!T)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return T[A]?bd(T[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(T)),null)});bt("mapboxToken",i),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",w);const k=Nm(),y=Lm(),b=wm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((C=k.setTheme)==null||C.call(k,A))}catch{}return bt("uiStore",k),bt("mapStore",y),bt("dataStore",b),(A,L)=>(We(),Lt("div",Im,[a.value?P.value?(We(),Bo(Pr(P.value),{key:2})):(We(),Lt("div",Fm,[Ne("p",null,[L[1]||(L[1]=wt("⚠️ Profile ",-1)),Ne("strong",null,'"'+Qt(s.value)+'"',1),L[2]||(L[2]=wt(" not found.",-1))])])):(We(),Lt("div",Rm,[...L[0]||(L[0]=[Ne("p",null,[wt("⚠️ "),Ne("strong",null,"doxa-map"),wt(": missing or invalid "),Ne("code",null,"profile-config"),wt(" prop.")],-1),Ne("p",null,[wt("Example: "),Ne("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pr(ko(null)),{key:3})):bn("",!0),P.value&&p.value?(We(),Bo(Tm,{key:4})):bn("",!0)]))}},[["styles",[Pm]],["__scopeId","data-v-ba19fc13"]]),Dm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>jb),void 0)}),xm=od(Om,{configureApp(e){e.use(cd());const t=$m();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Dm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",xm);const jm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Bm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=k=>k.classList.contains("map-scroll-edge--left");for(const k of o)k.style.background=`linear-gradient(${a(k)?"to right":"to left"}, ${jm} ${ec}, transparent ${ec})`,k.style.opacity="0",k.style.transition="opacity 0.16s ease",k.style.userSelect="none",k.style.webkitUserSelect="none";const s=k=>{k.style.opacity="1"},r=k=>{k.style.opacity="0"},i=()=>o.find(k=>!a(k))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const k of o)l.has(k)||r(k)},m=()=>{const k=i();k&&(s(k),u&&clearTimeout(u),u=setTimeout(p,250))},$=()=>m(),w=k=>{if(!(k.touches&&k.touches.length===1))return;const y=k.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",$,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const T=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",T,{passive:!0});const P=[];for(const k of o){const y=()=>{l.add(k),s(k)},b=()=>{l.delete(k),r(k)},C=()=>{c=!0,s(k)},A=()=>{c=!1,r(k)};k.addEventListener("mouseenter",y),k.addEventListener("mouseleave",b),k.addEventListener("touchstart",C,{passive:!0}),k.addEventListener("touchend",A,{passive:!0}),P.push(()=>{k.removeEventListener("mouseenter",y),k.removeEventListener("mouseleave",b),k.removeEventListener("touchstart",C),k.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",$),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",T);for(const y of P)y();for(const y of o)r(y)}}const Km=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Um(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Km[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Gm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const zm=["mapbox","maplibre"],nc="mapbox";function qm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=qm(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||nc).toLowerCase().trim();return zm.includes(s)?s:nc}const Tn={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"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Hm=Tn.mapbox.css,Vm="https://tiles.openfreemap.org/styles/liberty",Wm="https://tiles.openfreemap.org/styles/fiord";function hs(e){var n;const t=((n=Tn[e])==null?void 0:n.global)||Tn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Ym(e){const t=Tn[e]||Tn.mapbox;if(hs(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(hs(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=r=>new Promise(i=>setTimeout(i,r)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),n.prepend(s)}),o(2e3)])}function Xm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Wm:Vm}const Zm=85.0511,ms=-2,Qm=0,eb=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function tb(e,t,n,o){if(!e||e<=0||!t||t<=0)return Qm;const a=Math.log2(e/512),s=sc(o)-sc(Zm),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(ms,Math.min(i,(n??18)-1))}function nb({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:p=0,renderWorldCopies:m=!0,showEdgeBorders:$=!0,southCutoff:w=eb,maxBounds:v=void 0}){const T=va(null),P=he(!1);let k=null,y=null,b=null,C=null;try{C=Fe("profileConfig",null)}catch{}a=a||oc(C);const A=a==="maplibre";async function L(){var pe;const S=Um(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Ym(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Jm(e.value,A?Tn.maplibre.css:Hm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const O=t;A||(ae.accessToken=O);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof i=="number"?i:ms;if(!j())return ms;const we=tb(oe,le,c,w);return typeof i=="number"?Math.max(i,we):we},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){T.value=new ae.Map({container:e.value,style:Xm(V,X),center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}else{const oe=typeof o=="function"?o():o;T.value=new ae.Map({accessToken:O,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}try{let oe=!1;T.value.on("error",le=>{var Ye,nt;const we=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");we!==401&&we!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${we} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{T.value.touchZoomRotate.disableRotation()}catch{}b=Bm(((pe=e.value)==null?void 0:pe.parentElement)||null,{enabled:$});let ge=W,re=null;k=()=>{const oe=T.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){re=null;const we=T.value;if(!we)return;const Re=q(z.clientWidth,z.clientHeight);if(we.getZoom(){re&&(clearTimeout(re),re=null)},T.value.on("resize",k),typeof window<"u"&&(window.addEventListener("resize",k),window.addEventListener("orientationchange",k)),T.value.on("style.load",()=>{if(S.paint&&T.value){const oe=Gm(T.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=T.value)==null||oe.resize(),T.value&&T.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function F(){if(T.value){if(k&&(T.value.off("resize",k),typeof window<"u"&&(window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k)),k=null),y){try{y()}catch{}y=null}b&&(b(),b=null),T.value.remove(),T.value=null,P.value=!1}}return{map:T,isMapReady:P,initializeMap:L,destroy:F}}const rc="doxa-prayed-local",ob=7*24*60*60*1e3;function ab(){try{const e=localStorage.getItem(rc);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function sb(e){try{localStorage.setItem(rc,JSON.stringify(e))}catch{}}function rb(){const e=Date.now(),t=ab();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>ob)&&(delete t[o],n=!0);return n&&sb(t),new Set(Object.keys(t))}function ib(e){const t=rb();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={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"},ic={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"},bs="languageFamily",lb="#000000",Jt={"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","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},cb=Jt;function ys(e){return Jt[e]||lb}const ub=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),gb={"tai-kadai":"Kra-Dai",none:"Unknown"};function _s(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return gb[n]||ub[n]||t}function lc(e){var t;return ys(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,db=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:cb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:_s,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:ys,canonicalFamilyName:_s},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:ys,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Dt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},pb=Dt,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},fb=Ss;function gc(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)?Dt.hasAdoption:Dt.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Dt.hasAdoption,["==",t,1],Dt.hasAdoption,Dt.notAdopted]}const dc=vs,hb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:pb,ADOPTION_LABELS:fb,LABELS:Ss,PALETTE:Dt,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Dt,colors:Dt,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),pc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},mb=xt,$s={notEngaged:"Unengaged",hasEngagement:"Engaged"},bb=$s;function fc(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)?xt.hasEngagement:xt.notEngaged}function ks({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=ks,yb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:mb,ENGAGEMENT_LABELS:bb,LABELS:$s,PALETTE:xt,PROPERTY_KEY:pc,applyColor:ks,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:pc,palette:xt,colors:xt,labels:$s,getColor:fc,applyColor:ks,buildColorExpression:hc},getColor:fc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},_b=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Ab=Es;function oa(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>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ts(e){return Xt[oa(e)]}function bc(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 yc(e){return oa(e)==="fullPrayer"}function _c(e){return Ts(e)}function Cs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Cs,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:_b,PRAYER_LABELS:Ab,PROPERTY_KEY:mc,applyColor:Cs,buildColorExpression:Ac,checkHasFullPrayer:yc,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:_c,applyColor:Cs,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:Ts,checkHasPrayer:bc,checkHasFullPrayer:yc},getColor:_c,getPrayerColor:Ts,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Ns="#94a3b8",Ls={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ls[t]?t:"U"}function $c(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 tt[vc(t)]||Ns}function ws(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Ns]}const kc=ws,vb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:Ls,applyColor:ws,buildColorExpression:kc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:Ls,getColor:$c,applyColor:ws,buildColorExpression:kc,fallback:Ns},getColor:$c,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",Tc={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Cc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Nc=Is,$b=Object.assign({"./adoption.js":hb,"./engagement.js":yb,"./language-family.js":db,"./prayer-progress.js":Sb,"./religion.js":vb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:Tc,applyColor:Is,buildColorExpression:Nc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:Tc,order:Ms,getColor:Cc,applyColor:Is,buildColorExpression:Nc,fallback:Ps},getColor:Cc},Symbol.toStringTag,{value:"Module"}))}),kb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Eb=e=>e.replace(/-/g,"_").toUpperCase(),Tb={...{STATUS:"status",CUSTOM:"custom"}};function Cb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=kb(n);Tb[Eb(n)]=a}}Cb($b);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Nb=[[/ sign language$/i,"Sign Language"]];function Lb(e){var i,l;const t=Rs(e.languageFamily);if(t)return t;const n=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&ic[n])return ic[n];const o=Rs(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(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&Yt[r])return Yt[r];for(const[c,u]of Nb)if(c.test(a))return u;return""}function wb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=L=>L}=e;o||console.error("useMapData: dataSourceManager is required!");const r=he(!1),i=he(null),l=he(!1),c=he([]),u=he([]),p=he(null),m=he([]),$=he([]),w=he([]),v=he(null);async function T(){if(!o)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const O=a.getSourceData(n);u.value=s(O.normalizedData||[])}else{const O=await o.setActiveSource(n);for(const j of O){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Lb(j);j.languageFamily=_s(W)}u.value=s(O),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:O,timestamp:Date.now()})}c.value=s(ib(u.value.map(O=>({id:O.uniqueId,slug:O.slug||"",rop3:O.peopleGroupId,peopleId3:O.peopleId3,name:O.name,language:O.language,languageFamily:O.languageFamily,country:O.country,population:O.population,status:O.engagementStatus||O.status,latitude:O.latitude,longitude:O.longitude,lng:O.longitude,lat:O.latitude,description:O.description,imageUrl:O.imageUrl,doxaRegion:O.doxaRegion||O.wagfRegion||"",peoplePraying:O.peoplePraying??null,_normalized:O}))));const L=o.getDataByLanguageFamily();m.value=Object.entries(L).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>j.count-O.count);const F=o.getDataByRegion();$.value=Object.entries(F).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>O.name.localeCompare(j.name));const S={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(O=>{const j=parseInt(O.population)||0;let q=!1;O.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(O),q=!0),O.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(O),q=!0),O.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(O),q=!0),O.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(O),q=!0),O.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(O),q=!0),O.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(O),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(O)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(O))});const V=u.value.length,ae=u.value.reduce((O,j)=>O+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return w.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:$.value,resourcesData:w.value,stats:v.value}}catch(L){throw console.error(`Failed to load data for map "${t}":`,L),i.value=L.message||"Failed to load data",L}finally{r.value=!1}}async function P(){var L,F,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((F=(L=z._raw)==null?void 0:L.country_code)==null?void 0:F.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,O=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&O&&!V[ee]&&(V[ee]=O)}return p.value={isoToRegion:V},p.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),i.value=V.message||"Failed to build regions",V}}function k(){return o?o.getDataByLanguageFamily():{}}function y(){return o?o.getDataByRegion():{}}function b(L){return k()[L]||[]}function C(L){return y()[L]||[]}function A(){c.value=[],u.value=[],p.value=null,m.value=[],$.value=[],w.value=[],v.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:p,languageFamiliesData:m,doxaRegionsData:$,resourcesData:w,stats:v,loadData:T,loadRegionsData:P,getDataByLanguageFamily:k,getDataByRegion:y,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:C,clearData:A}}const Fs={};function Pb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Fs==null?void 0:Fs.VITE_API_BASE_URL)||""}class Lc{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=Ql,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,r=[],i=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}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=kb(),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,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.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(f=>this.getFieldValue(o,f));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 wc;const Tb={class:"apg-root"},Eb={key:0,class:"apg-loading"},$b={key:1,class:"apg-error"},Lb={key:2,class:"apg-legend"},Cb={class:"apg-legend-sub"},wb=["onClick"],Nb={class:"apg-count"},Pb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` +`&&l++,a||r.length>0){if(r.push(a.trim()),a="",i)o.push(...r),i=!1;else if(r.length>1){const p={};o.forEach((m,$)=>{p[m]=r[$]||""}),n.push(p)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};o.forEach((c,u)=>{l[c]=r[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(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,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=Pb(),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 r={...t.queryParams||{}};this.locale&&(r.lang=this.locale);for(const[u,p]of Object.entries(r))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);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 m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.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 r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){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 Lc;const Mb={class:"apg-root"},Ib={key:0,class:"apg-loading"},Rb={key:1,class:"apg-error"},Fb={key:2,class:"apg-legend"},Ob={class:"apg-legend-sub"},Db=["onClick"],xb={class:"apg-count"},jb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -101,10 +101,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=De("profileConfig"),n=De("mapboxToken"),o=De("dataSource"),a=De("dataStore"),s=De("mapStore"),i=oc(t),r=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,F){if(F.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const F=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||F||"agwm"))}const k=he(null),N=he(!1),v=he(null),{map:$,initializeMap:P,destroy:T}=Wm({containerRef:k,accessToken:n.value,provider:i,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),_=new wc,b=vb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let L=[],A=new Map;function w(Y){return String(Y??"").replace(/[&<>"']/g,F=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[F])}async function D(){const[Y,F]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of F){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),ie=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(ie)||ge===0&&ie===0)continue;const fe=f(X,j);W[fe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[ie,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:fe}})}return u.value=W,L=q,{type:"FeatureCollection",features:q}}function S(Y){const F=$.value;F.addSource("apg",{type:"geojson",data:Y}),F.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),F.on("mouseenter","apg-pins",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","apg-pins",()=>{F.getCanvas().style.cursor=""}),F.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),ie=X&&X.slug?`Pray for them →`:"",fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
- ${w(W.name)} ${w(ge.label.split(" — ")[0])} -
${w(W.country)} · pop ${Number(W.population).toLocaleString()}
-
${w(W.evangelical||"GSEC "+W.gsec)}
-
${w(W.language)}${W.religion?" · "+w(W.religion):""}
- ${ie} -
`).addTo(F)})}const V=he(null);function ae(Y){const F=$.value;if(!F||!F.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,F.setFilter("apg-pins",null),F.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,F.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const ie of L){if(ie.properties.category!==Y)continue;const[fe,oe]=ie.geometry.coordinates;feW&&(W=fe),oeX&&(X=oe),ge++}ge&&F.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=D().catch(F=>(v.value=String((F==null?void 0:F.message)||F),null));try{await P()}catch(F){v.value=String((F==null?void 0:F.message)||F);return}if(!$.value){v.value="Map failed to initialize — check token and container";return}$.value.once("style.load",async()=>{var F;try{const j=await Y;if(!j)return;try{$.value.setProjection("mercator")}catch{}S(j),(F=s==null?void 0:s.registerMap)==null||F.call(s,"all-people-groups",$.value),N.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Do(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),T()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,F)=>(We(),wt("div",Tb,[!N.value&&!v.value?(We(),wt("div",Eb,"Loading every people group…")):bn("",!0),v.value?(We(),wt("div",$b,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ce("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),N.value?(We(),wt("div",Lb,[F[0]||(F[0]=Ce("div",{class:"apg-legend-title"},"All People Groups",-1)),Ce("div",Cb,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),wt(Qe,null,Vu(l,j=>Ce("div",{key:j.id,class:Nn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ce("span",{class:"apg-dot",style:po({background:j.color})},null,4),Nt(" "+Qt(j.label)+" ",1),Ce("span",Nb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,wb)),64)),F[1]||(F[1]=Ce("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),r=oc(t),i=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function p(Y,O){if(O.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const O=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||O||"agwm"))}const $=he(null),w=he(!1),v=he(null),{map:T,initializeMap:P,destroy:k}=nb({containerRef:$,accessToken:n.value,provider:r,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),y=new Lc,b=wb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:y,dataStore:a,markRaw:Y=>Y});let C=[],A=new Map;function L(Y){return String(Y??"").replace(/[&<>"']/g,O=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[O])}async function F(){const[Y,O]=await Promise.all([fetch(`${i.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of O){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),re=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(re)||ge===0&&re===0)continue;const pe=p(X,j);W[pe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[re,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:pe}})}return u.value=W,C=q,{type:"FeatureCollection",features:q}}function S(Y){const O=T.value;O.addSource("apg",{type:"geojson",data:Y}),O.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),O.on("mouseenter","apg-pins",()=>{O.getCanvas().style.cursor="pointer"}),O.on("mouseleave","apg-pins",()=>{O.getCanvas().style.cursor=""}),O.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),re=X&&X.slug?`Pray for them →`:"",pe=r==="maplibre"?window.maplibregl:window.mapboxgl;new pe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+ ${L(W.name)} ${L(ge.label.split(" — ")[0])} +
${L(W.country)} · pop ${Number(W.population).toLocaleString()}
+
${L(W.evangelical||"GSEC "+W.gsec)}
+
${L(W.language)}${W.religion?" · "+L(W.religion):""}
+ ${re} +
`).addTo(O)})}const V=he(null);function ae(Y){const O=T.value;if(!O||!O.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,O.setFilter("apg-pins",null),O.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,O.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const re of C){if(re.properties.category!==Y)continue;const[pe,oe]=re.geometry.coordinates;peW&&(W=pe),oeX&&(X=oe),ge++}ge&&O.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=F().catch(O=>(v.value=String((O==null?void 0:O.message)||O),null));try{await P()}catch(O){v.value=String((O==null?void 0:O.message)||O);return}if(!T.value){v.value="Map failed to initialize — check token and container";return}T.value.once("style.load",async()=>{var O;try{const j=await Y;if(!j)return;try{T.value.setProjection("mercator")}catch{}S(j),(O=s==null?void 0:s.registerMap)==null||O.call(s,"all-people-groups",T.value),w.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Fo(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),k()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,O)=>(We(),Lt("div",Mb,[!w.value&&!v.value?(We(),Lt("div",Ib,"Loading every people group…")):bn("",!0),v.value?(We(),Lt("div",Rb,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ne("div",{ref_key:"mapContainer",ref:$,class:"apg-canvas"},null,512),w.value?(We(),Lt("div",Fb,[O[0]||(O[0]=Ne("div",{class:"apg-legend-title"},"All People Groups",-1)),Ne("div",Ob,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),Lt(Qe,null,Vu(l,j=>Ne("div",{key:j.id,class:wn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ne("span",{class:"apg-dot",style:fo({background:j.color})},null,4),wt(" "+Qt(j.label)+" ",1),Ne("span",xb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,Db)),64)),O[1]||(O[1]=Ne("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 22208c1b1..5f654dfe3 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH","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","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-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","integrity":"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3","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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the three pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h", + "integrity": "sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -101,7 +101,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R", + "integrity": "sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V", "elements": [ "cities-internet-map" ], @@ -117,7 +117,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-QdkwinBM2mJMqVlEX7HYctnr/9k9Nj01MDwFGwYL7tT62O8Nm3JuujLJ8qxZTFJ7", + "integrity": "sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,21 +188,21 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { "profile": "country-posters-mfe", "file": "country-posters-mfe.vue", - "description": "", - "element": "country-posters-map", + "description": "Country Posters as ONE two-tab element — the countries map and the printable", + "element": "country-posters-mfe", "type": "nested-elements-mfe", "isMap": true, "iframeUrl": "./country-posters/country-posters-mfe/index.html", "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -211,7 +211,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG", + "integrity": "sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q", "elements": [ "dashboard-plus-grid" ], @@ -231,7 +231,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -255,7 +255,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ", + "integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH", "elements": [ "demo-map" ], @@ -271,7 +271,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR", + "integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W", + "integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI", + "integrity": "sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -658,7 +658,7 @@ "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", - "integrity": "sha384-cs9Yz6dE0cp2ChVeNB9btNOXrqNk+xl0r4374AkMHRiEW7x+u3wlLDBv9TU469Ra", + "integrity": "sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2", "elements": [ "my-upg-100-list-map" ], @@ -678,7 +678,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -692,7 +692,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -706,7 +706,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -913,7 +913,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn", + "integrity": "sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX", "elements": [ "research-dashboard-map" ], @@ -929,7 +929,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -1027,7 +1027,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX", + "integrity": "sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3", "elements": [ "template-bundle" ], @@ -1043,7 +1043,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -1058,7 +1058,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" } diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 0b5ee047e..91ca4cb3e 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={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"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged"},Hh={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"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={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."}},Jh={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={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"}},om={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"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={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"}},gm={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"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={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."}},Rm={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={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"}},Gm={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"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={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ă."}},zm={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={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"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Hh={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"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={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."}},Jh={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={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"}},om={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"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={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"}},gm={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"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={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."}},Rm={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={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"}},Gm={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"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={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ă."}},zm={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. diff --git a/public/doxa-maps/my-upg-100-list/poster-wall/index.html b/public/doxa-maps/my-upg-100-list/poster-wall/index.html index a322e3047..bcdb8400c 100644 --- a/public/doxa-maps/my-upg-100-list/poster-wall/index.html +++ b/public/doxa-maps/my-upg-100-list/poster-wall/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-cqk7oshuPW5FdnbZ/DyfBBXN2FObAI+V1jrbxmZR2xzNiBtWG65PETQ5/w5PCDB2","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-cqk7oshuPW5FdnbZ/DyfBBXN2FObAI+V1jrbxmZR2xzNiBtWG65PETQ5/w5PCDB2\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"","element":"country-posters-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ","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","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-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","integrity":"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX","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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the three pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y", + "integrity": "sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -101,7 +101,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V", + "integrity": "sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R", "elements": [ "cities-internet-map" ], @@ -117,7 +117,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-KCb+2VIX0x0RZlPudE1oeY64Wp7UPNmJo8Zx7EkADp5+BYHfB2KsRlzS6ssYZMIF", + "integrity": "sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,21 +188,21 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { "profile": "country-posters-mfe", "file": "country-posters-mfe.vue", - "description": "Country Posters as ONE two-tab element — the countries map and the printable", - "element": "country-posters-mfe", + "description": "", + "element": "country-posters-map", "type": "nested-elements-mfe", "isMap": true, "iframeUrl": "./country-posters/country-posters-mfe/index.html", "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -211,7 +211,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q", + "integrity": "sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG", "elements": [ "dashboard-plus-grid" ], @@ -231,7 +231,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -255,7 +255,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH", + "integrity": "sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ", "elements": [ "demo-map" ], @@ -271,7 +271,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -298,7 +298,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "doxa-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8", + "integrity": "sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP", "elements": [ "doxa-maps-spa" ], @@ -322,7 +322,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp", + "integrity": "sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC", + "integrity": "sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0", + "integrity": "sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -658,7 +658,7 @@ "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", - "integrity": "sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2", + "integrity": "sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A", "elements": [ "my-upg-100-list-map" ], @@ -678,7 +678,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -692,7 +692,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -706,7 +706,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -913,7 +913,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX", + "integrity": "sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn", "elements": [ "research-dashboard-map" ], @@ -929,7 +929,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -1027,7 +1027,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3", + "integrity": "sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX", "elements": [ "template-bundle" ], @@ -1043,7 +1043,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -1058,7 +1058,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" } @@ -1076,7 +1076,7 @@ { "profile": "upg-neighbor", "file": "upg-neighbor.vue", - "description": "Rescues the five pre-bundler experimental maps that live inside the legacy", + "description": "Rescues the three pre-bundler experimental maps that live inside the legacy", "element": "upg-neighbor", "type": "parameterized", "isMap": false, diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 91ca4cb3e..d82dc0085 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -1,46 +1,46 @@ -(function(){"use strict";var bp;var cn=typeof document<"u"?document.currentScript:null;const zx="modulepreload",Hx=function(e){return"/"+e},Vx={},to=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** +(function(){"use strict";var _p;var cn=typeof document<"u"?document.currentScript:null;const Vx="modulepreload",Wx=function(e){return"/"+e},Yx={},to=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Pr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const et={},un=[],oo=()=>{},Ei=()=>!1,va=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ka=e=>e.startsWith("onUpdate:"),dt=Object.assign,Mr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},wp=Object.prototype.hasOwnProperty,Ve=(e,t)=>wp.call(e,t),xe=Array.isArray,No=e=>Fn(e)==="[object Map]",Wo=e=>Fn(e)==="[object Set]",Ci=e=>Fn(e)==="[object Date]",$e=e=>typeof e=="function",tt=e=>typeof e=="string",Gt=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",Li=e=>(Ye(e)||$e(e))&&$e(e.then)&&$e(e.catch),Ti=Object.prototype.toString,Fn=e=>Ti.call(e),xp=e=>Fn(e).slice(8,-1),wa=e=>Fn(e)==="[object Object]",xa=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dn=Pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Aa=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Ap=/-\w/g,_t=Aa(e=>e.replace(Ap,t=>t.slice(1).toUpperCase())),Sp=/\B([A-Z])/g,jt=Aa(e=>e.replace(Sp,"-$1").toLowerCase()),Sa=Aa(e=>e.charAt(0).toUpperCase()+e.slice(1)),Nr=Aa(e=>e?`on${Sa(e)}`:""),no=(e,t)=>!Object.is(e,t),$a=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ea=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Mi=e=>{const t=tt(e)?Number(e):NaN;return isNaN(t)?e:t};let Ni;const Ca=()=>Ni||(Ni=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function rt(e){if(xe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Ep);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ne(e){let t="";if(tt(e))t=e;else if(xe(e))for(let o=0;oRo(o,t))}const Oi=e=>!!(e&&e.__v_isRef===!0),pe=e=>tt(e)?e:e==null?"":xe(e)||Ye(e)&&(e.toString===Ti||!$e(e.toString))?Oi(e)?pe(e.value):JSON.stringify(e,Fi,2):String(e),Fi=(e,t)=>Oi(t)?Fi(e,t.value):No(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Rr(n,r)+" =>"]=a,o),{})}:Wo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Rr(o))}:Gt(t)?Rr(t):Ye(t)&&!xe(t)&&!wa(t)?String(t):t,Rr=(e,t="")=>{var o;return Gt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Nr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const et={},un=[],oo=()=>{},Li=()=>!1,ka=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),wa=e=>e.startsWith("onUpdate:"),dt=Object.assign,Rr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Ap=Object.prototype.hasOwnProperty,Ve=(e,t)=>Ap.call(e,t),xe=Array.isArray,No=e=>Fn(e)==="[object Map]",Wo=e=>Fn(e)==="[object Set]",Ti=e=>Fn(e)==="[object Date]",$e=e=>typeof e=="function",tt=e=>typeof e=="string",Gt=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",Pi=e=>(Ye(e)||$e(e))&&$e(e.then)&&$e(e.catch),Mi=Object.prototype.toString,Fn=e=>Mi.call(e),Sp=e=>Fn(e).slice(8,-1),xa=e=>Fn(e)==="[object Object]",Aa=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dn=Nr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Sa=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},$p=/-\w/g,_t=Sa(e=>e.replace($p,t=>t.slice(1).toUpperCase())),Ep=/\B([A-Z])/g,jt=Sa(e=>e.replace(Ep,"-$1").toLowerCase()),$a=Sa(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ir=Sa(e=>e?`on${$a(e)}`:""),no=(e,t)=>!Object.is(e,t),Ea=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},Ca=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ri=e=>{const t=tt(e)?Number(e):NaN;return isNaN(t)?e:t};let Ii;const La=()=>Ii||(Ii=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function rt(e){if(xe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Lp);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ne(e){let t="";if(tt(e))t=e;else if(xe(e))for(let o=0;oRo(o,t))}const Di=e=>!!(e&&e.__v_isRef===!0),pe=e=>tt(e)?e:e==null?"":xe(e)||Ye(e)&&(e.toString===Mi||!$e(e.toString))?Di(e)?pe(e.value):JSON.stringify(e,Bi,2):String(e),Bi=(e,t)=>Di(t)?Bi(e,t.value):No(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Or(n,r)+" =>"]=a,o),{})}:Wo(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Or(o))}:Gt(t)?Or(t):Ye(t)&&!xe(t)&&!xa(t)?String(t):t,Or=(e,t="")=>{var o;return Gt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ht;class Di{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&&ht&&(ht.active?(this.parent=ht,this.index=(ht.scopes||(ht.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ht===this)ht=this.prevScope;else{let t=ht;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 o,n;for(o=0,n=this.effects.length;o0)return;if(Gn){let t=Gn;for(Gn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Bn;){let t=Bn;for(Bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Ki(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zi(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Gr(n),Rp(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Br(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===jn)||(e.globalVersion=jn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Br(e))))return;e.flags|=2;const t=e.dep,o=ot,n=Yt;ot=e,Yt=!0;try{Ki(e);const a=e.fn(e._value);(t.version===0||no(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ot=o,Yt=n,zi(e),e.flags&=-3}}function Gr(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Gr(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Rp(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Yt=!0;const Vi=[];function ao(){Vi.push(Yt),Yt=!1}function ro(){const e=Vi.pop();Yt=e===void 0?!0:e}function Wi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ot;ot=void 0;try{t()}finally{ot=o}}}let jn=0;class Ip{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class jr{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(!ot||!Yt||ot===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ot)o=this.activeLink=new Ip(ot,this),ot.deps?(o.prevDep=ot.depsTail,ot.depsTail.nextDep=o,ot.depsTail=o):ot.deps=ot.depsTail=o,Yi(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ot.depsTail,o.nextDep=void 0,ot.depsTail.nextDep=o,ot.depsTail=o,ot.deps===o&&(ot.deps=n)}return o}trigger(t){this.version++,jn++,this.notify(t)}notify(t){Fr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Dr()}}}function Yi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Yi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const La=new WeakMap,Yo=Symbol(""),Ur=Symbol(""),Un=Symbol("");function Pt(e,t,o){if(Yt&&ot){let n=La.get(e);n||La.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new jr),a.map=n,a.key=o),a.track()}}function yo(e,t,o,n,a,r){const s=La.get(e);if(!s){jn++;return}const i=l=>{l&&l.trigger()};if(Fr(),t==="clear")s.forEach(i);else{const l=xe(e),u=l&&xa(o);if(l&&o==="length"){const c=Number(n);s.forEach((p,g)=>{(g==="length"||g===Un||!Gt(g)&&g>=c)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(Un)),t){case"add":l?u&&i(s.get("length")):(i(s.get(Yo)),No(e)&&i(s.get(Ur)));break;case"delete":l||(i(s.get(Yo)),No(e)&&i(s.get(Ur)));break;case"set":No(e)&&i(s.get(Yo));break}}Dr()}function Op(e,t){const o=La.get(e);return o&&o.get(t)}function dn(e){const t=Be(e);return t===e?t:(Pt(t,"iterate",Un),Ut(e)?t:t.map(qt))}function Ta(e){return Pt(e=Be(e),"iterate",Un),e}function so(e,t){return ko(e)?gn(vo(e)?qt(t):t):qt(t)}const Fp={__proto__:null,[Symbol.iterator](){return Kr(this,Symbol.iterator,e=>so(this,e))},concat(...e){return dn(this).concat(...e.map(t=>xe(t)?dn(t):t))},entries(){return Kr(this,"entries",e=>(e[1]=so(this,e[1]),e))},every(e,t){return _o(this,"every",e,t,void 0,arguments)},filter(e,t){return _o(this,"filter",e,t,o=>o.map(n=>so(this,n)),arguments)},find(e,t){return _o(this,"find",e,t,o=>so(this,o),arguments)},findIndex(e,t){return _o(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _o(this,"findLast",e,t,o=>so(this,o),arguments)},findLastIndex(e,t){return _o(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _o(this,"forEach",e,t,void 0,arguments)},includes(...e){return zr(this,"includes",e)},indexOf(...e){return zr(this,"indexOf",e)},join(e){return dn(this).join(e)},lastIndexOf(...e){return zr(this,"lastIndexOf",e)},map(e,t){return _o(this,"map",e,t,void 0,arguments)},pop(){return Kn(this,"pop")},push(...e){return Kn(this,"push",e)},reduce(e,...t){return qi(this,"reduce",e,t)},reduceRight(e,...t){return qi(this,"reduceRight",e,t)},shift(){return Kn(this,"shift")},some(e,t){return _o(this,"some",e,t,void 0,arguments)},splice(...e){return Kn(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 Kn(this,"unshift",e)},values(){return Kr(this,"values",e=>so(this,e))}};function Kr(e,t,o){const n=Ta(e),a=n[t]();return n!==e&&!Ut(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Dp=Array.prototype;function _o(e,t,o,n,a,r){const s=Ta(e),i=s!==e&&!Ut(e),l=s[t];if(l!==Dp[t]){const p=l.apply(e,r);return i?qt(p):p}let u=o;s!==e&&(i?u=function(p,g){return o.call(this,so(e,p),g,e)}:o.length>2&&(u=function(p,g){return o.call(this,p,g,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function qi(e,t,o,n){const a=Ta(e),r=a!==e&&!Ut(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,p){return i&&(i=!1,u=so(e,u)),o.call(this,u,so(e,c),p,e)}):o.length>3&&(s=function(u,c,p){return o.call(this,u,c,p,e)}));const l=a[t](s,...n);return i?so(e,l):l}function zr(e,t,o){const n=Be(e);Pt(n,"iterate",Un);const a=n[t](...o);return(a===-1||a===!1)&&Ia(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function Kn(e,t,o=[]){ao(),Fr();const n=Be(e)[t].apply(e,o);return Dr(),ro(),n}const Bp=Pr("__proto__,__v_isRef,__isVue"),Ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Gt));function Gp(e){Gt(e)||(e=String(e));const t=Be(this);return Pt(t,"has",e),t.hasOwnProperty(e)}class Xi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?nl:ol:r?tl:el).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=xe(t);if(!a){let l;if(s&&(l=Fp[o]))return l;if(o==="hasOwnProperty")return Gp}const i=Reflect.get(t,o,st(t)?t:n);if((Gt(o)?Ji.has(o):Bp(o))||(a||Pt(t,"get",o),r))return i;if(st(i)){const l=s&&xa(o)?i:i.value;return a&&Ye(l)?Vr(l):l}return Ye(i)?a?Vr(i):pn(i):i}}class Zi extends Xi{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=xe(t)&&xa(o);if(!this._isShallow){const u=ko(r);if(!Ut(n)&&!ko(n)&&(r=Be(r),n=Be(n)),!s&&st(r)&&!st(n))return u||(r.value=n),!0}const i=s?Number(o)e,Pa=e=>Reflect.getPrototypeOf(e);function Hp(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=No(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?Hr:t?gn:qt;return!t&&Pt(r,"iterate",l?Ur:Yo),dt(Object.create(u),{next(){const{value:p,done:g}=u.next();return g?{value:p,done:g}:{value:i?[c(p[0]),c(p[1])]:c(p),done:g}}})}}function Ma(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vp(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(no(a,i)&&Pt(s,"get",a),Pt(s,"get",i));const{has:l}=Pa(s),u=t?Hr:e?gn:qt;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Pt(Be(a),"iterate",Yo),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(no(a,i)&&Pt(s,"has",a),Pt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),u=t?Hr:e?gn:qt;return!e&&Pt(l,"iterate",Yo),i.forEach((c,p)=>a.call(r,u(c),u(p),s))}};return dt(o,e?{add:Ma("add"),set:Ma("set"),delete:Ma("delete"),clear:Ma("clear")}:{add(a){const r=Be(this),s=Pa(r),i=Be(a),l=!t&&!Ut(a)&&!ko(a)?i:a;return s.has.call(r,l)||no(a,l)&&s.has.call(r,a)||no(i,l)&&s.has.call(r,i)||(r.add(l),yo(r,"add",l,l)),this},set(a,r){!t&&!Ut(r)&&!ko(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=Pa(s);let u=i.call(s,a);u||(a=Be(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?no(r,c)&&yo(s,"set",a,r):yo(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=Pa(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&yo(r,"delete",a,void 0),u},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&yo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Hp(a,e,t)}),o}function Na(e,t){const o=Vp(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ve(o,a)&&a in n?o:n,a,r)}const Wp={get:Na(!1,!1)},Yp={get:Na(!1,!0)},qp={get:Na(!0,!1)},Jp={get:Na(!0,!0)},el=new WeakMap,tl=new WeakMap,ol=new WeakMap,nl=new WeakMap;function Xp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pn(e){return ko(e)?e:Ra(e,!1,jp,Wp,el)}function Zp(e){return Ra(e,!1,Kp,Yp,tl)}function Vr(e){return Ra(e,!0,Up,qp,ol)}function Yx(e){return Ra(e,!0,zp,Jp,nl)}function Ra(e,t,o,n,a){if(!Ye(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Xp(xp(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function vo(e){return ko(e)?vo(e.__v_raw):!!(e&&e.__v_isReactive)}function ko(e){return!!(e&&e.__v_isReadonly)}function Ut(e){return!!(e&&e.__v_isShallow)}function Ia(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function qo(e){return!Ve(e,"__v_skip")&&Object.isExtensible(e)&&Pi(e,"__v_skip",!0),e}const qt=e=>Ye(e)?pn(e):e,gn=e=>Ye(e)?Vr(e):e;function st(e){return e?e.__v_isRef===!0:!1}function de(e){return al(e,!1)}function fn(e){return al(e,!0)}function al(e,t){return st(e)?e:new Qp(e,t)}class Qp{constructor(t,o){this.dep=new jr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Be(t),this._value=o?t:qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ut(t)||ko(t);t=n?t:Be(t),no(t,o)&&(this._rawValue=t,this._value=n?t:qt(t),this.dep.trigger())}}function _e(e){return st(e)?e.value:e}const eg={get:(e,t,o)=>t==="__v_raw"?e:_e(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return st(a)&&!st(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function rl(e){return vo(e)?e:new Proxy(e,eg)}function tg(e){const t=xe(e)?new Array(e.length):{};for(const o in e)t[o]=sl(e,o);return t}class og{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Gt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!xe(t)||Gt(this._key)||!xa(this._key))do a=!Ia(r)||Ut(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=_e(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&st(this._raw[this._key])){const o=this._object[this._key];if(st(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Op(this._raw,this._key)}}class ng{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function ag(e,t,o){return st(e)?e:$e(e)?new ng(e):Ye(e)&&arguments.length>1?sl(e,t,o):de(e)}function sl(e,t,o){return new og(e,t,o)}class rg{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new jr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=jn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ot!==this)return Ui(this,!0),!0}get value(){const t=this.dep.track();return Hi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function sg(e,t,o=!1){let n,a;return $e(e)?n=e:(n=e.get,a=e.set),new rg(n,a,o)}const Oa={},Fa=new WeakMap;let Jo;function ig(e,t=!1,o=Jo){if(o){let n=Fa.get(o);n||Fa.set(o,n=[]),n.push(e)}}function lg(e,t,o=et){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=v=>a?v:Ut(v)||a===!1||a===0?wo(v,1):wo(v);let c,p,g,k,w=!1,_=!1;if(st(e)?(p=()=>e.value,w=Ut(e)):vo(e)?(p=()=>u(e),w=!0):xe(e)?(_=!0,w=e.some(v=>vo(v)||Ut(v)),p=()=>e.map(v=>{if(st(v))return v.value;if(vo(v))return u(v);if($e(v))return l?l(v,2):v()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(g){ao();try{g()}finally{ro()}}const v=Jo;Jo=c;try{return l?l(e,3,[k]):e(k)}finally{Jo=v}}:p=oo,t&&a){const v=p,x=a===!0?1/0:a;p=()=>wo(v(),x)}const d=Bi(),h=()=>{c.stop(),d&&d.active&&Mr(d.effects,c)};if(r&&t){const v=t;t=(...x)=>{const A=v(...x);return h(),A}}let f=_?new Array(e.length).fill(Oa):Oa;const m=v=>{if(!(!(c.flags&1)||!c.dirty&&!v))if(t){const x=c.run();if(v||a||w||(_?x.some((A,S)=>no(A,f[S])):no(x,f))){g&&g();const A=Jo;Jo=c;try{const S=[x,f===Oa?void 0:_&&f[0]===Oa?[]:f,k];f=x,l?l(t,3,S):t(...S)}finally{Jo=A}}}else c.run()};return i&&i(m),c=new Gi(p),c.scheduler=s?()=>s(m,!1):m,k=v=>ig(v,!1,c),g=c.onStop=()=>{const v=Fa.get(c);if(v){if(l)l(v,4);else for(const x of v)x();Fa.delete(c)}},t?n?m(!0):f=c.run():s?s(m.bind(null,!0),!0):c.run(),h.pause=c.pause.bind(c),h.resume=c.resume.bind(c),h.stop=h,h}function wo(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,st(e))wo(e.value,t,o);else if(xe(e))for(let n=0;n{wo(n,t,o)});else if(wa(e)){for(const n in e)wo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&wo(e[n],t,o)}return e}/** +**/let ht;class Gi{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&&ht&&(ht.active?(this.parent=ht,this.index=(ht.scopes||(ht.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ht===this)ht=this.prevScope;else{let t=ht;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 o,n;for(o=0,n=this.effects.length;o0)return;if(Gn){let t=Gn;for(Gn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Bn;){let t=Bn;for(Bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Hi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Vi(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Ur(n),Op(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function jr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Wi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Wi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===jn)||(e.globalVersion=jn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!jr(e))))return;e.flags|=2;const t=e.dep,o=ot,n=Yt;ot=e,Yt=!0;try{Hi(e);const a=e.fn(e._value);(t.version===0||no(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ot=o,Yt=n,Vi(e),e.flags&=-3}}function Ur(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Ur(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Op(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Yt=!0;const Yi=[];function ao(){Yi.push(Yt),Yt=!1}function ro(){const e=Yi.pop();Yt=e===void 0?!0:e}function qi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ot;ot=void 0;try{t()}finally{ot=o}}}let jn=0;class Fp{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Kr{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(!ot||!Yt||ot===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ot)o=this.activeLink=new Fp(ot,this),ot.deps?(o.prevDep=ot.depsTail,ot.depsTail.nextDep=o,ot.depsTail=o):ot.deps=ot.depsTail=o,Ji(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ot.depsTail,o.nextDep=void 0,ot.depsTail.nextDep=o,ot.depsTail=o,ot.deps===o&&(ot.deps=n)}return o}trigger(t){this.version++,jn++,this.notify(t)}notify(t){Br();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Gr()}}}function Ji(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ji(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const Ta=new WeakMap,Yo=Symbol(""),zr=Symbol(""),Un=Symbol("");function Pt(e,t,o){if(Yt&&ot){let n=Ta.get(e);n||Ta.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Kr),a.map=n,a.key=o),a.track()}}function yo(e,t,o,n,a,r){const s=Ta.get(e);if(!s){jn++;return}const i=l=>{l&&l.trigger()};if(Br(),t==="clear")s.forEach(i);else{const l=xe(e),u=l&&Aa(o);if(l&&o==="length"){const c=Number(n);s.forEach((p,g)=>{(g==="length"||g===Un||!Gt(g)&&g>=c)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),u&&i(s.get(Un)),t){case"add":l?u&&i(s.get("length")):(i(s.get(Yo)),No(e)&&i(s.get(zr)));break;case"delete":l||(i(s.get(Yo)),No(e)&&i(s.get(zr)));break;case"set":No(e)&&i(s.get(Yo));break}}Gr()}function Dp(e,t){const o=Ta.get(e);return o&&o.get(t)}function dn(e){const t=Be(e);return t===e?t:(Pt(t,"iterate",Un),Ut(e)?t:t.map(qt))}function Pa(e){return Pt(e=Be(e),"iterate",Un),e}function so(e,t){return ko(e)?gn(vo(e)?qt(t):t):qt(t)}const Bp={__proto__:null,[Symbol.iterator](){return Hr(this,Symbol.iterator,e=>so(this,e))},concat(...e){return dn(this).concat(...e.map(t=>xe(t)?dn(t):t))},entries(){return Hr(this,"entries",e=>(e[1]=so(this,e[1]),e))},every(e,t){return _o(this,"every",e,t,void 0,arguments)},filter(e,t){return _o(this,"filter",e,t,o=>o.map(n=>so(this,n)),arguments)},find(e,t){return _o(this,"find",e,t,o=>so(this,o),arguments)},findIndex(e,t){return _o(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _o(this,"findLast",e,t,o=>so(this,o),arguments)},findLastIndex(e,t){return _o(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _o(this,"forEach",e,t,void 0,arguments)},includes(...e){return Vr(this,"includes",e)},indexOf(...e){return Vr(this,"indexOf",e)},join(e){return dn(this).join(e)},lastIndexOf(...e){return Vr(this,"lastIndexOf",e)},map(e,t){return _o(this,"map",e,t,void 0,arguments)},pop(){return Kn(this,"pop")},push(...e){return Kn(this,"push",e)},reduce(e,...t){return Xi(this,"reduce",e,t)},reduceRight(e,...t){return Xi(this,"reduceRight",e,t)},shift(){return Kn(this,"shift")},some(e,t){return _o(this,"some",e,t,void 0,arguments)},splice(...e){return Kn(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 Kn(this,"unshift",e)},values(){return Hr(this,"values",e=>so(this,e))}};function Hr(e,t,o){const n=Pa(e),a=n[t]();return n!==e&&!Ut(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Gp=Array.prototype;function _o(e,t,o,n,a,r){const s=Pa(e),i=s!==e&&!Ut(e),l=s[t];if(l!==Gp[t]){const p=l.apply(e,r);return i?qt(p):p}let u=o;s!==e&&(i?u=function(p,g){return o.call(this,so(e,p),g,e)}:o.length>2&&(u=function(p,g){return o.call(this,p,g,e)}));const c=l.call(s,u,n);return i&&a?a(c):c}function Xi(e,t,o,n){const a=Pa(e),r=a!==e&&!Ut(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(u,c,p){return i&&(i=!1,u=so(e,u)),o.call(this,u,so(e,c),p,e)}):o.length>3&&(s=function(u,c,p){return o.call(this,u,c,p,e)}));const l=a[t](s,...n);return i?so(e,l):l}function Vr(e,t,o){const n=Be(e);Pt(n,"iterate",Un);const a=n[t](...o);return(a===-1||a===!1)&&Oa(o[0])?(o[0]=Be(o[0]),n[t](...o)):a}function Kn(e,t,o=[]){ao(),Br();const n=Be(e)[t].apply(e,o);return Gr(),ro(),n}const jp=Nr("__proto__,__v_isRef,__isVue"),Zi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Gt));function Up(e){Gt(e)||(e=String(e));const t=Be(this);return Pt(t,"has",e),t.hasOwnProperty(e)}class Qi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?rl:al:r?nl:ol).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=xe(t);if(!a){let l;if(s&&(l=Bp[o]))return l;if(o==="hasOwnProperty")return Up}const i=Reflect.get(t,o,st(t)?t:n);if((Gt(o)?Zi.has(o):jp(o))||(a||Pt(t,"get",o),r))return i;if(st(i)){const l=s&&Aa(o)?i:i.value;return a&&Ye(l)?Yr(l):l}return Ye(i)?a?Yr(i):pn(i):i}}class el extends Qi{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=xe(t)&&Aa(o);if(!this._isShallow){const u=ko(r);if(!Ut(n)&&!ko(n)&&(r=Be(r),n=Be(n)),!s&&st(r)&&!st(n))return u||(r.value=n),!0}const i=s?Number(o)e,Ma=e=>Reflect.getPrototypeOf(e);function Wp(e,t,o){return function(...n){const a=this.__v_raw,r=Be(a),s=No(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,u=a[e](...n),c=o?Wr:t?gn:qt;return!t&&Pt(r,"iterate",l?zr:Yo),dt(Object.create(u),{next(){const{value:p,done:g}=u.next();return g?{value:p,done:g}:{value:i?[c(p[0]),c(p[1])]:c(p),done:g}}})}}function Na(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yp(e,t){const o={get(a){const r=this.__v_raw,s=Be(r),i=Be(a);e||(no(a,i)&&Pt(s,"get",a),Pt(s,"get",i));const{has:l}=Ma(s),u=t?Wr:e?gn:qt;if(l.call(s,a))return u(r.get(a));if(l.call(s,i))return u(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&Pt(Be(a),"iterate",Yo),a.size},has(a){const r=this.__v_raw,s=Be(r),i=Be(a);return e||(no(a,i)&&Pt(s,"has",a),Pt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Be(i),u=t?Wr:e?gn:qt;return!e&&Pt(l,"iterate",Yo),i.forEach((c,p)=>a.call(r,u(c),u(p),s))}};return dt(o,e?{add:Na("add"),set:Na("set"),delete:Na("delete"),clear:Na("clear")}:{add(a){const r=Be(this),s=Ma(r),i=Be(a),l=!t&&!Ut(a)&&!ko(a)?i:a;return s.has.call(r,l)||no(a,l)&&s.has.call(r,a)||no(i,l)&&s.has.call(r,i)||(r.add(l),yo(r,"add",l,l)),this},set(a,r){!t&&!Ut(r)&&!ko(r)&&(r=Be(r));const s=Be(this),{has:i,get:l}=Ma(s);let u=i.call(s,a);u||(a=Be(a),u=i.call(s,a));const c=l.call(s,a);return s.set(a,r),u?no(r,c)&&yo(s,"set",a,r):yo(s,"add",a,r),this},delete(a){const r=Be(this),{has:s,get:i}=Ma(r);let l=s.call(r,a);l||(a=Be(a),l=s.call(r,a)),i&&i.call(r,a);const u=r.delete(a);return l&&yo(r,"delete",a,void 0),u},clear(){const a=Be(this),r=a.size!==0,s=a.clear();return r&&yo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Wp(a,e,t)}),o}function Ra(e,t){const o=Yp(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Ve(o,a)&&a in n?o:n,a,r)}const qp={get:Ra(!1,!1)},Jp={get:Ra(!1,!0)},Xp={get:Ra(!0,!1)},Zp={get:Ra(!0,!0)},ol=new WeakMap,nl=new WeakMap,al=new WeakMap,rl=new WeakMap;function Qp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pn(e){return ko(e)?e:Ia(e,!1,Kp,qp,ol)}function eg(e){return Ia(e,!1,Hp,Jp,nl)}function Yr(e){return Ia(e,!0,zp,Xp,al)}function Jx(e){return Ia(e,!0,Vp,Zp,rl)}function Ia(e,t,o,n,a){if(!Ye(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Qp(Sp(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function vo(e){return ko(e)?vo(e.__v_raw):!!(e&&e.__v_isReactive)}function ko(e){return!!(e&&e.__v_isReadonly)}function Ut(e){return!!(e&&e.__v_isShallow)}function Oa(e){return e?!!e.__v_raw:!1}function Be(e){const t=e&&e.__v_raw;return t?Be(t):e}function qo(e){return!Ve(e,"__v_skip")&&Object.isExtensible(e)&&Ni(e,"__v_skip",!0),e}const qt=e=>Ye(e)?pn(e):e,gn=e=>Ye(e)?Yr(e):e;function st(e){return e?e.__v_isRef===!0:!1}function de(e){return sl(e,!1)}function fn(e){return sl(e,!0)}function sl(e,t){return st(e)?e:new tg(e,t)}class tg{constructor(t,o){this.dep=new Kr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Be(t),this._value=o?t:qt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ut(t)||ko(t);t=n?t:Be(t),no(t,o)&&(this._rawValue=t,this._value=n?t:qt(t),this.dep.trigger())}}function _e(e){return st(e)?e.value:e}const og={get:(e,t,o)=>t==="__v_raw"?e:_e(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return st(a)&&!st(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function il(e){return vo(e)?e:new Proxy(e,og)}function ng(e){const t=xe(e)?new Array(e.length):{};for(const o in e)t[o]=ll(e,o);return t}class ag{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Gt(o)?o:String(o),this._raw=Be(t);let a=!0,r=t;if(!xe(t)||Gt(this._key)||!Aa(this._key))do a=!Oa(r)||Ut(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=_e(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&st(this._raw[this._key])){const o=this._object[this._key];if(st(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Dp(this._raw,this._key)}}class rg{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function sg(e,t,o){return st(e)?e:$e(e)?new rg(e):Ye(e)&&arguments.length>1?ll(e,t,o):de(e)}function ll(e,t,o){return new ag(e,t,o)}class ig{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Kr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=jn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ot!==this)return zi(this,!0),!0}get value(){const t=this.dep.track();return Wi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function lg(e,t,o=!1){let n,a;return $e(e)?n=e:(n=e.get,a=e.set),new ig(n,a,o)}const Fa={},Da=new WeakMap;let Jo;function cg(e,t=!1,o=Jo){if(o){let n=Da.get(o);n||Da.set(o,n=[]),n.push(e)}}function ug(e,t,o=et){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,u=k=>a?k:Ut(k)||a===!1||a===0?wo(k,1):wo(k);let c,p,g,w,b=!1,y=!1;if(st(e)?(p=()=>e.value,b=Ut(e)):vo(e)?(p=()=>u(e),b=!0):xe(e)?(y=!0,b=e.some(k=>vo(k)||Ut(k)),p=()=>e.map(k=>{if(st(k))return k.value;if(vo(k))return u(k);if($e(k))return l?l(k,2):k()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(g){ao();try{g()}finally{ro()}}const k=Jo;Jo=c;try{return l?l(e,3,[w]):e(w)}finally{Jo=k}}:p=oo,t&&a){const k=p,x=a===!0?1/0:a;p=()=>wo(k(),x)}const d=ji(),h=()=>{c.stop(),d&&d.active&&Rr(d.effects,c)};if(r&&t){const k=t;t=(...x)=>{const A=k(...x);return h(),A}}let f=y?new Array(e.length).fill(Fa):Fa;const m=k=>{if(!(!(c.flags&1)||!c.dirty&&!k))if(t){const x=c.run();if(k||a||b||(y?x.some((A,S)=>no(A,f[S])):no(x,f))){g&&g();const A=Jo;Jo=c;try{const S=[x,f===Fa?void 0:y&&f[0]===Fa?[]:f,w];f=x,l?l(t,3,S):t(...S)}finally{Jo=A}}}else c.run()};return i&&i(m),c=new Ui(p),c.scheduler=s?()=>s(m,!1):m,w=k=>cg(k,!1,c),g=c.onStop=()=>{const k=Da.get(c);if(k){if(l)l(k,4);else for(const x of k)x();Da.delete(c)}},t?n?m(!0):f=c.run():s?s(m.bind(null,!0),!0):c.run(),h.pause=c.pause.bind(c),h.resume=c.resume.bind(c),h.stop=h,h}function wo(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,st(e))wo(e.value,t,o);else if(xe(e))for(let n=0;n{wo(n,t,o)});else if(xa(e)){for(const n in e)wo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&wo(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const zn=[];let Wr=!1;function qx(e,...t){if(Wr)return;Wr=!0,ao();const o=zn.length?zn[zn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=cg();if(n)hn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${sc(o,r.type)}>`).join(` +**/const zn=[];let qr=!1;function Xx(e,...t){if(qr)return;qr=!0,ao();const o=zn.length?zn[zn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=dg();if(n)hn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${lc(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` -`,...ug(a)),console.warn(...r)}ro(),Wr=!1}function cg(){let e=zn[zn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function ug(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...dg(o))}),t}function dg({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${sc(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...pg(e.props),r]:[a+r]}function pg(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...il(n,e[n]))}),o.length>3&&t.push(" ..."),t}function il(e,t,o){return tt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:st(t)?(t=il(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function hn(e,t,o,n){try{return n?e(...n):e()}catch(a){Hn(a,t,o)}}function Jt(e,t,o,n){if($e(e)){const a=hn(e,t,o,n);return a&&Li(a)&&a.catch(r=>{Hn(r,t,o)}),a}if(xe(e)){const a=[];for(let r=0;r>>1,a=Nt[n],r=Vn(a);r=Vn(o)?Nt.push(e):Nt.splice(fg(t),0,e),e.flags|=1,cl()}}function cl(){Da||(Da=ll.then(pl))}function hg(e){if(!xe(e))Io&&e.id===-1?Io.splice(bn+1,0,e):e.flags&1||(mn.push(e),e.flags|=1);else for(let t=0;tVn(o)-Vn(n));if(mn.length=0,Io){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function pl(e){try{for(io=0;io{n._d&&Ja(-1);const r=Ba(t),s=Ao.length;let i;try{i=e(...a)}finally{for(let l=Ao.length;l>s;l--)us();Ba(r),n._d&&Ja(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function fl(e,t){if($t===null)return e;const o=er($t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&$e(t)?t.call(n&&n.proxy):t}}function mg(){return!!($o()||Qo)}const bg=Symbol.for("v-scx"),yg=()=>Fe(bg);function _g(e,t){return qr(e,null,t)}function ct(e,t,o){return qr(e,t,o)}function qr(e,t,o=et){const{immediate:n,deep:a,flush:r,once:s}=o,i=dt({},o),l=t&&n||!t&&r!=="post";let u;if(kn){if(r==="sync"){const k=yg();u=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=oo,k.resume=oo,k.pause=oo,k}}const c=Ct;i.call=(k,w,_)=>Jt(k,c,w,_);let p=!1;r==="post"?i.scheduler=k=>{It(k,c&&c.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(k,w)=>{w?k():Yr(k)}),i.augmentJob=k=>{t&&(k.flags|=4),p&&(k.flags|=2,c&&(k.id=c.uid,k.i=c))};const g=lg(e,t,i);return kn&&(u?u.push(g):l&&g()),g}function vg(e,t,o){const n=this.proxy,a=tt(e)?e.includes(".")?hl(n,e):()=>n[e]:e.bind(n,n);let r;$e(t)?r=t:(r=t.handler,o=t);const s=na(this),i=qr(a,r.bind(n),o);return s(),i}function hl(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Zo=e=>e&&(e.disabled||e.disabled===""),kg=e=>e&&(e.defer||e.defer===""),bl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,yl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Jr=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},wg={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:p,pbc:g,o:{insert:k,querySelector:w,createText:_,createComment:d,parentNode:h}}=u,f=Zo(t.props);let{dynamicChildren:m}=t;const v=(S,T,I)=>{S.shapeFlag&16&&c(S.children,T,I,a,r,s,i,l)},x=(S=t)=>{const T=Zo(S.props),I=S.target=Jr(S.props,w),H=Xr(I,S,_,k);I&&(s!=="svg"&&bl(I)?s="svg":s!=="mathml"&&yl(I)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(I),T||(v(S,I,H),Wn(S,!1)))},A=S=>{const T=()=>{if(Oo.get(S)===T){if(Oo.delete(S),Zo(S.props)){const I=h(S.el)||o;v(S,I,S.anchor),Wn(S,!0)}x(S)}};Oo.set(S,T),It(T,r)};if(e==null){const S=t.el=_(""),T=t.anchor=_("");if(k(S,o,n),k(T,o,n),kg(t.props)||r&&r.pendingBranch){A(t);return}f&&(v(t,o,T),Wn(t,!0)),x()}else{t.el=e.el;const S=t.anchor=e.anchor,T=Oo.get(e);if(T){T.flags|=8,Oo.delete(e),A(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,H=t.targetAnchor=e.targetAnchor,W=Zo(e.props),re=W?o:I,P=W?S:H;if(s==="svg"||bl(I)?s="svg":(s==="mathml"||yl(I))&&(s="mathml"),m?(g(e.dynamicChildren,m,re,a,r,s,i),cs(e,t,!0)):l||p(e,t,re,P,a,r,s,i,!1),f)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ja(t,o,S,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const $=Jr(t.props,w);$&&(t.target=$,ja(t,$,null,u,0))}else W&&ja(t,I,H,u,1);Wn(t,f)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:p,props:g}=e,k=Zo(g),w=r||!k,_=Oo.get(e);if(_&&(_.flags|=8,Oo.delete(e)),p&&(a(u),a(c)),r&&a(l),!_&&(k||p)&&s&16)for(let d=0;d1){for(const o of e)if(o.type!==po){t=o;break}}return t}function _l(e){if(!za(e))return Ga(e.type)&&e.children?Sg(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&$e(o.default))return o.default()}}function Qr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Qr(Ga(o.type)&&_l(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yn(e,t){return $e(e)?dt({name:e.name},t,{setup:e}):e}function es(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function vl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ua=new WeakMap;function qn(e,t,o,n,a=!1){if(xe(e)){e.forEach((_,d)=>qn(_,t&&(xe(t)?t[d]:t),o,n,a));return}if(yn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&qn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?er(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===et?i.refs={}:i.refs,p=i.setupState,g=Be(p),k=p===et?Ei:_=>vl(c,_)?!1:Ve(g,_),w=(_,d)=>!(d&&vl(c,d));if(u!=null&&u!==l){if(kl(t),tt(u))c[u]=null,k(u)&&(p[u]=null);else if(st(u)){const _=t;w(u,_.k)&&(u.value=null),_.k&&(c[_.k]=null)}}if($e(l))hn(l,i,12,[s,c]);else{const _=tt(l),d=st(l);if(_||d){const h=()=>{if(e.f){const f=_?k(l)?p[l]:c[l]:w()||!e.k?l.value:c[e.k];if(a)xe(f)&&Mr(f,r);else if(xe(f))f.includes(r)||f.push(r);else if(_)c[l]=[r],k(l)&&(p[l]=c[l]);else{const m=[r];w(l,e.k)&&(l.value=m),e.k&&(c[e.k]=m)}}else _?(c[l]=s,k(l)&&(p[l]=s)):d&&(w(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const f=()=>{h(),Ua.delete(e)};f.id=-1,Ua.set(e,f),It(f,o)}else kl(e),h()}}}function kl(e){const t=Ua.get(e);t&&(t.flags|=8,Ua.delete(e))}const wl=e=>e.nodeType===8;Ca().requestIdleCallback,Ca().cancelIdleCallback;function $g(e,t){if(wl(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(wl(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const yn=e=>!!e.type.__asyncLoader;function Eg(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,p=0;const g=()=>(p++,u=null,k()),k=()=>{let w;return u||(w=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((d,h)=>{l(_,()=>d(g()),()=>h(_),p+1)});throw _}).then(_=>w!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return Yn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(w,_,d){const h=w.isConnected;let f=!1;(_.bu||(_.bu=[])).push(()=>f=!0);const m=()=>{f||!w.parentNode||h&&!w.isConnected||d()},v=r?()=>{const x=r(m,A=>$g(w,A));x&&(_.bum||(_.bum=[])).push(x)}:m;c?v():k().then(()=>!_.isUnmounted&&v())},get __asyncResolved(){return c},setup(){const w=Ct;if(es(w),c)return()=>Ka(c,w);const _=x=>{u=null,Hn(x,w,13,!n)};if(i&&w.suspense||kn)return k().then(x=>()=>Ka(x,w)).catch(x=>(_(x),()=>n?We(n,{error:x}):null));const d=de(!1),h=de(),f=de(!!a);let m,v;return Va(()=>{m!=null&&clearTimeout(m),v!=null&&clearTimeout(v)}),a&&(v=setTimeout(()=>{w.isUnmounted||(f.value=!1)},a)),s!=null&&(m=setTimeout(()=>{if(!w.isUnmounted&&!d.value&&!h.value){const x=new Error(`Async component timed out after ${s}ms.`);_(x),h.value=x}},s)),k().then(()=>{w.isUnmounted||(d.value=!0,w.parent&&za(w.parent.vnode)&&w.parent.update())}).catch(x=>{if(w.isUnmounted){u=null;return}_(x),h.value=x}),()=>{if(d.value&&c)return Ka(c,w);if(h.value&&n)return We(n,{error:h.value});if(o&&!f.value)return Ka(o,w)}}})}function Ka(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=We(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const za=e=>e.type.__isKeepAlive;function Cg(e,t){xl(e,"a",t)}function Lg(e,t){xl(e,"da",t)}function xl(e,t,o=Ct){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ha(t,n,o),o){let a=o.parent;for(;a&&a.parent;)za(a.parent.vnode)&&Tg(n,t,o,a),a=a.parent}}function Tg(e,t,o,n){const a=Ha(t,e,n,!0);Va(()=>{Mr(n[t],a)},o)}function Ha(e,t,o=Ct,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{ao();const i=na(o),l=Jt(t,o,e,s);return i(),ro(),l});return n?a.unshift(r):a.push(r),r}}const xo=e=>(t,o=Ct)=>{(!kn||e==="sp")&&Ha(e,(...n)=>t(...n),o)},Al=xo("bm"),co=xo("m"),Pg=xo("bu"),Mg=xo("u"),uo=xo("bum"),Va=xo("um"),Ng=xo("sp"),Rg=xo("rtg"),Ig=xo("rtc");function Og(e,t=Ct){Ha("ec",e,t)}const Fg="components",Sl=Symbol.for("v-ndc");function $l(e){return tt(e)?Dg(Fg,e,!1)||e:e||Sl}function Dg(e,t,o=!0,n=!1){const a=$t||Ct;if(a){const r=a.type;{const i=rc(r,!1);if(i&&(i===t||i===_t(t)||i===Sa(_t(t))))return r}const s=El(a[e]||r[e],t)||El(a.appContext[e],t);return!s&&n?r:s}}function El(e,t){return e&&(e[t]||e[_t(t)]||e[Sa(_t(t))])}function Et(e,t,o,n){let a;const r=o,s=xe(e);if(s||tt(e)){const i=s&&vo(e);let l=!1,u=!1;i&&(l=!Ut(e),u=ko(e),e=Ta(e)),a=new Array(e.length);for(let c=0,p=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),z(),pt(Pe,null,[We("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Ao.length;z();let l;try{const u=s&&Cl(s(o)),c=o.key||r||u&&u.key;l=pt(Pe,{key:(c&&!Gt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=Ao.length;c>i;c--)us();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Cl(e){return e.some(t=>ea(t)?!(t.type===po||t.type===Pe&&!Cl(t.children)):!0)?e:null}const ts=e=>e?oc(e)?er(e):ts(e.parent):null,Jn=dt(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=>ts(e.parent),$root:e=>ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ml(e),$forceUpdate:e=>e.f||(e.f=()=>{Yr(e.update)}),$nextTick:e=>e.n||(e.n=lo.bind(e.proxy)),$watch:e=>vg.bind(e)}),os=(e,t)=>e!==et&&!e.__isScriptSetup&&Ve(e,t),Bg={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(os(n,t))return s[t]=1,n[t];if(a!==et&&Ve(a,t))return s[t]=2,a[t];if(Ve(r,t))return s[t]=3,r[t];if(o!==et&&Ve(o,t))return s[t]=4,o[t];ns&&(s[t]=0)}}const u=Jn[t];let c,p;if(u)return t==="$attrs"&&Pt(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==et&&Ve(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Ve(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return os(a,t)?(a[t]=o,!0):n!==et&&Ve(n,t)?(n[t]=o,!0):Ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==et&&i[0]!=="$"&&Ve(e,i)||os(t,i)||Ve(r,i)||Ve(n,i)||Ve(Jn,i)||Ve(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ve(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Ll(e){return xe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ns=!0;function Gg(e){const t=Ml(e),o=e.proxy,n=e.ctx;ns=!1,t.beforeCreate&&Tl(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:p,mounted:g,beforeUpdate:k,updated:w,activated:_,deactivated:d,beforeDestroy:h,beforeUnmount:f,destroyed:m,unmounted:v,render:x,renderTracked:A,renderTriggered:S,errorCaptured:T,serverPrefetch:I,expose:H,inheritAttrs:W,components:re,directives:P,filters:$}=t;if(u&&jg(u,n,null),s)for(const N in s){const ne=s[N];$e(ne)&&(n[N]=ne.bind(o))}if(a){const N=a.call(o,o);Ye(N)&&(e.data=pn(N))}if(ns=!0,r)for(const N in r){const ne=r[N],ge=$e(ne)?ne.bind(o,o):$e(ne.get)?ne.get.bind(o,o):oo,L=!$e(ne)&&$e(ne.set)?ne.set.bind(o):oo,ae=te({get:ge,set:L});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>ae.value,set:ie=>ae.value=ie})}if(i)for(const N in i)Pl(i[N],n,o,N);if(l){const N=$e(l)?l.call(o):l;Reflect.ownKeys(N).forEach(ne=>{Ft(ne,N[ne])})}c&&Tl(c,e,"c");function C(N,ne){xe(ne)?ne.forEach(ge=>N(ge.bind(o))):ne&&N(ne.bind(o))}if(C(Al,p),C(co,g),C(Pg,k),C(Mg,w),C(Cg,_),C(Lg,d),C(Og,T),C(Ig,A),C(Rg,S),C(uo,f),C(Va,v),C(Ng,I),xe(H))if(H.length){const N=e.exposed||(e.exposed={});H.forEach(ne=>{Object.defineProperty(N,ne,{get:()=>o[ne],set:ge=>o[ne]=ge,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===oo&&(e.render=x),W!=null&&(e.inheritAttrs=W),re&&(e.components=re),P&&(e.directives=P),I&&es(e)}function jg(e,t,o=oo){xe(e)&&(e=as(e));for(const n in e){const a=e[n];let r;Ye(a)?"default"in a?r=Fe(a.from||n,a.default,!0):r=Fe(a.from||n):r=Fe(a),st(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Tl(e,t,o){Jt(xe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Pl(e,t,o,n){let a=n.includes(".")?hl(o,n):()=>o[n];if(tt(e)){const r=t[e];$e(r)&&ct(a,r)}else if($e(e))ct(a,e.bind(o));else if(Ye(e))if(xe(e))e.forEach(r=>Pl(r,t,o,n));else{const r=$e(e.handler)?e.handler.bind(o):t[e.handler];$e(r)&&ct(a,r,e)}}function Ml(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>Wa(l,u,s,!0)),Wa(l,t,s)),Ye(t)&&r.set(t,l),l}function Wa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Wa(e,r,o,!0),a&&a.forEach(s=>Wa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=Ug[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const Ug={data:Nl,props:Rl,emits:Rl,methods:Xn,computed:Xn,beforeCreate:Rt,created:Rt,beforeMount:Rt,mounted:Rt,beforeUpdate:Rt,updated:Rt,beforeDestroy:Rt,beforeUnmount:Rt,destroyed:Rt,unmounted:Rt,activated:Rt,deactivated:Rt,errorCaptured:Rt,serverPrefetch:Rt,components:Xn,directives:Xn,watch:zg,provide:Nl,inject:Kg};function Nl(e,t){return t?e?function(){return dt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function Kg(e,t){return Xn(as(e),as(t))}function as(e){if(xe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_t(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function Yg(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||et;let a=o;const r=t.startsWith("update:"),s=r&&Wg(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>tt(c)?c.trim():c)),s.number&&(a=a.map(Ea)));let i,l=n[i=Nr(t)]||n[i=Nr(_t(t))];!l&&r&&(l=n[i=Nr(jt(t))]),l&&Jt(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Jt(u,e,6,a)}}const qg=new WeakMap;function Ol(e,t,o=!1){const n=o?qg:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!$e(e)){const l=u=>{const c=Ol(u,t,!0);c&&(i=!0,dt(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ye(e)&&n.set(e,null),null):(xe(r)?r.forEach(l=>s[l]=null):dt(s,r),Ye(e)&&n.set(e,s),s)}function Ya(e,t){return!e||!va(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ve(e,t[0].toLowerCase()+t.slice(1))||Ve(e,jt(t))||Ve(e,t))}function Jx(){}function Fl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:p,data:g,setupState:k,ctx:w,inheritAttrs:_}=e,d=Ba(e);let h,f;try{if(o.shapeFlag&4){const v=a||n,x=v;h=go(u.call(x,v,c,p,k,g,w)),f=i}else{const v=t;h=go(v.length>1?v(p,{attrs:i,slots:s,emit:l}):v(p,null)),f=t.props?i:Jg(i)}}catch(v){Ao.length=0,Hn(v,e,1),h=We(po)}let m=h;if(f&&_!==!1){const v=Object.keys(f),{shapeFlag:x}=m;v.length&&x&7&&(r&&v.some(ka)&&(f=Xg(f,r)),m=vn(m,f,!1,!0))}if(o.dirs&&(m=vn(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const v=Ga(m.type)&&_l(m)||m;Qr(v,o.transition)}return h=m,Ba(d),h}const Jg=e=>{let t;for(const o in e)(o==="class"||o==="style"||va(o))&&((t||(t={}))[o]=e[o]);return t},Xg=(e,t)=>{const o={};for(const n in e)(!ka(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Zg(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Dl(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let p=0;pObject.create(Gl),Ul=e=>Object.getPrototypeOf(e)===Gl;function ef(e,t,o,n=!1){const a={},r=jl();e.propsDefaults=Object.create(null),Kl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Zp(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function tf(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[g,k]=zl(p,t,!0);dt(s,g),k&&i.push(...k)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return Ye(e)&&n.set(e,un),un;if(xe(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",is=e=>xe(e)?e.map(go):[go(e)],nf=(e,t,o)=>{if(t._n)return t;const n=Vt((...a)=>is(t(...a)),o);return n._c=!1,n},Vl=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ss(a))continue;const r=e[a];if($e(r))t[a]=nf(a,r,n);else if(r!=null){const s=is(r);t[a]=()=>s}}},Wl=(e,t)=>{const o=is(t);e.slots.default=()=>o},Yl=(e,t,o)=>{for(const n in t)(o||!ss(n))&&(e[n]=t[n])},af=(e,t,o)=>{const n=e.slots=jl();if(e.vnode.shapeFlag&32){const a=t._;a?(Yl(n,t,o),o&&Pi(n,"_",a,!0)):Vl(t,n)}else t&&Wl(e,t)},rf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=et;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Yl(a,t,o):(r=!t.$stable,Vl(t,a)),s=t}else t&&(Wl(e,t),s={default:1});if(r)for(const i in a)!ss(i)&&s[i]==null&&delete a[i]},It=df;function sf(e){return lf(e)}function lf(e,t){const o=Ca();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:p,nextSibling:g,setScopeId:k=oo,insertStaticContent:w}=e,_=(E,F,O,K=null,X=null,J=null,Z=void 0,Q=null,b=!!F.dynamicChildren)=>{if(E===F)return;E&&!ta(E,F)&&(K=Oe(E),ie(E,X,J,!0),E=null),F.patchFlag===-2&&(b=!1,F.dynamicChildren=null);const{type:y,ref:B,shapeFlag:V}=F;switch(y){case Zn:d(E,F,O,K);break;case po:h(E,F,O,K);break;case qa:E==null&&f(F,O,K,Z);break;case Pe:re(E,F,O,K,X,J,Z,Q,b);break;default:V&1?x(E,F,O,K,X,J,Z,Q,b):V&6?P(E,F,O,K,X,J,Z,Q,b):(V&64||V&128)&&y.process(E,F,O,K,X,J,Z,Q,b,Xe)}B!=null&&X?qn(B,E&&E.ref,J,F||E,!F):B==null&&E&&E.ref!=null&&qn(E.ref,null,J,E,!0)},d=(E,F,O,K)=>{if(E==null)n(F.el=i(F.children),O,K);else{const X=F.el=E.el;F.children!==E.children&&u(X,F.children)}},h=(E,F,O,K)=>{E==null?n(F.el=l(F.children||""),O,K):F.el=E.el},f=(E,F,O,K)=>{[E.el,E.anchor]=w(E.children,F,O,K,E.el,E.anchor)},m=({el:E,anchor:F},O,K)=>{let X;for(;E&&E!==F;)X=g(E),n(E,O,K),E=X;n(F,O,K)},v=({el:E,anchor:F})=>{let O;for(;E&&E!==F;)O=g(E),a(E),E=O;a(F)},x=(E,F,O,K,X,J,Z,Q,b)=>{if(F.type==="svg"?Z="svg":F.type==="math"&&(Z="mathml"),E==null)A(F,O,K,X,J,Z,Q,b);else{const y=E.el&&E.el._isVueCE?E.el:null;try{y&&y._beginPatch(),I(E,F,X,J,Z,Q,b)}finally{y&&y._endPatch()}}},A=(E,F,O,K,X,J,Z,Q)=>{let b,y;const{props:B,shapeFlag:V,transition:ue,dirs:se}=E;if(b=E.el=s(E.type,J,B&&B.is,B),V&8?c(b,E.children):V&16&&T(E.children,b,null,K,X,ls(E,J),Z,Q),se&&Xo(E,null,K,"created"),S(b,E,E.scopeId,Z,K),B){for(const Y in B)Y!=="value"&&!Dn(Y)&&r(b,Y,null,B[Y],J,K);"value"in B&&r(b,"value",null,B.value,J),(y=B.onVnodeBeforeMount)&&fo(y,K,E)}se&&Xo(E,null,K,"beforeMount");const G=cf(X,ue);G&&ue.beforeEnter(b),n(b,F,O),((y=B&&B.onVnodeMounted)||G||se)&&It(()=>{try{y&&fo(y,K,E),G&&ue.enter(b),se&&Xo(E,null,K,"mounted")}finally{}},X)},S=(E,F,O,K,X)=>{if(O&&k(E,O),K)for(let J=0;J{for(let y=b;y{const Q=F.el=E.el;let{patchFlag:b,dynamicChildren:y,dirs:B}=F;b|=E.patchFlag&16;const V=E.props||et,ue=F.props||et;let se;if(O&&en(O,!1),(se=ue.onVnodeBeforeUpdate)&&fo(se,O,F,E),B&&Xo(F,E,O,"beforeUpdate"),O&&en(O,!0),y&&(!E.dynamicChildren||E.dynamicChildren.length!==y.length)&&(b=0,Z=!1,y=null),(V.innerHTML&&ue.innerHTML==null||V.textContent&&ue.textContent==null)&&c(Q,""),y?H(E.dynamicChildren,y,Q,O,K,ls(F,X),J):Z||ne(E,F,Q,null,O,K,ls(F,X),J,!1),b>0){if(b&16)W(Q,V,ue,O,X);else if(b&2&&V.class!==ue.class&&r(Q,"class",null,ue.class,X),b&4&&r(Q,"style",V.style,ue.style,X),b&8){const G=F.dynamicProps;for(let Y=0;Y{se&&fo(se,O,F,E),B&&Xo(F,E,O,"updated")},K)},H=(E,F,O,K,X,J,Z)=>{for(let Q=0;Q{if(F!==O){if(F!==et)for(const J in F)!Dn(J)&&!(J in O)&&r(E,J,F[J],null,X,K);for(const J in O){if(Dn(J))continue;const Z=O[J],Q=F[J];Z!==Q&&J!=="value"&&r(E,J,Q,Z,X,K)}"value"in O&&r(E,"value",F.value,O.value,X)}},re=(E,F,O,K,X,J,Z,Q,b)=>{const y=F.el=E?E.el:i(""),B=F.anchor=E?E.anchor:i("");let{patchFlag:V,dynamicChildren:ue,slotScopeIds:se}=F;se&&(Q=Q?Q.concat(se):se),E==null?(n(y,O,K),n(B,O,K),T(F.children||[],O,B,X,J,Z,Q,b)):V>0&&V&64&&ue&&E.dynamicChildren&&E.dynamicChildren.length===ue.length?(H(E.dynamicChildren,ue,O,X,J,Z,Q),(F.key!=null||X&&F===X.subTree)&&cs(E,F,!0)):ne(E,F,O,B,X,J,Z,Q,b)},P=(E,F,O,K,X,J,Z,Q,b)=>{F.slotScopeIds=Q,E==null?F.shapeFlag&512?X.ctx.activate(F,O,K,Z,b):$(F,O,K,X,J,Z,b):M(E,F,b)},$=(E,F,O,K,X,J,Z)=>{const Q=E.component=yf(E,K,X);if(za(E)&&(Q.ctx.renderer=Xe),_f(Q,!1,Z),Q.asyncDep){if(X&&X.registerDep(Q,C,Z),!E.el){const b=Q.subTree=We(po);h(null,b,F,O),E.placeholder=b.el}}else C(Q,E,F,O,X,J,Z)},M=(E,F,O)=>{const K=F.component=E.component;if(Zg(E,F,O))if(K.asyncDep&&!K.asyncResolved){N(K,F,O);return}else K.next=F,K.update();else F.el=E.el,K.vnode=F},C=(E,F,O,K,X,J,Z)=>{const Q=()=>{if(E.isMounted){let{next:V,bu:ue,u:se,parent:G,vnode:Y}=E;{const U=ql(E);if(U){V&&(V.el=Y.el,N(E,V,Z)),U.asyncDep.then(()=>{It(()=>{E.isUnmounted||y()},X)});return}}let me=V,Ae;en(E,!1),V?(V.el=Y.el,N(E,V,Z)):V=Y,ue&&$a(ue),(Ae=V.props&&V.props.onVnodeBeforeUpdate)&&fo(Ae,G,V,Y),en(E,!0);const Ge=Fl(E),D=E.subTree;E.subTree=Ge,_(D,Ge,p(D.el),Oe(D),E,X,J),V.el=Ge.el,me===null&&Qg(E,Ge.el),se&&It(se,X),(Ae=V.props&&V.props.onVnodeUpdated)&&It(()=>fo(Ae,G,V,Y),X)}else{let V;const{el:ue,props:se}=F,{bm:G,m:Y,parent:me,root:Ae,type:Ge}=E,D=yn(F);en(E,!1),G&&$a(G),!D&&(V=se&&se.onVnodeBeforeMount)&&fo(V,me,F),en(E,!0);{Ae.ce&&Ae.ce._hasShadowRoot()&&Ae.ce._injectChildStyle(Ge,E.parent?E.parent.type:void 0);const U=E.subTree=Fl(E);_(null,U,O,K,E,X,J),F.el=U.el}if(Y&&It(Y,X),!D&&(V=se&&se.onVnodeMounted)){const U=F;It(()=>fo(V,me,U),X)}(F.shapeFlag&256||me&&yn(me.vnode)&&me.vnode.shapeFlag&256)&&E.a&&It(E.a,X),E.isMounted=!0,F=O=K=null}};E.scope.on();const b=E.effect=new Gi(Q);E.scope.off();const y=E.update=b.run.bind(b),B=E.job=b.runIfDirty.bind(b);B.i=E,B.id=E.uid,b.scheduler=()=>Yr(B),en(E,!0),y()},N=(E,F,O)=>{F.component=E;const K=E.vnode.props;E.vnode=F,E.next=null,tf(E,F.props,K,O),rf(E,F.children,O),ao(),ul(E),ro()},ne=(E,F,O,K,X,J,Z,Q,b=!1)=>{const y=E&&E.children,B=E?E.shapeFlag:0,V=F.children,{patchFlag:ue,shapeFlag:se}=F;if(ue>0){if(ue&128){L(y,V,O,K,X,J,Z,Q,b);return}else if(ue&256){ge(y,V,O,K,X,J,Z,Q,b);return}}se&8?(B&16&&Re(y,X,J),V!==y&&c(O,V)):B&16?se&16?L(y,V,O,K,X,J,Z,Q,b):Re(y,X,J,!0):(B&8&&c(O,""),se&16&&T(V,O,K,X,J,Z,Q,b))},ge=(E,F,O,K,X,J,Z,Q,b)=>{E=E||un,F=F||un;const y=E.length,B=F.length,V=Math.min(y,B);let ue;for(ue=0;ueB?Re(E,X,J,!0,!1,V):T(F,O,K,X,J,Z,Q,b,V)},L=(E,F,O,K,X,J,Z,Q,b)=>{let y=0;const B=F.length;let V=E.length-1,ue=B-1;for(;y<=V&&y<=ue;){const se=E[y],G=F[y]=b?So(F[y]):go(F[y]);if(ta(se,G))_(se,G,O,null,X,J,Z,Q,b);else break;y++}for(;y<=V&&y<=ue;){const se=E[V],G=F[ue]=b?So(F[ue]):go(F[ue]);if(ta(se,G))_(se,G,O,null,X,J,Z,Q,b);else break;V--,ue--}if(y>V){if(y<=ue){const se=ue+1,G=seue)for(;y<=V;)ie(E[y],X,J,!0),y++;else{const se=y,G=y,Y=new Map;for(y=G;y<=ue;y++){const ke=F[y]=b?So(F[y]):go(F[y]);ke.key!=null&&Y.set(ke.key,y)}let me,Ae=0;const Ge=ue-G+1;let D=!1,U=0;const he=new Array(Ge);for(y=0;y=Ge){ie(ke,X,J,!0);continue}let je;if(ke.key!=null)je=Y.get(ke.key);else for(me=G;me<=ue;me++)if(he[me-G]===0&&ta(ke,F[me])){je=me;break}je===void 0?ie(ke,X,J,!0):(he[je-G]=y+1,je>=U?U=je:D=!0,_(ke,F[je],O,null,X,J,Z,Q,b),Ae++)}const ve=D?uf(he):un;for(me=ve.length-1,y=Ge-1;y>=0;y--){const ke=G+y,je=F[ke],Ce=F[ke+1],xt=ke+1{const{el:J,type:Z,transition:Q,children:b,shapeFlag:y}=E;if(y&6){ae(E.component.subTree,F,O,K);return}if(y&128){E.suspense.move(F,O,K);return}if(y&64){Z.move(E,F,O,Xe);return}if(Z===Pe){n(J,F,O);for(let V=0;VQ.enter(J),X));else{const{leave:V,delayLeave:ue,afterLeave:se}=Q,G=()=>{E.ctx.isUnmounted?a(J):n(J,F,O)},Y=()=>{const me=J._isLeaving||!!J[Zr];J._isLeaving&&J[Zr](!0),Q.persisted&&!me?G():V(J,()=>{G(),se&&se()})};ue?ue(J,G,Y):Y()}else n(J,F,O)},ie=(E,F,O,K=!1,X=!1)=>{const{type:J,props:Z,ref:Q,children:b,dynamicChildren:y,shapeFlag:B,patchFlag:V,dirs:ue,cacheIndex:se,memo:G}=E;if(V===-2&&(X=!1),Q!=null&&(ao(),qn(Q,null,O,E,!0),ro()),se!=null&&(F.renderCache[se]=void 0),B&256){F.ctx.deactivate(E);return}const Y=B&1&&ue,me=!yn(E);let Ae;if(me&&(Ae=Z&&Z.onVnodeBeforeUnmount)&&fo(Ae,F,E),B&6)Me(E.component,O,K);else{if(B&128){E.suspense.unmount(O,K);return}Y&&Xo(E,null,F,"beforeUnmount"),B&64?E.type.remove(E,F,O,Xe,K):y&&!y.hasOnce&&(J!==Pe||V>0&&V&64)?Re(y,F,O,!1,!0):(J===Pe&&V&384||!X&&B&16)&&Re(b,F,O),K&&le(E)}const Ge=G!=null&&se==null;(me&&(Ae=Z&&Z.onVnodeUnmounted)||Y||Ge)&&It(()=>{Ae&&fo(Ae,F,E),Y&&Xo(E,null,F,"unmounted"),Ge&&(E.el=null)},O)},le=E=>{const{type:F,el:O,anchor:K,transition:X}=E;if(F===Pe){we(O,K);return}if(F===qa){v(E);return}const J=()=>{a(O),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(E.shapeFlag&1&&X&&!X.persisted){const{leave:Z,delayLeave:Q}=X,b=()=>Z(O,J);Q?Q(E.el,J,b):b()}else J()},we=(E,F)=>{let O;for(;E!==F;)O=g(E),a(E),E=O;a(F)},Me=(E,F,O)=>{const{bum:K,scope:X,job:J,subTree:Z,um:Q,m:b,a:y}=E;Jl(b),Jl(y),K&&$a(K),X.stop(),J&&(J.flags|=8,ie(Z,E,F,O)),Q&&It(Q,F),It(()=>{E.isUnmounted=!0},F)},Re=(E,F,O,K=!1,X=!1,J=0)=>{for(let Z=J;Z{if(E.shapeFlag&6)return Oe(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();const F=g(E.anchor||E.el),O=F&&F[ml];return O?g(O):F};let Ie=!1;const Je=(E,F,O)=>{let K;E==null?F._vnode&&(ie(F._vnode,null,null,!0),K=F._vnode.component):_(F._vnode||null,E,F,null,null,null,O),F._vnode=E,Ie||(Ie=!0,ul(K),dl(),Ie=!1)},Xe={p:_,um:ie,m:ae,r:le,mt:$,mc:T,pc:ne,pbc:H,n:Oe,o:e};return{render:Je,hydrate:void 0,createApp:Vg(Je)}}function ls({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function en({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function cf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function cs(e,t,o=!1){const n=e.children,a=t.children;if(xe(n)&&xe(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function ql(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ql(t)}function Jl(e){if(e)for(let t=0;te.__isSuspense;function df(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):hg(e)}const Pe=Symbol.for("v-fgt"),Zn=Symbol.for("v-txt"),po=Symbol.for("v-cmt"),qa=Symbol.for("v-stc"),Ao=[];let Kt=null;function z(e=!1){Ao.push(Kt=e?null:[])}function us(){Ao.pop(),Kt=Ao[Ao.length-1]||null}let Qn=1;function Ja(e,t=!1){Qn+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function Ql(e){return e.dynamicChildren=Qn>0?Kt||un:null,us(),Qn>0&&Kt&&Kt.push(e),e}function ee(e,t,o,n,a,r){return Ql(R(e,t,o,n,a,r,!0))}function pt(e,t,o,n,a){return Ql(We(e,t,o,n,a,!0))}function ea(e){return e?e.__v_isVNode===!0:!1}function ta(e,t){return e.type===t.type&&e.key===t.key}const ec=({key:e})=>e??null,Xa=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||st(e)||$e(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,a=null,r=e===Pe?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ec(t),ref:t&&Xa(t),scopeId:gl,slotScopeIds:null,children:o,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:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:$t};return i?(Za(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=tt(o)?8:16),Qn>0&&!s&&Kt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Kt.push(l),l}const We=pf;function pf(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===Sl)&&(e=po),ea(e)){const i=vn(e,t,!0);return o&&Za(i,o),Qn>0&&!r&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(Sf(e)&&(e=e.__vccOpts),t){t=gf(t);let{class:i,style:l}=t;i&&!tt(i)&&(t.class=Ne(i)),Ye(l)&&(Ia(l)&&!xe(l)&&(l=dt({},l)),t.style=rt(l))}const s=tt(e)?1:Zl(e)?128:Ga(e)?64:Ye(e)?4:$e(e)?2:0;return R(e,t,o,n,a,s,r,!0)}function gf(e){return e?Ia(e)||Ul(e)?dt({},e):e:null}function vn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?hf(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&ec(u),ref:t&&t.ref?o&&r?xe(r)?r.concat(Xa(t)):[r,Xa(t)]:Xa(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vn(e.ssContent),ssFallback:e.ssFallback&&vn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Qr(c,l.clone(c)),c}function mt(e=" ",t=0){return We(Zn,null,e,t)}function ff(e,t){const o=We(qa,null,e);return o.staticCount=t,o}function ye(e="",t=!1){return t?(z(),pt(po,null,e)):We(po,null,e)}function go(e){return e==null||typeof e=="boolean"?We(po):xe(e)?We(Pe,null,e.slice()):ea(e)?So(e):We(Zn,null,String(e))}function So(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vn(e)}function Za(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(xe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Za(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Ul(t)?t._ctx=$t:a===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(n&65){Za(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),n&64?(o=16,t=[mt(t)]):o=8;e.children=t,e.shapeFlag|=o}function hf(...e){const t={};for(let o=0;oCt||$t;let Qa,oa;{const e=Ca(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Qa=t("__VUE_INSTANCE_SETTERS__",o=>Ct=o),oa=t("__VUE_SSR_SETTERS__",o=>kn=o)}const na=e=>{const t=Ct;return Qa(e),e.scope.on(),()=>{e.scope.off(),Qa(t)}},tc=()=>{Ct&&Ct.scope.off(),Qa(null)};function oc(e){return e.vnode.shapeFlag&4}let kn=!1;function _f(e,t=!1,o=!1){t&&oa(t);const{props:n,children:a}=e.vnode,r=oc(e);ef(e,n,r,t),af(e,a,o||t);const s=r?vf(e,t):void 0;return t&&oa(!1),s}function vf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Bg);const{setup:n}=o;if(n){ao();const a=e.setupContext=n.length>1?wf(e):null,r=na(e),s=hn(n,e,0,[e.props,a]),i=Li(s);if(ro(),r(),(i||e.sp)&&!yn(e)&&es(e),i){if(s.then(tc,tc),t)return s.then(l=>{oa(!0);try{nc(e,l,t)}finally{oa(!1)}}).catch(l=>{Hn(l,e,0)});e.asyncDep=s}else nc(e,s)}else ac(e)}function nc(e,t,o){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=rl(t)),ac(e)}function ac(e,t,o){const n=e.type;e.render||(e.render=n.render||oo);{const a=na(e);ao();try{Gg(e)}finally{ro(),a()}}}const kf={get(e,t){return Pt(e,"get",""),e[t]}};function wf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,kf),slots:e.slots,emit:e.emit,expose:t}}function er(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(rl(qo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Jn)return Jn[o](e)},has(t,o){return o in t||o in Jn}})):e.proxy}const xf=/(?:^|[-_])\w/g,Af=e=>e.replace(xf,t=>t.toUpperCase()).replace(/[-_]/g,"");function rc(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function sc(e,t,o=!1){let n=rc(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Af(n):o?"App":"Anonymous"}function Sf(e){return $e(e)&&"__vccOpts"in e}const te=(e,t)=>sg(e,t,kn);function ic(e,t,o){try{Ja(-1);const n=arguments.length;return n===2?Ye(t)&&!xe(t)?ea(t)?We(e,null,[t]):We(e,t):We(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&ea(o)&&(o=[o]),We(e,t,o))}finally{Ja(1)}}const $f="3.5.42";/** +`,...pg(a)),console.warn(...r)}ro(),qr=!1}function dg(){let e=zn[zn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function pg(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...gg(o))}),t}function gg({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${lc(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...fg(e.props),r]:[a+r]}function fg(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...cl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function cl(e,t,o){return tt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:st(t)?(t=cl(e,Be(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Be(t),o?t:[`${e}=`,t])}function hn(e,t,o,n){try{return n?e(...n):e()}catch(a){Hn(a,t,o)}}function Jt(e,t,o,n){if($e(e)){const a=hn(e,t,o,n);return a&&Pi(a)&&a.catch(r=>{Hn(r,t,o)}),a}if(xe(e)){const a=[];for(let r=0;r>>1,a=Nt[n],r=Vn(a);r=Vn(o)?Nt.push(e):Nt.splice(mg(t),0,e),e.flags|=1,dl()}}function dl(){Ba||(Ba=ul.then(fl))}function bg(e){if(!xe(e))Io&&e.id===-1?Io.splice(bn+1,0,e):e.flags&1||(mn.push(e),e.flags|=1);else for(let t=0;tVn(o)-Vn(n));if(mn.length=0,Io){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function fl(e){try{for(io=0;io{n._d&&Xa(-1);const r=Ga(t),s=Ao.length;let i;try{i=e(...a)}finally{for(let l=Ao.length;l>s;l--)ps();Ga(r),n._d&&Xa(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function ml(e,t){if($t===null)return e;const o=tr($t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&$e(t)?t.call(n&&n.proxy):t}}function yg(){return!!($o()||Qo)}const _g=Symbol.for("v-scx"),vg=()=>Fe(_g);function kg(e,t){return Xr(e,null,t)}function ct(e,t,o){return Xr(e,t,o)}function Xr(e,t,o=et){const{immediate:n,deep:a,flush:r,once:s}=o,i=dt({},o),l=t&&n||!t&&r!=="post";let u;if(kn){if(r==="sync"){const w=vg();u=w.__watcherHandles||(w.__watcherHandles=[])}else if(!l){const w=()=>{};return w.stop=oo,w.resume=oo,w.pause=oo,w}}const c=Ct;i.call=(w,b,y)=>Jt(w,c,b,y);let p=!1;r==="post"?i.scheduler=w=>{It(w,c&&c.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(w,b)=>{b?w():Jr(w)}),i.augmentJob=w=>{t&&(w.flags|=4),p&&(w.flags|=2,c&&(w.id=c.uid,w.i=c))};const g=ug(e,t,i);return kn&&(u?u.push(g):l&&g()),g}function wg(e,t,o){const n=this.proxy,a=tt(e)?e.includes(".")?bl(n,e):()=>n[e]:e.bind(n,n);let r;$e(t)?r=t:(r=t.handler,o=t);const s=na(this),i=Xr(a,r.bind(n),o);return s(),i}function bl(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Zo=e=>e&&(e.disabled||e.disabled===""),xg=e=>e&&(e.defer||e.defer===""),_l=e=>typeof SVGElement<"u"&&e instanceof SVGElement,vl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Zr=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},Ag={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,u){const{mc:c,pc:p,pbc:g,o:{insert:w,querySelector:b,createText:y,createComment:d,parentNode:h}}=u,f=Zo(t.props);let{dynamicChildren:m}=t;const k=(S,L,P)=>{S.shapeFlag&16&&c(S.children,L,P,a,r,s,i,l)},x=(S=t)=>{const L=Zo(S.props),P=S.target=Zr(S.props,b),z=Qr(P,S,y,w);P&&(s!=="svg"&&_l(P)?s="svg":s!=="mathml"&&vl(P)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(P),L||(k(S,P,z),Wn(S,!1)))},A=S=>{const L=()=>{if(Oo.get(S)===L){if(Oo.delete(S),Zo(S.props)){const P=h(S.el)||o;k(S,P,S.anchor),Wn(S,!0)}x(S)}};Oo.set(S,L),It(L,r)};if(e==null){const S=t.el=y(""),L=t.anchor=y("");if(w(S,o,n),w(L,o,n),xg(t.props)||r&&r.pendingBranch){A(t);return}f&&(k(t,o,L),Wn(t,!0)),x()}else{t.el=e.el;const S=t.anchor=e.anchor,L=Oo.get(e);if(L){L.flags|=8,Oo.delete(e),A(t);return}t.targetStart=e.targetStart;const P=t.target=e.target,z=t.targetAnchor=e.targetAnchor,W=Zo(e.props),re=W?o:P,M=W?S:z;if(s==="svg"||_l(P)?s="svg":(s==="mathml"||vl(P))&&(s="mathml"),m?(g(e.dynamicChildren,m,re,a,r,s,i),ds(e,t,!0)):l||p(e,t,re,M,a,r,s,i,!1),f)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ua(t,o,S,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const F=Zr(t.props,b);F&&(t.target=F,Ua(t,F,null,u,0))}else W&&Ua(t,P,z,u,1);Wn(t,f)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:u,targetAnchor:c,target:p,props:g}=e,w=Zo(g),b=r||!w,y=Oo.get(e);if(y&&(y.flags|=8,Oo.delete(e)),p&&(a(u),a(c)),r&&a(l),!y&&(w||p)&&s&16)for(let d=0;d1){for(const o of e)if(o.type!==po){t=o;break}}return t}function kl(e){if(!Ha(e))return ja(e.type)&&e.children?Eg(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&$e(o.default))return o.default()}}function ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ts(ja(o.type)&&kl(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Yn(e,t){return $e(e)?dt({name:e.name},t,{setup:e}):e}function os(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function wl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ka=new WeakMap;function qn(e,t,o,n,a=!1){if(xe(e)){e.forEach((y,d)=>qn(y,t&&(xe(t)?t[d]:t),o,n,a));return}if(yn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&qn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?tr(n.component):n.el,s=a?null:r,{i,r:l}=e,u=t&&t.r,c=i.refs===et?i.refs={}:i.refs,p=i.setupState,g=Be(p),w=p===et?Li:y=>wl(c,y)?!1:Ve(g,y),b=(y,d)=>!(d&&wl(c,d));if(u!=null&&u!==l){if(xl(t),tt(u))c[u]=null,w(u)&&(p[u]=null);else if(st(u)){const y=t;b(u,y.k)&&(u.value=null),y.k&&(c[y.k]=null)}}if($e(l))hn(l,i,12,[s,c]);else{const y=tt(l),d=st(l);if(y||d){const h=()=>{if(e.f){const f=y?w(l)?p[l]:c[l]:b()||!e.k?l.value:c[e.k];if(a)xe(f)&&Rr(f,r);else if(xe(f))f.includes(r)||f.push(r);else if(y)c[l]=[r],w(l)&&(p[l]=c[l]);else{const m=[r];b(l,e.k)&&(l.value=m),e.k&&(c[e.k]=m)}}else y?(c[l]=s,w(l)&&(p[l]=s)):d&&(b(l,e.k)&&(l.value=s),e.k&&(c[e.k]=s))};if(s){const f=()=>{h(),Ka.delete(e)};f.id=-1,Ka.set(e,f),It(f,o)}else xl(e),h()}}}function xl(e){const t=Ka.get(e);t&&(t.flags|=8,Ka.delete(e))}const Al=e=>e.nodeType===8;La().requestIdleCallback,La().cancelIdleCallback;function Cg(e,t){if(Al(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Al(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const yn=e=>!!e.type.__asyncLoader;function Lg(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let u=null,c,p=0;const g=()=>(p++,u=null,w()),w=()=>{let b;return u||(b=u=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((d,h)=>{l(y,()=>d(g()),()=>h(y),p+1)});throw y}).then(y=>b!==u&&u?u:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return Yn({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate(b,y,d){const h=b.isConnected;let f=!1;(y.bu||(y.bu=[])).push(()=>f=!0);const m=()=>{f||!b.parentNode||h&&!b.isConnected||d()},k=r?()=>{const x=r(m,A=>Cg(b,A));x&&(y.bum||(y.bum=[])).push(x)}:m;c?k():w().then(()=>!y.isUnmounted&&k())},get __asyncResolved(){return c},setup(){const b=Ct;if(os(b),c)return()=>za(c,b);const y=x=>{u=null,Hn(x,b,13,!n)};if(i&&b.suspense||kn)return w().then(x=>()=>za(x,b)).catch(x=>(y(x),()=>n?We(n,{error:x}):null));const d=de(!1),h=de(),f=de(!!a);let m,k;return Wa(()=>{m!=null&&clearTimeout(m),k!=null&&clearTimeout(k)}),a&&(k=setTimeout(()=>{b.isUnmounted||(f.value=!1)},a)),s!=null&&(m=setTimeout(()=>{if(!b.isUnmounted&&!d.value&&!h.value){const x=new Error(`Async component timed out after ${s}ms.`);y(x),h.value=x}},s)),w().then(()=>{b.isUnmounted||(d.value=!0,b.parent&&Ha(b.parent.vnode)&&b.parent.update())}).catch(x=>{if(b.isUnmounted){u=null;return}y(x),h.value=x}),()=>{if(d.value&&c)return za(c,b);if(h.value&&n)return We(n,{error:h.value});if(o&&!f.value)return za(o,b)}}})}function za(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=We(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ha=e=>e.type.__isKeepAlive;function Tg(e,t){Sl(e,"a",t)}function Pg(e,t){Sl(e,"da",t)}function Sl(e,t,o=Ct){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Va(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ha(a.parent.vnode)&&Mg(n,t,o,a),a=a.parent}}function Mg(e,t,o,n){const a=Va(t,e,n,!0);Wa(()=>{Rr(n[t],a)},o)}function Va(e,t,o=Ct,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{ao();const i=na(o),l=Jt(t,o,e,s);return i(),ro(),l});return n?a.unshift(r):a.push(r),r}}const xo=e=>(t,o=Ct)=>{(!kn||e==="sp")&&Va(e,(...n)=>t(...n),o)},$l=xo("bm"),co=xo("m"),Ng=xo("bu"),Rg=xo("u"),uo=xo("bum"),Wa=xo("um"),Ig=xo("sp"),Og=xo("rtg"),Fg=xo("rtc");function Dg(e,t=Ct){Va("ec",e,t)}const Bg="components",El=Symbol.for("v-ndc");function Cl(e){return tt(e)?Gg(Bg,e,!1)||e:e||El}function Gg(e,t,o=!0,n=!1){const a=$t||Ct;if(a){const r=a.type;{const i=ic(r,!1);if(i&&(i===t||i===_t(t)||i===$a(_t(t))))return r}const s=Ll(a[e]||r[e],t)||Ll(a.appContext[e],t);return!s&&n?r:s}}function Ll(e,t){return e&&(e[t]||e[_t(t)]||e[$a(_t(t))])}function Et(e,t,o,n){let a;const r=o,s=xe(e);if(s||tt(e)){const i=s&&vo(e);let l=!1,u=!1;i&&(l=!Ut(e),u=ko(e),e=Pa(e)),a=new Array(e.length);for(let c=0,p=e.length;ct(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,u=i.length;l0;return t!=="default"&&(u.name=t),H(),pt(Pe,null,[We("slot",u,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=Ao.length;H();let l;try{const u=s&&Tl(s(o)),c=o.key||r||u&&u.key;l=pt(Pe,{key:(c&&!Gt(c)?c:`_${t}`)+(!u&&n?"_fb":"")},u||(n?n():[]),u&&e._===1?64:-2)}catch(u){for(let c=Ao.length;c>i;c--)ps();throw u}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Tl(e){return e.some(t=>ea(t)?!(t.type===po||t.type===Pe&&!Tl(t.children)):!0)?e:null}const ns=e=>e?ac(e)?tr(e):ns(e.parent):null,Jn=dt(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=>ns(e.parent),$root:e=>ns(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{Jr(e.update)}),$nextTick:e=>e.n||(e.n=lo.bind(e.proxy)),$watch:e=>wg.bind(e)}),as=(e,t)=>e!==et&&!e.__isScriptSetup&&Ve(e,t),jg={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(as(n,t))return s[t]=1,n[t];if(a!==et&&Ve(a,t))return s[t]=2,a[t];if(Ve(r,t))return s[t]=3,r[t];if(o!==et&&Ve(o,t))return s[t]=4,o[t];rs&&(s[t]=0)}}const u=Jn[t];let c,p;if(u)return t==="$attrs"&&Pt(e.attrs,"get",""),u(e);if((c=i.__cssModules)&&(c=c[t]))return c;if(o!==et&&Ve(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Ve(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return as(a,t)?(a[t]=o,!0):n!==et&&Ve(n,t)?(n[t]=o,!0):Ve(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==et&&i[0]!=="$"&&Ve(e,i)||as(t,i)||Ve(r,i)||Ve(n,i)||Ve(Jn,i)||Ve(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ve(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Pl(e){return xe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let rs=!0;function Ug(e){const t=Rl(e),o=e.proxy,n=e.ctx;rs=!1,t.beforeCreate&&Ml(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:u,created:c,beforeMount:p,mounted:g,beforeUpdate:w,updated:b,activated:y,deactivated:d,beforeDestroy:h,beforeUnmount:f,destroyed:m,unmounted:k,render:x,renderTracked:A,renderTriggered:S,errorCaptured:L,serverPrefetch:P,expose:z,inheritAttrs:W,components:re,directives:M,filters:F}=t;if(u&&Kg(u,n,null),s)for(const I in s){const ne=s[I];$e(ne)&&(n[I]=ne.bind(o))}if(a){const I=a.call(o,o);Ye(I)&&(e.data=pn(I))}if(rs=!0,r)for(const I in r){const ne=r[I],ge=$e(ne)?ne.bind(o,o):$e(ne.get)?ne.get.bind(o,o):oo,C=!$e(ne)&&$e(ne.set)?ne.set.bind(o):oo,ae=te({get:ge,set:C});Object.defineProperty(n,I,{enumerable:!0,configurable:!0,get:()=>ae.value,set:ie=>ae.value=ie})}if(i)for(const I in i)Nl(i[I],n,o,I);if(l){const I=$e(l)?l.call(o):l;Reflect.ownKeys(I).forEach(ne=>{Ft(ne,I[ne])})}c&&Ml(c,e,"c");function $(I,ne){xe(ne)?ne.forEach(ge=>I(ge.bind(o))):ne&&I(ne.bind(o))}if($($l,p),$(co,g),$(Ng,w),$(Rg,b),$(Tg,y),$(Pg,d),$(Dg,L),$(Fg,A),$(Og,S),$(uo,f),$(Wa,k),$(Ig,P),xe(z))if(z.length){const I=e.exposed||(e.exposed={});z.forEach(ne=>{Object.defineProperty(I,ne,{get:()=>o[ne],set:ge=>o[ne]=ge,enumerable:!0})})}else e.exposed||(e.exposed={});x&&e.render===oo&&(e.render=x),W!=null&&(e.inheritAttrs=W),re&&(e.components=re),M&&(e.directives=M),P&&os(e)}function Kg(e,t,o=oo){xe(e)&&(e=ss(e));for(const n in e){const a=e[n];let r;Ye(a)?"default"in a?r=Fe(a.from||n,a.default,!0):r=Fe(a.from||n):r=Fe(a),st(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function Ml(e,t,o){Jt(xe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Nl(e,t,o,n){let a=n.includes(".")?bl(o,n):()=>o[n];if(tt(e)){const r=t[e];$e(r)&&ct(a,r)}else if($e(e))ct(a,e.bind(o));else if(Ye(e))if(xe(e))e.forEach(r=>Nl(r,t,o,n));else{const r=$e(e.handler)?e.handler.bind(o):t[e.handler];$e(r)&&ct(a,r,e)}}function Rl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(u=>Ya(l,u,s,!0)),Ya(l,t,s)),Ye(t)&&r.set(t,l),l}function Ya(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Ya(e,r,o,!0),a&&a.forEach(s=>Ya(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=zg[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const zg={data:Il,props:Ol,emits:Ol,methods:Xn,computed:Xn,beforeCreate:Rt,created:Rt,beforeMount:Rt,mounted:Rt,beforeUpdate:Rt,updated:Rt,beforeDestroy:Rt,beforeUnmount:Rt,destroyed:Rt,unmounted:Rt,activated:Rt,deactivated:Rt,errorCaptured:Rt,serverPrefetch:Rt,components:Xn,directives:Xn,watch:Vg,provide:Il,inject:Hg};function Il(e,t){return t?e?function(){return dt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function Hg(e,t){return Xn(ss(e),ss(t))}function ss(e){if(xe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${_t(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function Jg(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||et;let a=o;const r=t.startsWith("update:"),s=r&&qg(n,t.slice(7));s&&(s.trim&&(a=o.map(c=>tt(c)?c.trim():c)),s.number&&(a=a.map(Ca)));let i,l=n[i=Ir(t)]||n[i=Ir(_t(t))];!l&&r&&(l=n[i=Ir(jt(t))]),l&&Jt(l,e,6,a);const u=n[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Jt(u,e,6,a)}}const Xg=new WeakMap;function Dl(e,t,o=!1){const n=o?Xg:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!$e(e)){const l=u=>{const c=Dl(u,t,!0);c&&(i=!0,dt(s,c))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ye(e)&&n.set(e,null),null):(xe(r)?r.forEach(l=>s[l]=null):dt(s,r),Ye(e)&&n.set(e,s),s)}function qa(e,t){return!e||!ka(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ve(e,t[0].toLowerCase()+t.slice(1))||Ve(e,jt(t))||Ve(e,t))}function Zx(){}function Bl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:u,renderCache:c,props:p,data:g,setupState:w,ctx:b,inheritAttrs:y}=e,d=Ga(e);let h,f;try{if(o.shapeFlag&4){const k=a||n,x=k;h=go(u.call(x,k,c,p,w,g,b)),f=i}else{const k=t;h=go(k.length>1?k(p,{attrs:i,slots:s,emit:l}):k(p,null)),f=t.props?i:Zg(i)}}catch(k){Ao.length=0,Hn(k,e,1),h=We(po)}let m=h;if(f&&y!==!1){const k=Object.keys(f),{shapeFlag:x}=m;k.length&&x&7&&(r&&k.some(wa)&&(f=Qg(f,r)),m=vn(m,f,!1,!0))}if(o.dirs&&(m=vn(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(o.dirs):o.dirs),o.transition){const k=ja(m.type)&&kl(m)||m;ts(k,o.transition)}return h=m,Ga(d),h}const Zg=e=>{let t;for(const o in e)(o==="class"||o==="style"||ka(o))&&((t||(t={}))[o]=e[o]);return t},Qg=(e,t)=>{const o={};for(const n in e)(!wa(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function ef(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Gl(n,s,u):!!s;if(l&8){const c=t.dynamicProps;for(let p=0;pObject.create(Ul),zl=e=>Object.getPrototypeOf(e)===Ul;function of(e,t,o,n=!1){const a={},r=Kl();e.propsDefaults=Object.create(null),Hl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:eg(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function nf(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Be(a),[l]=e.propsOptions;let u=!1;if((n||s>0)&&!(s&16)){if(s&8){const c=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[g,w]=Vl(p,t,!0);dt(s,g),w&&i.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return Ye(e)&&n.set(e,un),un;if(xe(r))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",cs=e=>xe(e)?e.map(go):[go(e)],rf=(e,t,o)=>{if(t._n)return t;const n=Vt((...a)=>cs(t(...a)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const a in e){if(ls(a))continue;const r=e[a];if($e(r))t[a]=rf(a,r,n);else if(r!=null){const s=cs(r);t[a]=()=>s}}},ql=(e,t)=>{const o=cs(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!ls(n))&&(e[n]=t[n])},sf=(e,t,o)=>{const n=e.slots=Kl();if(e.vnode.shapeFlag&32){const a=t._;a?(Jl(n,t,o),o&&Ni(n,"_",a,!0)):Yl(t,n)}else t&&ql(e,t)},lf=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=et;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Jl(a,t,o):(r=!t.$stable,Yl(t,a)),s=t}else t&&(ql(e,t),s={default:1});if(r)for(const i in a)!ls(i)&&s[i]==null&&delete a[i]},It=gf;function cf(e){return uf(e)}function uf(e,t){const o=La();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:u,setElementText:c,parentNode:p,nextSibling:g,setScopeId:w=oo,insertStaticContent:b}=e,y=(E,O,R,K=null,X=null,J=null,Z=void 0,Q=null,_=!!O.dynamicChildren)=>{if(E===O)return;E&&!ta(E,O)&&(K=Oe(E),ie(E,X,J,!0),E=null),O.patchFlag===-2&&(_=!1,O.dynamicChildren=null);const{type:v,ref:B,shapeFlag:V}=O;switch(v){case Zn:d(E,O,R,K);break;case po:h(E,O,R,K);break;case Ja:E==null&&f(O,R,K,Z);break;case Pe:re(E,O,R,K,X,J,Z,Q,_);break;default:V&1?x(E,O,R,K,X,J,Z,Q,_):V&6?M(E,O,R,K,X,J,Z,Q,_):(V&64||V&128)&&v.process(E,O,R,K,X,J,Z,Q,_,Xe)}B!=null&&X?qn(B,E&&E.ref,J,O||E,!O):B==null&&E&&E.ref!=null&&qn(E.ref,null,J,E,!0)},d=(E,O,R,K)=>{if(E==null)n(O.el=i(O.children),R,K);else{const X=O.el=E.el;O.children!==E.children&&u(X,O.children)}},h=(E,O,R,K)=>{E==null?n(O.el=l(O.children||""),R,K):O.el=E.el},f=(E,O,R,K)=>{[E.el,E.anchor]=b(E.children,O,R,K,E.el,E.anchor)},m=({el:E,anchor:O},R,K)=>{let X;for(;E&&E!==O;)X=g(E),n(E,R,K),E=X;n(O,R,K)},k=({el:E,anchor:O})=>{let R;for(;E&&E!==O;)R=g(E),a(E),E=R;a(O)},x=(E,O,R,K,X,J,Z,Q,_)=>{if(O.type==="svg"?Z="svg":O.type==="math"&&(Z="mathml"),E==null)A(O,R,K,X,J,Z,Q,_);else{const v=E.el&&E.el._isVueCE?E.el:null;try{v&&v._beginPatch(),P(E,O,X,J,Z,Q,_)}finally{v&&v._endPatch()}}},A=(E,O,R,K,X,J,Z,Q)=>{let _,v;const{props:B,shapeFlag:V,transition:ue,dirs:se}=E;if(_=E.el=s(E.type,J,B&&B.is,B),V&8?c(_,E.children):V&16&&L(E.children,_,null,K,X,us(E,J),Z,Q),se&&Xo(E,null,K,"created"),S(_,E,E.scopeId,Z,K),B){for(const Y in B)Y!=="value"&&!Dn(Y)&&r(_,Y,null,B[Y],J,K);"value"in B&&r(_,"value",null,B.value,J),(v=B.onVnodeBeforeMount)&&fo(v,K,E)}se&&Xo(E,null,K,"beforeMount");const G=df(X,ue);G&&ue.beforeEnter(_),n(_,O,R),((v=B&&B.onVnodeMounted)||G||se)&&It(()=>{try{v&&fo(v,K,E),G&&ue.enter(_),se&&Xo(E,null,K,"mounted")}finally{}},X)},S=(E,O,R,K,X)=>{if(R&&w(E,R),K)for(let J=0;J{for(let v=_;v{const Q=O.el=E.el;let{patchFlag:_,dynamicChildren:v,dirs:B}=O;_|=E.patchFlag&16;const V=E.props||et,ue=O.props||et;let se;if(R&&en(R,!1),(se=ue.onVnodeBeforeUpdate)&&fo(se,R,O,E),B&&Xo(O,E,R,"beforeUpdate"),R&&en(R,!0),v&&(!E.dynamicChildren||E.dynamicChildren.length!==v.length)&&(_=0,Z=!1,v=null),(V.innerHTML&&ue.innerHTML==null||V.textContent&&ue.textContent==null)&&c(Q,""),v?z(E.dynamicChildren,v,Q,R,K,us(O,X),J):Z||ne(E,O,Q,null,R,K,us(O,X),J,!1),_>0){if(_&16)W(Q,V,ue,R,X);else if(_&2&&V.class!==ue.class&&r(Q,"class",null,ue.class,X),_&4&&r(Q,"style",V.style,ue.style,X),_&8){const G=O.dynamicProps;for(let Y=0;Y{se&&fo(se,R,O,E),B&&Xo(O,E,R,"updated")},K)},z=(E,O,R,K,X,J,Z)=>{for(let Q=0;Q{if(O!==R){if(O!==et)for(const J in O)!Dn(J)&&!(J in R)&&r(E,J,O[J],null,X,K);for(const J in R){if(Dn(J))continue;const Z=R[J],Q=O[J];Z!==Q&&J!=="value"&&r(E,J,Q,Z,X,K)}"value"in R&&r(E,"value",O.value,R.value,X)}},re=(E,O,R,K,X,J,Z,Q,_)=>{const v=O.el=E?E.el:i(""),B=O.anchor=E?E.anchor:i("");let{patchFlag:V,dynamicChildren:ue,slotScopeIds:se}=O;se&&(Q=Q?Q.concat(se):se),E==null?(n(v,R,K),n(B,R,K),L(O.children||[],R,B,X,J,Z,Q,_)):V>0&&V&64&&ue&&E.dynamicChildren&&E.dynamicChildren.length===ue.length?(z(E.dynamicChildren,ue,R,X,J,Z,Q),(O.key!=null||X&&O===X.subTree)&&ds(E,O,!0)):ne(E,O,R,B,X,J,Z,Q,_)},M=(E,O,R,K,X,J,Z,Q,_)=>{O.slotScopeIds=Q,E==null?O.shapeFlag&512?X.ctx.activate(O,R,K,Z,_):F(O,R,K,X,J,Z,_):T(E,O,_)},F=(E,O,R,K,X,J,Z)=>{const Q=E.component=vf(E,K,X);if(Ha(E)&&(Q.ctx.renderer=Xe),kf(Q,!1,Z),Q.asyncDep){if(X&&X.registerDep(Q,$,Z),!E.el){const _=Q.subTree=We(po);h(null,_,O,R),E.placeholder=_.el}}else $(Q,E,O,R,X,J,Z)},T=(E,O,R)=>{const K=O.component=E.component;if(ef(E,O,R))if(K.asyncDep&&!K.asyncResolved){I(K,O,R);return}else K.next=O,K.update();else O.el=E.el,K.vnode=O},$=(E,O,R,K,X,J,Z)=>{const Q=()=>{if(E.isMounted){let{next:V,bu:ue,u:se,parent:G,vnode:Y}=E;{const U=Xl(E);if(U){V&&(V.el=Y.el,I(E,V,Z)),U.asyncDep.then(()=>{It(()=>{E.isUnmounted||v()},X)});return}}let me=V,Ae;en(E,!1),V?(V.el=Y.el,I(E,V,Z)):V=Y,ue&&Ea(ue),(Ae=V.props&&V.props.onVnodeBeforeUpdate)&&fo(Ae,G,V,Y),en(E,!0);const Ge=Bl(E),D=E.subTree;E.subTree=Ge,y(D,Ge,p(D.el),Oe(D),E,X,J),V.el=Ge.el,me===null&&tf(E,Ge.el),se&&It(se,X),(Ae=V.props&&V.props.onVnodeUpdated)&&It(()=>fo(Ae,G,V,Y),X)}else{let V;const{el:ue,props:se}=O,{bm:G,m:Y,parent:me,root:Ae,type:Ge}=E,D=yn(O);en(E,!1),G&&Ea(G),!D&&(V=se&&se.onVnodeBeforeMount)&&fo(V,me,O),en(E,!0);{Ae.ce&&Ae.ce._hasShadowRoot()&&Ae.ce._injectChildStyle(Ge,E.parent?E.parent.type:void 0);const U=E.subTree=Bl(E);y(null,U,R,K,E,X,J),O.el=U.el}if(Y&&It(Y,X),!D&&(V=se&&se.onVnodeMounted)){const U=O;It(()=>fo(V,me,U),X)}(O.shapeFlag&256||me&&yn(me.vnode)&&me.vnode.shapeFlag&256)&&E.a&&It(E.a,X),E.isMounted=!0,O=R=K=null}};E.scope.on();const _=E.effect=new Ui(Q);E.scope.off();const v=E.update=_.run.bind(_),B=E.job=_.runIfDirty.bind(_);B.i=E,B.id=E.uid,_.scheduler=()=>Jr(B),en(E,!0),v()},I=(E,O,R)=>{O.component=E;const K=E.vnode.props;E.vnode=O,E.next=null,nf(E,O.props,K,R),lf(E,O.children,R),ao(),pl(E),ro()},ne=(E,O,R,K,X,J,Z,Q,_=!1)=>{const v=E&&E.children,B=E?E.shapeFlag:0,V=O.children,{patchFlag:ue,shapeFlag:se}=O;if(ue>0){if(ue&128){C(v,V,R,K,X,J,Z,Q,_);return}else if(ue&256){ge(v,V,R,K,X,J,Z,Q,_);return}}se&8?(B&16&&Re(v,X,J),V!==v&&c(R,V)):B&16?se&16?C(v,V,R,K,X,J,Z,Q,_):Re(v,X,J,!0):(B&8&&c(R,""),se&16&&L(V,R,K,X,J,Z,Q,_))},ge=(E,O,R,K,X,J,Z,Q,_)=>{E=E||un,O=O||un;const v=E.length,B=O.length,V=Math.min(v,B);let ue;for(ue=0;ueB?Re(E,X,J,!0,!1,V):L(O,R,K,X,J,Z,Q,_,V)},C=(E,O,R,K,X,J,Z,Q,_)=>{let v=0;const B=O.length;let V=E.length-1,ue=B-1;for(;v<=V&&v<=ue;){const se=E[v],G=O[v]=_?So(O[v]):go(O[v]);if(ta(se,G))y(se,G,R,null,X,J,Z,Q,_);else break;v++}for(;v<=V&&v<=ue;){const se=E[V],G=O[ue]=_?So(O[ue]):go(O[ue]);if(ta(se,G))y(se,G,R,null,X,J,Z,Q,_);else break;V--,ue--}if(v>V){if(v<=ue){const se=ue+1,G=seue)for(;v<=V;)ie(E[v],X,J,!0),v++;else{const se=v,G=v,Y=new Map;for(v=G;v<=ue;v++){const ke=O[v]=_?So(O[v]):go(O[v]);ke.key!=null&&Y.set(ke.key,v)}let me,Ae=0;const Ge=ue-G+1;let D=!1,U=0;const he=new Array(Ge);for(v=0;v=Ge){ie(ke,X,J,!0);continue}let je;if(ke.key!=null)je=Y.get(ke.key);else for(me=G;me<=ue;me++)if(he[me-G]===0&&ta(ke,O[me])){je=me;break}je===void 0?ie(ke,X,J,!0):(he[je-G]=v+1,je>=U?U=je:D=!0,y(ke,O[je],R,null,X,J,Z,Q,_),Ae++)}const ve=D?pf(he):un;for(me=ve.length-1,v=Ge-1;v>=0;v--){const ke=G+v,je=O[ke],Ce=O[ke+1],xt=ke+1{const{el:J,type:Z,transition:Q,children:_,shapeFlag:v}=E;if(v&6){ae(E.component.subTree,O,R,K);return}if(v&128){E.suspense.move(O,R,K);return}if(v&64){Z.move(E,O,R,Xe);return}if(Z===Pe){n(J,O,R);for(let V=0;V<_.length;V++)ae(_[V],O,R,K);n(E.anchor,O,R);return}if(Z===Ja){m(E,O,R);return}if(K!==2&&v&1&&Q)if(K===0)Q.persisted&&!J[es]?n(J,O,R):(Q.beforeEnter(J),n(J,O,R),It(()=>Q.enter(J),X));else{const{leave:V,delayLeave:ue,afterLeave:se}=Q,G=()=>{E.ctx.isUnmounted?a(J):n(J,O,R)},Y=()=>{const me=J._isLeaving||!!J[es];J._isLeaving&&J[es](!0),Q.persisted&&!me?G():V(J,()=>{G(),se&&se()})};ue?ue(J,G,Y):Y()}else n(J,O,R)},ie=(E,O,R,K=!1,X=!1)=>{const{type:J,props:Z,ref:Q,children:_,dynamicChildren:v,shapeFlag:B,patchFlag:V,dirs:ue,cacheIndex:se,memo:G}=E;if(V===-2&&(X=!1),Q!=null&&(ao(),qn(Q,null,R,E,!0),ro()),se!=null&&(O.renderCache[se]=void 0),B&256){O.ctx.deactivate(E);return}const Y=B&1&&ue,me=!yn(E);let Ae;if(me&&(Ae=Z&&Z.onVnodeBeforeUnmount)&&fo(Ae,O,E),B&6)Me(E.component,R,K);else{if(B&128){E.suspense.unmount(R,K);return}Y&&Xo(E,null,O,"beforeUnmount"),B&64?E.type.remove(E,O,R,Xe,K):v&&!v.hasOnce&&(J!==Pe||V>0&&V&64)?Re(v,O,R,!1,!0):(J===Pe&&V&384||!X&&B&16)&&Re(_,O,R),K&&le(E)}const Ge=G!=null&&se==null;(me&&(Ae=Z&&Z.onVnodeUnmounted)||Y||Ge)&&It(()=>{Ae&&fo(Ae,O,E),Y&&Xo(E,null,O,"unmounted"),Ge&&(E.el=null)},R)},le=E=>{const{type:O,el:R,anchor:K,transition:X}=E;if(O===Pe){we(R,K);return}if(O===Ja){k(E);return}const J=()=>{a(R),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(E.shapeFlag&1&&X&&!X.persisted){const{leave:Z,delayLeave:Q}=X,_=()=>Z(R,J);Q?Q(E.el,J,_):_()}else J()},we=(E,O)=>{let R;for(;E!==O;)R=g(E),a(E),E=R;a(O)},Me=(E,O,R)=>{const{bum:K,scope:X,job:J,subTree:Z,um:Q,m:_,a:v}=E;Zl(_),Zl(v),K&&Ea(K),X.stop(),J&&(J.flags|=8,ie(Z,E,O,R)),Q&&It(Q,O),It(()=>{E.isUnmounted=!0},O)},Re=(E,O,R,K=!1,X=!1,J=0)=>{for(let Z=J;Z{if(E.shapeFlag&6)return Oe(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();const O=g(E.anchor||E.el),R=O&&O[yl];return R?g(R):O};let Ie=!1;const Je=(E,O,R)=>{let K;E==null?O._vnode&&(ie(O._vnode,null,null,!0),K=O._vnode.component):y(O._vnode||null,E,O,null,null,null,R),O._vnode=E,Ie||(Ie=!0,pl(K),gl(),Ie=!1)},Xe={p:y,um:ie,m:ae,r:le,mt:F,mc:L,pc:ne,pbc:z,n:Oe,o:e};return{render:Je,hydrate:void 0,createApp:Yg(Je)}}function us({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function en({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function df(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ds(e,t,o=!1){const n=e.children,a=t.children;if(xe(n)&&xe(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function Xl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Xl(t)}function Zl(e){if(e)for(let t=0;te.__isSuspense;function gf(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):bg(e)}const Pe=Symbol.for("v-fgt"),Zn=Symbol.for("v-txt"),po=Symbol.for("v-cmt"),Ja=Symbol.for("v-stc"),Ao=[];let Kt=null;function H(e=!1){Ao.push(Kt=e?null:[])}function ps(){Ao.pop(),Kt=Ao[Ao.length-1]||null}let Qn=1;function Xa(e,t=!1){Qn+=e,e<0&&Kt&&t&&(Kt.hasOnce=!0)}function tc(e){return e.dynamicChildren=Qn>0?Kt||un:null,ps(),Qn>0&&Kt&&Kt.push(e),e}function ee(e,t,o,n,a,r){return tc(N(e,t,o,n,a,r,!0))}function pt(e,t,o,n,a){return tc(We(e,t,o,n,a,!0))}function ea(e){return e?e.__v_isVNode===!0:!1}function ta(e,t){return e.type===t.type&&e.key===t.key}const oc=({key:e})=>e??null,Za=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||st(e)||$e(e)?{i:$t,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,a=null,r=e===Pe?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&oc(t),ref:t&&Za(t),scopeId:hl,slotScopeIds:null,children:o,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:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:$t};return i?(Qa(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=tt(o)?8:16),Qn>0&&!s&&Kt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Kt.push(l),l}const We=ff;function ff(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===El)&&(e=po),ea(e)){const i=vn(e,t,!0);return o&&Qa(i,o),Qn>0&&!r&&Kt&&(i.shapeFlag&6?Kt[Kt.indexOf(e)]=i:Kt.push(i)),i.patchFlag=-2,i}if(Ef(e)&&(e=e.__vccOpts),t){t=hf(t);let{class:i,style:l}=t;i&&!tt(i)&&(t.class=Ne(i)),Ye(l)&&(Oa(l)&&!xe(l)&&(l=dt({},l)),t.style=rt(l))}const s=tt(e)?1:ec(e)?128:ja(e)?64:Ye(e)?4:$e(e)?2:0;return N(e,t,o,n,a,s,r,!0)}function hf(e){return e?Oa(e)||zl(e)?dt({},e):e:null}function vn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,u=t?bf(a||{},t):a,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&oc(u),ref:t&&t.ref?o&&r?xe(r)?r.concat(Za(t)):[r,Za(t)]:Za(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Pe?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vn(e.ssContent),ssFallback:e.ssFallback&&vn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&ts(c,l.clone(c)),c}function mt(e=" ",t=0){return We(Zn,null,e,t)}function mf(e,t){const o=We(Ja,null,e);return o.staticCount=t,o}function ye(e="",t=!1){return t?(H(),pt(po,null,e)):We(po,null,e)}function go(e){return e==null||typeof e=="boolean"?We(po):xe(e)?We(Pe,null,e.slice()):ea(e)?So(e):We(Zn,null,String(e))}function So(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vn(e)}function Qa(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(xe(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Qa(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!zl(t)?t._ctx=$t:a===3&&$t&&($t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(n&65){Qa(e,{default:t});return}t={default:t,_ctx:$t},o=32}else t=String(t),n&64?(o=16,t=[mt(t)]):o=8;e.children=t,e.shapeFlag|=o}function bf(...e){const t={};for(let o=0;oCt||$t;let er,oa;{const e=La(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};er=t("__VUE_INSTANCE_SETTERS__",o=>Ct=o),oa=t("__VUE_SSR_SETTERS__",o=>kn=o)}const na=e=>{const t=Ct;return er(e),e.scope.on(),()=>{e.scope.off(),er(t)}},nc=()=>{Ct&&Ct.scope.off(),er(null)};function ac(e){return e.vnode.shapeFlag&4}let kn=!1;function kf(e,t=!1,o=!1){t&&oa(t);const{props:n,children:a}=e.vnode,r=ac(e);of(e,n,r,t),sf(e,a,o||t);const s=r?wf(e,t):void 0;return t&&oa(!1),s}function wf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jg);const{setup:n}=o;if(n){ao();const a=e.setupContext=n.length>1?Af(e):null,r=na(e),s=hn(n,e,0,[e.props,a]),i=Pi(s);if(ro(),r(),(i||e.sp)&&!yn(e)&&os(e),i){if(s.then(nc,nc),t)return s.then(l=>{oa(!0);try{rc(e,l,t)}finally{oa(!1)}}).catch(l=>{Hn(l,e,0)});e.asyncDep=s}else rc(e,s)}else sc(e)}function rc(e,t,o){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=il(t)),sc(e)}function sc(e,t,o){const n=e.type;e.render||(e.render=n.render||oo);{const a=na(e);ao();try{Ug(e)}finally{ro(),a()}}}const xf={get(e,t){return Pt(e,"get",""),e[t]}};function Af(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,xf),slots:e.slots,emit:e.emit,expose:t}}function tr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(il(qo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Jn)return Jn[o](e)},has(t,o){return o in t||o in Jn}})):e.proxy}const Sf=/(?:^|[-_])\w/g,$f=e=>e.replace(Sf,t=>t.toUpperCase()).replace(/[-_]/g,"");function ic(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function lc(e,t,o=!1){let n=ic(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?$f(n):o?"App":"Anonymous"}function Ef(e){return $e(e)&&"__vccOpts"in e}const te=(e,t)=>lg(e,t,kn);function cc(e,t,o){try{Xa(-1);const n=arguments.length;return n===2?Ye(t)&&!xe(t)?ea(t)?We(e,null,[t]):We(e,t):We(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&ea(o)&&(o=[o]),We(e,t,o))}finally{Xa(1)}}const Cf="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ds;const lc=typeof window<"u"&&window.trustedTypes;if(lc)try{ds=lc.createPolicy("vue",{createHTML:e=>e})}catch{}const cc=ds?e=>ds.createHTML(e):e=>e,Ef="http://www.w3.org/2000/svg",Cf="http://www.w3.org/1998/Math/MathML",Eo=typeof document<"u"?document:null,uc=Eo&&Eo.createElement("template"),Lf={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Eo.createElementNS(Ef,e):t==="mathml"?Eo.createElementNS(Cf,e):o?Eo.createElement(e,{is:o}):Eo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Eo.createTextNode(e),createComment:e=>Eo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Eo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{uc.innerHTML=cc(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=uc.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Tf=Symbol("_vtc");function Pf(e,t,o){const n=e[Tf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const dc=Symbol("_vod"),Mf=Symbol("_vsh"),Nf=Symbol(""),Rf=/(?:^|;)\s*display\s*:/;function If(e,t,o){const n=e.style,a=tt(o);let r=!1;if(o&&!a){if(t)if(tt(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&aa(n,i,"")}else for(const s in t)o[s]==null&&aa(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?Ff(e,s,!tt(t)&&t?t[s]:void 0,i)||aa(n,s,i):aa(n,s,"")}}else if(a){if(t!==o){const s=n[Nf];s&&(o+=";"+s),n.cssText=o,r=Rf.test(o)}}else t&&e.removeAttribute("style");dc in e&&(e[dc]=r?n.display:"",e[Mf]&&(n.display="none"))}const tr=/\s*!important$/;function aa(e,t,o){if(xe(o))o.forEach(n=>aa(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))tr.test(o)?e.setProperty(t,o.replace(tr,""),"important"):e.setProperty(t,o);else{const n=Of(e,t);tr.test(o)?e.setProperty(jt(n),o.replace(tr,""),"important"):e[n]=o}}const pc=["Webkit","Moz","ms"],ps={};function Of(e,t){const o=ps[t];if(o)return o;let n=_t(t);if(n!=="filter"&&n in e)return ps[t]=n;n=Sa(n);for(let a=0;ags||(Kf.then(()=>gs=0),gs=Date.now());function Hf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(xe(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Vf=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?Pf(e,n,s):t==="style"?If(e,o,n):va(t)?ka(t)||Bf(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wf(e,t,n,s))?(hc(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&fc(e,t,n,s,r,t!=="value")):e._isVueCE&&(Yf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!tt(n)))?hc(e,_t(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),fc(e,t,n,s))};function Wf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&bc(t)&&$e(o));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 bc(t)&&tt(o)?!1:t in e}function Yf(e,t){const o=e._def.props;if(!o)return!1;const n=_t(t);return Array.isArray(o)?o.some(a=>_t(a)===n):Object.keys(o).some(a=>_t(a)===n)}const yc={};function qf(e,t,o){let n=Yn(e,t);wa(n)&&(n=dt({},n,t));class a extends fs{constructor(s){super(n,s,o)}}return a.def=n,a}const Jf=typeof HTMLElement<"u"?HTMLElement:class{};class fs extends Jf{constructor(t,o={},n=xc){super(),this._def=t,this._props=o,this._createApp=n,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&&n!==xc?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(dt({},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 fs){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,lo(()=>{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 o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!xe(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Mi(this._props[l])),(i||(i=Object.create(null)))[_t(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!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 o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ve(this,n)||Object.defineProperty(this,n,{get:()=>_e(o[n])})}_resolveProps(t){const{props:o}=t,n=xe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(_t))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):yc;const a=_t(t);o&&this._numberProps&&this._numberProps[a]&&(n=Mi(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===yc?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(jt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(jt(t),o+""):o||this.removeAttribute(jt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rh(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=We(this._def,dt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,wa(s[0])?dt({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),jt(r)!==r&&a(jt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],r.insertBefore(u,i||s),i=u,l===0&&(n||this._styleAnchors.set(this._def,u),o&&this._styleAnchors.set(o,u))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?o=>$a(t,o):t};function Xf(e){e.target.composing=!0}function _c(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const on=Symbol("_assign"),nr=Symbol("_initialValue");function hs(e,t,o){return t&&(e=e.trim()),o&&(e=Ea(e)),e}const Zf={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[nr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[on]=or(a);const r=n||a.props&&a.props.type==="number";tn(e,t?"change":"input",s=>{s.target.composing||e[on](hs(e.value,o,r))}),(o||r)&&tn(e,"change",()=>{e.value=hs(e.value,o,r)}),t||(tn(e,"compositionstart",Xf),tn(e,"compositionend",_c),tn(e,"change",_c))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[nr];delete e[nr],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[on](hs(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[on]=or(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ea(e.value):e.value,l=t??"";if(i===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},Qf={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,tn(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?Ea(ar(l)):ar(l)),r=e.multiple,s=r?Wo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?xe(s)?a.slice():a:s];try{e[on](s)}finally{lo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[on]=or(n)},mounted(e,{value:t}){vc(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[on]=or(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!eh(t,o[1],o[0]))&&vc(e,t)}};function eh(e,t,o){if(!o||xe(e))return Ro(e,t);if(Wo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function vc(e,t){const o=e.multiple,n=xe(t);if(!(o&&!n&&!Wo(t))){for(let a=0,r=e.options.length;aString(u)===String(i)):s.selected=Mp(t,i)>-1}else s.selected=t.has(i);else if(Ro(ar(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ar(e){return"_value"in e?e._value:e.value}const th=["ctrl","shift","alt","meta"],oh={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>th.some(o=>e[`${o}Key`]&&!t.includes(o))},vt=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const r=jt(a.key);if(t.some(s=>s===r||nh[s]===r))return e(a)})},ah=dt({patchProp:Vf},Lf);let kc;function wc(){return kc||(kc=sf(ah))}const rh=(...e)=>{wc().render(...e)},xc=(...e)=>{const t=wc().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=ih(n);if(!a)return;const r=t._component;!$e(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,sh(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function sh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ih(e){return tt(e)?document.querySelector(e):e}/*! +**/let gs;const uc=typeof window<"u"&&window.trustedTypes;if(uc)try{gs=uc.createPolicy("vue",{createHTML:e=>e})}catch{}const dc=gs?e=>gs.createHTML(e):e=>e,Lf="http://www.w3.org/2000/svg",Tf="http://www.w3.org/1998/Math/MathML",Eo=typeof document<"u"?document:null,pc=Eo&&Eo.createElement("template"),Pf={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Eo.createElementNS(Lf,e):t==="mathml"?Eo.createElementNS(Tf,e):o?Eo.createElement(e,{is:o}):Eo.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Eo.createTextNode(e),createComment:e=>Eo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Eo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{pc.innerHTML=dc(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=pc.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Mf=Symbol("_vtc");function Nf(e,t,o){const n=e[Mf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const gc=Symbol("_vod"),Rf=Symbol("_vsh"),If=Symbol(""),Of=/(?:^|;)\s*display\s*:/;function Ff(e,t,o){const n=e.style,a=tt(o);let r=!1;if(o&&!a){if(t)if(tt(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&aa(n,i,"")}else for(const s in t)o[s]==null&&aa(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?Bf(e,s,!tt(t)&&t?t[s]:void 0,i)||aa(n,s,i):aa(n,s,"")}}else if(a){if(t!==o){const s=n[If];s&&(o+=";"+s),n.cssText=o,r=Of.test(o)}}else t&&e.removeAttribute("style");gc in e&&(e[gc]=r?n.display:"",e[Rf]&&(n.display="none"))}const or=/\s*!important$/;function aa(e,t,o){if(xe(o))o.forEach(n=>aa(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))or.test(o)?e.setProperty(t,o.replace(or,""),"important"):e.setProperty(t,o);else{const n=Df(e,t);or.test(o)?e.setProperty(jt(n),o.replace(or,""),"important"):e[n]=o}}const fc=["Webkit","Moz","ms"],fs={};function Df(e,t){const o=fs[t];if(o)return o;let n=_t(t);if(n!=="filter"&&n in e)return fs[t]=n;n=$a(n);for(let a=0;ahs||(Hf.then(()=>hs=0),hs=Date.now());function Wf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(xe(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yf=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?Nf(e,n,s):t==="style"?Ff(e,o,n):ka(t)?wa(t)||jf(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qf(e,t,n,s))?(bc(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mc(e,t,n,s,r,t!=="value")):e._isVueCE&&(Jf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!tt(n)))?bc(e,_t(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mc(e,t,n,s))};function qf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&_c(t)&&$e(o));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 _c(t)&&tt(o)?!1:t in e}function Jf(e,t){const o=e._def.props;if(!o)return!1;const n=_t(t);return Array.isArray(o)?o.some(a=>_t(a)===n):Object.keys(o).some(a=>_t(a)===n)}const vc={};function Xf(e,t,o){let n=Yn(e,t);xa(n)&&(n=dt({},n,t));class a extends ms{constructor(s){super(n,s,o)}}return a.def=n,a}const Zf=typeof HTMLElement<"u"?HTMLElement:class{};class ms extends Zf{constructor(t,o={},n=Sc){super(),this._def=t,this._props=o,this._createApp=n,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&&n!==Sc?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(dt({},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 ms){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,lo(()=>{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 o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!xe(r))for(const l in r){const u=r[l];(u===Number||u&&u.type===Number)&&(l in this._props&&(this._props[l]=Ri(this._props[l])),(i||(i=Object.create(null)))[_t(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!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 o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ve(this,n)||Object.defineProperty(this,n,{get:()=>_e(o[n])})}_resolveProps(t){const{props:o}=t,n=xe(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(_t))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vc;const a=_t(t);o&&this._numberProps&&this._numberProps[a]&&(n=Ri(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vc?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(jt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(jt(t),o+""):o||this.removeAttribute(jt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),ih(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=We(this._def,dt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,xa(s[0])?dt({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),jt(r)!==r&&a(jt(r),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const u=document.createElement("style");a&&u.setAttribute("nonce",a),u.textContent=t[l],r.insertBefore(u,i||s),i=u,l===0&&(n||this._styleAnchors.set(this._def,u),o&&this._styleAnchors.set(o,u))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?o=>Ea(t,o):t};function Qf(e){e.target.composing=!0}function kc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const on=Symbol("_assign"),ar=Symbol("_initialValue");function bs(e,t,o){return t&&(e=e.trim()),o&&(e=Ca(e)),e}const eh={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[ar]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[ar]=e.defaultValue.replace(/\r\n?/g,` +`))),e[on]=nr(a);const r=n||a.props&&a.props.type==="number";tn(e,t?"change":"input",s=>{s.target.composing||e[on](bs(e.value,o,r))}),(o||r)&&tn(e,"change",()=>{e.value=bs(e.value,o,r)}),t||(tn(e,"compositionstart",Qf),tn(e,"compositionend",kc),tn(e,"change",kc))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",r=e[ar];delete e[ar],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[on](bs(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:r}},s){if(e[on]=nr(s),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ca(e.value):e.value,l=t??"";if(i===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},th={deep:!0,created(e,{value:t,modifiers:{number:o}},n){e._modelValue=t,tn(e,"change",()=>{const a=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>o?Ca(rr(l)):rr(l)),r=e.multiple,s=r?Wo(e._modelValue)?new Set(a):a:a[0],i=e._pendingValue=[r,r?xe(s)?a.slice():a:s];try{e[on](s)}finally{lo(()=>{e._pendingValue===i&&(e._pendingValue=void 0)})}}),e[on]=nr(n)},mounted(e,{value:t}){wc(e,t)},beforeUpdate(e,{value:t},o){e._modelValue=t,e[on]=nr(o)},updated(e,{value:t}){const o=e._pendingValue;e._pendingValue=void 0,(!o||o[0]!==e.multiple||!oh(t,o[1],o[0]))&&wc(e,t)}};function oh(e,t,o){if(!o||xe(e))return Ro(e,t);if(Wo(e)){if(e.size!==t.length)return!1;for(const n of t)if(!e.has(n))return!1;return!0}return!1}function wc(e,t){const o=e.multiple,n=xe(t);if(!(o&&!n&&!Wo(t))){for(let a=0,r=e.options.length;aString(u)===String(i)):s.selected=Rp(t,i)>-1}else s.selected=t.has(i);else if(Ro(rr(s),t)){e.selectedIndex!==a&&(e.selectedIndex=a);return}}!o&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function rr(e){return"_value"in e?e._value:e.value}const nh=["ctrl","shift","alt","meta"],ah={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nh.some(o=>e[`${o}Key`]&&!t.includes(o))},vt=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=a=>{if(!("key"in a))return;const r=jt(a.key);if(t.some(s=>s===r||rh[s]===r))return e(a)})},sh=dt({patchProp:Yf},Pf);let xc;function Ac(){return xc||(xc=cf(sh))}const ih=(...e)=>{Ac().render(...e)},Sc=(...e)=>{const t=Ac().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=ch(n);if(!a)return;const r=t._component;!$e(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,lh(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function lh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ch(e){return tt(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={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"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Hh={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"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={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."}},Jh={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={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"}},om={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"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={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"}},gm={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"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={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."}},Rm={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={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"}},Gm={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"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={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ă."}},zm={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let $c;const sr=e=>$c=e,Ec=Symbol();function _s(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function uh(){const e=Fr(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){sr(a),a._a=r,r.provide(Ec,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Cc=()=>{};function Lc(e,t,o,n=Cc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&ji()&&Ip(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const dh=e=>e(),Tc=Symbol(),vs=Symbol();function ks(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];_s(a)&&_s(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=ks(a,n):e[o]=n}return e}const ph=Symbol();function gh(e){return!_s(e)||!e.hasOwnProperty(ph)}const{assign:Fo}=Object;function fh(e){return!!(st(e)&&e.effect)}function hh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=ng(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{sr(o);const w=o._s.get(e);return s[g].call(w,w)})),p),{}))}return l=Pc(e,u,t,o,n,!0),l}function Pc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],w;const b=n.state.value[e];!r&&!b&&(n.state.value[e]={});let y;function d(L){let P;u=c=!1,typeof L=="function"?(L(n.state.value[e]),P={type:ra.patchFunction,storeId:e,events:w}):(ks(n.state.value[e],L),P={type:ra.patchObject,payload:L,storeId:e,events:w});const z=y=Symbol();lo().then(()=>{y===z&&(u=!0)}),c=!0,wn(p,P,n.state.value[e])}const h=r?function(){const{state:P}=o,z=P?P():{};this.$patch(W=>{Fo(W,z)})}:Cc;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(L,P="")=>{if(Tc in L)return L[vs]=P,L;const z=function(){sr(n);const W=Array.from(arguments),re=[],M=[];function F(I){re.push(I)}function T(I){M.push(I)}wn(g,{args:W,name:z[vs],store:x,after:F,onError:T});let $;try{$=L.apply(this&&this.$id===e?this:x,W)}catch(I){throw wn(M,I),I}return $ instanceof Promise?$.then(I=>(wn(re,I),I)).catch(I=>(wn(M,I),Promise.reject(I))):(wn(re,$),$)};return z[Tc]=!0,z[vs]=P,z},k={_p:n,$id:e,$onAction:Lc.bind(null,g),$patch:d,$reset:h,$subscribe(L,P={}){const z=Lc(p,L,P.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(P.flush==="sync"?c:u)&&L({storeId:e,type:ra.direct,events:w},re)},Fo({},l,P)));return z},$dispose:f},x=pn(k);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||dh)(()=>n._e.run(()=>(s=Fr()).run(()=>t({action:m}))));for(const L in S){const P=S[L];if(st(P)&&!fh(P)||vo(P))r||(b&&gh(P)&&(st(P)?P.value=b[L]:ks(P,b[L])),n.state.value[e][L]=P);else if(typeof P=="function"){const z=m(P,L);S[L]=z,i.actions[L]=P}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:L=>{d(P=>{Fo(P,L)})}}),n._p.forEach(L=>{Fo(x,s.run(()=>L({store:x,app:n._a,pinia:n,options:i})))}),b&&r&&o.hydrate&&o.hydrate(x.$state,b),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function ws(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const u=yg();return i=i||(u?Fe(Ec,null):null),i&&sr(i),i=$c,i._s.has(n)||(r?Pc(n,t,a,i):hh(n,a,i)),i._s.get(n)}return s.$id=n,s}const xs="__doxaMapToken",As="doxa:map-token",Mc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[xs];return typeof e=="string"?e:""};function Nc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[xs]=t;try{window.dispatchEvent(new CustomEvent(As,{detail:t}))}catch{}return t}function mh(){if(typeof window>"u"||window[Mc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[xs]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Nc(t)}}),window[Mc]=!0}catch{}}function bh(){mh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(As,t);try{uo(()=>window.removeEventListener(As,t))}catch{}}return e}function Rc(e){return Lg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const yh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_h={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},vh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},kh={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"اللغات"}},wh={menuComingSoon:"القائمة قادمة قريباً"},xh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Ah={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Sh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},$h={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Eh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Ch={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Lh={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"},Th={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ph={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"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Mh={menuComingSoon:"Menü folgt in Kürze"},Nh={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Rh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Ih={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Oh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Fh={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"},Dh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Bh={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",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Gh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},jh={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"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Uh={menuComingSoon:"Menu coming soon"},Kh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},zh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Hh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Vh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Wh={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"}},Yh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",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"},qh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Jh={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"},Xh={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."}},Zh={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"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Qh={menuComingSoon:"Menú próximamente"},em={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},tm={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},om={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},nm={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"}},am={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"},rm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},sm={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"},im={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},lm={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"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},cm={menuComingSoon:"Menu bientôt disponible"},um={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},dm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},pm={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},gm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},fm={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"}},hm={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"},mm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},bm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ym={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},_m={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vm={menuComingSoon:"मेनू शीघ्र आ रहा है"},km={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},wm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},xm={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},Am={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Sm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},$m={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"},Em={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Cm={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"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Lm={menuComingSoon:"Menu in arrivo"},Tm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Pm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Mm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Nm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Rm={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"},Im={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."}},Om={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"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Fm={menuComingSoon:"Menu em breve"},Dm={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Bm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Gm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},jm={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"}},Um={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"},Km={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},zm={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ă"},Hm={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ă."}},Vm={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"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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"}},Wm={menuComingSoon:"Meniu în curând"},Ym={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},qm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Jm={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Xm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},eb={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},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:"Языки"}},tb={menuComingSoon:"Меню скоро появится"},ob={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},nb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ab={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},rb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},sb={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},ib={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},lb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},cb={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},ub={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},db={menuComingSoon:"菜单即将推出"},pb={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},gb={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},fb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function gb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const sr=typeof window<"u",Do=(e,t=!1)=>t?Symbol.for(e):Symbol(e),fb=(e,t,o)=>hb({l:e,k:t,s:o}),hb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),gt=e=>typeof e=="number"&&isFinite(e),mb=e=>Fc(e)==="[object Date]",Bo=e=>Fc(e)==="[object RegExp]",ir=e=>Le(e)&&Object.keys(e).length===0,Lt=Object.assign,bb=Object.create,Qe=(e=null)=>bb(e);let Nc;const Co=()=>Nc||(Nc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Qe());function Rc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ic(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function yb(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Ic(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Ic(r)}'`),/\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(n=>{e=e.replace(n,"$1javascript:")}),e}const _b=Object.prototype.hasOwnProperty;function Xt(e,t){return _b.call(e,t)}const it=Array.isArray,nt=e=>typeof e=="function",fe=e=>typeof e=="string",De=e=>typeof e=="boolean",He=e=>e!==null&&typeof e=="object",vb=e=>He(e)&&nt(e.then)&&nt(e.catch),Oc=Object.prototype.toString,Fc=e=>Oc.call(e),Le=e=>{if(!He(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},kb=e=>e==null?"":it(e)||Le(e)&&e.toString===Oc?JSON.stringify(e,null,2):String(e);function wb(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function lr(e){let t=e;return()=>++t}const cr=e=>!He(e)||it(e);function ur(e,t){if(cr(e)||cr(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(He(n[r])&&!He(a[r])&&(a[r]=Array.isArray(n[r])?[]:Qe()),cr(a[r])||cr(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! + */function hb(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ir=typeof window<"u",Do=(e,t=!1)=>t?Symbol.for(e):Symbol(e),mb=(e,t,o)=>bb({l:e,k:t,s:o}),bb=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),gt=e=>typeof e=="number"&&isFinite(e),yb=e=>Bc(e)==="[object Date]",Bo=e=>Bc(e)==="[object RegExp]",lr=e=>Le(e)&&Object.keys(e).length===0,Lt=Object.assign,_b=Object.create,Qe=(e=null)=>_b(e);let Ic;const Co=()=>Ic||(Ic=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Qe());function Oc(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Fc(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function vb(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Fc(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Fc(r)}'`),/\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(n=>{e=e.replace(n,"$1javascript:")}),e}const kb=Object.prototype.hasOwnProperty;function Xt(e,t){return kb.call(e,t)}const it=Array.isArray,nt=e=>typeof e=="function",fe=e=>typeof e=="string",De=e=>typeof e=="boolean",He=e=>e!==null&&typeof e=="object",wb=e=>He(e)&&nt(e.then)&&nt(e.catch),Dc=Object.prototype.toString,Bc=e=>Dc.call(e),Le=e=>{if(!He(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},xb=e=>e==null?"":it(e)||Le(e)&&e.toString===Dc?JSON.stringify(e,null,2):String(e);function Ab(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function cr(e){let t=e;return()=>++t}const ur=e=>!He(e)||it(e);function dr(e,t){if(ur(e)||ur(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(He(n[r])&&!He(a[r])&&(a[r]=Array.isArray(n[r])?[]:Qe()),ur(a[r])||ur(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function xb(e,t,o){return{line:e,column:t,offset:o}}function dr(e,t,o){return{start:e,end:t}}const Ab=/\{([0-9a-zA-Z]+)\}/g;function Dc(e,...t){return t.length===1&&Sb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Ab,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Bc=Object.assign,Gc=e=>typeof e=="string",Sb=e=>e!==null&&typeof e=="object";function jc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const xs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},$b={[xs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Eb(e,t,...o){const n=Dc($b[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Se={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},Cb={[Se.EXPECTED_TOKEN]:"Expected token: '{0}'",[Se.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Se.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Se.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Se.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Se.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Se.EMPTY_PLACEHOLDER]:"Empty placeholder",[Se.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Se.INVALID_LINKED_FORMAT]:"Invalid linked format",[Se.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Se.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Se.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Se.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Se.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Se.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Dc((a||Cb)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function Lb(e){throw e}const Lo=" ",Tb="\r",Ot=` -`,Pb="\u2028",Mb="\u2029";function Nb(e){const t=e;let o=0,n=1,a=1,r=0;const s=S=>t[S]===Tb&&t[S+1]===Ot,i=S=>t[S]===Ot,l=S=>t[S]===Mb,u=S=>t[S]===Pb,c=S=>s(S)||i(S)||l(S)||u(S),p=()=>o,g=()=>n,k=()=>a,w=()=>r,_=S=>s(S)||l(S)||u(S)?Ot:t[S],d=()=>_(o),h=()=>_(o+r);function f(){return r=0,c(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function m(){return s(o+r)&&r++,r++,t[o+r]}function v(){o=0,n=1,a=1,r=0}function x(S=0){r=S}function A(){const S=o+r;for(;S!==o;)f();r=0}return{index:p,line:g,column:k,peekOffset:w,charAt:_,currentChar:d,currentPeek:h,next:f,peek:m,reset:v,resetPeek:x,skipToPeek:A}}const Go=void 0,Rb=".",Uc="'",Ib="tokenizer";function Ob(e,t={}){const o=t.location!==!1,n=Nb(e),a=()=>n.index(),r=()=>xb(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function p(b,y,B,...V){const ue=u();if(y.column+=B,y.offset+=B,c){const se=o?dr(ue.startLoc,y):null,G=An(b,se,{domain:Ib,args:V});c(G)}}function g(b,y,B){b.endLoc=r(),b.currentType=y;const V={type:y};return o&&(V.loc=dr(b.startLoc,b.endLoc)),B!=null&&(V.value=B),V}const k=b=>g(b,14);function w(b,y){return b.currentChar()===y?(b.next(),y):(p(Se.EXPECTED_TOKEN,r(),0,y),"")}function _(b){let y="";for(;b.currentPeek()===Lo||b.currentPeek()===Ot;)y+=b.currentPeek(),b.peek();return y}function d(b){const y=_(b);return b.skipToPeek(),y}function h(b){if(b===Go)return!1;const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y===95}function f(b){if(b===Go)return!1;const y=b.charCodeAt(0);return y>=48&&y<=57}function m(b,y){const{currentType:B}=y;if(B!==2)return!1;_(b);const V=h(b.currentPeek());return b.resetPeek(),V}function v(b,y){const{currentType:B}=y;if(B!==2)return!1;_(b);const V=b.currentPeek()==="-"?b.peek():b.currentPeek(),ue=f(V);return b.resetPeek(),ue}function x(b,y){const{currentType:B}=y;if(B!==2)return!1;_(b);const V=b.currentPeek()===Uc;return b.resetPeek(),V}function A(b,y){const{currentType:B}=y;if(B!==8)return!1;_(b);const V=b.currentPeek()===".";return b.resetPeek(),V}function S(b,y){const{currentType:B}=y;if(B!==9)return!1;_(b);const V=h(b.currentPeek());return b.resetPeek(),V}function T(b,y){const{currentType:B}=y;if(!(B===8||B===12))return!1;_(b);const V=b.currentPeek()===":";return b.resetPeek(),V}function I(b,y){const{currentType:B}=y;if(B!==10)return!1;const V=()=>{const se=b.currentPeek();return se==="{"?h(b.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===Lo||!se?!1:se===Ot?(b.peek(),V()):re(b,!1)},ue=V();return b.resetPeek(),ue}function H(b){_(b);const y=b.currentPeek()==="|";return b.resetPeek(),y}function W(b){const y=_(b),B=b.currentPeek()==="%"&&b.peek()==="{";return b.resetPeek(),{isModulo:B,hasSpace:y.length>0}}function re(b,y=!0){const B=(ue=!1,se="",G=!1)=>{const Y=b.currentPeek();return Y==="{"?se==="%"?!1:ue:Y==="@"||!Y?se==="%"?!0:ue:Y==="%"?(b.peek(),B(ue,"%",!0)):Y==="|"?se==="%"||G?!0:!(se===Lo||se===Ot):Y===Lo?(b.peek(),B(!0,Lo,G)):Y===Ot?(b.peek(),B(!0,Ot,G)):!0},V=B();return y&&b.resetPeek(),V}function P(b,y){const B=b.currentChar();return B===Go?Go:y(B)?(b.next(),B):null}function $(b){const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36}function M(b){return P(b,$)}function C(b){const y=b.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36||y===45}function N(b){return P(b,C)}function ne(b){const y=b.charCodeAt(0);return y>=48&&y<=57}function ge(b){return P(b,ne)}function L(b){const y=b.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function ae(b){return P(b,L)}function ie(b){let y="",B="";for(;y=ge(b);)B+=y;return B}function le(b){d(b);const y=b.currentChar();return y!=="%"&&p(Se.EXPECTED_TOKEN,r(),0,y),b.next(),"%"}function we(b){let y="";for(;;){const B=b.currentChar();if(B==="{"||B==="}"||B==="@"||B==="|"||!B)break;if(B==="%")if(re(b))y+=B,b.next();else break;else if(B===Lo||B===Ot)if(re(b))y+=B,b.next();else{if(H(b))break;y+=B,b.next()}else y+=B,b.next()}return y}function Me(b){d(b);let y="",B="";for(;y=N(b);)B+=y;return b.currentChar()===Go&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B}function Re(b){d(b);let y="";return b.currentChar()==="-"?(b.next(),y+=`-${ie(b)}`):y+=ie(b),b.currentChar()===Go&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),y}function Oe(b){return b!==Uc&&b!==Ot}function Ie(b){d(b),w(b,"'");let y="",B="";for(;y=P(b,Oe);)y==="\\"?B+=Je(b):B+=y;const V=b.currentChar();return V===Ot||V===Go?(p(Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),V===Ot&&(b.next(),w(b,"'")),B):(w(b,"'"),B)}function Je(b){const y=b.currentChar();switch(y){case"\\":case"'":return b.next(),`\\${y}`;case"u":return Xe(b,y,4);case"U":return Xe(b,y,6);default:return p(Se.UNKNOWN_ESCAPE_SEQUENCE,r(),0,y),""}}function Xe(b,y,B){w(b,y);let V="";for(let ue=0;ue{const V=b.currentChar();return V==="{"||V==="%"||V==="@"||V==="|"||V==="("||V===")"||!V||V===Lo?B:(B+=V,b.next(),y(B))};return y("")}function K(b){d(b);const y=w(b,"|");return d(b),y}function X(b,y){let B=null;switch(b.currentChar()){case"{":return y.braceNest>=1&&p(Se.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),b.next(),B=g(y,2,"{"),d(b),y.braceNest++,B;case"}":return y.braceNest>0&&y.currentType===2&&p(Se.EMPTY_PLACEHOLDER,r(),0),b.next(),B=g(y,3,"}"),y.braceNest--,y.braceNest>0&&d(b),y.inLinked&&y.braceNest===0&&(y.inLinked=!1),B;case"@":return y.braceNest>0&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B=J(b,y)||k(y),y.braceNest=0,B;default:{let ue=!0,se=!0,G=!0;if(H(b))return y.braceNest>0&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B=g(y,1,K(b)),y.braceNest=0,y.inLinked=!1,B;if(y.braceNest>0&&(y.currentType===5||y.currentType===6||y.currentType===7))return p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),y.braceNest=0,Z(b,y);if(ue=m(b,y))return B=g(y,5,Me(b)),d(b),B;if(se=v(b,y))return B=g(y,6,Re(b)),d(b),B;if(G=x(b,y))return B=g(y,7,Ie(b)),d(b),B;if(!ue&&!se&&!G)return B=g(y,13,E(b)),p(Se.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,B.value),d(b),B;break}}return B}function J(b,y){const{currentType:B}=y;let V=null;const ue=b.currentChar();switch((B===8||B===9||B===12||B===10)&&(ue===Ot||ue===Lo)&&p(Se.INVALID_LINKED_FORMAT,r(),0),ue){case"@":return b.next(),V=g(y,8,"@"),y.inLinked=!0,V;case".":return d(b),b.next(),g(y,9,".");case":":return d(b),b.next(),g(y,10,":");default:return H(b)?(V=g(y,1,K(b)),y.braceNest=0,y.inLinked=!1,V):A(b,y)||T(b,y)?(d(b),J(b,y)):S(b,y)?(d(b),g(y,12,F(b))):I(b,y)?(d(b),ue==="{"?X(b,y)||V:g(y,11,O(b))):(B===8&&p(Se.INVALID_LINKED_FORMAT,r(),0),y.braceNest=0,y.inLinked=!1,Z(b,y))}}function Z(b,y){let B={type:14};if(y.braceNest>0)return X(b,y)||k(y);if(y.inLinked)return J(b,y)||k(y);switch(b.currentChar()){case"{":return X(b,y)||k(y);case"}":return p(Se.UNBALANCED_CLOSING_BRACE,r(),0),b.next(),g(y,3,"}");case"@":return J(b,y)||k(y);default:{if(H(b))return B=g(y,1,K(b)),y.braceNest=0,y.inLinked=!1,B;const{isModulo:ue,hasSpace:se}=W(b);if(ue)return se?g(y,0,we(b)):g(y,4,le(b));if(re(b))return g(y,0,we(b));break}}return B}function Q(){const{currentType:b,offset:y,startLoc:B,endLoc:V}=l;return l.lastType=b,l.lastOffset=y,l.lastStartLoc=B,l.lastEndLoc=V,l.offset=a(),l.startLoc=r(),n.currentChar()===Go?g(l,14):Z(n,l)}return{nextToken:Q,currentOffset:a,currentPosition:r,context:u}}const Fb="parser",Db=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Bb(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Gb(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(m,v,x,A,...S){const T=m.currentPosition();if(T.offset+=A,T.column+=A,o){const I=t?dr(x,T):null,H=An(v,I,{domain:Fb,args:S});o(H)}}function r(m,v,x,A,...S){const T=m.currentPosition();if(T.offset+=A,T.column+=A,n){const I=t?dr(x,T):null;n(Eb(v,I,S))}}function s(m,v,x){const A={type:m};return t&&(A.start=v,A.end=v,A.loc={start:x,end:x}),A}function i(m,v,x,A){t&&(m.end=v,m.loc&&(m.loc.end=x))}function l(m,v){const x=m.context(),A=s(3,x.offset,x.startLoc);return A.value=v,i(A,m.currentOffset(),m.currentPosition()),A}function u(m,v){const x=m.context(),{lastOffset:A,lastStartLoc:S}=x,T=s(5,A,S);return T.index=parseInt(v,10),m.nextToken(),i(T,m.currentOffset(),m.currentPosition()),T}function c(m,v,x){const A=m.context(),{lastOffset:S,lastStartLoc:T}=A,I=s(4,S,T);return I.key=v,x===!0&&(I.modulo=!0),m.nextToken(),i(I,m.currentOffset(),m.currentPosition()),I}function p(m,v){const x=m.context(),{lastOffset:A,lastStartLoc:S}=x,T=s(9,A,S);return T.value=v.replace(Db,Bb),m.nextToken(),i(T,m.currentOffset(),m.currentPosition()),T}function g(m){const v=m.nextToken(),x=m.context(),{lastOffset:A,lastStartLoc:S}=x,T=s(8,A,S);return v.type!==12?(a(m,Se.UNEXPECTED_EMPTY_LINKED_MODIFIER,x.lastStartLoc,0),T.value="",i(T,A,S),{nextConsumeToken:v,node:T}):(v.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,Zt(v)),T.value=v.value||"",i(T,m.currentOffset(),m.currentPosition()),{node:T})}function k(m,v){const x=m.context(),A=s(7,x.offset,x.startLoc);return A.value=v,i(A,m.currentOffset(),m.currentPosition()),A}function w(m){const v=m.context(),x=s(6,v.offset,v.startLoc);let A=m.nextToken();if(A.type===9){const S=g(m);x.modifier=S.node,A=S.nextConsumeToken||m.nextToken()}switch(A.type!==10&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(A)),A=m.nextToken(),A.type===2&&(A=m.nextToken()),A.type){case 11:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(A)),x.key=k(m,A.value||"");break;case 5:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(A)),x.key=c(m,A.value||"");break;case 6:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(A)),x.key=u(m,A.value||"");break;case 7:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(A)),x.key=p(m,A.value||"");break;default:{a(m,Se.UNEXPECTED_EMPTY_LINKED_KEY,v.lastStartLoc,0);const S=m.context(),T=s(7,S.offset,S.startLoc);return T.value="",i(T,S.offset,S.startLoc),x.key=T,i(x,S.offset,S.startLoc),{nextConsumeToken:A,node:x}}}return i(x,m.currentOffset(),m.currentPosition()),{node:x}}function _(m){const v=m.context(),x=v.currentType===1?m.currentOffset():v.offset,A=v.currentType===1?v.endLoc:v.startLoc,S=s(2,x,A);S.items=[];let T=null,I=null;do{const re=T||m.nextToken();switch(T=null,re.type){case 0:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(re)),S.items.push(l(m,re.value||""));break;case 6:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(re)),S.items.push(u(m,re.value||""));break;case 4:I=!0;break;case 5:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(re)),S.items.push(c(m,re.value||"",!!I)),I&&(r(m,xs.USE_MODULO_SYNTAX,v.lastStartLoc,0,Zt(re)),I=null);break;case 7:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,v.lastStartLoc,0,Zt(re)),S.items.push(p(m,re.value||""));break;case 8:{const P=w(m);S.items.push(P.node),T=P.nextConsumeToken||null;break}}}while(v.currentType!==14&&v.currentType!==1);const H=v.currentType===1?v.lastOffset:m.currentOffset(),W=v.currentType===1?v.lastEndLoc:m.currentPosition();return i(S,H,W),S}function d(m,v,x,A){const S=m.context();let T=A.items.length===0;const I=s(1,v,x);I.cases=[],I.cases.push(A);do{const H=_(m);T||(T=H.items.length===0),I.cases.push(H)}while(S.currentType!==14);return T&&a(m,Se.MUST_HAVE_MESSAGES_IN_PLURAL,x,0),i(I,m.currentOffset(),m.currentPosition()),I}function h(m){const v=m.context(),{offset:x,startLoc:A}=v,S=_(m);return v.currentType===14?S:d(m,x,A,S)}function f(m){const v=Ob(m,Bc({},e)),x=v.context(),A=s(0,x.offset,x.startLoc);return t&&A.loc&&(A.loc.source=m),A.body=h(v),e.onCacheKey&&(A.cacheKey=e.onCacheKey(m)),x.currentType!==14&&a(v,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,m[x.offset]||""),i(A,v.currentOffset(),v.currentPosition()),A}return{parse:f}}function Zt(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 jb(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Kc(e,t){for(let o=0;ozc(o)),e}function zc(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 o=0;os;function l(_,d){s.code+=_}function u(_,d=!0){const h=d?n:"";l(a?h+" ".repeat(_):h)}function c(_=!0){const d=++s.indentLevel;_&&u(d)}function p(_=!0){const d=--s.indentLevel;_&&u(d)}function g(){u(s.indentLevel)}return{context:i,push:l,indent:c,deindent:p,newline:g,helper:_=>`_${_}`,needIndent:()=>s.needIndent}}function Wb(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),$n(e,t.key),t.modifier?(e.push(", "),$n(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Yb(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=Gc(t.mode)?t.mode:"normal",n=Gc(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=Vb(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${jc(s.map(c=>`${c}: _${c}`),", ")} } = ctx`),i.newline()),i.push("return "),$n(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:u}=i.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function Zb(e,t={}){const o=Bc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Gb(o).parse(e);return n?(r&&Kb(i),a&&Sn(i),{ast:i,code:""}):(Ub(i,o),Xb(i,o))}/*! + */function Sb(e,t,o){return{line:e,column:t,offset:o}}function pr(e,t,o){return{start:e,end:t}}const $b=/\{([0-9a-zA-Z]+)\}/g;function Gc(e,...t){return t.length===1&&Eb(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace($b,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const jc=Object.assign,Uc=e=>typeof e=="string",Eb=e=>e!==null&&typeof e=="object";function Kc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Ss={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Cb={[Ss.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Lb(e,t,...o){const n=Gc(Cb[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Se={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},Tb={[Se.EXPECTED_TOKEN]:"Expected token: '{0}'",[Se.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Se.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Se.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Se.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Se.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Se.EMPTY_PLACEHOLDER]:"Empty placeholder",[Se.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Se.INVALID_LINKED_FORMAT]:"Invalid linked format",[Se.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Se.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Se.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Se.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Se.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Se.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function An(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=Gc((a||Tb)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function Pb(e){throw e}const Lo=" ",Mb="\r",Ot=` +`,Nb="\u2028",Rb="\u2029";function Ib(e){const t=e;let o=0,n=1,a=1,r=0;const s=S=>t[S]===Mb&&t[S+1]===Ot,i=S=>t[S]===Ot,l=S=>t[S]===Rb,u=S=>t[S]===Nb,c=S=>s(S)||i(S)||l(S)||u(S),p=()=>o,g=()=>n,w=()=>a,b=()=>r,y=S=>s(S)||l(S)||u(S)?Ot:t[S],d=()=>y(o),h=()=>y(o+r);function f(){return r=0,c(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function m(){return s(o+r)&&r++,r++,t[o+r]}function k(){o=0,n=1,a=1,r=0}function x(S=0){r=S}function A(){const S=o+r;for(;S!==o;)f();r=0}return{index:p,line:g,column:w,peekOffset:b,charAt:y,currentChar:d,currentPeek:h,next:f,peek:m,reset:k,resetPeek:x,skipToPeek:A}}const Go=void 0,Ob=".",zc="'",Fb="tokenizer";function Db(e,t={}){const o=t.location!==!1,n=Ib(e),a=()=>n.index(),r=()=>Sb(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},u=()=>l,{onError:c}=t;function p(_,v,B,...V){const ue=u();if(v.column+=B,v.offset+=B,c){const se=o?pr(ue.startLoc,v):null,G=An(_,se,{domain:Fb,args:V});c(G)}}function g(_,v,B){_.endLoc=r(),_.currentType=v;const V={type:v};return o&&(V.loc=pr(_.startLoc,_.endLoc)),B!=null&&(V.value=B),V}const w=_=>g(_,14);function b(_,v){return _.currentChar()===v?(_.next(),v):(p(Se.EXPECTED_TOKEN,r(),0,v),"")}function y(_){let v="";for(;_.currentPeek()===Lo||_.currentPeek()===Ot;)v+=_.currentPeek(),_.peek();return v}function d(_){const v=y(_);return _.skipToPeek(),v}function h(_){if(_===Go)return!1;const v=_.charCodeAt(0);return v>=97&&v<=122||v>=65&&v<=90||v===95}function f(_){if(_===Go)return!1;const v=_.charCodeAt(0);return v>=48&&v<=57}function m(_,v){const{currentType:B}=v;if(B!==2)return!1;y(_);const V=h(_.currentPeek());return _.resetPeek(),V}function k(_,v){const{currentType:B}=v;if(B!==2)return!1;y(_);const V=_.currentPeek()==="-"?_.peek():_.currentPeek(),ue=f(V);return _.resetPeek(),ue}function x(_,v){const{currentType:B}=v;if(B!==2)return!1;y(_);const V=_.currentPeek()===zc;return _.resetPeek(),V}function A(_,v){const{currentType:B}=v;if(B!==8)return!1;y(_);const V=_.currentPeek()===".";return _.resetPeek(),V}function S(_,v){const{currentType:B}=v;if(B!==9)return!1;y(_);const V=h(_.currentPeek());return _.resetPeek(),V}function L(_,v){const{currentType:B}=v;if(!(B===8||B===12))return!1;y(_);const V=_.currentPeek()===":";return _.resetPeek(),V}function P(_,v){const{currentType:B}=v;if(B!==10)return!1;const V=()=>{const se=_.currentPeek();return se==="{"?h(_.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===Lo||!se?!1:se===Ot?(_.peek(),V()):re(_,!1)},ue=V();return _.resetPeek(),ue}function z(_){y(_);const v=_.currentPeek()==="|";return _.resetPeek(),v}function W(_){const v=y(_),B=_.currentPeek()==="%"&&_.peek()==="{";return _.resetPeek(),{isModulo:B,hasSpace:v.length>0}}function re(_,v=!0){const B=(ue=!1,se="",G=!1)=>{const Y=_.currentPeek();return Y==="{"?se==="%"?!1:ue:Y==="@"||!Y?se==="%"?!0:ue:Y==="%"?(_.peek(),B(ue,"%",!0)):Y==="|"?se==="%"||G?!0:!(se===Lo||se===Ot):Y===Lo?(_.peek(),B(!0,Lo,G)):Y===Ot?(_.peek(),B(!0,Ot,G)):!0},V=B();return v&&_.resetPeek(),V}function M(_,v){const B=_.currentChar();return B===Go?Go:v(B)?(_.next(),B):null}function F(_){const v=_.charCodeAt(0);return v>=97&&v<=122||v>=65&&v<=90||v>=48&&v<=57||v===95||v===36}function T(_){return M(_,F)}function $(_){const v=_.charCodeAt(0);return v>=97&&v<=122||v>=65&&v<=90||v>=48&&v<=57||v===95||v===36||v===45}function I(_){return M(_,$)}function ne(_){const v=_.charCodeAt(0);return v>=48&&v<=57}function ge(_){return M(_,ne)}function C(_){const v=_.charCodeAt(0);return v>=48&&v<=57||v>=65&&v<=70||v>=97&&v<=102}function ae(_){return M(_,C)}function ie(_){let v="",B="";for(;v=ge(_);)B+=v;return B}function le(_){d(_);const v=_.currentChar();return v!=="%"&&p(Se.EXPECTED_TOKEN,r(),0,v),_.next(),"%"}function we(_){let v="";for(;;){const B=_.currentChar();if(B==="{"||B==="}"||B==="@"||B==="|"||!B)break;if(B==="%")if(re(_))v+=B,_.next();else break;else if(B===Lo||B===Ot)if(re(_))v+=B,_.next();else{if(z(_))break;v+=B,_.next()}else v+=B,_.next()}return v}function Me(_){d(_);let v="",B="";for(;v=I(_);)B+=v;return _.currentChar()===Go&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B}function Re(_){d(_);let v="";return _.currentChar()==="-"?(_.next(),v+=`-${ie(_)}`):v+=ie(_),_.currentChar()===Go&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),v}function Oe(_){return _!==zc&&_!==Ot}function Ie(_){d(_),b(_,"'");let v="",B="";for(;v=M(_,Oe);)v==="\\"?B+=Je(_):B+=v;const V=_.currentChar();return V===Ot||V===Go?(p(Se.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),V===Ot&&(_.next(),b(_,"'")),B):(b(_,"'"),B)}function Je(_){const v=_.currentChar();switch(v){case"\\":case"'":return _.next(),`\\${v}`;case"u":return Xe(_,v,4);case"U":return Xe(_,v,6);default:return p(Se.UNKNOWN_ESCAPE_SEQUENCE,r(),0,v),""}}function Xe(_,v,B){b(_,v);let V="";for(let ue=0;ue{const V=_.currentChar();return V==="{"||V==="%"||V==="@"||V==="|"||V==="("||V===")"||!V||V===Lo?B:(B+=V,_.next(),v(B))};return v("")}function K(_){d(_);const v=b(_,"|");return d(_),v}function X(_,v){let B=null;switch(_.currentChar()){case"{":return v.braceNest>=1&&p(Se.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),_.next(),B=g(v,2,"{"),d(_),v.braceNest++,B;case"}":return v.braceNest>0&&v.currentType===2&&p(Se.EMPTY_PLACEHOLDER,r(),0),_.next(),B=g(v,3,"}"),v.braceNest--,v.braceNest>0&&d(_),v.inLinked&&v.braceNest===0&&(v.inLinked=!1),B;case"@":return v.braceNest>0&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B=J(_,v)||w(v),v.braceNest=0,B;default:{let ue=!0,se=!0,G=!0;if(z(_))return v.braceNest>0&&p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),B=g(v,1,K(_)),v.braceNest=0,v.inLinked=!1,B;if(v.braceNest>0&&(v.currentType===5||v.currentType===6||v.currentType===7))return p(Se.UNTERMINATED_CLOSING_BRACE,r(),0),v.braceNest=0,Z(_,v);if(ue=m(_,v))return B=g(v,5,Me(_)),d(_),B;if(se=k(_,v))return B=g(v,6,Re(_)),d(_),B;if(G=x(_,v))return B=g(v,7,Ie(_)),d(_),B;if(!ue&&!se&&!G)return B=g(v,13,E(_)),p(Se.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,B.value),d(_),B;break}}return B}function J(_,v){const{currentType:B}=v;let V=null;const ue=_.currentChar();switch((B===8||B===9||B===12||B===10)&&(ue===Ot||ue===Lo)&&p(Se.INVALID_LINKED_FORMAT,r(),0),ue){case"@":return _.next(),V=g(v,8,"@"),v.inLinked=!0,V;case".":return d(_),_.next(),g(v,9,".");case":":return d(_),_.next(),g(v,10,":");default:return z(_)?(V=g(v,1,K(_)),v.braceNest=0,v.inLinked=!1,V):A(_,v)||L(_,v)?(d(_),J(_,v)):S(_,v)?(d(_),g(v,12,O(_))):P(_,v)?(d(_),ue==="{"?X(_,v)||V:g(v,11,R(_))):(B===8&&p(Se.INVALID_LINKED_FORMAT,r(),0),v.braceNest=0,v.inLinked=!1,Z(_,v))}}function Z(_,v){let B={type:14};if(v.braceNest>0)return X(_,v)||w(v);if(v.inLinked)return J(_,v)||w(v);switch(_.currentChar()){case"{":return X(_,v)||w(v);case"}":return p(Se.UNBALANCED_CLOSING_BRACE,r(),0),_.next(),g(v,3,"}");case"@":return J(_,v)||w(v);default:{if(z(_))return B=g(v,1,K(_)),v.braceNest=0,v.inLinked=!1,B;const{isModulo:ue,hasSpace:se}=W(_);if(ue)return se?g(v,0,we(_)):g(v,4,le(_));if(re(_))return g(v,0,we(_));break}}return B}function Q(){const{currentType:_,offset:v,startLoc:B,endLoc:V}=l;return l.lastType=_,l.lastOffset=v,l.lastStartLoc=B,l.lastEndLoc=V,l.offset=a(),l.startLoc=r(),n.currentChar()===Go?g(l,14):Z(n,l)}return{nextToken:Q,currentOffset:a,currentPosition:r,context:u}}const Bb="parser",Gb=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function jb(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ub(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(m,k,x,A,...S){const L=m.currentPosition();if(L.offset+=A,L.column+=A,o){const P=t?pr(x,L):null,z=An(k,P,{domain:Bb,args:S});o(z)}}function r(m,k,x,A,...S){const L=m.currentPosition();if(L.offset+=A,L.column+=A,n){const P=t?pr(x,L):null;n(Lb(k,P,S))}}function s(m,k,x){const A={type:m};return t&&(A.start=k,A.end=k,A.loc={start:x,end:x}),A}function i(m,k,x,A){t&&(m.end=k,m.loc&&(m.loc.end=x))}function l(m,k){const x=m.context(),A=s(3,x.offset,x.startLoc);return A.value=k,i(A,m.currentOffset(),m.currentPosition()),A}function u(m,k){const x=m.context(),{lastOffset:A,lastStartLoc:S}=x,L=s(5,A,S);return L.index=parseInt(k,10),m.nextToken(),i(L,m.currentOffset(),m.currentPosition()),L}function c(m,k,x){const A=m.context(),{lastOffset:S,lastStartLoc:L}=A,P=s(4,S,L);return P.key=k,x===!0&&(P.modulo=!0),m.nextToken(),i(P,m.currentOffset(),m.currentPosition()),P}function p(m,k){const x=m.context(),{lastOffset:A,lastStartLoc:S}=x,L=s(9,A,S);return L.value=k.replace(Gb,jb),m.nextToken(),i(L,m.currentOffset(),m.currentPosition()),L}function g(m){const k=m.nextToken(),x=m.context(),{lastOffset:A,lastStartLoc:S}=x,L=s(8,A,S);return k.type!==12?(a(m,Se.UNEXPECTED_EMPTY_LINKED_MODIFIER,x.lastStartLoc,0),L.value="",i(L,A,S),{nextConsumeToken:k,node:L}):(k.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,Zt(k)),L.value=k.value||"",i(L,m.currentOffset(),m.currentPosition()),{node:L})}function w(m,k){const x=m.context(),A=s(7,x.offset,x.startLoc);return A.value=k,i(A,m.currentOffset(),m.currentPosition()),A}function b(m){const k=m.context(),x=s(6,k.offset,k.startLoc);let A=m.nextToken();if(A.type===9){const S=g(m);x.modifier=S.node,A=S.nextConsumeToken||m.nextToken()}switch(A.type!==10&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(A)),A=m.nextToken(),A.type===2&&(A=m.nextToken()),A.type){case 11:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(A)),x.key=w(m,A.value||"");break;case 5:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(A)),x.key=c(m,A.value||"");break;case 6:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(A)),x.key=u(m,A.value||"");break;case 7:A.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(A)),x.key=p(m,A.value||"");break;default:{a(m,Se.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const S=m.context(),L=s(7,S.offset,S.startLoc);return L.value="",i(L,S.offset,S.startLoc),x.key=L,i(x,S.offset,S.startLoc),{nextConsumeToken:A,node:x}}}return i(x,m.currentOffset(),m.currentPosition()),{node:x}}function y(m){const k=m.context(),x=k.currentType===1?m.currentOffset():k.offset,A=k.currentType===1?k.endLoc:k.startLoc,S=s(2,x,A);S.items=[];let L=null,P=null;do{const re=L||m.nextToken();switch(L=null,re.type){case 0:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(re)),S.items.push(l(m,re.value||""));break;case 6:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(re)),S.items.push(u(m,re.value||""));break;case 4:P=!0;break;case 5:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(re)),S.items.push(c(m,re.value||"",!!P)),P&&(r(m,Ss.USE_MODULO_SYNTAX,k.lastStartLoc,0,Zt(re)),P=null);break;case 7:re.value==null&&a(m,Se.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Zt(re)),S.items.push(p(m,re.value||""));break;case 8:{const M=b(m);S.items.push(M.node),L=M.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const z=k.currentType===1?k.lastOffset:m.currentOffset(),W=k.currentType===1?k.lastEndLoc:m.currentPosition();return i(S,z,W),S}function d(m,k,x,A){const S=m.context();let L=A.items.length===0;const P=s(1,k,x);P.cases=[],P.cases.push(A);do{const z=y(m);L||(L=z.items.length===0),P.cases.push(z)}while(S.currentType!==14);return L&&a(m,Se.MUST_HAVE_MESSAGES_IN_PLURAL,x,0),i(P,m.currentOffset(),m.currentPosition()),P}function h(m){const k=m.context(),{offset:x,startLoc:A}=k,S=y(m);return k.currentType===14?S:d(m,x,A,S)}function f(m){const k=Db(m,jc({},e)),x=k.context(),A=s(0,x.offset,x.startLoc);return t&&A.loc&&(A.loc.source=m),A.body=h(k),e.onCacheKey&&(A.cacheKey=e.onCacheKey(m)),x.currentType!==14&&a(k,Se.UNEXPECTED_LEXICAL_ANALYSIS,x.lastStartLoc,0,m[x.offset]||""),i(A,k.currentOffset(),k.currentPosition()),A}return{parse:f}}function Zt(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 Kb(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function Hc(e,t){for(let o=0;oVc(o)),e}function Vc(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 o=0;os;function l(y,d){s.code+=y}function u(y,d=!0){const h=d?n:"";l(a?h+" ".repeat(y):h)}function c(y=!0){const d=++s.indentLevel;y&&u(d)}function p(y=!0){const d=--s.indentLevel;y&&u(d)}function g(){u(s.indentLevel)}return{context:i,push:l,indent:c,deindent:p,newline:g,helper:y=>`_${y}`,needIndent:()=>s.needIndent}}function qb(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),$n(e,t.key),t.modifier?(e.push(", "),$n(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Jb(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=Uc(t.mode)?t.mode:"normal",n=Uc(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=Yb(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${Kc(s.map(c=>`${c}: _${c}`),", ")} } = ctx`),i.newline()),i.push("return "),$n(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:u}=i.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function ey(e,t={}){const o=jc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Ub(o).parse(e);return n?(r&&Hb(i),a&&Sn(i),{ast:i,code:""}):(zb(i,o),Qb(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Qb(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Co().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ho(e){return He(e)&&Ss(e)===0&&(Xt(e,"b")||Xt(e,"body"))}const Hc=["b","body"];function ey(e){return jo(e,Hc)}const Vc=["c","cases"];function ty(e){return jo(e,Vc,[])}const Wc=["s","static"];function oy(e){return jo(e,Wc)}const Yc=["i","items"];function ny(e){return jo(e,Yc,[])}const qc=["t","type"];function Ss(e){return jo(e,qc)}const Jc=["v","value"];function pr(e,t){const o=jo(e,Jc);if(o!=null)return o;throw sa(t)}const Xc=["m","modifier"];function ay(e){return jo(e,Xc)}const Zc=["k","key"];function ry(e){const t=jo(e,Zc);if(t)return t;throw sa(6)}function jo(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},g[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},g[2]=()=>{g[0](),a++},g[3]=()=>{if(a>0)a--,n=4,g[0]();else{if(a=0,s===void 0||(s=uy(s),s===!1))return!1;g[1]()}};function k(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,g[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&k())){if(l=cy(r),p=Uo[n],u=p[l]||p.l||8,u===8||(n=u[0],u[1]!==void 0&&(c=g[u[1]],c&&(i=r,c()===!1))))return;if(n===7)return t}}const eu=new Map;function py(e,t){return He(e)?e[t]:null}function gy(e,t){if(!He(e))return null;let o=eu.get(t);if(o||(o=dy(t),o&&eu.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,hy=e=>"",my="text",by=e=>e.length===0?"":wb(e),yy=kb;function tu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function _y(e){const t=gt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(gt(e.named.count)||gt(e.named.n))?gt(e.named.count)?e.named.count:gt(e.named.n)?e.named.n:t:t}function vy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ky(e={}){const t=e.locale,o=_y(e),n=He(e.pluralRules)&&fe(t)&&nt(e.pluralRules[t])?e.pluralRules[t]:tu,a=He(e.pluralRules)&&fe(t)&&nt(e.pluralRules[t])?tu:void 0,r=h=>h[n(o,h.length,a)],s=e.list||[],i=h=>s[h],l=e.named||Qe();gt(e.pluralIndex)&&vy(o,l);const u=h=>l[h];function c(h){const f=nt(e.messages)?e.messages(h):He(e.messages)?e.messages[h]:!1;return f||(e.parent?e.parent.message(h):hy)}const p=h=>e.modifiers?e.modifiers[h]:fy,g=Le(e.processor)&&nt(e.processor.normalize)?e.processor.normalize:by,k=Le(e.processor)&&nt(e.processor.interpolate)?e.processor.interpolate:yy,w=Le(e.processor)&&fe(e.processor.type)?e.processor.type:my,d={list:i,named:u,plural:r,linked:(h,...f)=>{const[m,v]=f;let x="text",A="";f.length===1?He(m)?(A=m.modifier||A,x=m.type||x):fe(m)&&(A=m||A):f.length===2&&(fe(m)&&(A=m||A),fe(v)&&(x=v||x));const S=c(h)(d),T=x==="vnode"&&it(S)&&A?S[0]:S;return A?p(A)(T,x):T},message:c,type:w,interpolate:k,normalize:g,values:Lt(Qe(),s,l)};return d}let ia=null;function wy(e){ia=e}function xy(e,t,o){ia&&ia.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Ay=Sy("function:translate");function Sy(e){return t=>ia&&ia.emit(e,t)}const $y=xs.__EXTEND_POINT__,nn=lr($y),Ey={FALLBACK_TO_TRANSLATE:nn(),CANNOT_FORMAT_NUMBER:nn(),FALLBACK_TO_NUMBER_FORMAT:nn(),CANNOT_FORMAT_DATE:nn(),FALLBACK_TO_DATE_FORMAT:nn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:nn(),__EXTEND_POINT__:nn()},ou=Se.__EXTEND_POINT__,an=lr(ou),Qt={INVALID_ARGUMENT:ou,INVALID_DATE_ARGUMENT:an(),INVALID_ISO_DATE_ARGUMENT:an(),NOT_SUPPORT_NON_STRING_MESSAGE:an(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:an(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:an(),NOT_SUPPORT_LOCALE_TYPE:an(),__EXTEND_POINT__:an()};function mo(e){return An(e,null,void 0)}function $s(e,t){return t.locale!=null?nu(t.locale):nu(e.locale)}let Es;function nu(e){if(fe(e))return e;if(nt(e)){if(e.resolvedOnce&&Es!=null)return Es;if(e.constructor.name==="Function"){const t=e();if(vb(t))throw mo(Qt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Es=t}else throw mo(Qt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw mo(Qt.NOT_SUPPORT_LOCALE_TYPE)}function Cy(e,t,o){return[...new Set([o,...it(t)?t:He(t)?Object.keys(t):fe(t)?[t]:[o]])]}function au(e,t,o){const n=fe(o)?o:En,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;it(s);)s=ru(r,s,t);const i=it(t)||!Le(t)?t:t.default?t.default:null;s=fe(i)?[i]:i,it(s)&&ru(r,s,!1),a.__localeChainCache.set(n,r)}return r}function ru(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function My(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?iu(e):t==="vnode"&&He(e)&&"__v_isVNode"in e?iu(e.children):e}}let lu;function cu(e){lu=e}let uu;function Ny(e){uu=e}let du;function Ry(e){du=e}let pu=null;const Iy=e=>{pu=e},Oy=()=>pu;let gu=null;const fu=e=>{gu=e},Fy=()=>gu;let hu=0;function Dy(e={}){const t=nt(e.onWarn)?e.onWarn:gb,o=fe(e.version)?e.version:Py,n=fe(e.locale)||nt(e.locale)?e.locale:En,a=nt(n)?En:n,r=it(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Le(e.messages)?e.messages:Cs(a),i=Le(e.datetimeFormats)?e.datetimeFormats:Cs(a),l=Le(e.numberFormats)?e.numberFormats:Cs(a),u=Lt(Qe(),e.modifiers,My()),c=e.pluralRules||Qe(),p=nt(e.missing)?e.missing:null,g=De(e.missingWarn)||Bo(e.missingWarn)?e.missingWarn:!0,k=De(e.fallbackWarn)||Bo(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,_=!!e.unresolving,d=nt(e.postTranslation)?e.postTranslation:null,h=Le(e.processor)?e.processor:null,f=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,m=!!e.escapeParameter,v=nt(e.messageCompiler)?e.messageCompiler:lu,x=nt(e.messageResolver)?e.messageResolver:uu||py,A=nt(e.localeFallbacker)?e.localeFallbacker:du||Cy,S=He(e.fallbackContext)?e.fallbackContext:void 0,T=e,I=He(T.__datetimeFormatters)?T.__datetimeFormatters:new Map,H=He(T.__numberFormatters)?T.__numberFormatters:new Map,W=He(T.__meta)?T.__meta:{};hu++;const re={version:o,cid:hu,locale:n,fallbackLocale:r,messages:s,modifiers:u,pluralRules:c,missing:p,missingWarn:g,fallbackWarn:k,fallbackFormat:w,unresolving:_,postTranslation:d,processor:h,warnHtmlMessage:f,escapeParameter:m,messageCompiler:v,messageResolver:x,localeFallbacker:A,fallbackContext:S,onWarn:t,__meta:W};return re.datetimeFormats=i,re.numberFormats=l,re.__datetimeFormatters=I,re.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&xy(re,o,W),re}const Cs=e=>({[e]:Qe()});function Ls(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return fe(i)?i:t}else return t}function la(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function By(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Gy(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;njy(o,e)}function jy(e,t){const o=ey(t);if(o==null)throw sa(0);if(Ss(o)===1){const r=ty(o);return e.plural(r.reduce((s,i)=>[...s,mu(e,i)],[]))}else return mu(e,o)}function mu(e,t){const o=oy(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=ny(t).reduce((a,r)=>[...a,Ps(e,r)],[]);return e.normalize(n)}}function Ps(e,t){const o=Ss(t);switch(o){case 3:return pr(t,o);case 9:return pr(t,o);case 4:{const n=t;if(Xt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Xt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw sa(o)}case 5:{const n=t;if(Xt(n,"i")&>(n.i))return e.interpolate(e.list(n.i));if(Xt(n,"index")&>(n.index))return e.interpolate(e.list(n.index));throw sa(o)}case 6:{const n=t,a=ay(n),r=ry(n);return e.linked(Ps(e,r),a?Ps(e,a):void 0,e.type)}case 7:return pr(t,o);case 8:return pr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const bu=e=>e;let Cn=Qe();function yu(e,t={}){let o=!1;const n=t.onError||Lb;return t.onError=a=>{o=!0,n(a)},{...Zb(e,t),detectError:o}}const Uy=(e,t)=>{if(!fe(e))throw mo(Qt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||bu)(e),a=Cn[n];if(a)return a;const{code:r,detectError:s}=yu(e,t),i=new Function(`return ${r}`)();return s?i:Cn[n]=i}};function Ky(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||bu)(e),a=Cn[n];if(a)return a;const{ast:r,detectError:s}=yu(e,{...t,location:!1,jit:!0}),i=Ts(r);return s?i:Cn[n]=i}else{const o=e.cacheKey;if(o){const n=Cn[o];return n||(Cn[o]=Ts(e))}else return Ts(e)}}const _u=()=>"",Wt=e=>nt(e);function vu(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,u]=Ms(...t),c=De(u.missingWarn)?u.missingWarn:e.missingWarn,p=De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,g=De(u.escapeParameter)?u.escapeParameter:e.escapeParameter,k=!!u.resolvedMessage,w=fe(u.default)||De(u.default)?De(u.default)?r?l:()=>l:u.default:o?r?l:()=>l:"",_=o||w!=="",d=$s(e,u);g&&zy(u);let[h,f,m]=k?[l,d,i[d]||Qe()]:ku(e,l,d,s,p,c),v=h,x=l;if(!k&&!(fe(v)||ho(v)||Wt(v))&&_&&(v=w,x=v),!k&&(!(fe(v)||ho(v)||Wt(v))||!fe(f)))return a?gr:l;let A=!1;const S=()=>{A=!0},T=Wt(v)?v:wu(e,l,f,v,x,S);if(A)return v;const I=Wy(e,f,m,u),H=ky(I),W=Hy(e,T,H);let re=n?n(W,l):W;if(g&&fe(re)&&(re=yb(re)),__INTLIFY_PROD_DEVTOOLS__){const P={timestamp:Date.now(),key:fe(l)?l:Wt(v)?v.key:"",locale:f||(Wt(v)?v.locale:""),format:fe(v)?v:Wt(v)?v.source:"",message:re};P.meta=Lt({},e.__meta,Oy()||{}),Ay(P)}return re}function zy(e){it(e.list)?e.list=e.list.map(t=>fe(t)?Rc(t):t):He(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=Rc(e.named[t]))})}function ku(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,o);let p=Qe(),g,k=null;const w="translate";for(let _=0;_n;return u.locale=o,u.key=t,u}const l=s(n,Vy(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Hy(e,t,o){return t(o)}function Ms(...e){const[t,o,n]=e,a=Qe();if(!fe(t)&&!gt(t)&&!Wt(t)&&!ho(t))throw mo(Qt.INVALID_ARGUMENT);const r=gt(t)?String(t):(Wt(t),t);return gt(o)?a.plural=o:fe(o)?a.default=o:Le(o)&&!ir(o)?a.named=o:it(o)&&(a.list=o),gt(n)?a.plural=n:fe(n)?a.default=n:Le(n)&&Lt(a,n),[r,a]}function Vy(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>fb(t,o,s)}}function Wy(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,g={locale:t,modifiers:a,pluralRules:r,messages:k=>{let w=s(o,k);if(w==null&&c){const[,,_]=ku(c,k,t,i,l,u);w=s(_,k)}if(fe(w)||ho(w)){let _=!1;const h=wu(e,k,t,w,k,()=>{_=!0});return _?_u:h}else return Wt(w)?w:_u}};return e.processor&&(g.processor=e.processor),n.list&&(g.list=n.list),n.named&&(g.named=n.named),gt(n.plural)&&(g.pluralIndex=n.plural),g}function xu(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,u,c,p]=Ns(...t),g=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const k=!!c.part,w=$s(e,c),_=s(e,a,w);if(!fe(l)||l==="")return new Intl.DateTimeFormat(w,p).format(u);let d={},h,f=null;const m="datetime format";for(let A=0;A<_.length&&(h=_[A],d=o[h]||{},f=d[l],!Le(f));A++)Ls(e,l,h,g,m);if(!Le(f)||!fe(h))return n?gr:l;let v=`${h}__${l}`;ir(p)||(v=`${v}__${JSON.stringify(p)}`);let x=i.get(v);return x||(x=new Intl.DateTimeFormat(h,Lt({},f,p)),i.set(v,x)),k?x.formatToParts(u):x.format(u)}const Au=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function Ns(...e){const[t,o,n,a]=e,r=Qe();let s=Qe(),i;if(fe(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw mo(Qt.INVALID_ISO_DATE_ARGUMENT);const u=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();i=new Date(u);try{i.toISOString()}catch{throw mo(Qt.INVALID_ISO_DATE_ARGUMENT)}}else if(mb(t)){if(isNaN(t.getTime()))throw mo(Qt.INVALID_DATE_ARGUMENT);i=t}else if(gt(t))i=t;else throw mo(Qt.INVALID_ARGUMENT);return fe(o)?r.key=o:Le(o)&&Object.keys(o).forEach(l=>{Au.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Su(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function $u(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,u,c,p]=Rs(...t),g=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const k=!!c.part,w=$s(e,c),_=s(e,a,w);if(!fe(l)||l==="")return new Intl.NumberFormat(w,p).format(u);let d={},h,f=null;const m="number format";for(let A=0;A<_.length&&(h=_[A],d=o[h]||{},f=d[l],!Le(f));A++)Ls(e,l,h,g,m);if(!Le(f)||!fe(h))return n?gr:l;let v=`${h}__${l}`;ir(p)||(v=`${v}__${JSON.stringify(p)}`);let x=i.get(v);return x||(x=new Intl.NumberFormat(h,Lt({},f,p)),i.set(v,x)),k?x.formatToParts(u):x.format(u)}const Eu=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Rs(...e){const[t,o,n,a]=e,r=Qe();let s=Qe();if(!gt(t))throw mo(Qt.INVALID_ARGUMENT);const i=t;return fe(o)?r.key=o:Le(o)&&Object.keys(o).forEach(l=>{Eu.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Cu(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Qb();/*! + */function ty(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Co().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ho(e){return He(e)&&Es(e)===0&&(Xt(e,"b")||Xt(e,"body"))}const Wc=["b","body"];function oy(e){return jo(e,Wc)}const Yc=["c","cases"];function ny(e){return jo(e,Yc,[])}const qc=["s","static"];function ay(e){return jo(e,qc)}const Jc=["i","items"];function ry(e){return jo(e,Jc,[])}const Xc=["t","type"];function Es(e){return jo(e,Xc)}const Zc=["v","value"];function gr(e,t){const o=jo(e,Zc);if(o!=null)return o;throw sa(t)}const Qc=["m","modifier"];function sy(e){return jo(e,Qc)}const eu=["k","key"];function iy(e){const t=jo(e,eu);if(t)return t;throw sa(6)}function jo(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},g[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},g[2]=()=>{g[0](),a++},g[3]=()=>{if(a>0)a--,n=4,g[0]();else{if(a=0,s===void 0||(s=py(s),s===!1))return!1;g[1]()}};function w(){const b=e[o+1];if(n===5&&b==="'"||n===6&&b==='"')return o++,i="\\"+b,g[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&w())){if(l=dy(r),p=Uo[n],u=p[l]||p.l||8,u===8||(n=u[0],u[1]!==void 0&&(c=g[u[1]],c&&(i=r,c()===!1))))return;if(n===7)return t}}const ou=new Map;function fy(e,t){return He(e)?e[t]:null}function hy(e,t){if(!He(e))return null;let o=ou.get(t);if(o||(o=gy(t),o&&ou.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,by=e=>"",yy="text",_y=e=>e.length===0?"":Ab(e),vy=xb;function nu(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ky(e){const t=gt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(gt(e.named.count)||gt(e.named.n))?gt(e.named.count)?e.named.count:gt(e.named.n)?e.named.n:t:t}function wy(e,t){t.count||(t.count=e),t.n||(t.n=e)}function xy(e={}){const t=e.locale,o=ky(e),n=He(e.pluralRules)&&fe(t)&&nt(e.pluralRules[t])?e.pluralRules[t]:nu,a=He(e.pluralRules)&&fe(t)&&nt(e.pluralRules[t])?nu:void 0,r=h=>h[n(o,h.length,a)],s=e.list||[],i=h=>s[h],l=e.named||Qe();gt(e.pluralIndex)&&wy(o,l);const u=h=>l[h];function c(h){const f=nt(e.messages)?e.messages(h):He(e.messages)?e.messages[h]:!1;return f||(e.parent?e.parent.message(h):by)}const p=h=>e.modifiers?e.modifiers[h]:my,g=Le(e.processor)&&nt(e.processor.normalize)?e.processor.normalize:_y,w=Le(e.processor)&&nt(e.processor.interpolate)?e.processor.interpolate:vy,b=Le(e.processor)&&fe(e.processor.type)?e.processor.type:yy,d={list:i,named:u,plural:r,linked:(h,...f)=>{const[m,k]=f;let x="text",A="";f.length===1?He(m)?(A=m.modifier||A,x=m.type||x):fe(m)&&(A=m||A):f.length===2&&(fe(m)&&(A=m||A),fe(k)&&(x=k||x));const S=c(h)(d),L=x==="vnode"&&it(S)&&A?S[0]:S;return A?p(A)(L,x):L},message:c,type:b,interpolate:w,normalize:g,values:Lt(Qe(),s,l)};return d}let ia=null;function Ay(e){ia=e}function Sy(e,t,o){ia&&ia.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const $y=Ey("function:translate");function Ey(e){return t=>ia&&ia.emit(e,t)}const Cy=Ss.__EXTEND_POINT__,nn=cr(Cy),Ly={FALLBACK_TO_TRANSLATE:nn(),CANNOT_FORMAT_NUMBER:nn(),FALLBACK_TO_NUMBER_FORMAT:nn(),CANNOT_FORMAT_DATE:nn(),FALLBACK_TO_DATE_FORMAT:nn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:nn(),__EXTEND_POINT__:nn()},au=Se.__EXTEND_POINT__,an=cr(au),Qt={INVALID_ARGUMENT:au,INVALID_DATE_ARGUMENT:an(),INVALID_ISO_DATE_ARGUMENT:an(),NOT_SUPPORT_NON_STRING_MESSAGE:an(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:an(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:an(),NOT_SUPPORT_LOCALE_TYPE:an(),__EXTEND_POINT__:an()};function mo(e){return An(e,null,void 0)}function Cs(e,t){return t.locale!=null?ru(t.locale):ru(e.locale)}let Ls;function ru(e){if(fe(e))return e;if(nt(e)){if(e.resolvedOnce&&Ls!=null)return Ls;if(e.constructor.name==="Function"){const t=e();if(wb(t))throw mo(Qt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ls=t}else throw mo(Qt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw mo(Qt.NOT_SUPPORT_LOCALE_TYPE)}function Ty(e,t,o){return[...new Set([o,...it(t)?t:He(t)?Object.keys(t):fe(t)?[t]:[o]])]}function su(e,t,o){const n=fe(o)?o:En,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;it(s);)s=iu(r,s,t);const i=it(t)||!Le(t)?t:t.default?t.default:null;s=fe(i)?[i]:i,it(s)&&iu(r,s,!1),a.__localeChainCache.set(n,r)}return r}function iu(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Ry(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?cu(e):t==="vnode"&&He(e)&&"__v_isVNode"in e?cu(e.children):e}}let uu;function du(e){uu=e}let pu;function Iy(e){pu=e}let gu;function Oy(e){gu=e}let fu=null;const Fy=e=>{fu=e},Dy=()=>fu;let hu=null;const mu=e=>{hu=e},By=()=>hu;let bu=0;function Gy(e={}){const t=nt(e.onWarn)?e.onWarn:hb,o=fe(e.version)?e.version:Ny,n=fe(e.locale)||nt(e.locale)?e.locale:En,a=nt(n)?En:n,r=it(e.fallbackLocale)||Le(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Le(e.messages)?e.messages:Ts(a),i=Le(e.datetimeFormats)?e.datetimeFormats:Ts(a),l=Le(e.numberFormats)?e.numberFormats:Ts(a),u=Lt(Qe(),e.modifiers,Ry()),c=e.pluralRules||Qe(),p=nt(e.missing)?e.missing:null,g=De(e.missingWarn)||Bo(e.missingWarn)?e.missingWarn:!0,w=De(e.fallbackWarn)||Bo(e.fallbackWarn)?e.fallbackWarn:!0,b=!!e.fallbackFormat,y=!!e.unresolving,d=nt(e.postTranslation)?e.postTranslation:null,h=Le(e.processor)?e.processor:null,f=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,m=!!e.escapeParameter,k=nt(e.messageCompiler)?e.messageCompiler:uu,x=nt(e.messageResolver)?e.messageResolver:pu||fy,A=nt(e.localeFallbacker)?e.localeFallbacker:gu||Ty,S=He(e.fallbackContext)?e.fallbackContext:void 0,L=e,P=He(L.__datetimeFormatters)?L.__datetimeFormatters:new Map,z=He(L.__numberFormatters)?L.__numberFormatters:new Map,W=He(L.__meta)?L.__meta:{};bu++;const re={version:o,cid:bu,locale:n,fallbackLocale:r,messages:s,modifiers:u,pluralRules:c,missing:p,missingWarn:g,fallbackWarn:w,fallbackFormat:b,unresolving:y,postTranslation:d,processor:h,warnHtmlMessage:f,escapeParameter:m,messageCompiler:k,messageResolver:x,localeFallbacker:A,fallbackContext:S,onWarn:t,__meta:W};return re.datetimeFormats=i,re.numberFormats=l,re.__datetimeFormatters=P,re.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&Sy(re,o,W),re}const Ts=e=>({[e]:Qe()});function Ps(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return fe(i)?i:t}else return t}function la(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function jy(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Uy(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nKy(o,e)}function Ky(e,t){const o=oy(t);if(o==null)throw sa(0);if(Es(o)===1){const r=ny(o);return e.plural(r.reduce((s,i)=>[...s,yu(e,i)],[]))}else return yu(e,o)}function yu(e,t){const o=ay(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=ry(t).reduce((a,r)=>[...a,Ns(e,r)],[]);return e.normalize(n)}}function Ns(e,t){const o=Es(t);switch(o){case 3:return gr(t,o);case 9:return gr(t,o);case 4:{const n=t;if(Xt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Xt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw sa(o)}case 5:{const n=t;if(Xt(n,"i")&>(n.i))return e.interpolate(e.list(n.i));if(Xt(n,"index")&>(n.index))return e.interpolate(e.list(n.index));throw sa(o)}case 6:{const n=t,a=sy(n),r=iy(n);return e.linked(Ns(e,r),a?Ns(e,a):void 0,e.type)}case 7:return gr(t,o);case 8:return gr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const _u=e=>e;let Cn=Qe();function vu(e,t={}){let o=!1;const n=t.onError||Pb;return t.onError=a=>{o=!0,n(a)},{...ey(e,t),detectError:o}}const zy=(e,t)=>{if(!fe(e))throw mo(Qt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||_u)(e),a=Cn[n];if(a)return a;const{code:r,detectError:s}=vu(e,t),i=new Function(`return ${r}`)();return s?i:Cn[n]=i}};function Hy(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||_u)(e),a=Cn[n];if(a)return a;const{ast:r,detectError:s}=vu(e,{...t,location:!1,jit:!0}),i=Ms(r);return s?i:Cn[n]=i}else{const o=e.cacheKey;if(o){const n=Cn[o];return n||(Cn[o]=Ms(e))}else return Ms(e)}}const ku=()=>"",Wt=e=>nt(e);function wu(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,u]=Rs(...t),c=De(u.missingWarn)?u.missingWarn:e.missingWarn,p=De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,g=De(u.escapeParameter)?u.escapeParameter:e.escapeParameter,w=!!u.resolvedMessage,b=fe(u.default)||De(u.default)?De(u.default)?r?l:()=>l:u.default:o?r?l:()=>l:"",y=o||b!=="",d=Cs(e,u);g&&Vy(u);let[h,f,m]=w?[l,d,i[d]||Qe()]:xu(e,l,d,s,p,c),k=h,x=l;if(!w&&!(fe(k)||ho(k)||Wt(k))&&y&&(k=b,x=k),!w&&(!(fe(k)||ho(k)||Wt(k))||!fe(f)))return a?fr:l;let A=!1;const S=()=>{A=!0},L=Wt(k)?k:Au(e,l,f,k,x,S);if(A)return k;const P=qy(e,f,m,u),z=xy(P),W=Wy(e,L,z);let re=n?n(W,l):W;if(g&&fe(re)&&(re=vb(re)),__INTLIFY_PROD_DEVTOOLS__){const M={timestamp:Date.now(),key:fe(l)?l:Wt(k)?k.key:"",locale:f||(Wt(k)?k.locale:""),format:fe(k)?k:Wt(k)?k.source:"",message:re};M.meta=Lt({},e.__meta,Dy()||{}),$y(M)}return re}function Vy(e){it(e.list)?e.list=e.list.map(t=>fe(t)?Oc(t):t):He(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=Oc(e.named[t]))})}function xu(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,o);let p=Qe(),g,w=null;const b="translate";for(let y=0;yn;return u.locale=o,u.key=t,u}const l=s(n,Yy(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Wy(e,t,o){return t(o)}function Rs(...e){const[t,o,n]=e,a=Qe();if(!fe(t)&&!gt(t)&&!Wt(t)&&!ho(t))throw mo(Qt.INVALID_ARGUMENT);const r=gt(t)?String(t):(Wt(t),t);return gt(o)?a.plural=o:fe(o)?a.default=o:Le(o)&&!lr(o)?a.named=o:it(o)&&(a.list=o),gt(n)?a.plural=n:fe(n)?a.default=n:Le(n)&&Lt(a,n),[r,a]}function Yy(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>mb(t,o,s)}}function qy(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,g={locale:t,modifiers:a,pluralRules:r,messages:w=>{let b=s(o,w);if(b==null&&c){const[,,y]=xu(c,w,t,i,l,u);b=s(y,w)}if(fe(b)||ho(b)){let y=!1;const h=Au(e,w,t,b,w,()=>{y=!0});return y?ku:h}else return Wt(b)?b:ku}};return e.processor&&(g.processor=e.processor),n.list&&(g.list=n.list),n.named&&(g.named=n.named),gt(n.plural)&&(g.pluralIndex=n.plural),g}function Su(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,u,c,p]=Is(...t),g=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const w=!!c.part,b=Cs(e,c),y=s(e,a,b);if(!fe(l)||l==="")return new Intl.DateTimeFormat(b,p).format(u);let d={},h,f=null;const m="datetime format";for(let A=0;A{$u.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Eu(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Cu(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,u,c,p]=Os(...t),g=De(c.missingWarn)?c.missingWarn:e.missingWarn;De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn;const w=!!c.part,b=Cs(e,c),y=s(e,a,b);if(!fe(l)||l==="")return new Intl.NumberFormat(b,p).format(u);let d={},h,f=null;const m="number format";for(let A=0;A{Lu.includes(l)?s[l]=o[l]:r[l]=o[l]}),fe(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Tu(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}ty();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Yy="9.14.5";function qy(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Co().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Co().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Co().__INTLIFY_PROD_DEVTOOLS__=!1)}const Jy=Ey.__EXTEND_POINT__,To=lr(Jy);To(),To(),To(),To(),To(),To(),To(),To(),To();const Lu=Qt.__EXTEND_POINT__,Dt=lr(Lu),bt={UNEXPECTED_RETURN_TYPE:Lu,INVALID_ARGUMENT:Dt(),MUST_BE_CALL_SETUP_TOP:Dt(),NOT_INSTALLED:Dt(),NOT_AVAILABLE_IN_LEGACY_MODE:Dt(),REQUIRED_VALUE:Dt(),INVALID_VALUE:Dt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Dt(),NOT_INSTALLED_WITH_PROVIDE:Dt(),UNEXPECTED_ERROR:Dt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Dt(),BRIDGE_SUPPORT_VUE_2_ONLY:Dt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Dt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Dt(),__EXTEND_POINT__:Dt()};function kt(e,...t){return An(e,null,void 0)}const Is=Do("__translateVNode"),Os=Do("__datetimeParts"),Fs=Do("__numberParts"),Tu=Do("__setPluralRules"),Pu=Do("__injectWithOption"),Ds=Do("__dispose");function ca(e){if(!He(e)||ho(e))return e;for(const t in e)if(Xt(e,t))if(!t.includes("."))He(e[t])&&ca(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:u}=i;l?(s[l]=s[l]||Qe(),ur(u,s[l])):ur(u,s)}else fe(i)&&ur(JSON.parse(i),s)}),a==null&&r)for(const i in s)Xt(s,i)&&ca(s[i]);return s}function Mu(e){return e.type}function Nu(e,t,o){let n=He(t.messages)?t.messages:Qe();"__i18nGlobal"in o&&(n=fr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(He(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(He(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Ru(e){return We(Zn,null,e,0)}const Iu="__INTLIFY_META__",Ou=()=>[],Xy=()=>!1;let Fu=0;function Du(e){return(t,o,n,a)=>e(o,n,$o()||void 0,a)}const Zy=()=>{const e=$o();let t=null;return e&&(t=Mu(e)[Iu])?{[Iu]:t}:null};function Bs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=sr?de:fn,i=!!e.translateExistCompatible;let l=De(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:fe(e.locale)?e.locale:En),c=s(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||it(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),p=s(fr(u.value,e)),g=s(Le(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),k=s(Le(e.numberFormats)?e.numberFormats:{[u.value]:{}});let w=o?o.missingWarn:De(e.missingWarn)||Bo(e.missingWarn)?e.missingWarn:!0,_=o?o.fallbackWarn:De(e.fallbackWarn)||Bo(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,h=!!e.fallbackFormat,f=nt(e.missing)?e.missing:null,m=nt(e.missing)?Du(e.missing):null,v=nt(e.postTranslation)?e.postTranslation:null,x=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const S=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let T=e.pluralRules||o&&o.pluralRules,I;I=(()=>{a&&fu(null);const G={version:Yy,locale:u.value,fallbackLocale:c.value,messages:p.value,modifiers:S,pluralRules:T,missing:m===null?void 0:m,missingWarn:w,fallbackWarn:_,fallbackFormat:h,unresolving:!0,postTranslation:v===null?void 0:v,warnHtmlMessage:x,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};G.datetimeFormats=g.value,G.numberFormats=k.value,G.__datetimeFormatters=Le(I)?I.__datetimeFormatters:void 0,G.__numberFormatters=Le(I)?I.__numberFormatters:void 0;const Y=Dy(G);return a&&fu(Y),Y})(),la(I,u.value,c.value);function W(){return[u.value,c.value,p.value,g.value,k.value]}const re=te({get:()=>u.value,set:G=>{u.value=G,I.locale=u.value}}),P=te({get:()=>c.value,set:G=>{c.value=G,I.fallbackLocale=c.value,la(I,u.value,G)}}),$=te(()=>p.value),M=te(()=>g.value),C=te(()=>k.value);function N(){return nt(v)?v:null}function ne(G){v=G,I.postTranslation=G}function ge(){return f}function L(G){G!==null&&(m=Du(G)),f=G,I.missing=m}const ae=(G,Y,me,Ae,Ge,D)=>{W();let U;try{__INTLIFY_PROD_DEVTOOLS__,a||(I.fallbackContext=o?Fy():void 0),U=G(I)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(I.fallbackContext=void 0)}if(me!=="translate exists"&>(U)&&U===gr||me==="translate exists"&&!U){const[he,ve]=Y();return o&&d?Ae(o):Ge(he)}else{if(D(U))return U;throw kt(bt.UNEXPECTED_RETURN_TYPE)}};function ie(...G){return ae(Y=>Reflect.apply(vu,null,[Y,...G]),()=>Ms(...G),"translate",Y=>Reflect.apply(Y.t,Y,[...G]),Y=>Y,Y=>fe(Y))}function le(...G){const[Y,me,Ae]=G;if(Ae&&!He(Ae))throw kt(bt.INVALID_ARGUMENT);return ie(Y,me,Lt({resolvedMessage:!0},Ae||{}))}function we(...G){return ae(Y=>Reflect.apply(xu,null,[Y,...G]),()=>Ns(...G),"datetime format",Y=>Reflect.apply(Y.d,Y,[...G]),()=>su,Y=>fe(Y))}function Me(...G){return ae(Y=>Reflect.apply($u,null,[Y,...G]),()=>Rs(...G),"number format",Y=>Reflect.apply(Y.n,Y,[...G]),()=>su,Y=>fe(Y))}function Re(G){return G.map(Y=>fe(Y)||gt(Y)||De(Y)?Ru(String(Y)):Y)}const Ie={normalize:Re,interpolate:G=>G,type:"vnode"};function Je(...G){return ae(Y=>{let me;const Ae=Y;try{Ae.processor=Ie,me=Reflect.apply(vu,null,[Ae,...G])}finally{Ae.processor=null}return me},()=>Ms(...G),"translate",Y=>Y[Is](...G),Y=>[Ru(Y)],Y=>it(Y))}function Xe(...G){return ae(Y=>Reflect.apply($u,null,[Y,...G]),()=>Rs(...G),"number format",Y=>Y[Fs](...G),Ou,Y=>fe(Y)||it(Y))}function ft(...G){return ae(Y=>Reflect.apply(xu,null,[Y,...G]),()=>Ns(...G),"datetime format",Y=>Y[Os](...G),Ou,Y=>fe(Y)||it(Y))}function E(G){T=G,I.pluralRules=T}function F(G,Y){return ae(()=>{if(!G)return!1;const me=fe(Y)?Y:u.value,Ae=X(me),Ge=I.messageResolver(Ae,G);return i?Ge!=null:ho(Ge)||Wt(Ge)||fe(Ge)},()=>[G],"translate exists",me=>Reflect.apply(me.te,me,[G,Y]),Xy,me=>De(me))}function O(G){let Y=null;const me=au(I,c.value,u.value);for(let Ae=0;Ae{l&&(u.value=G,I.locale=G,la(I,u.value,c.value))}),ct(o.fallbackLocale,G=>{l&&(c.value=G,I.fallbackLocale=G,la(I,u.value,c.value))}));const se={id:Fu,locale:re,fallbackLocale:P,get inheritLocale(){return l},set inheritLocale(G){l=G,G&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,la(I,u.value,c.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:$,get modifiers(){return S},get pluralRules(){return T||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(G){w=G,I.missingWarn=w},get fallbackWarn(){return _},set fallbackWarn(G){_=G,I.fallbackWarn=_},get fallbackRoot(){return d},set fallbackRoot(G){d=G},get fallbackFormat(){return h},set fallbackFormat(G){h=G,I.fallbackFormat=h},get warnHtmlMessage(){return x},set warnHtmlMessage(G){x=G,I.warnHtmlMessage=G},get escapeParameter(){return A},set escapeParameter(G){A=G,I.escapeParameter=G},t:ie,getLocaleMessage:X,setLocaleMessage:J,mergeLocaleMessage:Z,getPostTranslationHandler:N,setPostTranslationHandler:ne,getMissingHandler:ge,setMissingHandler:L,[Tu]:E};return se.datetimeFormats=M,se.numberFormats=C,se.rt=le,se.te=F,se.tm=K,se.d=we,se.n=Me,se.getDateTimeFormat=Q,se.setDateTimeFormat=b,se.mergeDateTimeFormat=y,se.getNumberFormat=B,se.setNumberFormat=V,se.mergeNumberFormat=ue,se[Pu]=n,se[Is]=Je,se[Os]=ft,se[Fs]=Xe,se}function Qy(e){const t=fe(e.locale)?e.locale:En,o=fe(e.fallbackLocale)||it(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=nt(e.missing)?e.missing:void 0,a=De(e.silentTranslationWarn)||Bo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=De(e.silentFallbackWarn)||Bo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=De(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=nt(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,k=De(e.sync)?e.sync:!0;let w=e.messages;if(Le(e.sharedMessages)){const A=e.sharedMessages;w=Object.keys(A).reduce((T,I)=>{const H=T[I]||(T[I]={});return Lt(H,A[I]),T},w||{})}const{__i18n:_,__root:d,__injectWithOption:h}=e,f=e.datetimeFormats,m=e.numberFormats,v=e.flatJson,x=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:v,datetimeFormats:f,numberFormats:m,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:x,__i18n:_,__root:d,__injectWithOption:h}}function Gs(e={},t){{const o=Bs(Qy(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=De(r)?!r:r},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=De(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,p=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const g=s;return fe(i)?u.locale=i:it(i)?c=i:Le(i)&&(p=i),it(l)?c=l:Le(l)&&(p=l),Reflect.apply(o.t,o,[g,c||p||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,p=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const g=s;return fe(i)?u.locale=i:gt(i)?u.plural=i:it(i)?c=i:Le(i)&&(p=i),fe(l)?u.locale=l:it(l)?c=l:Le(l)&&(p=l),Reflect.apply(o.t,o,[g,c||p||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const js={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function e0({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Pe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Qe())}function Bu(e){return Pe}const Gu=Yn({name:"i18n-t",props:Lt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>gt(e)||!isNaN(e)}},js),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||yt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Qe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=fe(e.plural)?+e.plural:e.plural);const i=e0(t,r),l=a[Is](e.keypath,i,s),u=Lt(Qe(),n),c=fe(e.tag)||He(e.tag)?e.tag:Bu();return ic(c,u,l)}}});function t0(e){return it(e)&&!fe(e[0])}function ju(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Qe();e.locale&&(s.locale=e.locale),fe(e.format)?s.key=e.format:He(e.format)&&(fe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,k)=>o.includes(k)?Lt(Qe(),g,{[k]:e.format[k]}):g,Qe()));const l=n(e.value,s,i);let u=[s.key];it(l)?u=l.map((g,k)=>{const w=a[g.type],_=w?w({[g.type]:g.value,index:k,parts:l}):[g.value];return t0(_)&&(_[0].key=`${g.type}-${k}`),_}):fe(l)&&(u=[l]);const c=Lt(Qe(),r),p=fe(e.tag)||He(e.tag)?e.tag:Bu();return ic(p,c,u)}}const Uu=Yn({name:"i18n-n",props:Lt({value:{type:Number,required:!0},format:{type:[String,Object]}},js),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return ju(e,t,Eu,(...n)=>o[Fs](...n))}}),Ku=Yn({name:"i18n-d",props:Lt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},js),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return ju(e,t,Au,(...n)=>o[Os](...n))}});function o0(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function n0(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw kt(bt.UNEXPECTED_ERROR);const c=o0(e,i.$),p=zu(u);return[Reflect.apply(c.t,c,[...Hu(p)]),c]};return{created:(s,i)=>{const[l,u]=t(i);sr&&e.global===u&&(s.__i18nWatcher=ct(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{sr&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=zu(i);s.textContent=Reflect.apply(l.t,l,[...Hu(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function zu(e){if(fe(e))return{path:e};if(Le(e)){if(!("path"in e))throw kt(bt.REQUIRED_VALUE,"path");return e}else throw kt(bt.INVALID_VALUE)}function Hu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return fe(o)&&(s.locale=o),gt(a)&&(s.plural=a),gt(r)&&(s.plural=r),[t,i,s]}function a0(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Gu.name,"I18nT"].forEach(s=>e.component(s,Gu)),[Uu.name,"I18nN"].forEach(s=>e.component(s,Uu)),[Ku.name,"I18nD"].forEach(s=>e.component(s,Ku))),e.directive("t",n0(t))}function r0(e,t,o){return{beforeCreate(){const n=$o();if(!n)throw kt(bt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Vu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Gs(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Vu(e,a);else{this.$i18n=Gs({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Nu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=$o();if(!n)throw kt(bt.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),o.__deleteInstance(n),delete this.$i18n}}}function Vu(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[Tu](t.pluralizationRules||e.pluralizationRules);const o=fr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const s0=Do("global-vue-i18n");function i0(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=l0(e,o),l=Do("");function u(g){return r.get(g)||null}function c(g,k){r.set(g,k)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(k,...w){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,g),Le(w[0])){const h=w[0];g.__composerExtend=h.__composerExtend,g.__vueI18nExtend=h.__vueI18nExtend}let _=null;!o&&n&&(_=b0(k,g.global)),__VUE_I18N_FULL_INSTALL__&&a0(k,g,...w),__VUE_I18N_LEGACY_API__&&o&&k.mixin(r0(i,i.__composer,g));const d=k.unmount;k.unmount=()=>{_&&_(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:p};return g}}function yt(e={}){const t=$o();if(t==null)throw kt(bt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw kt(bt.NOT_INSTALLED);const o=c0(t),n=d0(o),a=Mu(t),r=u0(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw kt(bt.NOT_AVAILABLE_IN_LEGACY_MODE);return h0(t,r,n,e)}if(r==="global")return Nu(n,e,a),n;if(r==="parent"){let l=p0(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Lt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Bs(l),s.__composerExtend&&(i[Ds]=s.__composerExtend(i)),f0(s,t,i),s.__setInstance(t,i)}return i}function l0(e,t,o){const n=Ir();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Gs(e)):n.run(()=>Bs(e));if(a==null)throw kt(bt.UNEXPECTED_ERROR);return[n,a]}}function c0(e){{const t=Fe(e.isCE?s0:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw kt(e.isCE?bt.NOT_INSTALLED_WITH_PROVIDE:bt.UNEXPECTED_ERROR);return t}}function u0(e,t){return ir(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function d0(e){return e.mode==="composition"?e.global:e.global.__composer}function p0(e,t,o=!1){let n=null;const a=t.root;let r=g0(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Pu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function g0(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function f0(e,t,o){co(()=>{},t),Va(()=>{const n=o;e.__deleteInstance(t);const a=n[Ds];a&&(a(),delete n[Ds])},t)}function h0(e,t,o,n={}){const a=t==="local",r=fn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw kt(bt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=De(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!a||s?o.locale.value:fe(n.locale)?n.locale:En),l=de(!a||s?o.fallbackLocale.value:fe(n.fallbackLocale)||it(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=de(fr(i.value,n)),c=de(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:De(n.missingWarn)||Bo(n.missingWarn)?n.missingWarn:!0,k=a?o.fallbackWarn:De(n.fallbackWarn)||Bo(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,_=!!n.fallbackFormat,d=nt(n.missing)?n.missing:null,h=nt(n.postTranslation)?n.postTranslation:null,f=a?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,v=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},x=n.pluralRules||a&&o.pluralRules;function A(){return[i.value,l.value,u.value,c.value,p.value]}const S=te({get:()=>r.value?r.value.locale.value:i.value,set:O=>{r.value&&(r.value.locale.value=O),i.value=O}}),T=te({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:O=>{r.value&&(r.value.fallbackLocale.value=O),l.value=O}}),I=te(()=>r.value?r.value.messages.value:u.value),H=te(()=>c.value),W=te(()=>p.value);function re(){return r.value?r.value.getPostTranslationHandler():h}function P(O){r.value&&r.value.setPostTranslationHandler(O)}function $(){return r.value?r.value.getMissingHandler():d}function M(O){r.value&&r.value.setMissingHandler(O)}function C(O){return A(),O()}function N(...O){return r.value?C(()=>Reflect.apply(r.value.t,null,[...O])):C(()=>"")}function ne(...O){return r.value?Reflect.apply(r.value.rt,null,[...O]):""}function ge(...O){return r.value?C(()=>Reflect.apply(r.value.d,null,[...O])):C(()=>"")}function L(...O){return r.value?C(()=>Reflect.apply(r.value.n,null,[...O])):C(()=>"")}function ae(O){return r.value?r.value.tm(O):{}}function ie(O,K){return r.value?r.value.te(O,K):!1}function le(O){return r.value?r.value.getLocaleMessage(O):{}}function we(O,K){r.value&&(r.value.setLocaleMessage(O,K),u.value[O]=K)}function Me(O,K){r.value&&r.value.mergeLocaleMessage(O,K)}function Re(O){return r.value?r.value.getDateTimeFormat(O):{}}function Oe(O,K){r.value&&(r.value.setDateTimeFormat(O,K),c.value[O]=K)}function Ie(O,K){r.value&&r.value.mergeDateTimeFormat(O,K)}function Je(O){return r.value?r.value.getNumberFormat(O):{}}function Xe(O,K){r.value&&(r.value.setNumberFormat(O,K),p.value[O]=K)}function ft(O,K){r.value&&r.value.mergeNumberFormat(O,K)}const E={get id(){return r.value?r.value.id:-1},locale:S,fallbackLocale:T,messages:I,datetimeFormats:H,numberFormats:W,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(O){r.value&&(r.value.inheritLocale=O)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:v},get pluralRules(){return r.value?r.value.pluralRules:x},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(O){r.value&&(r.value.missingWarn=O)},get fallbackWarn(){return r.value?r.value.fallbackWarn:k},set fallbackWarn(O){r.value&&(r.value.missingWarn=O)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(O){r.value&&(r.value.fallbackRoot=O)},get fallbackFormat(){return r.value?r.value.fallbackFormat:_},set fallbackFormat(O){r.value&&(r.value.fallbackFormat=O)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:f},set warnHtmlMessage(O){r.value&&(r.value.warnHtmlMessage=O)},get escapeParameter(){return r.value?r.value.escapeParameter:m},set escapeParameter(O){r.value&&(r.value.escapeParameter=O)},t:N,getPostTranslationHandler:re,setPostTranslationHandler:P,getMissingHandler:$,setMissingHandler:M,rt:ne,d:ge,n:L,tm:ae,te:ie,getLocaleMessage:le,setLocaleMessage:we,mergeLocaleMessage:Me,getDateTimeFormat:Re,setDateTimeFormat:Oe,mergeDateTimeFormat:Ie,getNumberFormat:Je,setNumberFormat:Xe,mergeNumberFormat:ft};function F(O){O.locale.value=i.value,O.fallbackLocale.value=l.value,Object.keys(u.value).forEach(K=>{O.mergeLocaleMessage(K,u.value[K])}),Object.keys(c.value).forEach(K=>{O.mergeDateTimeFormat(K,c.value[K])}),Object.keys(p.value).forEach(K=>{O.mergeNumberFormat(K,p.value[K])}),O.escapeParameter=m,O.fallbackFormat=_,O.fallbackRoot=w,O.fallbackWarn=k,O.missingWarn=g,O.warnHtmlMessage=f}return Al(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw kt(bt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const O=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=O.locale.value,l.value=O.fallbackLocale.value,u.value=O.messages.value,c.value=O.datetimeFormats.value,p.value=O.numberFormats.value):a&&F(O)}),E}const m0=["locale","fallbackLocale","availableLocales"],Wu=["t","rt","d","n","tm","te"];function b0(e,t){const o=Object.create(null);return m0.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw kt(bt.UNEXPECTED_ERROR);const s=st(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Wu.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw kt(bt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Wu.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(qy(),__INTLIFY_JIT_COMPILATION__?cu(Ky):cu(Uy),Ny(gy),Ry(au),__INTLIFY_PROD_DEVTOOLS__){const e=Co();e.__INTLIFY__=!0,wy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const y0=Object.assign({"./locales/ar/aria.json":mh,"./locales/ar/buttons.json":bh,"./locales/ar/detail.json":yh,"./locales/ar/legend.json":_h,"./locales/ar/messages.json":vh,"./locales/ar/options.json":kh,"./locales/ar/prayerLaps.json":wh,"./locales/ar/regions.json":xh,"./locales/ar/search.json":Ah,"./locales/ar/tabs.json":Sh,"./locales/de/aria.json":$h,"./locales/de/buttons.json":Eh,"./locales/de/detail.json":Ch,"./locales/de/legend.json":Lh,"./locales/de/messages.json":Th,"./locales/de/options.json":Ph,"./locales/de/prayerLaps.json":Mh,"./locales/de/regions.json":Nh,"./locales/de/search.json":Rh,"./locales/de/tabs.json":Ih,"./locales/en/aria.json":Oh,"./locales/en/buttons.json":Fh,"./locales/en/detail.json":Dh,"./locales/en/legend.json":Bh,"./locales/en/messages.json":Gh,"./locales/en/options.json":jh,"./locales/en/popup.json":Uh,"./locales/en/prayerLaps.json":Kh,"./locales/en/regions.json":zh,"./locales/en/search.json":Hh,"./locales/en/tabs.json":Vh,"./locales/es/aria.json":Wh,"./locales/es/buttons.json":Yh,"./locales/es/detail.json":qh,"./locales/es/legend.json":Jh,"./locales/es/messages.json":Xh,"./locales/es/options.json":Zh,"./locales/es/prayerLaps.json":Qh,"./locales/es/regions.json":em,"./locales/es/search.json":tm,"./locales/es/tabs.json":om,"./locales/fr/aria.json":nm,"./locales/fr/buttons.json":am,"./locales/fr/detail.json":rm,"./locales/fr/legend.json":sm,"./locales/fr/messages.json":im,"./locales/fr/options.json":lm,"./locales/fr/popup.json":cm,"./locales/fr/prayerLaps.json":um,"./locales/fr/regions.json":dm,"./locales/fr/search.json":pm,"./locales/fr/tabs.json":gm,"./locales/hi/aria.json":fm,"./locales/hi/buttons.json":hm,"./locales/hi/detail.json":mm,"./locales/hi/legend.json":bm,"./locales/hi/messages.json":ym,"./locales/hi/options.json":_m,"./locales/hi/prayerLaps.json":vm,"./locales/hi/regions.json":km,"./locales/hi/search.json":wm,"./locales/it/aria.json":xm,"./locales/it/buttons.json":Am,"./locales/it/detail.json":Sm,"./locales/it/legend.json":$m,"./locales/it/messages.json":Em,"./locales/it/options.json":Cm,"./locales/it/prayerLaps.json":Lm,"./locales/it/search.json":Tm,"./locales/pt/aria.json":Pm,"./locales/pt/buttons.json":Mm,"./locales/pt/detail.json":Nm,"./locales/pt/legend.json":Rm,"./locales/pt/messages.json":Im,"./locales/pt/options.json":Om,"./locales/pt/prayerLaps.json":Fm,"./locales/pt/regions.json":Dm,"./locales/pt/search.json":Bm,"./locales/pt/tabs.json":Gm,"./locales/ro/aria.json":jm,"./locales/ro/buttons.json":Um,"./locales/ro/detail.json":Km,"./locales/ro/legend.json":zm,"./locales/ro/messages.json":Hm,"./locales/ro/options.json":Vm,"./locales/ro/prayerLaps.json":Wm,"./locales/ro/search.json":Ym,"./locales/ru/aria.json":qm,"./locales/ru/buttons.json":Jm,"./locales/ru/detail.json":Xm,"./locales/ru/legend.json":Zm,"./locales/ru/messages.json":Qm,"./locales/ru/options.json":eb,"./locales/ru/prayerLaps.json":tb,"./locales/ru/regions.json":ob,"./locales/ru/search.json":nb,"./locales/ru/tabs.json":ab,"./locales/zh/aria.json":rb,"./locales/zh/buttons.json":sb,"./locales/zh/detail.json":ib,"./locales/zh/legend.json":lb,"./locales/zh/messages.json":cb,"./locales/zh/options.json":ub,"./locales/zh/prayerLaps.json":db,"./locales/zh/search.json":pb}),ua={};for(const[e,t]of Object.entries(y0)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;ua[n]??(ua[n]={}),ua[n][a]=t}const Yu=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function _0(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Yu.includes(t)?t:"en"}function v0(){return i0({legacy:!1,globalInjection:!0,locale:_0(),fallbackLocale:"en",messages:ua,missingWarn:!1,fallbackWarn:!1})}function wt(e,t){const o=t||k0(e);co(()=>{var i;const n=$o();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function k0(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=te(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=de(!1),s=de(null);let i=null,l=null,u=null,c=null,p=null;function g(){r.value=!1}function k(d,h){var m;let f=d==null?void 0:d.parentElement;for(let v=0;f&&v<12;v++,f=f.parentElement){if(f===h||(m=f.classList)!=null&&m.contains("profile-loader"))return null;let x="";try{x=getComputedStyle(f).position}catch{}if(x&&x!=="static"){const A=f.getBoundingClientRect();if(A.height>=120&&A.width>=160)return f}}return null}function w(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const h=d.getBoundingClientRect();if(!h.height)return;const f=Math.round(h.bottom-window.innerHeight);f>0&&d.style.setProperty("--pin-hint-lift",f+8+"px")}catch{}}function _(d){const h=s.value;if(!h||!(d!=null&&d.querySelector))return;let f=0;try{const v=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(v){const x=v.getBoundingClientRect(),A=h.parentElement,S=A?A.getBoundingClientRect():null;if(f=S?Math.max(x.height||0,S.bottom-x.top):x.height||0,p!==v&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}p=v,u=new ResizeObserver(()=>_(d)),u.observe(v)}}}catch{}const m=Math.min(Math.max(Math.ceil(f)||20,20),72);h.style.setProperty("--pin-hint-attrib-clear",m+"px"),w()}return co(()=>{var m,v,x;const d=$o(),h=(x=(v=(m=d==null?void 0:d.proxy)==null?void 0:m.$el)==null?void 0:v.getRootNode)==null?void 0:x.call(v);if(!h||typeof h.querySelector!="function")return;let f=0;i=setInterval(()=>{f++;const A=h.querySelector("canvas");A?(clearInterval(i),i=null,r.value=!0,lo(()=>{const S=k(A,h),T=s.value;if(S&&T&&T.parentElement!==S)try{S.appendChild(T),l=S}catch{}_(h),w();try{const I=s.value&&s.value.offsetParent||null;if(I&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}c=new ResizeObserver(()=>w()),c.observe(I)}}catch{}})):f>40&&(clearInterval(i),i=null)},300)}),uo(()=>{var d;if(i&&clearInterval(i),u){try{u.disconnect()}catch{}u=null}if(p=null,c){try{c.disconnect()}catch{}c=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),wt(` + */const Jy="9.14.5";function Xy(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Co().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Co().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Co().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Co().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Co().__INTLIFY_PROD_DEVTOOLS__=!1)}const Zy=Ly.__EXTEND_POINT__,To=cr(Zy);To(),To(),To(),To(),To(),To(),To(),To(),To();const Pu=Qt.__EXTEND_POINT__,Dt=cr(Pu),bt={UNEXPECTED_RETURN_TYPE:Pu,INVALID_ARGUMENT:Dt(),MUST_BE_CALL_SETUP_TOP:Dt(),NOT_INSTALLED:Dt(),NOT_AVAILABLE_IN_LEGACY_MODE:Dt(),REQUIRED_VALUE:Dt(),INVALID_VALUE:Dt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Dt(),NOT_INSTALLED_WITH_PROVIDE:Dt(),UNEXPECTED_ERROR:Dt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Dt(),BRIDGE_SUPPORT_VUE_2_ONLY:Dt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Dt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Dt(),__EXTEND_POINT__:Dt()};function kt(e,...t){return An(e,null,void 0)}const Fs=Do("__translateVNode"),Ds=Do("__datetimeParts"),Bs=Do("__numberParts"),Mu=Do("__setPluralRules"),Nu=Do("__injectWithOption"),Gs=Do("__dispose");function ca(e){if(!He(e)||ho(e))return e;for(const t in e)if(Xt(e,t))if(!t.includes("."))He(e[t])&&ca(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:u}=i;l?(s[l]=s[l]||Qe(),dr(u,s[l])):dr(u,s)}else fe(i)&&dr(JSON.parse(i),s)}),a==null&&r)for(const i in s)Xt(s,i)&&ca(s[i]);return s}function Ru(e){return e.type}function Iu(e,t,o){let n=He(t.messages)?t.messages:Qe();"__i18nGlobal"in o&&(n=hr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(He(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(He(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Ou(e){return We(Zn,null,e,0)}const Fu="__INTLIFY_META__",Du=()=>[],Qy=()=>!1;let Bu=0;function Gu(e){return(t,o,n,a)=>e(o,n,$o()||void 0,a)}const e0=()=>{const e=$o();let t=null;return e&&(t=Ru(e)[Fu])?{[Fu]:t}:null};function js(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=ir?de:fn,i=!!e.translateExistCompatible;let l=De(e.inheritLocale)?e.inheritLocale:!0;const u=s(o&&l?o.locale.value:fe(e.locale)?e.locale:En),c=s(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||it(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:u.value),p=s(hr(u.value,e)),g=s(Le(e.datetimeFormats)?e.datetimeFormats:{[u.value]:{}}),w=s(Le(e.numberFormats)?e.numberFormats:{[u.value]:{}});let b=o?o.missingWarn:De(e.missingWarn)||Bo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:De(e.fallbackWarn)||Bo(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,h=!!e.fallbackFormat,f=nt(e.missing)?e.missing:null,m=nt(e.missing)?Gu(e.missing):null,k=nt(e.postTranslation)?e.postTranslation:null,x=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const S=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let L=e.pluralRules||o&&o.pluralRules,P;P=(()=>{a&&mu(null);const G={version:Jy,locale:u.value,fallbackLocale:c.value,messages:p.value,modifiers:S,pluralRules:L,missing:m===null?void 0:m,missingWarn:b,fallbackWarn:y,fallbackFormat:h,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:x,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};G.datetimeFormats=g.value,G.numberFormats=w.value,G.__datetimeFormatters=Le(P)?P.__datetimeFormatters:void 0,G.__numberFormatters=Le(P)?P.__numberFormatters:void 0;const Y=Gy(G);return a&&mu(Y),Y})(),la(P,u.value,c.value);function W(){return[u.value,c.value,p.value,g.value,w.value]}const re=te({get:()=>u.value,set:G=>{u.value=G,P.locale=u.value}}),M=te({get:()=>c.value,set:G=>{c.value=G,P.fallbackLocale=c.value,la(P,u.value,G)}}),F=te(()=>p.value),T=te(()=>g.value),$=te(()=>w.value);function I(){return nt(k)?k:null}function ne(G){k=G,P.postTranslation=G}function ge(){return f}function C(G){G!==null&&(m=Gu(G)),f=G,P.missing=m}const ae=(G,Y,me,Ae,Ge,D)=>{W();let U;try{__INTLIFY_PROD_DEVTOOLS__,a||(P.fallbackContext=o?By():void 0),U=G(P)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(P.fallbackContext=void 0)}if(me!=="translate exists"&>(U)&&U===fr||me==="translate exists"&&!U){const[he,ve]=Y();return o&&d?Ae(o):Ge(he)}else{if(D(U))return U;throw kt(bt.UNEXPECTED_RETURN_TYPE)}};function ie(...G){return ae(Y=>Reflect.apply(wu,null,[Y,...G]),()=>Rs(...G),"translate",Y=>Reflect.apply(Y.t,Y,[...G]),Y=>Y,Y=>fe(Y))}function le(...G){const[Y,me,Ae]=G;if(Ae&&!He(Ae))throw kt(bt.INVALID_ARGUMENT);return ie(Y,me,Lt({resolvedMessage:!0},Ae||{}))}function we(...G){return ae(Y=>Reflect.apply(Su,null,[Y,...G]),()=>Is(...G),"datetime format",Y=>Reflect.apply(Y.d,Y,[...G]),()=>lu,Y=>fe(Y))}function Me(...G){return ae(Y=>Reflect.apply(Cu,null,[Y,...G]),()=>Os(...G),"number format",Y=>Reflect.apply(Y.n,Y,[...G]),()=>lu,Y=>fe(Y))}function Re(G){return G.map(Y=>fe(Y)||gt(Y)||De(Y)?Ou(String(Y)):Y)}const Ie={normalize:Re,interpolate:G=>G,type:"vnode"};function Je(...G){return ae(Y=>{let me;const Ae=Y;try{Ae.processor=Ie,me=Reflect.apply(wu,null,[Ae,...G])}finally{Ae.processor=null}return me},()=>Rs(...G),"translate",Y=>Y[Fs](...G),Y=>[Ou(Y)],Y=>it(Y))}function Xe(...G){return ae(Y=>Reflect.apply(Cu,null,[Y,...G]),()=>Os(...G),"number format",Y=>Y[Bs](...G),Du,Y=>fe(Y)||it(Y))}function ft(...G){return ae(Y=>Reflect.apply(Su,null,[Y,...G]),()=>Is(...G),"datetime format",Y=>Y[Ds](...G),Du,Y=>fe(Y)||it(Y))}function E(G){L=G,P.pluralRules=L}function O(G,Y){return ae(()=>{if(!G)return!1;const me=fe(Y)?Y:u.value,Ae=X(me),Ge=P.messageResolver(Ae,G);return i?Ge!=null:ho(Ge)||Wt(Ge)||fe(Ge)},()=>[G],"translate exists",me=>Reflect.apply(me.te,me,[G,Y]),Qy,me=>De(me))}function R(G){let Y=null;const me=su(P,c.value,u.value);for(let Ae=0;Ae{l&&(u.value=G,P.locale=G,la(P,u.value,c.value))}),ct(o.fallbackLocale,G=>{l&&(c.value=G,P.fallbackLocale=G,la(P,u.value,c.value))}));const se={id:Bu,locale:re,fallbackLocale:M,get inheritLocale(){return l},set inheritLocale(G){l=G,G&&o&&(u.value=o.locale.value,c.value=o.fallbackLocale.value,la(P,u.value,c.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:F,get modifiers(){return S},get pluralRules(){return L||{}},get isGlobal(){return a},get missingWarn(){return b},set missingWarn(G){b=G,P.missingWarn=b},get fallbackWarn(){return y},set fallbackWarn(G){y=G,P.fallbackWarn=y},get fallbackRoot(){return d},set fallbackRoot(G){d=G},get fallbackFormat(){return h},set fallbackFormat(G){h=G,P.fallbackFormat=h},get warnHtmlMessage(){return x},set warnHtmlMessage(G){x=G,P.warnHtmlMessage=G},get escapeParameter(){return A},set escapeParameter(G){A=G,P.escapeParameter=G},t:ie,getLocaleMessage:X,setLocaleMessage:J,mergeLocaleMessage:Z,getPostTranslationHandler:I,setPostTranslationHandler:ne,getMissingHandler:ge,setMissingHandler:C,[Mu]:E};return se.datetimeFormats=T,se.numberFormats=$,se.rt=le,se.te=O,se.tm=K,se.d=we,se.n=Me,se.getDateTimeFormat=Q,se.setDateTimeFormat=_,se.mergeDateTimeFormat=v,se.getNumberFormat=B,se.setNumberFormat=V,se.mergeNumberFormat=ue,se[Nu]=n,se[Fs]=Je,se[Ds]=ft,se[Bs]=Xe,se}function t0(e){const t=fe(e.locale)?e.locale:En,o=fe(e.fallbackLocale)||it(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=nt(e.missing)?e.missing:void 0,a=De(e.silentTranslationWarn)||Bo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=De(e.silentFallbackWarn)||Bo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=De(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},u=e.pluralizationRules,c=nt(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,w=De(e.sync)?e.sync:!0;let b=e.messages;if(Le(e.sharedMessages)){const A=e.sharedMessages;b=Object.keys(A).reduce((L,P)=>{const z=L[P]||(L[P]={});return Lt(z,A[P]),L},b||{})}const{__i18n:y,__root:d,__injectWithOption:h}=e,f=e.datetimeFormats,m=e.numberFormats,k=e.flatJson,x=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:b,flatJson:k,datetimeFormats:f,numberFormats:m,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:u,postTranslation:c,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:w,translateExistCompatible:x,__i18n:y,__root:d,__injectWithOption:h}}function Us(e={},t){{const o=js(t0(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=De(r)?!r:r},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=De(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,u={};let c=null,p=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const g=s;return fe(i)?u.locale=i:it(i)?c=i:Le(i)&&(p=i),it(l)?c=l:Le(l)&&(p=l),Reflect.apply(o.t,o,[g,c||p||{},u])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,u={plural:1};let c=null,p=null;if(!fe(s))throw kt(bt.INVALID_ARGUMENT);const g=s;return fe(i)?u.locale=i:gt(i)?u.plural=i:it(i)?c=i:Le(i)&&(p=i),fe(l)?u.locale=l:it(l)?c=l:Le(l)&&(p=l),Reflect.apply(o.t,o,[g,c||p||{},u])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const Ks={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function o0({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Pe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Qe())}function ju(e){return Pe}const Uu=Yn({name:"i18n-t",props:Lt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>gt(e)||!isNaN(e)}},Ks),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||yt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Qe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=fe(e.plural)?+e.plural:e.plural);const i=o0(t,r),l=a[Fs](e.keypath,i,s),u=Lt(Qe(),n),c=fe(e.tag)||He(e.tag)?e.tag:ju();return cc(c,u,l)}}});function n0(e){return it(e)&&!fe(e[0])}function Ku(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Qe();e.locale&&(s.locale=e.locale),fe(e.format)?s.key=e.format:He(e.format)&&(fe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,w)=>o.includes(w)?Lt(Qe(),g,{[w]:e.format[w]}):g,Qe()));const l=n(e.value,s,i);let u=[s.key];it(l)?u=l.map((g,w)=>{const b=a[g.type],y=b?b({[g.type]:g.value,index:w,parts:l}):[g.value];return n0(y)&&(y[0].key=`${g.type}-${w}`),y}):fe(l)&&(u=[l]);const c=Lt(Qe(),r),p=fe(e.tag)||He(e.tag)?e.tag:ju();return cc(p,c,u)}}const zu=Yn({name:"i18n-n",props:Lt({value:{type:Number,required:!0},format:{type:[String,Object]}},Ks),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return Ku(e,t,Lu,(...n)=>o[Bs](...n))}}),Hu=Yn({name:"i18n-d",props:Lt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Ks),setup(e,t){const o=e.i18n||yt({useScope:e.scope,__useComponent:!0});return Ku(e,t,$u,(...n)=>o[Ds](...n))}});function a0(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function r0(e){const t=s=>{const{instance:i,modifiers:l,value:u}=s;if(!i||!i.$)throw kt(bt.UNEXPECTED_ERROR);const c=a0(e,i.$),p=Vu(u);return[Reflect.apply(c.t,c,[...Wu(p)]),c]};return{created:(s,i)=>{const[l,u]=t(i);ir&&e.global===u&&(s.__i18nWatcher=ct(u.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=u,s.textContent=l},unmounted:s=>{ir&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,u=Vu(i);s.textContent=Reflect.apply(l.t,l,[...Wu(u)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function Vu(e){if(fe(e))return{path:e};if(Le(e)){if(!("path"in e))throw kt(bt.REQUIRED_VALUE,"path");return e}else throw kt(bt.INVALID_VALUE)}function Wu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return fe(o)&&(s.locale=o),gt(a)&&(s.plural=a),gt(r)&&(s.plural=r),[t,i,s]}function s0(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Uu.name,"I18nT"].forEach(s=>e.component(s,Uu)),[zu.name,"I18nN"].forEach(s=>e.component(s,zu)),[Hu.name,"I18nD"].forEach(s=>e.component(s,Hu))),e.directive("t",r0(t))}function i0(e,t,o){return{beforeCreate(){const n=$o();if(!n)throw kt(bt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=Yu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Us(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yu(e,a);else{this.$i18n=Us({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Iu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=$o();if(!n)throw kt(bt.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),o.__deleteInstance(n),delete this.$i18n}}}function Yu(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[Mu](t.pluralizationRules||e.pluralizationRules);const o=hr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const l0=Do("global-vue-i18n");function c0(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=u0(e,o),l=Do("");function u(g){return r.get(g)||null}function c(g,w){r.set(g,w)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(w,...b){if(w.__VUE_I18N_SYMBOL__=l,w.provide(w.__VUE_I18N_SYMBOL__,g),Le(b[0])){const h=b[0];g.__composerExtend=h.__composerExtend,g.__vueI18nExtend=h.__vueI18nExtend}let y=null;!o&&n&&(y=_0(w,g.global)),__VUE_I18N_FULL_INSTALL__&&s0(w,g,...b),__VUE_I18N_LEGACY_API__&&o&&w.mixin(i0(i,i.__composer,g));const d=w.unmount;w.unmount=()=>{y&&y(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:u,__setInstance:c,__deleteInstance:p};return g}}function yt(e={}){const t=$o();if(t==null)throw kt(bt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw kt(bt.NOT_INSTALLED);const o=d0(t),n=g0(o),a=Ru(t),r=p0(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw kt(bt.NOT_AVAILABLE_IN_LEGACY_MODE);return b0(t,r,n,e)}if(r==="global")return Iu(n,e,a),n;if(r==="parent"){let l=f0(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=Lt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=js(l),s.__composerExtend&&(i[Gs]=s.__composerExtend(i)),m0(s,t,i),s.__setInstance(t,i)}return i}function u0(e,t,o){const n=Fr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Us(e)):n.run(()=>js(e));if(a==null)throw kt(bt.UNEXPECTED_ERROR);return[n,a]}}function d0(e){{const t=Fe(e.isCE?l0:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw kt(e.isCE?bt.NOT_INSTALLED_WITH_PROVIDE:bt.UNEXPECTED_ERROR);return t}}function p0(e,t){return lr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function g0(e){return e.mode==="composition"?e.global:e.global.__composer}function f0(e,t,o=!1){let n=null;const a=t.root;let r=h0(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Nu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function h0(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function m0(e,t,o){co(()=>{},t),Wa(()=>{const n=o;e.__deleteInstance(t);const a=n[Gs];a&&(a(),delete n[Gs])},t)}function b0(e,t,o,n={}){const a=t==="local",r=fn(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw kt(bt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=De(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!a||s?o.locale.value:fe(n.locale)?n.locale:En),l=de(!a||s?o.fallbackLocale.value:fe(n.fallbackLocale)||it(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),u=de(hr(i.value,n)),c=de(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:De(n.missingWarn)||Bo(n.missingWarn)?n.missingWarn:!0,w=a?o.fallbackWarn:De(n.fallbackWarn)||Bo(n.fallbackWarn)?n.fallbackWarn:!0,b=a?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,d=nt(n.missing)?n.missing:null,h=nt(n.postTranslation)?n.postTranslation:null,f=a?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,m=!!n.escapeParameter,k=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},x=n.pluralRules||a&&o.pluralRules;function A(){return[i.value,l.value,u.value,c.value,p.value]}const S=te({get:()=>r.value?r.value.locale.value:i.value,set:R=>{r.value&&(r.value.locale.value=R),i.value=R}}),L=te({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:R=>{r.value&&(r.value.fallbackLocale.value=R),l.value=R}}),P=te(()=>r.value?r.value.messages.value:u.value),z=te(()=>c.value),W=te(()=>p.value);function re(){return r.value?r.value.getPostTranslationHandler():h}function M(R){r.value&&r.value.setPostTranslationHandler(R)}function F(){return r.value?r.value.getMissingHandler():d}function T(R){r.value&&r.value.setMissingHandler(R)}function $(R){return A(),R()}function I(...R){return r.value?$(()=>Reflect.apply(r.value.t,null,[...R])):$(()=>"")}function ne(...R){return r.value?Reflect.apply(r.value.rt,null,[...R]):""}function ge(...R){return r.value?$(()=>Reflect.apply(r.value.d,null,[...R])):$(()=>"")}function C(...R){return r.value?$(()=>Reflect.apply(r.value.n,null,[...R])):$(()=>"")}function ae(R){return r.value?r.value.tm(R):{}}function ie(R,K){return r.value?r.value.te(R,K):!1}function le(R){return r.value?r.value.getLocaleMessage(R):{}}function we(R,K){r.value&&(r.value.setLocaleMessage(R,K),u.value[R]=K)}function Me(R,K){r.value&&r.value.mergeLocaleMessage(R,K)}function Re(R){return r.value?r.value.getDateTimeFormat(R):{}}function Oe(R,K){r.value&&(r.value.setDateTimeFormat(R,K),c.value[R]=K)}function Ie(R,K){r.value&&r.value.mergeDateTimeFormat(R,K)}function Je(R){return r.value?r.value.getNumberFormat(R):{}}function Xe(R,K){r.value&&(r.value.setNumberFormat(R,K),p.value[R]=K)}function ft(R,K){r.value&&r.value.mergeNumberFormat(R,K)}const E={get id(){return r.value?r.value.id:-1},locale:S,fallbackLocale:L,messages:P,datetimeFormats:z,numberFormats:W,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(R){r.value&&(r.value.inheritLocale=R)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(u.value)},get modifiers(){return r.value?r.value.modifiers:k},get pluralRules(){return r.value?r.value.pluralRules:x},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackWarn(){return r.value?r.value.fallbackWarn:w},set fallbackWarn(R){r.value&&(r.value.missingWarn=R)},get fallbackRoot(){return r.value?r.value.fallbackRoot:b},set fallbackRoot(R){r.value&&(r.value.fallbackRoot=R)},get fallbackFormat(){return r.value?r.value.fallbackFormat:y},set fallbackFormat(R){r.value&&(r.value.fallbackFormat=R)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:f},set warnHtmlMessage(R){r.value&&(r.value.warnHtmlMessage=R)},get escapeParameter(){return r.value?r.value.escapeParameter:m},set escapeParameter(R){r.value&&(r.value.escapeParameter=R)},t:I,getPostTranslationHandler:re,setPostTranslationHandler:M,getMissingHandler:F,setMissingHandler:T,rt:ne,d:ge,n:C,tm:ae,te:ie,getLocaleMessage:le,setLocaleMessage:we,mergeLocaleMessage:Me,getDateTimeFormat:Re,setDateTimeFormat:Oe,mergeDateTimeFormat:Ie,getNumberFormat:Je,setNumberFormat:Xe,mergeNumberFormat:ft};function O(R){R.locale.value=i.value,R.fallbackLocale.value=l.value,Object.keys(u.value).forEach(K=>{R.mergeLocaleMessage(K,u.value[K])}),Object.keys(c.value).forEach(K=>{R.mergeDateTimeFormat(K,c.value[K])}),Object.keys(p.value).forEach(K=>{R.mergeNumberFormat(K,p.value[K])}),R.escapeParameter=m,R.fallbackFormat=y,R.fallbackRoot=b,R.fallbackWarn=w,R.missingWarn=g,R.warnHtmlMessage=f}return $l(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw kt(bt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const R=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=R.locale.value,l.value=R.fallbackLocale.value,u.value=R.messages.value,c.value=R.datetimeFormats.value,p.value=R.numberFormats.value):a&&O(R)}),E}const y0=["locale","fallbackLocale","availableLocales"],qu=["t","rt","d","n","tm","te"];function _0(e,t){const o=Object.create(null);return y0.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw kt(bt.UNEXPECTED_ERROR);const s=st(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,qu.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw kt(bt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,qu.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Xy(),__INTLIFY_JIT_COMPILATION__?du(Hy):du(zy),Iy(hy),Oy(su),__INTLIFY_PROD_DEVTOOLS__){const e=Co();e.__INTLIFY__=!0,Ay(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const v0=Object.assign({"./locales/ar/aria.json":yh,"./locales/ar/buttons.json":_h,"./locales/ar/detail.json":vh,"./locales/ar/legend.json":kh,"./locales/ar/messages.json":wh,"./locales/ar/options.json":xh,"./locales/ar/prayerLaps.json":Ah,"./locales/ar/regions.json":Sh,"./locales/ar/search.json":$h,"./locales/ar/tabs.json":Eh,"./locales/de/aria.json":Ch,"./locales/de/buttons.json":Lh,"./locales/de/detail.json":Th,"./locales/de/legend.json":Ph,"./locales/de/messages.json":Mh,"./locales/de/options.json":Nh,"./locales/de/prayerLaps.json":Rh,"./locales/de/regions.json":Ih,"./locales/de/search.json":Oh,"./locales/de/tabs.json":Fh,"./locales/en/aria.json":Dh,"./locales/en/buttons.json":Bh,"./locales/en/detail.json":Gh,"./locales/en/legend.json":jh,"./locales/en/messages.json":Uh,"./locales/en/options.json":Kh,"./locales/en/popup.json":zh,"./locales/en/prayerLaps.json":Hh,"./locales/en/regions.json":Vh,"./locales/en/search.json":Wh,"./locales/en/tabs.json":Yh,"./locales/es/aria.json":qh,"./locales/es/buttons.json":Jh,"./locales/es/detail.json":Xh,"./locales/es/legend.json":Zh,"./locales/es/messages.json":Qh,"./locales/es/options.json":em,"./locales/es/prayerLaps.json":tm,"./locales/es/regions.json":om,"./locales/es/search.json":nm,"./locales/es/tabs.json":am,"./locales/fr/aria.json":rm,"./locales/fr/buttons.json":sm,"./locales/fr/detail.json":im,"./locales/fr/legend.json":lm,"./locales/fr/messages.json":cm,"./locales/fr/options.json":um,"./locales/fr/popup.json":dm,"./locales/fr/prayerLaps.json":pm,"./locales/fr/regions.json":gm,"./locales/fr/search.json":fm,"./locales/fr/tabs.json":hm,"./locales/hi/aria.json":mm,"./locales/hi/buttons.json":bm,"./locales/hi/detail.json":ym,"./locales/hi/legend.json":_m,"./locales/hi/messages.json":vm,"./locales/hi/options.json":km,"./locales/hi/prayerLaps.json":wm,"./locales/hi/regions.json":xm,"./locales/hi/search.json":Am,"./locales/it/aria.json":Sm,"./locales/it/buttons.json":$m,"./locales/it/detail.json":Em,"./locales/it/legend.json":Cm,"./locales/it/messages.json":Lm,"./locales/it/options.json":Tm,"./locales/it/prayerLaps.json":Pm,"./locales/it/search.json":Mm,"./locales/pt/aria.json":Nm,"./locales/pt/buttons.json":Rm,"./locales/pt/detail.json":Im,"./locales/pt/legend.json":Om,"./locales/pt/messages.json":Fm,"./locales/pt/options.json":Dm,"./locales/pt/prayerLaps.json":Bm,"./locales/pt/regions.json":Gm,"./locales/pt/search.json":jm,"./locales/pt/tabs.json":Um,"./locales/ro/aria.json":Km,"./locales/ro/buttons.json":zm,"./locales/ro/detail.json":Hm,"./locales/ro/legend.json":Vm,"./locales/ro/messages.json":Wm,"./locales/ro/options.json":Ym,"./locales/ro/prayerLaps.json":qm,"./locales/ro/search.json":Jm,"./locales/ru/aria.json":Xm,"./locales/ru/buttons.json":Zm,"./locales/ru/detail.json":Qm,"./locales/ru/legend.json":eb,"./locales/ru/messages.json":tb,"./locales/ru/options.json":ob,"./locales/ru/prayerLaps.json":nb,"./locales/ru/regions.json":ab,"./locales/ru/search.json":rb,"./locales/ru/tabs.json":sb,"./locales/zh/aria.json":ib,"./locales/zh/buttons.json":lb,"./locales/zh/detail.json":cb,"./locales/zh/legend.json":ub,"./locales/zh/messages.json":db,"./locales/zh/options.json":pb,"./locales/zh/prayerLaps.json":gb,"./locales/zh/search.json":fb}),ua={};for(const[e,t]of Object.entries(v0)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;ua[n]??(ua[n]={}),ua[n][a]=t}const Ju=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function k0(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Ju.includes(t)?t:"en"}function w0(){return c0({legacy:!1,globalInjection:!0,locale:k0(),fallbackLocale:"en",messages:ua,missingWarn:!1,fallbackWarn:!1})}function wt(e,t){const o=t||x0(e);co(()=>{var i;const n=$o();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function x0(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=te(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=de(!1),s=de(null);let i=null,l=null,u=null,c=null,p=null;function g(){r.value=!1}function w(d,h){var m;let f=d==null?void 0:d.parentElement;for(let k=0;f&&k<12;k++,f=f.parentElement){if(f===h||(m=f.classList)!=null&&m.contains("profile-loader"))return null;let x="";try{x=getComputedStyle(f).position}catch{}if(x&&x!=="static"){const A=f.getBoundingClientRect();if(A.height>=120&&A.width>=160)return f}}return null}function b(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const h=d.getBoundingClientRect();if(!h.height)return;const f=Math.round(h.bottom-window.innerHeight);f>0&&d.style.setProperty("--pin-hint-lift",f+8+"px")}catch{}}function y(d){const h=s.value;if(!h||!(d!=null&&d.querySelector))return;let f=0;try{const k=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(k){const x=k.getBoundingClientRect(),A=h.parentElement,S=A?A.getBoundingClientRect():null;if(f=S?Math.max(x.height||0,S.bottom-x.top):x.height||0,p!==k&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}p=k,u=new ResizeObserver(()=>y(d)),u.observe(k)}}}catch{}const m=Math.min(Math.max(Math.ceil(f)||20,20),72);h.style.setProperty("--pin-hint-attrib-clear",m+"px"),b()}return co(()=>{var m,k,x;const d=$o(),h=(x=(k=(m=d==null?void 0:d.proxy)==null?void 0:m.$el)==null?void 0:k.getRootNode)==null?void 0:x.call(k);if(!h||typeof h.querySelector!="function")return;let f=0;i=setInterval(()=>{f++;const A=h.querySelector("canvas");A?(clearInterval(i),i=null,r.value=!0,lo(()=>{const S=w(A,h),L=s.value;if(S&&L&&L.parentElement!==S)try{S.appendChild(L),l=S}catch{}y(h),b();try{const P=s.value&&s.value.offsetParent||null;if(P&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}c=new ResizeObserver(()=>b()),c.observe(P)}}catch{}})):f>40&&(clearInterval(i),i=null)},300)}),uo(()=>{var d;if(i&&clearInterval(i),u){try{u.disconnect()}catch{}u=null}if(p=null,c){try{c.disconnect()}catch{}c=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),wt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,7 +69,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(d,h)=>r.value?(z(),ee("div",{key:0,ref_key:"hintEl",ref:s,class:Ne(["pin-hint",{dark:n.value}]),role:"status"},[R("span",w0,[h[0]||(h[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),mt(" "+pe(a.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):ye("",!0)}},A0=!1;let S0=0;const $0=vs("ui",{state:()=>({_storeInstanceId:++S0,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(o=>o.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 o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},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:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.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(o=>o.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(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),E0=vs("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,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,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 o=this.maps[e];o&&Object.assign(o,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()}}}),C0=vs("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=qo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=qo({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 o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),da={_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","imb_gsec","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}}},L0=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Ln=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},T0={class:"profile-loader"},P0={key:0,class:"profile-error"},M0={key:1,class:"profile-error"},N0=Ln({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var x;const o=e,n=Fe("profileConfig",null),a=te(()=>{var S;if(!o.profileConfig)return null;let A;try{A=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(A&&A.assetsBase===void 0){const T=(S=n==null?void 0:n.value)==null?void 0:S.assetsBase;typeof T=="string"&&T&&(A.assetsBase=T)}return A}),r=te(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),s=hh(),i=te(()=>{var S;const A=(S=a.value)==null?void 0:S.tk;return typeof A=="string"&&A?A:s.value||""});ct(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Pc(A)},{immediate:!0});const l=te(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||da.activeSource}),u=te(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),c=te(()=>!1),p=te(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),g=te(()=>{var S,T;const A=(((S=a.value)==null?void 0:S.locale)||((T=a.value)==null?void 0:T.lang)||"").split("-")[0].toLowerCase();return Yu.includes(A)?A:""}),k=Fe("appI18n",null);_g(()=>{g.value&&k&&(k.global.locale.value=g.value)});const w=te(()=>{var A,S;return g.value||((S=(A=k==null?void 0:k.global)==null?void 0:A.locale)==null?void 0:S.value)||"en"}),_=te(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),d=Fe("profileModules",null);if(!d)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const h=te(()=>{if(!r.value)return null;const A=`./${r.value}.vue`;return d[A]?Mc(d[A]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(d)),null)});Ft("mapboxToken",i),Ft("dataSource",l),Ft("colorSet",u),Ft("profileConfig",a),Ft("instanceId",_),Ft("lang",w);const f=$0(),m=E0(),v=C0();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((x=f.setTheme)==null||x.call(f,A))}catch{}return Ft("uiStore",f),Ft("mapStore",m),Ft("dataStore",v),(A,S)=>(z(),ee("div",T0,[a.value?h.value?(z(),pt($l(h.value),{key:2})):(z(),ee("div",M0,[R("p",null,[S[1]||(S[1]=mt("⚠️ Profile ",-1)),R("strong",null,'"'+pe(r.value)+'"',1),S[2]||(S[2]=mt(" not found.",-1))])])):(z(),ee("div",P0,[...S[0]||(S[0]=[R("p",null,[mt("⚠️ "),R("strong",null,"doxa-map"),mt(": missing or invalid "),R("code",null,"profile-config"),mt(" prop.")],-1),R("p",null,[mt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),h.value&&c.value?(z(),pt($l(_e(null)),{key:3})):ye("",!0),h.value&&p.value?(z(),pt(x0,{key:4})):ye("",!0)]))}},[["styles",[L0]],["__scopeId","data-v-ba19fc13"]]),R0=Object.assign({"./poster-wall.vue":()=>to(()=>Promise.resolve().then(()=>h_),void 0),"./upg-100-list.vue":()=>to(()=>Promise.resolve().then(()=>qw),void 0),"./upg-100-mfe.vue":()=>to(()=>Promise.resolve().then(()=>Sx),void 0)});if(typeof window<"u"&&((bp=window.mapboxgl)!=null&&bp.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function I0(){return qf(N0,{configureApp(e){e.use(lh()),e.use(v0()),e.provide("profileModules",R0)}})}const O0=I0();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",O0));function F0(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function qu(e){const t=de(null),o=fn({position:"fixed",inset:"0"}),n=()=>{var c,p;const r=t.value;if(!r)return;const s=F0(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((c=i==null?void 0:i.documentElement)==null?void 0:c.clientWidth)||0,u=((p=i==null?void 0:i.documentElement)==null?void 0:p.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${u}px`,boxSizing:"border-box"}};ct(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),uo(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const Ju=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],Xu=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],Zu=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],D0=cn&&cn.tagName.toUpperCase()==="SCRIPT"&&cn.src||new URL("my-upg-100-list.js",document.baseURI).href,Ko=e=>String(e||"").trim().replace(/\/+$/,"");function Qu(){try{const t=String(D0||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function B0(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ko(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Ko(o)}return Ko(Qu()||"")}function hr(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Ko(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Ko((e==null?void 0:e.treeBase)||"")||Ko(Qu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Ko(new URL(o+"/../assets",n).href)}catch{return Ko(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function G0({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return a?window.location.origin+s:s;const i=B0(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const j0=["country_code","wagf_region","wagf_block","primary_language","religion"];function U0(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function K0(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of j0)if(o in t){const{value:n,label:a}=U0(t[o]);t[o]=n,a!=null&&(t[`${o}_label`]=a)}return t}function mr(e){return Array.isArray(e)?e.map(K0):[]}function br(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function Tn(e){return e==null||typeof e!="object"?null:e.slug??null}function ed(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function z0(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function Pn(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const a=e.value;for(const r of n)if(r&&r.country_code===a){const s=Tn(r);s!=null&&o.add(s)}return o}case"country_codes":{const a=new Set(Array.isArray(e.values)?e.values:[]);for(const r of n)if(r&&a.has(r.country_code)){const s=Tn(r);s!=null&&o.add(s)}return o}case"wagf_block":{const a=e.value;for(const r of n)if(r&&r.wagf_block===a){const s=Tn(r);s!=null&&o.add(s)}return o}case"wagf_region":{const a=e.value;for(const r of n)if(r&&r.wagf_region===a){const s=Tn(r);s!=null&&o.add(s)}return o}case"union":{const a=Array.isArray(e.selectors)?e.selectors:[];for(const r of a){const s=Pn(r,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const a=new Set(Array.isArray(e.regions)?e.regions:[]);for(const r of n){if(!r)continue;if((ed(r.slug)||ed(r.name))&&a.has(r.wagf_region)){const i=Tn(r);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const a=e.rop1;for(const r of n)if(r&&z0(r)===a){const s=Tn(r);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const td=Object.freeze(Object.defineProperty({__proto__:null,default:Pn,evaluate:Pn},Symbol.toStringTag,{value:"Module"})),H0={class:"sec-head"},V0={class:"sec-name"},W0={class:"sec-count"},Y0={class:"grid"},q0=["data-list-id"],J0=["aria-label","onClick"],X0={class:"hcount"},Z0={class:"main"},Q0=["src","alt","title","onClick","onKeydown","onError"],e_={key:1,class:"ph"},t_={class:"ph-label"},o_={key:0,class:"ph-count"},n_={class:"tape pfs"},a_=["onClick","aria-label"],r_=["onClick","aria-label"],s_=["onClick","aria-label"],i_=["value"],l_={class:"modal",role:"dialog","aria-live":"polite"},c_={class:"modal-kind"},u_={class:"modal-title"},d_={class:"modal-err"},p_={class:"modal-soon"},g_={class:"bar"},f_={class:"modal-phase"},h_=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t={lists:Ju,asia_lists:Xu,uncovered_lists:Zu},o=Fe("profileConfig",de(null)),n=te(()=>{var $;return(($=o.value)==null?void 0:$.instanceId)||"upg-100-wall"}),a=te(()=>{var $;return(($=o.value)==null?void 0:$.isDark)===!0}),r=te(()=>hr(o.value)),s=$=>`${r.value}/posters/${$}.webp`,i=typeof window<"u"&&window.MAP_APP_API_URL||void 0||"",l={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},u=$=>l[$]?l[$]:$.startsWith("asia-india-")?"India":$.startsWith("asia-china-")?"China + Mongolia":"Other",c=te(()=>[...t.lists||[],...t.asia_lists||[],...t.uncovered_lists||[]].filter($=>$&&$.id)),p=te(()=>{const $=new Map;for(const M of c.value){const C=u(M.id);$.has(C)||$.set(C,[]),$.get(C).push(M)}return[...$.entries()].map(([M,C])=>({name:M,items:C.slice().sort((N,ne)=>(ne.count||0)-(N.count||0)),total:C.reduce((N,ne)=>N+(ne.count||0),0)})).sort((M,C)=>C.total-M.total)}),g=de(null);function k($){const M=g.value===$.id;g.value=M?null:$.id,window.dispatchEvent(new CustomEvent("doxa-upg-100-list:show-on-map",{detail:{instanceId:n.value,listId:M?null:$.id,label:M?null:$.label}}))}const w=$=>`${r.value}/previews/${$}.webp`,_=de({}),d=de(null),h=[{id:"poker",label:"Card 2.5 × 3.5 in"},{id:"pokerLandscape",label:"Card 3.5 × 2.5 in (landscape)"},{id:"postcard",label:"Postcard 4 × 6 in"},{id:"postcardLandscape",label:"Postcard 6 × 4 in (landscape)"},{id:"a6",label:"A6 105 × 148 mm"}],f=de("poker"),{locale:m}=yt();function v(){const $=m&&(m.value??m);return typeof $=="string"&&$||"en"}const{scrimRef:x,scrimStyle:A}=qu(d);function S($,M,{autoprint:C=!1}={}){const N=document.createElement("iframe");N.setAttribute("aria-hidden","true"),N.style.cssText="position:fixed;right:0;bottom:0;width:1px;height:1px;opacity:0;border:0",document.body.appendChild(N);const ne=N.contentDocument;if(!ne)return N.remove(),null;ne.open(),ne.write(M),C&&ne.write(' - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-MpUL/82/3klzGisdJDdX7UQ6z/9ZX9r6GZzoKohNHeokCEtq9bPAwqHIPTupp8DG","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-MpUL/82/3klzGisdJDdX7UQ6z/9ZX9r6GZzoKohNHeokCEtq9bPAwqHIPTupp8DG\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-MpUL/82/3klzGisdJDdX7UQ6z/9ZX9r6GZzoKohNHeokCEtq9bPAwqHIPTupp8DG\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-MpUL/82/3klzGisdJDdX7UQ6z/9ZX9r6GZzoKohNHeokCEtq9bPAwqHIPTupp8DG\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH","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","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" 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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-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","integrity":"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-VYXU1i1xnVyXAsxLHy565gD+tQp090jzfT6YPRJAYAKAmYIIqr1KqUtQZnO/zv0A\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-tj7QLhUCvAluRlp9Bp2ddjbXLcknRx2v1nMotvvY8XKImLplx6WkSdHh5MQC1Rix\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3","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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\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","type":"single","isMap":false,"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?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the five pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h", + "integrity": "sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -101,7 +101,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R", + "integrity": "sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V", "elements": [ "cities-internet-map" ], @@ -117,7 +117,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-LksOyBNdOcEFKZgo24HIYOYo/V/rrVy5weXVxrnzkJU9drI09SrvK+/Zz7PlFxha", + "integrity": "sha384-MpUL/82/3klzGisdJDdX7UQ6z/9ZX9r6GZzoKohNHeokCEtq9bPAwqHIPTupp8DG", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,21 +188,21 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { "profile": "country-posters-mfe", "file": "country-posters-mfe.vue", - "description": "", - "element": "country-posters-map", + "description": "Country Posters as ONE two-tab element — the countries map and the printable", + "element": "country-posters-mfe", "type": "nested-elements-mfe", "isMap": true, "iframeUrl": "./country-posters/country-posters-mfe/index.html", "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -211,7 +211,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG", + "integrity": "sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q", "elements": [ "dashboard-plus-grid" ], @@ -231,7 +231,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -255,7 +255,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ", + "integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH", "elements": [ "demo-map" ], @@ -271,7 +271,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -298,7 +298,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "doxa-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP", + "integrity": "sha384-1f+/rBSGo/1jyUmRmGg34CIU/PcGkB7M3jah1DO0ocb5O0zj81wpUemXcz4WAFz8", "elements": [ "doxa-maps-spa" ], @@ -322,7 +322,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR", + "integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W", + "integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI", + "integrity": "sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -913,7 +913,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn", + "integrity": "sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX", "elements": [ "research-dashboard-map" ], @@ -929,7 +929,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -1027,7 +1027,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX", + "integrity": "sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3", "elements": [ "template-bundle" ], @@ -1043,7 +1043,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -1058,7 +1058,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" } @@ -1076,7 +1076,7 @@ { "profile": "upg-neighbor", "file": "upg-neighbor.vue", - "description": "Rescues the three pre-bundler experimental maps that live inside the legacy", + "description": "Rescues the five pre-bundler experimental maps that live inside the legacy", "element": "upg-neighbor", "type": "parameterized", "isMap": false, From e263991dc546bea73d90fc605b15e8f5dba6d5be Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 05:10:17 +0000 Subject: [PATCH 07/26] test(deck): click the REAL button and read what it prints MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every other packet/card gate drives the RENDERERS. This one drives the UI: it finds the Card Deck button in the shadow root, clicks it, and captures the document that reaches the print frame. That is the only path proving the wiring — records provider, stock picker, language, shared composable, print frame — is connected end to end. A renderer can be perfect while the button calling it passes the wrong stock, or nothing at all. ⚠ It intercepts the printed HTML rather than reading the iframe back. openPrintFrame calls window.print(), which BLOCKS in headless Chromium, and the frame self-removes on afterprint — reading it back measures a frame that has already gone and reports 0 cards for a correct deck. Measured through the real UI: 116 cards at 2.5in 3.5in with 116 QR codes, and 3.5in 2.5in when the stock picker is switched to landscape. Confirmed to fail on a wrong expected page size. Also updates the share policy: country-posters moves from 'own-button' to 'header'. Its two-tab MFE now owns sharing, exactly as my-upg-100-list's does — the gate caught the bundle briefly carrying two affordances after the MFE landed, which is the regression it was written for. --- internal/check-deck-click.mjs | 99 +++++++++++++++++++++++++++++++++ internal/check-share-policy.mjs | 2 +- package.json | 1 + 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 internal/check-deck-click.mjs diff --git a/internal/check-deck-click.mjs b/internal/check-deck-click.mjs new file mode 100644 index 000000000..b9d3a80a6 --- /dev/null +++ b/internal/check-deck-click.mjs @@ -0,0 +1,99 @@ +// check-deck-click — click the REAL Card Deck button and read what it prints. +// +// Every other packet/card gate drives the RENDERERS directly. This one drives the +// UI: it finds the button in the shadow root, clicks it, and captures the document +// that reaches the print frame. That is the only path that proves the wiring — +// records provider, stock picker, language, shared composable, print frame — is +// connected end to end. A renderer can be perfect while the button that calls it +// passes the wrong stock, or nothing at all. +// +// ⚠ IT INTERCEPTS THE PRINTED HTML rather than reading the iframe back. +// openPrintFrame calls window.print(), which BLOCKS in headless Chromium, and the +// frame self-removes on afterprint — reading it back measures a frame that has +// already gone and reports 0 cards for a correct deck. +// +// Usage: node internal/check-deck-click.mjs [stockId] [expectedPage] +import { chromium } from 'playwright' + +const URL_ = process.argv[2] +if (!URL_) { console.error('usage: check-deck-click.mjs [stock] [expectedPage]'); process.exit(2) } +const STOCK = process.argv[3] || '' +const EXPECT_PAGE = process.argv[4] || (STOCK === 'pokerLandscape' ? '3.5in 2.5in' : '2.5in 3.5in') + +const b = await chromium.launch({ args: ['--use-gl=swiftshader', '--enable-unsafe-swiftshader'] }) +const pg = await b.newPage({ viewport: { width: 1280, height: 1000 } }) +const errs = [] +pg.on('pageerror', (e) => errs.push(String(e).slice(0, 140))) +await pg.goto(URL_, { waitUntil: 'load', timeout: 45000 }) +await pg.waitForTimeout(9000) + +await pg.evaluate(() => { + window.__printed = '' + const real = document.createElement.bind(document) + document.createElement = (t) => { + const el = real(t) + if (t === 'iframe') { + Object.defineProperty(el, 'contentDocument', { + get: () => ({ open() {}, close() {}, write(h) { window.__printed += h } }), + }) + Object.defineProperty(el, 'contentWindow', { + get: () => ({ addEventListener() {}, focus() {}, print() {} }), + }) + } + return el + } +}) + +const r = await pg.evaluate(async (stock) => { + const host = [...document.querySelectorAll('*')] + .find((e) => e.shadowRoot && e.shadowRoot.querySelector('.pbtn')) + if (!host) return { error: 'no poster wall found on this page' } + const sr = host.shadowRoot + const btns = [...sr.querySelectorAll('.pbtn')] + const deck = btns.find((x) => /card deck/i.test(x.textContent)) + if (!deck) return { error: 'no Card Deck button', buttons: btns.map((x) => x.textContent.trim()) } + if (stock) { + const sel = sr.querySelector('.pstock') + if (!sel) return { error: 'no card-stock picker to drive' } + sel.value = stock + sel.dispatchEvent(new Event('change', { bubbles: true })) + await new Promise((res) => setTimeout(res, 400)) + } + deck.click() + await new Promise((res) => setTimeout(res, 9000)) + const doc = new DOMParser().parseFromString(window.__printed, 'text/html') + return { + cards: doc.querySelectorAll('.card').length, + qrs: doc.querySelectorAll('.qr svg').length, + imgs: doc.querySelectorAll('img.ph').length, + page: (window.__printed.match(/@page\{size:([^;}]*)/) || [])[1] || '', + } +}, STOCK) +await b.close() + +if (r.error) { + console.error(`DECK-CLICK: FAIL — ${r.error}` + + (r.buttons ? ` (buttons present: ${r.buttons.join(' | ')})` : '')) + process.exit(1) +} + +const fails = [] +if (!r.cards) fails.push('the click printed no cards at all — the button is not wired to the renderer') +if (r.page.trim() !== EXPECT_PAGE) { + fails.push(`@page size is "${r.page.trim()}", expected "${EXPECT_PAGE}"` + + (STOCK ? ' — the stock picker is not reaching the renderer' : '')) +} +if (r.qrs !== r.cards) fails.push(`${r.qrs} QR code(s) for ${r.cards} cards`) +if (errs.length) fails.push(`${errs.length} page error(s): ${errs[0]}`) + +console.log(` stock : ${STOCK || '(default)'}`) +console.log(` cards printed : ${r.cards} (${r.imgs} portraits, ${r.qrs} QR codes)`) +console.log(` @page size : ${r.page.trim()} (want ${EXPECT_PAGE})`) +console.log(` page errors : ${errs.length}`) + +if (fails.length) { + console.error(`\nDECK-CLICK: FAIL — ${fails.length} problem(s)`) + for (const f of fails) console.error(' - ' + f) + process.exit(1) +} +console.log(`\nDECK-CLICK: PASS — the real button printed ${r.cards} cards at ${r.page.trim()}.`) diff --git a/internal/check-share-policy.mjs b/internal/check-share-policy.mjs index 70ca86d36..5a86565e1 100644 --- a/internal/check-share-policy.mjs +++ b/internal/check-share-policy.mjs @@ -45,7 +45,7 @@ const DESIGNS = join(REPO, 'plugin-designs') const POLICY = { 'doxa-simple-map': 'own-button', // Prayer Progress — the embed flagship 'doxa-research-map': 'own-button', - 'country-posters': 'own-button', + 'country-posters': 'header', // country-posters-mfe header owns it 'cities-internet': 'own-button', 'gospel-resources': 'own-button', 'demo-map': 'own-button', diff --git a/package.json b/package.json index c033b877a..fa6e02008 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ "build:unlocked": "bun run gates:pre && bun run library-index && bun run check:library-index && bun run clean && bun run token && bun run build:bundles && bun run tree && bun run gates:post && bun run gallery", "check:card-deck": "node internal/check-card-deck.mjs", "check:poster-raster": "node internal/check-poster-raster.mjs", + "check:deck-click": "node internal/check-deck-click.mjs", "check:poster-prints": "node internal/check-poster-prints.mjs", "check:provider-switch": "node internal/check-provider-switch.mjs", "check:mfe-two-tab": "node internal/check-mfe-two-tab.mjs", From 63fad207393f1dfe056cffcb29677281a98c32aa Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 05:15:06 +0000 Subject: [PATCH 08/26] Regions: their worldmap watermark, and two defects it uncovered MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Measured first, as the Oswald lesson requires, and this one was real: their UupgsList root carries worldmap.svg inline (UupgsList.vue:451), and it genuinely renders on their live country page — HTTP 200, 62,740 bytes over the wire, computed background-size 60%, position 50% 0%, repeat no-repeat, min-height 400px. Confirmed by screenshotting the ELEMENT, not the viewport: the watermark sits below the fold, so a page screenshot shows nothing at all. public/assets/images/worldmap.svg is their file byte-for-byte — 311KB on disk, small against this tree's existing assets, which run 644KB to 42MB. The inline background-image takes its base from a new imagesBase prop, since a dropped bundle cannot assume their absolute /assets path. generate-tree's staged allowlist needed 'images' added — the same trap that silently broke the vendored fonts. A dir absent from the allowlist 404s, and an unfetched background-image is quieter than the font failure was: nothing paints and nothing reports. So the probe asserts the REQUEST returned 200 rather than that the CSS names the file. Then, reading the screenshot after every number was already green, two more defects: - A CLASS WITHOUT ITS RULE. The search label uses their class name, sr-only — the right instinct — but their rule (utilities/_visibility.scss:2) was never ported, so the class matched nothing and the label rendered as a visible line of text above the input, duplicating its own placeholder. Borrowing a class name only works if its declarations travel with it, and a class matching no rule is invisible to a property diff. Now 1x1px and clipped, still in the DOM and still announced. - A PIXEL CAP WHERE THEIRS IS RELATIVE. .search-box was capped at a hardcoded max-width:480px; theirs composes .max-width-md, which is max-width:50ch (utilities/_sizes.scss:11). Wrong value and wrong unit — ch tracks the input's font, px does not — and ours truncated the placeholder mid-word. 50ch now resolves to exactly 600px, their measured width. Regression: 18 suites green, including a new _probe-watermark.mjs at 15/15. --- internal/generate-tree.mjs | 11 +- .../regions-dashboard/region-dashboards.vue | 1 + .../regions-dashboard/src/UupgsList.vue | 37 +- public/assets/images/worldmap.svg | 402 ++++++++++++++++++ public/doxa-maps/assets/images/worldmap.svg | 402 ++++++++++++++++++ public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 8 +- .../region-dashboards/index.html | 2 +- .../regions-dashboard/regions-dashboard.js | 10 +- .../regions-dashboard/regions-list/index.html | 2 +- .../regions-dashboard/regions-mfe/index.html | 2 +- 11 files changed, 862 insertions(+), 17 deletions(-) create mode 100644 public/assets/images/worldmap.svg create mode 100644 public/doxa-maps/assets/images/worldmap.svg diff --git a/internal/generate-tree.mjs b/internal/generate-tree.mjs index 1609c7408..72efe6df0 100644 --- a/internal/generate-tree.mjs +++ b/internal/generate-tree.mjs @@ -1474,9 +1474,16 @@ function main() { // the engine whether the family is usable. // Small and self-contained: a woff2 pair is ~22KB, and the tree's self-contained promise // is exactly why it has to travel with it. + // ★ images/ MUST be staged for the same reason fonts/ must (see the note above). The + // regions clone copies DX-life's worldmap.svg watermark, which their UupgsList sets inline + // as a background-image on its root (UupgsList.vue:451-454, background-size 60% / + // background-position top / min-height 400px). A leaf resolves assetsBase to /assets, + // so the URL is fetched from INSIDE the tree; with images/ absent from this allowlist it + // 404s and the watermark is simply not there, with no error anywhere — the background just + // does not paint, which is even quieter than the font failure was. const assetDirs = DEST_CONFIG.bundlePosters - ? ['previews', 'posters', 'fonts'] - : ['previews', 'fonts'] + ? ['previews', 'posters', 'fonts', 'images'] + : ['previews', 'fonts', 'images'] for (const dirName of assetDirs) { const src = join(pubAssets, dirName) if (!existsSync(src)) { console.warn(`[generate-tree] WARN missing tree asset dir: assets/${dirName}`); continue } diff --git a/plugin-designs/regions-dashboard/region-dashboards.vue b/plugin-designs/regions-dashboard/region-dashboards.vue index 9094df262..08b066b13 100644 --- a/plugin-designs/regions-dashboard/region-dashboards.vue +++ b/plugin-designs/regions-dashboard/region-dashboards.vue @@ -951,6 +951,7 @@ useShadowStyles( :country-name="selectedCountry.name" :pray-base-url="prayBaseUrl" :language-code="languageCode" + :images-base="assetsBase + '/images'" /> diff --git a/plugin-designs/regions-dashboard/src/UupgsList.vue b/plugin-designs/regions-dashboard/src/UupgsList.vue index 2a160c419..2b5639141 100644 --- a/plugin-designs/regions-dashboard/src/UupgsList.vue +++ b/plugin-designs/regions-dashboard/src/UupgsList.vue @@ -55,6 +55,10 @@ const props = defineProps({ // Their perPage / morePerPage defaults (UupgsList.vue props block). perPage: { type: Number, default: 24 }, morePerPage: { type: Number, default: 0 }, + // Where worldmap.svg lives. THEIRS is a bare `const imagesUrl = '/assets/images'` + // (UupgsList.vue:73) because their app is served from one origin; ours must take it from the + // caller, since a dropped bundle resolves its assets relative to the tree it sits in. + imagesBase: { type: String, default: './assets/images' }, }) // Their field list, verbatim (UupgsList.vue:388). @@ -252,13 +256,22 @@ function profileUrl(p) { return `${props.researchUrl}${p.slug || ''}` } // NO BACKTICKS in this string, including comments (house style: one terminates the literal). useShadowStyles( ':host{ display:block; }' + + // The static half of their watermark. The URL itself is inline (it needs imagesBase at + // runtime); everything that does not depend on the base lives here. '.ul-root{ display:flex; flex-direction:column; gap:17.689px;' + + ' background-repeat:no-repeat; background-size:60%; background-position:top; min-height:400px;' + ' --dx-text:#2a332a; --dx-muted:#6d766e; --dx-white:#fff; color:var(--dx-text);' + ' font:19.5312px/1.5 Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }' + // .filters — a .stack--md column '.filters{ display:flex; flex-direction:column; gap:17.689px; }' + // .search-box + input[type=search]: 100% wide, pill, text indented past the icon - '.search-box{ position:relative; width:100%; max-width:480px; margin-inline:auto; }' + + // .search-box is theirs at width:100% (blocks/_form.scss:115-118); the cap comes from the + // .max-width-md utility they compose onto it, which is `max-width: 50ch` + // (utilities/_sizes.scss:11). This was a hardcoded 480px — the wrong value AND the wrong + // UNIT: ch scales with the input's own font, px does not, so the box stopped tracking the + // type at every other size. MEASURED: theirs renders ~600px inside the 1200px container + // and shows the whole placeholder; ours truncated it at 480px. + '.search-box{ position:relative; width:100%; max-width:50ch; margin-inline:auto; }' + '.search-box input{ box-sizing:border-box; width:100%; border:1px solid #666; border-radius:100px;' + ' background:var(--dx-white); padding:10px 23.5264px; text-indent:1.5em; font:inherit;' + ' font-size:19.5312px; color:var(--dx-text); }' + @@ -305,6 +318,14 @@ useShadowStyles( '.uupg__country-link:hover{ text-decoration:underline; }' + // theirs is display:none — the location line is fetched and deliberately not shown // blocks/_cards.scss:258 — brand primary ground, white ink. + // THEIR .sr-only, utilities/_visibility.scss:2-12, verbatim. We already used their CLASS + // NAME on the search label — which is the right instinct under RULE 1 — but the RULE was + // never ported, so the class did nothing and the label rendered as visible text above the + // input, duplicating its own placeholder. Caught by reading the screenshot; every computed + // check passed, because a class that matches no rule is invisible to a property diff. + // Borrowing a class name only works if its declarations travel with it. + '.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px;' + + ' overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border-width:0; }' + '.search-highlight{ background-color:#92b195; color:#fff; }' + '.uupg__match{ margin:0; font-size:15.625px; color:var(--dx-muted); }' + '.uupg__content{ display:none; grid-area:content; }' + @@ -333,7 +354,19 @@ useShadowStyles(