From 5008a6ff5fd1c1140d59a4d5e5466b81f836ea81 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 19:07:13 +0000 Subject: [PATCH] Bound the cities and gospel legends so the map controls stay clear Both maps drew their legend as a full-width strip (left:8px right:8px -- measured 1264px of a 1280px map, 98.75%), which ran underneath the floating control rail. MapToolbar sits at inset-inline-end:3px with 32px buttons, so any box reaching right:8px intersects it at every viewport; the rail's higher z-index kept the buttons clickable, which is why the defect survived three reports as "looks broken but works". Gospel ran under four of five buttons, cities under two, the difference being only legend height. The legend is now a bounded, left-anchored panel imitating the shared SemanticTreeLegend: left:8px with width var(--map-legend-width,380px). Being bounded on the left, it cannot reach the right rail at all -- a geometric guarantee rather than a tuned z-index. Below 480px it keeps a 46px gap so the rail still clears. Measured after: legend 380px of 1280 (29.7%), zero intersection with all five buttons, 857px clearance, and a dispatched click on the top control landing on button.mcb via composedPath. Mobile at 390px: 336px wide, 11px clearance, zero intersections. Both files kept byte-identical. Both maps also showed the shared "Tap a coloured dot" hint while shading country polygons and drawing no dots at all -- a hint pointing at something the reader cannot see. PinHint documents a pinHint:false opt-out, but the standalone leaf page built its config from a hardcoded object, so no profile could reach that key. .meta.json now carries an optional `config` map merged into the leaf's BASE_CONFIG, with generator-owned keys reserved and the carrier stripped before the manifest is written so its published shape is unchanged. Both maps opt out; the hint is gone from both. --- .../src/composables/useDashboardLayout.js | 69 +++++++++++++++++-- .../dashboard-plus-grid.js | 51 +++++++------- .../research-dashboard/research-dashboard.js | 35 +++++----- 3 files changed, 105 insertions(+), 50 deletions(-) diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js index bf7b13ebf..9fb94647b 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js @@ -129,6 +129,41 @@ export function useDashboardLayout(options = {}) { const narrow = () => !!unref(isNarrow) const inPageScroll = () => !!unref(pageScroll) + // ── what --rd-shell-h CURRENTLY RESOLVES TO (BUG-SHELL-HANDLE-SNAPS-144PX) ─────────────────── + // The shell drag must anchor on the budget the CSS is resolving RIGHT NOW, or the first frame + // "corrects" from a wrong anchor and the user sees height they did not drag. Two sources, in + // priority order, because the variable and the rendered size legitimately disagree: + // + // 1. THE COMPUTED VARIABLE, whenever it is set. --rd-shell-h is a CEILING — it feeds the + // table grid's max-height — and a ceiling is not a floor: if the table has fewer rows than + // the budget allows, the element renders SMALLER than the variable says. MEASURED with a + // restored shellH of 983: the element was 1126 while map+table summed to only 743, because + // the grid had ~240px of budget and no rows to fill it. Anchoring on that 743 snapped the + // variable 983 -> 744 on the first frame — a -239px jump, the mirror image of the +144 one + // this card started from. Whatever the CSS already holds is what the drag must continue + // from, so the pointer only ever ADDS to a value that is already in effect. + // 2. THE MEASURED map + table, only when the variable is unset. Before the first drag the CSS + // is on its stylesheet fallback (`80svh`), which shellH.value cannot stand in for: the 720 + // default only equals 80svh at a 900px viewport, so trusting it would jump by the + // difference at any other window height. + // + // Measuring map + table rather than the shell's own box is deliberate — the shell is + // `height:auto` here and includes the chrome the variable does not budget for. Summing the two + // regions lands on the same span calc(shell-h - map-h - bar - foot) works from, without + // restating the chrome's height as a second number that could drift from the stylesheet. + function currentShellBudget() { + const el = shellRef && shellRef.value + if (!el) return shellH.value + const declared = parseFloat(getComputedStyle(el).getPropertyValue('--rd-shell-h')) + if (Number.isFinite(declared) && declared > 0) return Math.round(declared) + const mapEl = el.querySelector('[data-region="map"]') + const tableEl = el.querySelector('[data-region="table"]') + if (!mapEl || !tableEl) return shellH.value + const h = mapEl.getBoundingClientRect().height + tableEl.getBoundingClientRect().height + // A collapsed/hidden region measures 0; fall back rather than anchoring the drag on nothing. + return h > 0 ? Math.round(h) : shellH.value + } + // ── write / clear the inline CSS custom properties on the shell root ── // --rd-map-h is applied independently of `customized` (grid-mode's facet/rail/table-h gate): // page-scroll is a different layout entirely, with its own untouched-vs-dragged state, so @@ -260,7 +295,26 @@ export function useDashboardLayout(options = {}) { startMapTop = mapRect ? mapRect.top : (e.clientY - mapH.value) mapHCeiling = Math.max(clamps.mapH[0], shellH.value - (TABLE_BAR_H + TABLE_MIN_H)) } - const startShellTop = isShellResize ? rect.top : 0 + // ★ DELTA-ANCHORED ON THE LIVE BUDGET (BUG-SHELL-HANDLE-SNAPS-144PX-ON-FIRST-FRAME). + // MEASURED at 1440x900: a 1px drag grew the element 144px. TWO defects stacked here, and + // fixing only the first leaves the number bit-for-bit unchanged — which is the clue that + // named the second. + // + // 1. POINTER-ABSOLUTE math. The old line set shellH to (pointerY - shellTop), treating the + // cursor's Y AS the new height. That is only correct if the handle sits exactly shellH + // px below the shell's top, and it does not. Fixed by anchoring on a start value and + // adding the pointer DELTA. + // 2. THE WRONG ANCHOR — the actual source of the 144. Anchoring on the element's measured + // height is the obvious move and is wrong, because --rd-shell-h IS NOT THE ELEMENT'S + // HEIGHT. The shell is `height:auto` in page-scroll mode (.rd-shell.rd-page-scroll) and + // nothing reads --rd-shell-h as a height; its ONLY consumer is the table grid's + // max-height: calc(--rd-shell-h - --rd-map-h - bar - foot). So the variable budgets + // MAP + TABLE and excludes the chrome above them (topbar 52 + filters 55 + stats 30 = + // 141px measured). Seeding it with the measured 863 published a budget 144px too large: + // the grid's max-height jumped 300 -> 444 on the FIRST frame and the element grew with + // it. 863 - 719 = 144 is not a coincidence — it is the chrome, double-counted. + const startShellY = e.clientY + const startShellH = isShellResize ? currentShellBudget() : shellH.value try { handleEl && handleEl.setPointerCapture && handleEl.setPointerCapture(e.pointerId) } catch (_) {} // ── A11Y / PHOTOSENSITIVITY (BUG-RESIZE-STROBE): mark the drag as LIVE ── @@ -312,11 +366,14 @@ export function useDashboardLayout(options = {}) { // The NEW shell handle — spans the whole element's bottom edge (research-dashboard.vue's // .rd-rz-shell), the boundary with whatever a host stacks below (e.g. the people-groups // grid in dashboard-plus-grid.vue). Same fixed-top / 1:1-follow pattern as the map handle - // above, rooted at the SHELL's own top instead of the map's: the pointer's Y position IS - // the shell's new bottom edge. This is the ONLY axis that changes --rd-shell-h, i.e. the - // only handle that changes the element's total height — the map/table divider above must - // never do this (see its own comment). - shellH.value = Math.round(clamp(ev.clientY - startShellTop, clamps.shellH)) + // above. This is the ONLY axis that changes --rd-shell-h, i.e. the only handle that + // changes the element's total height — the map/table divider above must never do this + // (see its own comment). + // DELTA from the live start budget, NOT the pointer's absolute Y: unlike the map handle, + // this variable is not a distance from a fixed top edge, so there is no "pointer Y IS the + // new value" identity to exploit — assuming one produced the 144px snap (see the note on + // startShellH above). + shellH.value = Math.round(clamp(startShellH + (ev.clientY - startShellY), clamps.shellH)) shellHCustomized.value = true } applyVars() diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js index d8e333a73..6e9e9db53 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js @@ -2,45 +2,45 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Zr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const We={},qo=[],Bt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Qr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},zu=Object.prototype.hasOwnProperty,Ge=(e,t)=>zu.call(e,t),Ce=Array.isArray,_o=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Le=e=>typeof e=="function",Je=e=>typeof e=="string",Nt=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",Ra=e=>(He(e)||Le(e))&&Le(e.then)&&Le(e.catch),Fa=Object.prototype.toString,hn=e=>Fa.call(e),Uu=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",es=e=>Je(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Zr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Bu=/-\w/g,wt=rr(e=>e.replace(Bu,t=>t.slice(1).toUpperCase())),Gu=/\B([A-Z])/g,St=rr(e=>e.replace(Gu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ts=rr(e=>e?`on${Ma(e)}`:""),Gt=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},os=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Je(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(Ce(e)){const t={};for(let o=0;o{if(o){const n=o.split(Hu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function je(e){let t="";if(Je(e))t=e;else if(Ce(e))for(let o=0;o!!(e&&e.__v_isRef===!0),de=e=>Je(e)?e:e==null?"":Ce(e)||He(e)&&(e.toString===Fa||!Le(e.toString))?Ba(e)?de(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):_o(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[ns(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ns(o))}:Nt(t)?ns(t):He(t)&&!Ce(t)&&!nr(t)?String(t):t,ns=(e,t="")=>{var o;return Nt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Zr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const We={},qo=[],Bt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Qr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},zu=Object.prototype.hasOwnProperty,Ge=(e,t)=>zu.call(e,t),Ce=Array.isArray,_o=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Le=e=>typeof e=="function",Je=e=>typeof e=="string",Nt=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",Fa=e=>(He(e)||Le(e))&&Le(e.then)&&Le(e.catch),Ra=Object.prototype.toString,hn=e=>Ra.call(e),Uu=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",es=e=>Je(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Zr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Bu=/-\w/g,wt=rr(e=>e.replace(Bu,t=>t.slice(1).toUpperCase())),Gu=/\B([A-Z])/g,St=rr(e=>e.replace(Gu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ts=rr(e=>e?`on${Ma(e)}`:""),Gt=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},os=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Je(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(Ce(e)){const t={};for(let o=0;o{if(o){const n=o.split(Hu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function je(e){let t="";if(Je(e))t=e;else if(Ce(e))for(let o=0;o!!(e&&e.__v_isRef===!0),de=e=>Je(e)?e:e==null?"":Ce(e)||He(e)&&(e.toString===Ra||!Le(e.toString))?Ba(e)?de(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):_o(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[ns(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ns(o))}:Nt(t)?ns(t):He(t)&&!Ce(t)&&!nr(t)?String(t):t,ns=(e,t="")=>{var o;return Nt(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 ct;class qa{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&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.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(ct===this)ct=this.prevScope;else{let t=ct;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(_n){let t=_n;for(_n=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 Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),is(n),Ju(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ls(e))))return;e.flags|=2;const t=e.dep,o=Ke,n=It;Ke=e,It=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ke=o,It=n,Xa(e),e.flags&=-3}}function is(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)is(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ju(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let It=!0;const Za=[];function qt(){Za.push(It),It=!1}function Ht(){const e=Za.pop();It=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ke;Ke=void 0;try{t()}finally{Ke=o}}}let yn=0;class Zu{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 cs{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(!Ke||!It||Ke===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ke)o=this.activeLink=new Zu(Ke,this),Ke.deps?(o.prevDep=Ke.depsTail,Ke.depsTail.nextDep=o,Ke.depsTail=o):Ke.deps=Ke.depsTail=o,el(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=Ke.depsTail,o.nextDep=void 0,Ke.depsTail.nextDep=o,Ke.depsTail=o,Ke.deps===o&&(Ke.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){ss();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{as()}}}function el(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)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const us=new WeakMap,Po=Symbol(""),ds=Symbol(""),vn=Symbol("");function pt(e,t,o){if(It&&Ke){let n=us.get(e);n||us.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new cs),r.map=n,r.key=o),r.track()}}function eo(e,t,o,n,r,s){const a=us.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(ss(),t==="clear")a.forEach(l);else{const i=Ce(e),c=i&&es(o);if(i&&o==="length"){const u=Number(n);a.forEach((f,m)=>{(m==="length"||m===vn||!Nt(m)&&m>=u)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"delete":i||(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"set":_o(e)&&l(a.get(Po));break}}as()}function Ho(e){const t=ze(e);return t===e?t:(pt(t,"iterate",vn),Ct(e)?t:t.map(Rt))}function ir(e){return pt(e=ze(e),"iterate",vn),e}function Vt(e,t){return oo(e)?Vo(Io(e)?Rt(t):t):Rt(t)}const Qu={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>Vt(this,e))},concat(...e){return Ho(this).concat(...e.map(t=>Ce(t)?Ho(t):t))},entries(){return fs(this,"entries",e=>(e[1]=Vt(this,e[1]),e))},every(e,t){return to(this,"every",e,t,void 0,arguments)},filter(e,t){return to(this,"filter",e,t,o=>o.map(n=>Vt(this,n)),arguments)},find(e,t){return to(this,"find",e,t,o=>Vt(this,o),arguments)},findIndex(e,t){return to(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return to(this,"findLast",e,t,o=>Vt(this,o),arguments)},findLastIndex(e,t){return to(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return to(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ho(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return to(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return to(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return Ho(this).toReversed()},toSorted(e){return Ho(this).toSorted(e)},toSpliced(...e){return Ho(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return fs(this,"values",e=>Vt(this,e))}};function fs(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const ed=Array.prototype;function to(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==ed[t]){const f=i.apply(e,s);return l?Rt(f):f}let c=o;a!==e&&(l?c=function(f,m){return o.call(this,Vt(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,f){return l&&(l=!1,c=Vt(e,c)),o.call(this,c,Vt(e,u),f,e)}):o.length>3&&(a=function(c,u,f){return o.call(this,c,u,f,e)}));const i=r[t](a,...n);return l?Vt(e,i):i}function ps(e,t,o){const n=ze(e);pt(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&ms(o[0])?(o[0]=ze(o[0]),n[t](...o)):r}function xn(e,t,o=[]){qt(),ss();const n=ze(e)[t].apply(e,o);return as(),Ht(),n}const td=Zr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt));function od(e){Nt(e)||(e=String(e));const t=ze(this);return pt(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ce(t);if(!r){let i;if(a&&(i=Qu[o]))return i;if(o==="hasOwnProperty")return od}const l=Reflect.get(t,o,at(t)?t:n);if((Nt(o)?ol.has(o):td(o))||(r||pt(t,"get",o),s))return l;if(at(l)){const i=a&&es(o)?l:l.value;return r&&He(i)?hs(i):i}return He(l)?r?hs(l):No(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ce(t)&&es(o);if(!this._isShallow){const c=oo(s);if(!Ct(n)&&!oo(n)&&(s=ze(s),n=ze(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function ld(e,t,o){return function(...n){const r=this.__v_raw,s=ze(r),a=_o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?gs:t?Vo:Rt;return!t&&pt(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:l?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function id(e,t){const o={get(r){const s=this.__v_raw,a=ze(s),l=ze(r);e||(Gt(r,l)&&pt(a,"get",r),pt(a,"get",l));const{has:i}=cr(a),c=t?gs:e?Vo:Rt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&pt(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Gt(r,l)&&pt(a,"has",r),pt(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=ze(l),c=t?gs:e?Vo:Rt;return!e&&pt(i,"iterate",Po),l.forEach((u,f)=>r.call(s,c(u),c(f),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=ze(this),a=cr(s),l=ze(r),i=!t&&!Ct(r)&&!oo(r)?l:r;return a.has.call(s,i)||Gt(r,i)&&a.has.call(s,r)||Gt(l,i)&&a.has.call(s,l)||(s.add(i),eo(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!oo(s)&&(s=ze(s));const a=ze(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=ze(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Gt(s,u)&&eo(a,"set",r,s):eo(a,"add",r,s),this},delete(r){const s=ze(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=ze(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&eo(s,"delete",r,void 0),c},clear(){const r=ze(this),s=r.size!==0,a=r.clear();return s&&eo(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ld(r,e,t)}),o}function dr(e,t){const o=id(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ge(o,r)&&r in n?o:n,r,s)}const cd={get:dr(!1,!1)},ud={get:dr(!1,!0)},dd={get:dr(!0,!1)},fd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function pd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return oo(e)?e:fr(e,!1,nd,cd,al)}function gd(e){return fr(e,!1,sd,ud,ll)}function hs(e){return fr(e,!0,rd,dd,il)}function aw(e){return fr(e,!0,ad,fd,cl)}function fr(e,t,o,n,r){if(!He(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=pd(Uu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function Io(e){return oo(e)?Io(e.__v_raw):!!(e&&e.__v_isReactive)}function oo(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function ms(e){return e?!!e.__v_raw:!1}function ze(e){const t=e&&e.__v_raw;return t?ze(t):e}function ul(e){return!Ge(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Rt=e=>He(e)?No(e):e,Vo=e=>He(e)?hs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function ue(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new hd(e,t)}class hd{constructor(t,o){this.dep=new cs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ze(t),this._value=o?t:Rt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||oo(t);t=n?t:ze(t),Gt(t,o)&&(this._rawValue=t,this._value=n?t:Rt(t),this.dep.trigger())}}function fe(e){return at(e)?e.value:e}const md={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return Io(e)?e:new Proxy(e,md)}class bd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new cs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ke!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _d(e,t,o=!1){let n,r;return Le(e)?n=e:(n=e.get,r=e.set),new bd(n,r,o)}const pr={},gr=new WeakMap;let Ro;function yd(e,t=!1,o=Ro){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function vd(e,t,o=We){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?no(g,1):no(g);let u,f,m,v,A=!1,x=!1;if(at(e)?(f=()=>e.value,A=Ct(e)):Io(e)?(f=()=>c(e),A=!0):Ce(e)?(x=!0,A=e.some(g=>Io(g)||Ct(g)),f=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Le(g))return i?i(g,2):g()})):Le(e)?t?f=i?()=>i(e,2):e:f=()=>{if(m){qt();try{m()}finally{Ht()}}const g=Ro;Ro=u;try{return i?i(e,3,[v]):e(v)}finally{Ro=g}}:f=Bt,t&&r){const g=f,_=r===!0?1/0:r;f=()=>no(g(),_)}const w=Xu(),L=()=>{u.stop(),w&&w.active&&Qr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const S=g(..._);return L(),S}}let y=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||A||(x?_.some((S,$)=>Gt(S,y[$])):Gt(_,y))){m&&m();const S=Ro;Ro=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Ro=S}}}else u.run()};return l&&l(p),u=new Va(f),u.scheduler=a?()=>a(p,!1):p,v=g=>yd(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?p(!0):y=u.run():a?a(p.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function no(e,t=1/0,o){if(t<=0||!He(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))no(e.value,t,o);else if(Ce(e))for(let n=0;n{no(n,t,o)});else if(nr(e)){for(const n in e)no(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&no(e[n],t,o)}return e}/** +**/let ct;class qa{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&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.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(ct===this)ct=this.prevScope;else{let t=ct;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(_n){let t=_n;for(_n=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 Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),is(n),Ju(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ls(e))))return;e.flags|=2;const t=e.dep,o=Ke,n=It;Ke=e,It=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ke=o,It=n,Xa(e),e.flags&=-3}}function is(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)is(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ju(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let It=!0;const Za=[];function qt(){Za.push(It),It=!1}function Ht(){const e=Za.pop();It=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ke;Ke=void 0;try{t()}finally{Ke=o}}}let yn=0;class Zu{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 cs{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(!Ke||!It||Ke===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ke)o=this.activeLink=new Zu(Ke,this),Ke.deps?(o.prevDep=Ke.depsTail,Ke.depsTail.nextDep=o,Ke.depsTail=o):Ke.deps=Ke.depsTail=o,el(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=Ke.depsTail,o.nextDep=void 0,Ke.depsTail.nextDep=o,Ke.depsTail=o,Ke.deps===o&&(Ke.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){ss();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{as()}}}function el(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)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const us=new WeakMap,Po=Symbol(""),ds=Symbol(""),vn=Symbol("");function pt(e,t,o){if(It&&Ke){let n=us.get(e);n||us.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new cs),r.map=n,r.key=o),r.track()}}function eo(e,t,o,n,r,s){const a=us.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(ss(),t==="clear")a.forEach(l);else{const i=Ce(e),c=i&&es(o);if(i&&o==="length"){const u=Number(n);a.forEach((f,m)=>{(m==="length"||m===vn||!Nt(m)&&m>=u)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"delete":i||(l(a.get(Po)),_o(e)&&l(a.get(ds)));break;case"set":_o(e)&&l(a.get(Po));break}}as()}function Ho(e){const t=ze(e);return t===e?t:(pt(t,"iterate",vn),Ct(e)?t:t.map(Ft))}function ir(e){return pt(e=ze(e),"iterate",vn),e}function Vt(e,t){return oo(e)?Vo(Io(e)?Ft(t):t):Ft(t)}const Qu={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>Vt(this,e))},concat(...e){return Ho(this).concat(...e.map(t=>Ce(t)?Ho(t):t))},entries(){return fs(this,"entries",e=>(e[1]=Vt(this,e[1]),e))},every(e,t){return to(this,"every",e,t,void 0,arguments)},filter(e,t){return to(this,"filter",e,t,o=>o.map(n=>Vt(this,n)),arguments)},find(e,t){return to(this,"find",e,t,o=>Vt(this,o),arguments)},findIndex(e,t){return to(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return to(this,"findLast",e,t,o=>Vt(this,o),arguments)},findLastIndex(e,t){return to(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return to(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ho(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return to(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return to(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return Ho(this).toReversed()},toSorted(e){return Ho(this).toSorted(e)},toSpliced(...e){return Ho(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return fs(this,"values",e=>Vt(this,e))}};function fs(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const ed=Array.prototype;function to(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==ed[t]){const f=i.apply(e,s);return l?Ft(f):f}let c=o;a!==e&&(l?c=function(f,m){return o.call(this,Vt(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,f){return l&&(l=!1,c=Vt(e,c)),o.call(this,c,Vt(e,u),f,e)}):o.length>3&&(a=function(c,u,f){return o.call(this,c,u,f,e)}));const i=r[t](a,...n);return l?Vt(e,i):i}function ps(e,t,o){const n=ze(e);pt(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&ms(o[0])?(o[0]=ze(o[0]),n[t](...o)):r}function xn(e,t,o=[]){qt(),ss();const n=ze(e)[t].apply(e,o);return as(),Ht(),n}const td=Zr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt));function od(e){Nt(e)||(e=String(e));const t=ze(this);return pt(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ce(t);if(!r){let i;if(a&&(i=Qu[o]))return i;if(o==="hasOwnProperty")return od}const l=Reflect.get(t,o,at(t)?t:n);if((Nt(o)?ol.has(o):td(o))||(r||pt(t,"get",o),s))return l;if(at(l)){const i=a&&es(o)?l:l.value;return r&&He(i)?hs(i):i}return He(l)?r?hs(l):No(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ce(t)&&es(o);if(!this._isShallow){const c=oo(s);if(!Ct(n)&&!oo(n)&&(s=ze(s),n=ze(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function ld(e,t,o){return function(...n){const r=this.__v_raw,s=ze(r),a=_o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?gs:t?Vo:Ft;return!t&&pt(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:l?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function id(e,t){const o={get(r){const s=this.__v_raw,a=ze(s),l=ze(r);e||(Gt(r,l)&&pt(a,"get",r),pt(a,"get",l));const{has:i}=cr(a),c=t?gs:e?Vo:Ft;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&pt(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Gt(r,l)&&pt(a,"has",r),pt(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=ze(l),c=t?gs:e?Vo:Ft;return!e&&pt(i,"iterate",Po),l.forEach((u,f)=>r.call(s,c(u),c(f),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=ze(this),a=cr(s),l=ze(r),i=!t&&!Ct(r)&&!oo(r)?l:r;return a.has.call(s,i)||Gt(r,i)&&a.has.call(s,r)||Gt(l,i)&&a.has.call(s,l)||(s.add(i),eo(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!oo(s)&&(s=ze(s));const a=ze(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=ze(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Gt(s,u)&&eo(a,"set",r,s):eo(a,"add",r,s),this},delete(r){const s=ze(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=ze(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&eo(s,"delete",r,void 0),c},clear(){const r=ze(this),s=r.size!==0,a=r.clear();return s&&eo(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ld(r,e,t)}),o}function dr(e,t){const o=id(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ge(o,r)&&r in n?o:n,r,s)}const cd={get:dr(!1,!1)},ud={get:dr(!1,!0)},dd={get:dr(!0,!1)},fd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function pd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function No(e){return oo(e)?e:fr(e,!1,nd,cd,al)}function gd(e){return fr(e,!1,sd,ud,ll)}function hs(e){return fr(e,!0,rd,dd,il)}function aw(e){return fr(e,!0,ad,fd,cl)}function fr(e,t,o,n,r){if(!He(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=pd(Uu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function Io(e){return oo(e)?Io(e.__v_raw):!!(e&&e.__v_isReactive)}function oo(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function ms(e){return e?!!e.__v_raw:!1}function ze(e){const t=e&&e.__v_raw;return t?ze(t):e}function ul(e){return!Ge(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Ft=e=>He(e)?No(e):e,Vo=e=>He(e)?hs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function ue(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new hd(e,t)}class hd{constructor(t,o){this.dep=new cs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:ze(t),this._value=o?t:Ft(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||oo(t);t=n?t:ze(t),Gt(t,o)&&(this._rawValue=t,this._value=n?t:Ft(t),this.dep.trigger())}}function fe(e){return at(e)?e.value:e}const md={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return Io(e)?e:new Proxy(e,md)}class bd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new cs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ke!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _d(e,t,o=!1){let n,r;return Le(e)?n=e:(n=e.get,r=e.set),new bd(n,r,o)}const pr={},gr=new WeakMap;let Fo;function yd(e,t=!1,o=Fo){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function vd(e,t,o=We){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?no(g,1):no(g);let u,f,m,v,A=!1,x=!1;if(at(e)?(f=()=>e.value,A=Ct(e)):Io(e)?(f=()=>c(e),A=!0):Ce(e)?(x=!0,A=e.some(g=>Io(g)||Ct(g)),f=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Le(g))return i?i(g,2):g()})):Le(e)?t?f=i?()=>i(e,2):e:f=()=>{if(m){qt();try{m()}finally{Ht()}}const g=Fo;Fo=u;try{return i?i(e,3,[v]):e(v)}finally{Fo=g}}:f=Bt,t&&r){const g=f,_=r===!0?1/0:r;f=()=>no(g(),_)}const w=Xu(),L=()=>{u.stop(),w&&w.active&&Qr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const S=g(..._);return L(),S}}let y=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||A||(x?_.some((S,$)=>Gt(S,y[$])):Gt(_,y))){m&&m();const S=Fo;Fo=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Fo=S}}}else u.run()};return l&&l(p),u=new Va(f),u.scheduler=a?()=>a(p,!1):p,v=g=>yd(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?p(!0):y=u.run():a?a(p.bind(null,!0),!0):u.run(),L.pause=u.pause.bind(u),L.resume=u.resume.bind(u),L.stop=L,L}function no(e,t=1/0,o){if(t<=0||!He(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))no(e.value,t,o);else if(Ce(e))for(let n=0;n{no(n,t,o)});else if(nr(e)){for(const n in e)no(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&no(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const kn=[];let bs=!1;function lw(e,...t){if(bs)return;bs=!0,qt();const o=kn.length?kn[kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=xd();if(n)Wo(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${ii(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...wd(r)),console.warn(...s)}Ht(),bs=!1}function xd(){let e=kn[kn.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 wd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...kd(o))}),t}function kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...$d(e.props),s]:[r+s]}function $d(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Je(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,ze(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ze(t),o?t:[`${e}=`,t])}function Wo(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function Ft(e,t,o,n){if(Le(e)){const r=Wo(e,t,o,n);return r&&Ra(r)&&r.catch(s=>{hr(s,t,o)}),r}if(Ce(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(Ed(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function Ad(e){if(!Ce(e))yo&&e.id===-1?yo.splice(Yo+1,0,e):e.flags&1||(Ko.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Ko.length=0,yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Wt=0;Wt{n._d&&$r(-1);const s=br(t),a=ao.length;let l;try{l=e(...r)}finally{for(let i=ao.length;i>a;i--)Fs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Tt(e,t){if(gt===null)return e;const o=Cr(gt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Le(t)?t.call(n&&n.proxy):t}}const Cd=Symbol.for("v-scx"),Td=()=>Fe(Cd);function ut(e,t,o){return vl(e,t,o)}function vl(e,t,o=We){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Td();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Bt,v.resume=Bt,v.pause=Bt,v}}const u=yt;l.call=(v,A,x)=>Ft(v,u,A,x);let f=!1;s==="post"?l.scheduler=v=>{_t(v,u&&u.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(v,A)=>{A?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=vd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ld(e,t,o){const n=this.proxy,r=Je(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Le(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Mo=e=>e&&(e.disabled||e.disabled===""),Pd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const o=e&&e.to;return Je(o)?t?t(o):null:o},Nd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:f,pbc:m,o:{insert:v,querySelector:A,createText:x,createComment:w,parentNode:L}}=c,y=Mo(t.props);let{dynamicChildren:p}=t;const g=($,D,I)=>{$.shapeFlag&16&&u($.children,D,I,r,s,a,l,i)},_=($=t)=>{const D=Mo($.props),I=$.target=ys($.props,A),H=vs(I,$,x,v);I&&(a!=="svg"&&kl(I)?a="svg":a!=="mathml"&&$l(I)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(I),D||(g($,I,H),En($,!1)))},S=$=>{const D=()=>{if(xo.get($)===D){if(xo.delete($),Mo($.props)){const I=L($.el)||o;g($,I,$.anchor),En($,!0)}_($)}};xo.set($,D),_t(D,s)};if(e==null){const $=t.el=x(""),D=t.anchor=x("");if(v($,o,n),v(D,o,n),Pd(t.props)||s&&s.pendingBranch){S(t);return}y&&(g(t,o,D),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,D=xo.get(e);if(D){D.flags|=8,xo.delete(e),S(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,H=t.targetAnchor=e.targetAnchor,Q=Mo(e.props),se=Q?o:I,_e=Q?$:H;if(a==="svg"||kl(I)?a="svg":(a==="mathml"||$l(I))&&(a="mathml"),p?(m(e.dynamicChildren,p,se,r,s,a,l),Is(e,t,!0)):i||f(e,t,se,_e,r,s,a,l,!1),y)Q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=ys(t.props,A);q&&(t.target=q,yr(t,q,null,c,0))}else Q&&yr(t,I,H,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:f,props:m}=e,v=Mo(m),A=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),f&&(r(c),r(u)),s&&r(i),!x&&(v||f)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Yt){t=o;break}}return t}function Sl(e){if(!ks(e))return _r(e.type)&&e.children?Fd(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&&Le(o.default))return o.default()}}function ws(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ws(_r(o.type)&&Sl(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 An(e,t){return Le(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(Ce(e)){e.forEach((x,w)=>Cn(x,t&&(Ce(t)?t[w]:t),o,n,r));return}if(Xo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===We?l.refs={}:l.refs,f=l.setupState,m=ze(f),v=f===We?Na:x=>Al(u,x)?!1:Ge(m,x),A=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(f[c]=null);else if(at(c)){const x=t;A(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Le(i))Wo(i,l,12,[a,u]);else{const x=Je(i),w=at(i);if(x||w){const L=()=>{if(e.f){const y=x?v(i)?f[i]:u[i]:A()||!e.k?i.value:u[e.k];if(r)Ce(y)&&Qr(y,s);else if(Ce(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(f[i]=u[i]);else{const p=[s];A(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(f[i]=a)):w&&(A(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{L(),vr.delete(e)};y.id=-1,vr.set(e,y),_t(y,o)}else Cl(e),L()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Xo=e=>!!e.type.__asyncLoader,ks=e=>e.type.__isKeepAlive;function Md(e,t){Tl(e,"a",t)}function Od(e,t){Tl(e,"da",t)}function Tl(e,t,o=yt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ks(r.parent.vnode)&&Dd(n,t,o,r),r=r.parent}}function Dd(e,t,o,n){const r=xr(t,e,n,!0);$s(()=>{Qr(n[t],r)},o)}function xr(e,t,o=yt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const l=Mn(o),i=Ft(t,o,e,a);return l(),Ht(),i});return n?r.unshift(s):r.push(s),s}}const so=e=>(t,o=yt)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),mt=so("m"),jd=so("bu"),zd=so("u"),Kt=so("bum"),$s=so("um"),Ud=so("sp"),Bd=so("rtg"),Gd=so("rtc");function qd(e,t=yt){xr("ec",e,t)}const Hd=Symbol.for("v-ndc");function Ye(e,t,o,n){let r;const s=o,a=Ce(e);if(a||Je(e)){const l=a&&Io(e);let i=!1,c=!1;l&&(i=!Ct(e),c=oo(e),e=ir(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),V(),wo(Se,null,[Me("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=ao.length;V();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=wo(Se,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=ao.length;u>l;u--)Fs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Yt||t.type===Se&&!Pl(t.children)):!0)?e:null}const Ss=e=>e?si(e)?Cr(e):Ss(e.parent):null,Tn=tt(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=>Ss(e.parent),$root:e=>Ss(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fl(e),$forceUpdate:e=>e.f||(e.f=()=>{_s(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ld.bind(e)}),Es=(e,t)=>e!==We&&!e.__isScriptSetup&&Ge(e,t),Vd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Es(n,t))return a[t]=1,n[t];if(r!==We&&Ge(r,t))return a[t]=2,r[t];if(Ge(s,t))return a[t]=3,s[t];if(o!==We&&Ge(o,t))return a[t]=4,o[t];As&&(a[t]=0)}}const c=Tn[t];let u,f;if(c)return t==="$attrs"&&pt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==We&&Ge(o,t))return a[t]=4,o[t];if(f=i.config.globalProperties,Ge(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Es(r,t)?(r[t]=o,!0):n!==We&&Ge(n,t)?(n[t]=o,!0):Ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==We&&l[0]!=="$"&&Ge(e,l)||Es(t,l)||Ge(s,l)||Ge(n,l)||Ge(Tn,l)||Ge(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ge(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let As=!0;function Wd(e){const t=Fl(e),o=e.proxy,n=e.ctx;As=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:v,updated:A,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:S,renderTriggered:$,errorCaptured:D,serverPrefetch:I,expose:H,inheritAttrs:Q,components:se,directives:_e,filters:q}=t;if(c&&Kd(c,n,null),a)for(const W in a){const T=a[W];Le(T)&&(n[W]=T.bind(o))}if(r){const W=r.call(o,o);He(W)&&(e.data=No(W))}if(As=!0,s)for(const W in s){const T=s[W],B=Le(T)?T.bind(o,o):Le(T.get)?T.get.bind(o,o):Bt,M=!Le(T)&&Le(T.set)?T.set.bind(o):Bt,P=le({get:B,set:M});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>P.value,set:Y=>P.value=Y})}if(l)for(const W in l)Rl(l[W],n,o,W);if(i){const W=Le(i)?i.call(o):i;Reflect.ownKeys(W).forEach(T=>{ro(T,W[T])})}u&&Il(u,e,"c");function K(W,T){Ce(T)?T.forEach(B=>W(B.bind(o))):T&&W(T.bind(o))}if(K(Ll,f),K(mt,m),K(jd,v),K(zd,A),K(Md,x),K(Od,w),K(qd,D),K(Gd,S),K(Bd,$),K(Kt,y),K($s,g),K(Ud,I),Ce(H))if(H.length){const W=e.exposed||(e.exposed={});H.forEach(T=>{Object.defineProperty(W,T,{get:()=>o[T],set:B=>o[T]=B,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===Bt&&(e.render=_),Q!=null&&(e.inheritAttrs=Q),se&&(e.components=se),_e&&(e.directives=_e),I&&El(e)}function Kd(e,t,o=Bt){Ce(e)&&(e=Cs(e));for(const n in e){const r=e[n];let s;He(r)?"default"in r?s=Fe(r.from||n,r.default,!0):s=Fe(r.from||n):s=Fe(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){Ft(Ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Rl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Je(e)){const s=t[e];Le(s)&&ut(r,s)}else if(Le(e))ut(r,e.bind(o));else if(He(e))if(Ce(e))e.forEach(s=>Rl(s,t,o,n));else{const s=Le(e.handler)?e.handler.bind(o):t[e.handler];Le(s)&&ut(r,s,e)}}function Fl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),He(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Yd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Yd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:bt,created:bt,beforeMount:bt,mounted:bt,beforeUpdate:bt,updated:bt,beforeDestroy:bt,beforeUnmount:bt,destroyed:bt,unmounted:bt,activated:bt,deactivated:bt,errorCaptured:bt,serverPrefetch:bt,components:Ln,directives:Ln,watch:Jd,provide:Ml,inject:Xd};function Ml(e,t){return t?e?function(){return tt(Le(e)?e.call(this,this):e,Le(t)?t.call(this,this):t)}:t:e}function Xd(e,t){return Ln(Cs(e),Cs(t))}function Cs(e){if(Ce(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${wt(t)}Modifiers`]||e[`${St(t)}Modifiers`];function tf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let r=o;const s=t.startsWith("update:"),a=s&&ef(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Je(u)?u.trim():u)),a.number&&(r=r.map(os)));let l,i=n[l=ts(t)]||n[l=ts(wt(t))];!i&&s&&(i=n[l=ts(St(t))]),i&&Ft(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ft(c,e,6,r)}}const of=new WeakMap;function jl(e,t,o=!1){const n=o?of:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Le(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(He(e)&&n.set(e,null),null):(Ce(s)?s.forEach(i=>a[i]=null):tt(a,s),He(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ge(e,t[0].toLowerCase()+t.slice(1))||Ge(e,St(t))||Ge(e,t))}function iw(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:f,data:m,setupState:v,ctx:A,inheritAttrs:x}=e,w=br(e);let L,y;try{if(o.shapeFlag&4){const g=r||n,_=g;L=Xt(c.call(_,g,u,f,v,m,A)),y=l}else{const g=t;L=Xt(g.length>1?g(f,{attrs:l,slots:a,emit:i}):g(f,null)),y=t.props?l:nf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Yt)}let p=L;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=rf(y,s)),p=Zo(p,y,!1,!0))}if(o.dirs&&(p=Zo(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(p.type)&&Sl(p)||p;ws(g,o.transition)}return L=p,br(w),L}const nf=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},rf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function sf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let f=0;fObject.create(Gl),Hl=e=>Object.getPrototypeOf(e)===Gl;function lf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Vl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:gd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function cf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=ze(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[m,v]=Wl(f,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return He(e)&&n.set(e,qo),qo;if(Ce(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ps=e=>Ce(e)?e.map(Xt):[Xt(e)],df=(e,t,o)=>{if(t._n)return t;const n=vo((...r)=>Ps(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ls(r))continue;const s=e[r];if(Le(s))t[r]=df(r,s,n);else if(s!=null){const a=Ps(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ps(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ls(n))&&(e[n]=t[n])},ff=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},pf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=We;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ls(l)&&a[l]==null&&delete r[l]},_t=_f;function gf(e){return hf(e)}function hf(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:v=Bt,insertStaticContent:A}=e,x=(b,C,k,G=null,X=null,ne=null,z=void 0,j=null,d=!!C.dynamicChildren)=>{if(b===C)return;b&&!Rn(b,C)&&(G=Ee(b),Y(b,X,ne,!0),b=null),C.patchFlag===-2&&(d=!1,C.dynamicChildren=null);const{type:h,ref:R,shapeFlag:U}=C;switch(h){case Pn:w(b,C,k,G);break;case Yt:L(b,C,k,G);break;case Rs:b==null&&y(C,k,G,z);break;case Se:se(b,C,k,G,X,ne,z,j,d);break;default:U&1?_(b,C,k,G,X,ne,z,j,d):U&6?_e(b,C,k,G,X,ne,z,j,d):(U&64||U&128)&&h.process(b,C,k,G,X,ne,z,j,d,pe)}R!=null&&X?Cn(R,b&&b.ref,ne,C||b,!C):R==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,C,k,G)=>{if(b==null)n(C.el=l(C.children),k,G);else{const X=C.el=b.el;C.children!==b.children&&c(X,C.children)}},L=(b,C,k,G)=>{b==null?n(C.el=i(C.children||""),k,G):C.el=b.el},y=(b,C,k,G)=>{[b.el,b.anchor]=A(b.children,C,k,G,b.el,b.anchor)},p=({el:b,anchor:C},k,G)=>{let X;for(;b&&b!==C;)X=m(b),n(b,k,G),b=X;n(C,k,G)},g=({el:b,anchor:C})=>{let k;for(;b&&b!==C;)k=m(b),r(b),b=k;r(C)},_=(b,C,k,G,X,ne,z,j,d)=>{if(C.type==="svg"?z="svg":C.type==="math"&&(z="mathml"),b==null)S(C,k,G,X,ne,z,j,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),I(b,C,X,ne,z,j,d)}finally{h&&h._endPatch()}}},S=(b,C,k,G,X,ne,z,j)=>{let d,h;const{props:R,shapeFlag:U,transition:ee,dirs:re}=b;if(d=b.el=a(b.type,ne,R&&R.is,R),U&8?u(d,b.children):U&16&&D(b.children,d,null,G,X,Ns(b,ne),z,j),re&&Fo(b,null,G,"created"),$(d,b,b.scopeId,z,G),R){for(const E in R)E!=="value"&&!mn(E)&&s(d,E,null,R[E],ne,G);"value"in R&&s(d,"value",null,R.value,ne),(h=R.onVnodeBeforeMount)&&Jt(h,G,b)}re&&Fo(b,null,G,"beforeMount");const O=mf(X,ee);O&&ee.beforeEnter(d),n(d,C,k),((h=R&&R.onVnodeMounted)||O||re)&&_t(()=>{try{h&&Jt(h,G,b),O&&ee.enter(d),re&&Fo(b,null,G,"mounted")}finally{}},X)},$=(b,C,k,G,X)=>{if(k&&v(b,k),G)for(let ne=0;ne{for(let h=d;h{const j=C.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:R}=C;d|=b.patchFlag&16;const U=b.props||We,ee=C.props||We;let re;if(k&&Do(k,!1),(re=ee.onVnodeBeforeUpdate)&&Jt(re,k,C,b),R&&Fo(C,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,z=!1,h=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&u(j,""),h?H(b.dynamicChildren,h,j,k,G,Ns(C,X),ne):z||T(b,C,j,null,k,G,Ns(C,X),ne,!1),d>0){if(d&16)Q(j,U,ee,k,X);else if(d&2&&U.class!==ee.class&&s(j,"class",null,ee.class,X),d&4&&s(j,"style",U.style,ee.style,X),d&8){const O=C.dynamicProps;for(let E=0;E{re&&Jt(re,k,C,b),R&&Fo(C,b,k,"updated")},G)},H=(b,C,k,G,X,ne,z)=>{for(let j=0;j{if(C!==k){if(C!==We)for(const ne in C)!mn(ne)&&!(ne in k)&&s(b,ne,C[ne],null,X,G);for(const ne in k){if(mn(ne))continue;const z=k[ne],j=C[ne];z!==j&&ne!=="value"&&s(b,ne,j,z,X,G)}"value"in k&&s(b,"value",C.value,k.value,X)}},se=(b,C,k,G,X,ne,z,j,d)=>{const h=C.el=b?b.el:l(""),R=C.anchor=b?b.anchor:l("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:re}=C;re&&(j=j?j.concat(re):re),b==null?(n(h,k,G),n(R,k,G),D(C.children||[],k,R,X,ne,z,j,d)):U>0&&U&64&&ee&&b.dynamicChildren&&b.dynamicChildren.length===ee.length?(H(b.dynamicChildren,ee,k,X,ne,z,j),(C.key!=null||X&&C===X.subTree)&&Is(b,C,!0)):T(b,C,k,R,X,ne,z,j,d)},_e=(b,C,k,G,X,ne,z,j,d)=>{C.slotScopeIds=j,b==null?C.shapeFlag&512?X.ctx.activate(C,k,G,z,d):q(C,k,G,X,ne,z,d):oe(b,C,d)},q=(b,C,k,G,X,ne,z)=>{const j=b.component=$f(b,G,X);if(ks(b)&&(j.ctx.renderer=pe),Sf(j,!1,z),j.asyncDep){if(X&&X.registerDep(j,K,z),!b.el){const d=j.subTree=Me(Yt);L(null,d,C,k),b.placeholder=d.el}}else K(j,b,C,k,X,ne,z)},oe=(b,C,k)=>{const G=C.component=b.component;if(sf(b,C,k))if(G.asyncDep&&!G.asyncResolved){W(G,C,k);return}else G.next=C,G.update();else C.el=b.el,G.vnode=C},K=(b,C,k,G,X,ne,z)=>{const j=()=>{if(b.isMounted){let{next:U,bu:ee,u:re,parent:O,vnode:E}=b;{const Be=Zl(b);if(Be){U&&(U.el=E.el,W(b,U,z)),Be.asyncDep.then(()=>{_t(()=>{b.isUnmounted||h()},X)});return}}let te=U,ae;Do(b,!1),U?(U.el=E.el,W(b,U,z)):U=E,ee&&sr(ee),(ae=U.props&&U.props.onVnodeBeforeUpdate)&&Jt(ae,O,U,E),Do(b,!0);const he=zl(b),ve=b.subTree;b.subTree=he,x(ve,he,f(ve.el),Ee(ve),b,X,ne),U.el=he.el,te===null&&af(b,he.el),re&&_t(re,X),(ae=U.props&&U.props.onVnodeUpdated)&&_t(()=>Jt(ae,O,U,E),X)}else{let U;const{el:ee,props:re}=C,{bm:O,m:E,parent:te,root:ae,type:he}=b,ve=Xo(C);Do(b,!1),O&&sr(O),!ve&&(U=re&&re.onVnodeBeforeMount)&&Jt(U,te,C),Do(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(he,b.parent?b.parent.type:void 0);const Be=b.subTree=zl(b);x(null,Be,k,G,b,X,ne),C.el=Be.el}if(E&&_t(E,X),!ve&&(U=re&&re.onVnodeMounted)){const Be=C;_t(()=>Jt(U,te,Be),X)}(C.shapeFlag&256||te&&Xo(te.vnode)&&te.vnode.shapeFlag&256)&&b.a&&_t(b.a,X),b.isMounted=!0,C=k=G=null}};b.scope.on();const d=b.effect=new Va(j);b.scope.off();const h=b.update=d.run.bind(d),R=b.job=d.runIfDirty.bind(d);R.i=b,R.id=b.uid,d.scheduler=()=>_s(R),Do(b,!0),h()},W=(b,C,k)=>{C.component=b;const G=b.vnode.props;b.vnode=C,b.next=null,cf(b,C.props,G,k),pf(b,C.children,k),qt(),ml(b),Ht()},T=(b,C,k,G,X,ne,z,j,d=!1)=>{const h=b&&b.children,R=b?b.shapeFlag:0,U=C.children,{patchFlag:ee,shapeFlag:re}=C;if(ee>0){if(ee&128){M(h,U,k,G,X,ne,z,j,d);return}else if(ee&256){B(h,U,k,G,X,ne,z,j,d);return}}re&8?(R&16&&Ne(h,X,ne),U!==h&&u(k,U)):R&16?re&16?M(h,U,k,G,X,ne,z,j,d):Ne(h,X,ne,!0):(R&8&&u(k,""),re&16&&D(U,k,G,X,ne,z,j,d))},B=(b,C,k,G,X,ne,z,j,d)=>{b=b||qo,C=C||qo;const h=b.length,R=C.length,U=Math.min(h,R);let ee;for(ee=0;eeR?Ne(b,X,ne,!0,!1,U):D(C,k,G,X,ne,z,j,d,U)},M=(b,C,k,G,X,ne,z,j,d)=>{let h=0;const R=C.length;let U=b.length-1,ee=R-1;for(;h<=U&&h<=ee;){const re=b[h],O=C[h]=d?lo(C[h]):Xt(C[h]);if(Rn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;h++}for(;h<=U&&h<=ee;){const re=b[U],O=C[ee]=d?lo(C[ee]):Xt(C[ee]);if(Rn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;U--,ee--}if(h>U){if(h<=ee){const re=ee+1,O=reee)for(;h<=U;)Y(b[h],X,ne,!0),h++;else{const re=h,O=h,E=new Map;for(h=O;h<=ee;h++){const et=C[h]=d?lo(C[h]):Xt(C[h]);et.key!=null&&E.set(et.key,h)}let te,ae=0;const he=ee-O+1;let ve=!1,Be=0;const qe=new Array(he);for(h=0;h=he){Y(et,X,ne,!0);continue}let Pt;if(et.key!=null)Pt=E.get(et.key);else for(te=O;te<=ee;te++)if(qe[te-O]===0&&Rn(et,C[te])){Pt=te;break}Pt===void 0?Y(et,X,ne,!0):(qe[Pt-O]=h+1,Pt>=Be?Be=Pt:ve=!0,x(et,C[Pt],k,null,X,ne,z,j,d),ae++)}const st=ve?bf(qe):qo;for(te=st.length-1,h=he-1;h>=0;h--){const et=O+h,Pt=C[et],Zn=C[et+1],Qn=et+1{const{el:ne,type:z,transition:j,children:d,shapeFlag:h}=b;if(h&6){P(b.component.subTree,C,k,G);return}if(h&128){b.suspense.move(C,k,G);return}if(h&64){z.move(b,C,k,pe);return}if(z===Se){n(ne,C,k);for(let U=0;Uj.enter(ne),X));else{const{leave:U,delayLeave:ee,afterLeave:re}=j,O=()=>{b.ctx.isUnmounted?r(ne):n(ne,C,k)},E=()=>{const te=ne._isLeaving||!!ne[xs];ne._isLeaving&&ne[xs](!0),j.persisted&&!te?O():U(ne,()=>{O(),re&&re()})};ee?ee(ne,O,E):E()}else n(ne,C,k)},Y=(b,C,k,G=!1,X=!1)=>{const{type:ne,props:z,ref:j,children:d,dynamicChildren:h,shapeFlag:R,patchFlag:U,dirs:ee,cacheIndex:re,memo:O}=b;if(U===-2&&(X=!1),j!=null&&(qt(),Cn(j,null,k,b,!0),Ht()),re!=null&&(C.renderCache[re]=void 0),R&256){C.ctx.deactivate(b);return}const E=R&1&&ee,te=!Xo(b);let ae;if(te&&(ae=z&&z.onVnodeBeforeUnmount)&&Jt(ae,C,b),R&6)$e(b.component,k,G);else{if(R&128){b.suspense.unmount(k,G);return}E&&Fo(b,null,C,"beforeUnmount"),R&64?b.type.remove(b,C,k,pe,G):h&&!h.hasOnce&&(ne!==Se||U>0&&U&64)?Ne(h,C,k,!1,!0):(ne===Se&&U&384||!X&&R&16)&&Ne(d,C,k),G&&ie(b)}const he=O!=null&&re==null;(te&&(ae=z&&z.onVnodeUnmounted)||E||he)&&_t(()=>{ae&&Jt(ae,C,b),E&&Fo(b,null,C,"unmounted"),he&&(b.el=null)},k)},ie=b=>{const{type:C,el:k,anchor:G,transition:X}=b;if(C===Se){be(k,G);return}if(C===Rs){g(b);return}const ne=()=>{r(k),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(b.shapeFlag&1&&X&&!X.persisted){const{leave:z,delayLeave:j}=X,d=()=>z(k,ne);j?j(b.el,ne,d):d()}else ne()},be=(b,C)=>{let k;for(;b!==C;)k=m(b),r(b),b=k;r(C)},$e=(b,C,k)=>{const{bum:G,scope:X,job:ne,subTree:z,um:j,m:d,a:h}=b;Ql(d),Ql(h),G&&sr(G),X.stop(),ne&&(ne.flags|=8,Y(z,b,C,k)),j&&_t(j,C),_t(()=>{b.isUnmounted=!0},C)},Ne=(b,C,k,G=!1,X=!1,ne=0)=>{for(let z=ne;z{if(b.shapeFlag&6)return Ee(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const C=m(b.anchor||b.el),k=C&&C[wl];return k?m(k):C};let ke=!1;const me=(b,C,k)=>{let G;b==null?C._vnode&&(Y(C._vnode,null,null,!0),G=C._vnode.component):x(C._vnode||null,b,C,null,null,null,k),C._vnode=b,ke||(ke=!0,ml(G),bl(),ke=!1)},pe={p:x,um:Y,m:P,r:ie,mt:q,mc:D,pc:T,pbc:H,n:Ee,o:e};return{render:me,hydrate:void 0,createApp:Qd(me)}}function Ns({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 Do({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function mf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,o=!1){const n=e.children,r=t.children;if(Ce(n)&&Ce(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function _f(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Se=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Yt=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),ao=[];let Et=null;function V(e=!1){ao.push(Et=e?null:[])}function Fs(){ao.pop(),Et=ao[ao.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&Et&&t&&(Et.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?Et||qo:null,Fs(),Nn>0&&Et&&Et.push(e),e}function J(e,t,o,n,r,s){return oi(N(e,t,o,n,r,s,!0))}function wo(e,t,o,n,r){return oi(Me(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Rn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Je(e)||at(e)||Le(e)?{i:gt,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,r=null,s=e===Se?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:gt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Je(o)?8:16),Nn>0&&!a&&Et&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Et.push(i),i}const Me=yf;function yf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Hd)&&(e=Yt),In(e)){const l=Zo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&Et&&(l.shapeFlag&6?Et[Et.indexOf(e)]=l:Et.push(l)),l.patchFlag=-2,l}if(Nf(e)&&(e=e.__vccOpts),t){t=vf(t);let{class:l,style:i}=t;l&&!Je(l)&&(t.class=je(l)),He(i)&&(ms(i)&&!Ce(i)&&(i=tt({},i)),t.style=it(i))}const a=Je(e)?1:ti(e)?128:_r(e)?64:He(e)?4:Le(e)?2:0;return N(e,t,o,n,r,a,s,!0)}function vf(e){return e?ms(e)||Hl(e)?tt({},e):e:null}function Zo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?xf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?Ce(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zo(e.ssContent),ssFallback:e.ssFallback&&Zo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&ws(u,i.clone(u)),u}function nt(e=" ",t=0){return Me(Pn,null,e,t)}function Ie(e="",t=!1){return t?(V(),wo(Yt,null,e)):Me(Yt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Me(Yt):Ce(e)?Me(Se,null,e.slice()):In(e)?lo(e):Me(Pn,null,String(e))}function lo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Hl(t)?t._ctx=gt:r===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Le(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:gt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function xf(...e){const t={};for(let o=0;oyt||gt;let Ar,Fn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>yt=o),Fn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=yt;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{yt&&yt.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function Sf(e,t=!1,o=!1){t&&Fn(t);const{props:n,children:r}=e.vnode,s=si(e);lf(e,n,s,t),ff(e,r,o||t);const a=s?Ef(e,t):void 0;return t&&Fn(!1),a}function Ef(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vd);const{setup:n}=o;if(n){qt();const r=e.setupContext=n.length>1?Cf(e):null,s=Mn(e),a=Wo(n,e,0,[e.props,r]),l=Ra(a);if(Ht(),s(),(l||e.sp)&&!Xo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Fn(!0);try{ai(e,i,t)}finally{Fn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:He(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||Bt);{const r=Mn(e);qt();try{Wd(e)}finally{Ht(),r()}}}const Af={get(e,t){return pt(e,"get",""),e[t]}};function Cf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Af),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Tf=/(?:^|[-_])\w/g,Lf=e=>e.replace(Tf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Pf(e,t=!0){return Le(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Pf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Lf(n):o?"App":"Anonymous"}function Nf(e){return Le(e)&&"__vccOpts"in e}const le=(e,t)=>_d(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?He(t)&&!Ce(t)?In(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Me(e,t,o))}finally{$r(1)}}const If="3.5.42";/** +`],...kd(o))}),t}function kd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...$d(e.props),s]:[r+s]}function $d(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Je(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,ze(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Le(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ze(t),o?t:[`${e}=`,t])}function Wo(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function Rt(e,t,o,n){if(Le(e)){const r=Wo(e,t,o,n);return r&&Fa(r)&&r.catch(s=>{hr(s,t,o)}),r}if(Ce(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(Ed(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function Ad(e){if(!Ce(e))yo&&e.id===-1?yo.splice(Yo+1,0,e):e.flags&1||(Ko.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Ko.length=0,yo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Wt=0;Wt{n._d&&$r(-1);const s=br(t),a=ao.length;let l;try{l=e(...r)}finally{for(let i=ao.length;i>a;i--)Rs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Tt(e,t){if(gt===null)return e;const o=Cr(gt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Le(t)?t.call(n&&n.proxy):t}}const Cd=Symbol.for("v-scx"),Td=()=>Re(Cd);function ut(e,t,o){return vl(e,t,o)}function vl(e,t,o=We){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Td();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Bt,v.resume=Bt,v.pause=Bt,v}}const u=yt;l.call=(v,A,x)=>Rt(v,u,A,x);let f=!1;s==="post"?l.scheduler=v=>{_t(v,u&&u.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(v,A)=>{A?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=vd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ld(e,t,o){const n=this.proxy,r=Je(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Le(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Mo=e=>e&&(e.disabled||e.disabled===""),Pd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ys=(e,t)=>{const o=e&&e.to;return Je(o)?t?t(o):null:o},Nd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:f,pbc:m,o:{insert:v,querySelector:A,createText:x,createComment:w,parentNode:L}}=c,y=Mo(t.props);let{dynamicChildren:p}=t;const g=($,D,I)=>{$.shapeFlag&16&&u($.children,D,I,r,s,a,l,i)},_=($=t)=>{const D=Mo($.props),I=$.target=ys($.props,A),H=vs(I,$,x,v);I&&(a!=="svg"&&kl(I)?a="svg":a!=="mathml"&&$l(I)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(I),D||(g($,I,H),En($,!1)))},S=$=>{const D=()=>{if(xo.get($)===D){if(xo.delete($),Mo($.props)){const I=L($.el)||o;g($,I,$.anchor),En($,!0)}_($)}};xo.set($,D),_t(D,s)};if(e==null){const $=t.el=x(""),D=t.anchor=x("");if(v($,o,n),v(D,o,n),Pd(t.props)||s&&s.pendingBranch){S(t);return}y&&(g(t,o,D),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,D=xo.get(e);if(D){D.flags|=8,xo.delete(e),S(t);return}t.targetStart=e.targetStart;const I=t.target=e.target,H=t.targetAnchor=e.targetAnchor,Q=Mo(e.props),se=Q?o:I,_e=Q?$:H;if(a==="svg"||kl(I)?a="svg":(a==="mathml"||$l(I))&&(a="mathml"),p?(m(e.dynamicChildren,p,se,r,s,a,l),Is(e,t,!0)):i||f(e,t,se,_e,r,s,a,l,!1),y)Q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=ys(t.props,A);q&&(t.target=q,yr(t,q,null,c,0))}else Q&&yr(t,I,H,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:f,props:m}=e,v=Mo(m),A=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),f&&(r(c),r(u)),s&&r(i),!x&&(v||f)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Yt){t=o;break}}return t}function Sl(e){if(!ks(e))return _r(e.type)&&e.children?Rd(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&&Le(o.default))return o.default()}}function ws(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;ws(_r(o.type)&&Sl(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 An(e,t){return Le(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(Ce(e)){e.forEach((x,w)=>Cn(x,t&&(Ce(t)?t[w]:t),o,n,r));return}if(Xo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===We?l.refs={}:l.refs,f=l.setupState,m=ze(f),v=f===We?Na:x=>Al(u,x)?!1:Ge(m,x),A=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(f[c]=null);else if(at(c)){const x=t;A(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Le(i))Wo(i,l,12,[a,u]);else{const x=Je(i),w=at(i);if(x||w){const L=()=>{if(e.f){const y=x?v(i)?f[i]:u[i]:A()||!e.k?i.value:u[e.k];if(r)Ce(y)&&Qr(y,s);else if(Ce(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(f[i]=u[i]);else{const p=[s];A(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(f[i]=a)):w&&(A(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{L(),vr.delete(e)};y.id=-1,vr.set(e,y),_t(y,o)}else Cl(e),L()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Xo=e=>!!e.type.__asyncLoader,ks=e=>e.type.__isKeepAlive;function Md(e,t){Tl(e,"a",t)}function Od(e,t){Tl(e,"da",t)}function Tl(e,t,o=yt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ks(r.parent.vnode)&&Dd(n,t,o,r),r=r.parent}}function Dd(e,t,o,n){const r=xr(t,e,n,!0);$s(()=>{Qr(n[t],r)},o)}function xr(e,t,o=yt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const l=Mn(o),i=Rt(t,o,e,a);return l(),Ht(),i});return n?r.unshift(s):r.push(s),s}}const so=e=>(t,o=yt)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),mt=so("m"),jd=so("bu"),zd=so("u"),Kt=so("bum"),$s=so("um"),Ud=so("sp"),Bd=so("rtg"),Gd=so("rtc");function qd(e,t=yt){xr("ec",e,t)}const Hd=Symbol.for("v-ndc");function Ye(e,t,o,n){let r;const s=o,a=Ce(e);if(a||Je(e)){const l=a&&Io(e);let i=!1,c=!1;l&&(i=!Ct(e),c=oo(e),e=ir(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),V(),wo(Se,null,[Me("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=ao.length;V();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=wo(Se,{key:(u&&!Nt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=ao.length;u>l;u--)Rs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Yt||t.type===Se&&!Pl(t.children)):!0)?e:null}const Ss=e=>e?si(e)?Cr(e):Ss(e.parent):null,Tn=tt(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=>Ss(e.parent),$root:e=>Ss(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{_s(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ld.bind(e)}),Es=(e,t)=>e!==We&&!e.__isScriptSetup&&Ge(e,t),Vd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Es(n,t))return a[t]=1,n[t];if(r!==We&&Ge(r,t))return a[t]=2,r[t];if(Ge(s,t))return a[t]=3,s[t];if(o!==We&&Ge(o,t))return a[t]=4,o[t];As&&(a[t]=0)}}const c=Tn[t];let u,f;if(c)return t==="$attrs"&&pt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==We&&Ge(o,t))return a[t]=4,o[t];if(f=i.config.globalProperties,Ge(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Es(r,t)?(r[t]=o,!0):n!==We&&Ge(n,t)?(n[t]=o,!0):Ge(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==We&&l[0]!=="$"&&Ge(e,l)||Es(t,l)||Ge(s,l)||Ge(n,l)||Ge(Tn,l)||Ge(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ge(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return Ce(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let As=!0;function Wd(e){const t=Rl(e),o=e.proxy,n=e.ctx;As=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:v,updated:A,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:S,renderTriggered:$,errorCaptured:D,serverPrefetch:I,expose:H,inheritAttrs:Q,components:se,directives:_e,filters:q}=t;if(c&&Kd(c,n,null),a)for(const W in a){const T=a[W];Le(T)&&(n[W]=T.bind(o))}if(r){const W=r.call(o,o);He(W)&&(e.data=No(W))}if(As=!0,s)for(const W in s){const T=s[W],B=Le(T)?T.bind(o,o):Le(T.get)?T.get.bind(o,o):Bt,M=!Le(T)&&Le(T.set)?T.set.bind(o):Bt,P=le({get:B,set:M});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>P.value,set:Y=>P.value=Y})}if(l)for(const W in l)Fl(l[W],n,o,W);if(i){const W=Le(i)?i.call(o):i;Reflect.ownKeys(W).forEach(T=>{ro(T,W[T])})}u&&Il(u,e,"c");function K(W,T){Ce(T)?T.forEach(B=>W(B.bind(o))):T&&W(T.bind(o))}if(K(Ll,f),K(mt,m),K(jd,v),K(zd,A),K(Md,x),K(Od,w),K(qd,D),K(Gd,S),K(Bd,$),K(Kt,y),K($s,g),K(Ud,I),Ce(H))if(H.length){const W=e.exposed||(e.exposed={});H.forEach(T=>{Object.defineProperty(W,T,{get:()=>o[T],set:B=>o[T]=B,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===Bt&&(e.render=_),Q!=null&&(e.inheritAttrs=Q),se&&(e.components=se),_e&&(e.directives=_e),I&&El(e)}function Kd(e,t,o=Bt){Ce(e)&&(e=Cs(e));for(const n in e){const r=e[n];let s;He(r)?"default"in r?s=Re(r.from||n,r.default,!0):s=Re(r.from||n):s=Re(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){Rt(Ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Fl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Je(e)){const s=t[e];Le(s)&&ut(r,s)}else if(Le(e))ut(r,e.bind(o));else if(He(e))if(Ce(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Le(e.handler)?e.handler.bind(o):t[e.handler];Le(s)&&ut(r,s,e)}}function Rl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),He(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Yd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Yd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:bt,created:bt,beforeMount:bt,mounted:bt,beforeUpdate:bt,updated:bt,beforeDestroy:bt,beforeUnmount:bt,destroyed:bt,unmounted:bt,activated:bt,deactivated:bt,errorCaptured:bt,serverPrefetch:bt,components:Ln,directives:Ln,watch:Jd,provide:Ml,inject:Xd};function Ml(e,t){return t?e?function(){return tt(Le(e)?e.call(this,this):e,Le(t)?t.call(this,this):t)}:t:e}function Xd(e,t){return Ln(Cs(e),Cs(t))}function Cs(e){if(Ce(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${wt(t)}Modifiers`]||e[`${St(t)}Modifiers`];function tf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let r=o;const s=t.startsWith("update:"),a=s&&ef(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Je(u)?u.trim():u)),a.number&&(r=r.map(os)));let l,i=n[l=ts(t)]||n[l=ts(wt(t))];!i&&s&&(i=n[l=ts(St(t))]),i&&Rt(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Rt(c,e,6,r)}}const of=new WeakMap;function jl(e,t,o=!1){const n=o?of:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Le(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(He(e)&&n.set(e,null),null):(Ce(s)?s.forEach(i=>a[i]=null):tt(a,s),He(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ge(e,t[0].toLowerCase()+t.slice(1))||Ge(e,St(t))||Ge(e,t))}function iw(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:f,data:m,setupState:v,ctx:A,inheritAttrs:x}=e,w=br(e);let L,y;try{if(o.shapeFlag&4){const g=r||n,_=g;L=Xt(c.call(_,g,u,f,v,m,A)),y=l}else{const g=t;L=Xt(g.length>1?g(f,{attrs:l,slots:a,emit:i}):g(f,null)),y=t.props?l:nf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Yt)}let p=L;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=rf(y,s)),p=Zo(p,y,!1,!0))}if(o.dirs&&(p=Zo(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(p.type)&&Sl(p)||p;ws(g,o.transition)}return L=p,br(w),L}const nf=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},rf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function sf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let f=0;fObject.create(Gl),Hl=e=>Object.getPrototypeOf(e)===Gl;function lf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Vl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:gd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function cf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=ze(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[m,v]=Wl(f,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return He(e)&&n.set(e,qo),qo;if(Ce(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ps=e=>Ce(e)?e.map(Xt):[Xt(e)],df=(e,t,o)=>{if(t._n)return t;const n=vo((...r)=>Ps(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ls(r))continue;const s=e[r];if(Le(s))t[r]=df(r,s,n);else if(s!=null){const a=Ps(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ps(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ls(n))&&(e[n]=t[n])},ff=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},pf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=We;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ls(l)&&a[l]==null&&delete r[l]},_t=_f;function gf(e){return hf(e)}function hf(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:v=Bt,insertStaticContent:A}=e,x=(b,C,k,G=null,X=null,ne=null,z=void 0,j=null,d=!!C.dynamicChildren)=>{if(b===C)return;b&&!Fn(b,C)&&(G=Ee(b),Y(b,X,ne,!0),b=null),C.patchFlag===-2&&(d=!1,C.dynamicChildren=null);const{type:h,ref:F,shapeFlag:U}=C;switch(h){case Pn:w(b,C,k,G);break;case Yt:L(b,C,k,G);break;case Fs:b==null&&y(C,k,G,z);break;case Se:se(b,C,k,G,X,ne,z,j,d);break;default:U&1?_(b,C,k,G,X,ne,z,j,d):U&6?_e(b,C,k,G,X,ne,z,j,d):(U&64||U&128)&&h.process(b,C,k,G,X,ne,z,j,d,pe)}F!=null&&X?Cn(F,b&&b.ref,ne,C||b,!C):F==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,C,k,G)=>{if(b==null)n(C.el=l(C.children),k,G);else{const X=C.el=b.el;C.children!==b.children&&c(X,C.children)}},L=(b,C,k,G)=>{b==null?n(C.el=i(C.children||""),k,G):C.el=b.el},y=(b,C,k,G)=>{[b.el,b.anchor]=A(b.children,C,k,G,b.el,b.anchor)},p=({el:b,anchor:C},k,G)=>{let X;for(;b&&b!==C;)X=m(b),n(b,k,G),b=X;n(C,k,G)},g=({el:b,anchor:C})=>{let k;for(;b&&b!==C;)k=m(b),r(b),b=k;r(C)},_=(b,C,k,G,X,ne,z,j,d)=>{if(C.type==="svg"?z="svg":C.type==="math"&&(z="mathml"),b==null)S(C,k,G,X,ne,z,j,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),I(b,C,X,ne,z,j,d)}finally{h&&h._endPatch()}}},S=(b,C,k,G,X,ne,z,j)=>{let d,h;const{props:F,shapeFlag:U,transition:ee,dirs:re}=b;if(d=b.el=a(b.type,ne,F&&F.is,F),U&8?u(d,b.children):U&16&&D(b.children,d,null,G,X,Ns(b,ne),z,j),re&&Ro(b,null,G,"created"),$(d,b,b.scopeId,z,G),F){for(const E in F)E!=="value"&&!mn(E)&&s(d,E,null,F[E],ne,G);"value"in F&&s(d,"value",null,F.value,ne),(h=F.onVnodeBeforeMount)&&Jt(h,G,b)}re&&Ro(b,null,G,"beforeMount");const O=mf(X,ee);O&&ee.beforeEnter(d),n(d,C,k),((h=F&&F.onVnodeMounted)||O||re)&&_t(()=>{try{h&&Jt(h,G,b),O&&ee.enter(d),re&&Ro(b,null,G,"mounted")}finally{}},X)},$=(b,C,k,G,X)=>{if(k&&v(b,k),G)for(let ne=0;ne{for(let h=d;h{const j=C.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:F}=C;d|=b.patchFlag&16;const U=b.props||We,ee=C.props||We;let re;if(k&&Do(k,!1),(re=ee.onVnodeBeforeUpdate)&&Jt(re,k,C,b),F&&Ro(C,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,z=!1,h=null),(U.innerHTML&&ee.innerHTML==null||U.textContent&&ee.textContent==null)&&u(j,""),h?H(b.dynamicChildren,h,j,k,G,Ns(C,X),ne):z||T(b,C,j,null,k,G,Ns(C,X),ne,!1),d>0){if(d&16)Q(j,U,ee,k,X);else if(d&2&&U.class!==ee.class&&s(j,"class",null,ee.class,X),d&4&&s(j,"style",U.style,ee.style,X),d&8){const O=C.dynamicProps;for(let E=0;E{re&&Jt(re,k,C,b),F&&Ro(C,b,k,"updated")},G)},H=(b,C,k,G,X,ne,z)=>{for(let j=0;j{if(C!==k){if(C!==We)for(const ne in C)!mn(ne)&&!(ne in k)&&s(b,ne,C[ne],null,X,G);for(const ne in k){if(mn(ne))continue;const z=k[ne],j=C[ne];z!==j&&ne!=="value"&&s(b,ne,j,z,X,G)}"value"in k&&s(b,"value",C.value,k.value,X)}},se=(b,C,k,G,X,ne,z,j,d)=>{const h=C.el=b?b.el:l(""),F=C.anchor=b?b.anchor:l("");let{patchFlag:U,dynamicChildren:ee,slotScopeIds:re}=C;re&&(j=j?j.concat(re):re),b==null?(n(h,k,G),n(F,k,G),D(C.children||[],k,F,X,ne,z,j,d)):U>0&&U&64&&ee&&b.dynamicChildren&&b.dynamicChildren.length===ee.length?(H(b.dynamicChildren,ee,k,X,ne,z,j),(C.key!=null||X&&C===X.subTree)&&Is(b,C,!0)):T(b,C,k,F,X,ne,z,j,d)},_e=(b,C,k,G,X,ne,z,j,d)=>{C.slotScopeIds=j,b==null?C.shapeFlag&512?X.ctx.activate(C,k,G,z,d):q(C,k,G,X,ne,z,d):oe(b,C,d)},q=(b,C,k,G,X,ne,z)=>{const j=b.component=$f(b,G,X);if(ks(b)&&(j.ctx.renderer=pe),Sf(j,!1,z),j.asyncDep){if(X&&X.registerDep(j,K,z),!b.el){const d=j.subTree=Me(Yt);L(null,d,C,k),b.placeholder=d.el}}else K(j,b,C,k,X,ne,z)},oe=(b,C,k)=>{const G=C.component=b.component;if(sf(b,C,k))if(G.asyncDep&&!G.asyncResolved){W(G,C,k);return}else G.next=C,G.update();else C.el=b.el,G.vnode=C},K=(b,C,k,G,X,ne,z)=>{const j=()=>{if(b.isMounted){let{next:U,bu:ee,u:re,parent:O,vnode:E}=b;{const Be=Zl(b);if(Be){U&&(U.el=E.el,W(b,U,z)),Be.asyncDep.then(()=>{_t(()=>{b.isUnmounted||h()},X)});return}}let te=U,ae;Do(b,!1),U?(U.el=E.el,W(b,U,z)):U=E,ee&&sr(ee),(ae=U.props&&U.props.onVnodeBeforeUpdate)&&Jt(ae,O,U,E),Do(b,!0);const he=zl(b),ve=b.subTree;b.subTree=he,x(ve,he,f(ve.el),Ee(ve),b,X,ne),U.el=he.el,te===null&&af(b,he.el),re&&_t(re,X),(ae=U.props&&U.props.onVnodeUpdated)&&_t(()=>Jt(ae,O,U,E),X)}else{let U;const{el:ee,props:re}=C,{bm:O,m:E,parent:te,root:ae,type:he}=b,ve=Xo(C);Do(b,!1),O&&sr(O),!ve&&(U=re&&re.onVnodeBeforeMount)&&Jt(U,te,C),Do(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(he,b.parent?b.parent.type:void 0);const Be=b.subTree=zl(b);x(null,Be,k,G,b,X,ne),C.el=Be.el}if(E&&_t(E,X),!ve&&(U=re&&re.onVnodeMounted)){const Be=C;_t(()=>Jt(U,te,Be),X)}(C.shapeFlag&256||te&&Xo(te.vnode)&&te.vnode.shapeFlag&256)&&b.a&&_t(b.a,X),b.isMounted=!0,C=k=G=null}};b.scope.on();const d=b.effect=new Va(j);b.scope.off();const h=b.update=d.run.bind(d),F=b.job=d.runIfDirty.bind(d);F.i=b,F.id=b.uid,d.scheduler=()=>_s(F),Do(b,!0),h()},W=(b,C,k)=>{C.component=b;const G=b.vnode.props;b.vnode=C,b.next=null,cf(b,C.props,G,k),pf(b,C.children,k),qt(),ml(b),Ht()},T=(b,C,k,G,X,ne,z,j,d=!1)=>{const h=b&&b.children,F=b?b.shapeFlag:0,U=C.children,{patchFlag:ee,shapeFlag:re}=C;if(ee>0){if(ee&128){M(h,U,k,G,X,ne,z,j,d);return}else if(ee&256){B(h,U,k,G,X,ne,z,j,d);return}}re&8?(F&16&&Ne(h,X,ne),U!==h&&u(k,U)):F&16?re&16?M(h,U,k,G,X,ne,z,j,d):Ne(h,X,ne,!0):(F&8&&u(k,""),re&16&&D(U,k,G,X,ne,z,j,d))},B=(b,C,k,G,X,ne,z,j,d)=>{b=b||qo,C=C||qo;const h=b.length,F=C.length,U=Math.min(h,F);let ee;for(ee=0;eeF?Ne(b,X,ne,!0,!1,U):D(C,k,G,X,ne,z,j,d,U)},M=(b,C,k,G,X,ne,z,j,d)=>{let h=0;const F=C.length;let U=b.length-1,ee=F-1;for(;h<=U&&h<=ee;){const re=b[h],O=C[h]=d?lo(C[h]):Xt(C[h]);if(Fn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;h++}for(;h<=U&&h<=ee;){const re=b[U],O=C[ee]=d?lo(C[ee]):Xt(C[ee]);if(Fn(re,O))x(re,O,k,null,X,ne,z,j,d);else break;U--,ee--}if(h>U){if(h<=ee){const re=ee+1,O=reee)for(;h<=U;)Y(b[h],X,ne,!0),h++;else{const re=h,O=h,E=new Map;for(h=O;h<=ee;h++){const et=C[h]=d?lo(C[h]):Xt(C[h]);et.key!=null&&E.set(et.key,h)}let te,ae=0;const he=ee-O+1;let ve=!1,Be=0;const qe=new Array(he);for(h=0;h=he){Y(et,X,ne,!0);continue}let Pt;if(et.key!=null)Pt=E.get(et.key);else for(te=O;te<=ee;te++)if(qe[te-O]===0&&Fn(et,C[te])){Pt=te;break}Pt===void 0?Y(et,X,ne,!0):(qe[Pt-O]=h+1,Pt>=Be?Be=Pt:ve=!0,x(et,C[Pt],k,null,X,ne,z,j,d),ae++)}const st=ve?bf(qe):qo;for(te=st.length-1,h=he-1;h>=0;h--){const et=O+h,Pt=C[et],Zn=C[et+1],Qn=et+1{const{el:ne,type:z,transition:j,children:d,shapeFlag:h}=b;if(h&6){P(b.component.subTree,C,k,G);return}if(h&128){b.suspense.move(C,k,G);return}if(h&64){z.move(b,C,k,pe);return}if(z===Se){n(ne,C,k);for(let U=0;Uj.enter(ne),X));else{const{leave:U,delayLeave:ee,afterLeave:re}=j,O=()=>{b.ctx.isUnmounted?r(ne):n(ne,C,k)},E=()=>{const te=ne._isLeaving||!!ne[xs];ne._isLeaving&&ne[xs](!0),j.persisted&&!te?O():U(ne,()=>{O(),re&&re()})};ee?ee(ne,O,E):E()}else n(ne,C,k)},Y=(b,C,k,G=!1,X=!1)=>{const{type:ne,props:z,ref:j,children:d,dynamicChildren:h,shapeFlag:F,patchFlag:U,dirs:ee,cacheIndex:re,memo:O}=b;if(U===-2&&(X=!1),j!=null&&(qt(),Cn(j,null,k,b,!0),Ht()),re!=null&&(C.renderCache[re]=void 0),F&256){C.ctx.deactivate(b);return}const E=F&1&&ee,te=!Xo(b);let ae;if(te&&(ae=z&&z.onVnodeBeforeUnmount)&&Jt(ae,C,b),F&6)$e(b.component,k,G);else{if(F&128){b.suspense.unmount(k,G);return}E&&Ro(b,null,C,"beforeUnmount"),F&64?b.type.remove(b,C,k,pe,G):h&&!h.hasOnce&&(ne!==Se||U>0&&U&64)?Ne(h,C,k,!1,!0):(ne===Se&&U&384||!X&&F&16)&&Ne(d,C,k),G&&ie(b)}const he=O!=null&&re==null;(te&&(ae=z&&z.onVnodeUnmounted)||E||he)&&_t(()=>{ae&&Jt(ae,C,b),E&&Ro(b,null,C,"unmounted"),he&&(b.el=null)},k)},ie=b=>{const{type:C,el:k,anchor:G,transition:X}=b;if(C===Se){be(k,G);return}if(C===Fs){g(b);return}const ne=()=>{r(k),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(b.shapeFlag&1&&X&&!X.persisted){const{leave:z,delayLeave:j}=X,d=()=>z(k,ne);j?j(b.el,ne,d):d()}else ne()},be=(b,C)=>{let k;for(;b!==C;)k=m(b),r(b),b=k;r(C)},$e=(b,C,k)=>{const{bum:G,scope:X,job:ne,subTree:z,um:j,m:d,a:h}=b;Ql(d),Ql(h),G&&sr(G),X.stop(),ne&&(ne.flags|=8,Y(z,b,C,k)),j&&_t(j,C),_t(()=>{b.isUnmounted=!0},C)},Ne=(b,C,k,G=!1,X=!1,ne=0)=>{for(let z=ne;z{if(b.shapeFlag&6)return Ee(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const C=m(b.anchor||b.el),k=C&&C[wl];return k?m(k):C};let ke=!1;const me=(b,C,k)=>{let G;b==null?C._vnode&&(Y(C._vnode,null,null,!0),G=C._vnode.component):x(C._vnode||null,b,C,null,null,null,k),C._vnode=b,ke||(ke=!0,ml(G),bl(),ke=!1)},pe={p:x,um:Y,m:P,r:ie,mt:q,mc:D,pc:T,pbc:H,n:Ee,o:e};return{render:me,hydrate:void 0,createApp:Qd(me)}}function Ns({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 Do({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function mf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,o=!1){const n=e.children,r=t.children;if(Ce(n)&&Ce(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function _f(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Se=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Yt=Symbol.for("v-cmt"),Fs=Symbol.for("v-stc"),ao=[];let Et=null;function V(e=!1){ao.push(Et=e?null:[])}function Rs(){ao.pop(),Et=ao[ao.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&Et&&t&&(Et.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?Et||qo:null,Rs(),Nn>0&&Et&&Et.push(e),e}function J(e,t,o,n,r,s){return oi(N(e,t,o,n,r,s,!0))}function wo(e,t,o,n,r){return oi(Me(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Fn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Je(e)||at(e)||Le(e)?{i:gt,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,r=null,s=e===Se?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:gt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Je(o)?8:16),Nn>0&&!a&&Et&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Et.push(i),i}const Me=yf;function yf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Hd)&&(e=Yt),In(e)){const l=Zo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&Et&&(l.shapeFlag&6?Et[Et.indexOf(e)]=l:Et.push(l)),l.patchFlag=-2,l}if(Nf(e)&&(e=e.__vccOpts),t){t=vf(t);let{class:l,style:i}=t;l&&!Je(l)&&(t.class=je(l)),He(i)&&(ms(i)&&!Ce(i)&&(i=tt({},i)),t.style=it(i))}const a=Je(e)?1:ti(e)?128:_r(e)?64:He(e)?4:Le(e)?2:0;return N(e,t,o,n,r,a,s,!0)}function vf(e){return e?ms(e)||Hl(e)?tt({},e):e:null}function Zo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?xf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?Ce(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zo(e.ssContent),ssFallback:e.ssFallback&&Zo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&ws(u,i.clone(u)),u}function nt(e=" ",t=0){return Me(Pn,null,e,t)}function Ie(e="",t=!1){return t?(V(),wo(Yt,null,e)):Me(Yt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Me(Yt):Ce(e)?Me(Se,null,e.slice()):In(e)?lo(e):Me(Pn,null,String(e))}function lo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ce(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Hl(t)?t._ctx=gt:r===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Le(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:gt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function xf(...e){const t={};for(let o=0;oyt||gt;let Ar,Rn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>yt=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=yt;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{yt&&yt.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function Sf(e,t=!1,o=!1){t&&Rn(t);const{props:n,children:r}=e.vnode,s=si(e);lf(e,n,s,t),ff(e,r,o||t);const a=s?Ef(e,t):void 0;return t&&Rn(!1),a}function Ef(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vd);const{setup:n}=o;if(n){qt();const r=e.setupContext=n.length>1?Cf(e):null,s=Mn(e),a=Wo(n,e,0,[e.props,r]),l=Fa(a);if(Ht(),s(),(l||e.sp)&&!Xo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Rn(!0);try{ai(e,i,t)}finally{Rn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Le(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:He(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||Bt);{const r=Mn(e);qt();try{Wd(e)}finally{Ht(),r()}}}const Af={get(e,t){return pt(e,"get",""),e[t]}};function Cf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Af),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Tf=/(?:^|[-_])\w/g,Lf=e=>e.replace(Tf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Pf(e,t=!0){return Le(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Pf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Lf(n):o?"App":"Anonymous"}function Nf(e){return Le(e)&&"__vccOpts"in e}const le=(e,t)=>_d(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?He(t)&&!Ce(t)?In(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Me(e,t,o))}finally{$r(1)}}const If="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ms;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Ms=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Ms?e=>Ms.createHTML(e):e=>e,Rf="http://www.w3.org/2000/svg",Ff="http://www.w3.org/1998/Math/MathML",io=typeof document<"u"?document:null,fi=io&&io.createElement("template"),Mf={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 r=t==="svg"?io.createElementNS(Rf,e):t==="mathml"?io.createElementNS(Ff,e):o?io.createElement(e,{is:o}):io.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>io.createTextNode(e),createComment:e=>io.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>io.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Of=Symbol("_vtc");function Df(e,t,o){const n=e[Of];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Mt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const jf=Symbol(""),zf=/(?:^|;)\s*display\s*:/;function Uf(e,t,o){const n=e.style,r=Je(o);let s=!1;if(o&&!r){if(t)if(Je(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?Gf(e,a,!Je(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[jf];a&&(o+=";"+a),n.cssText=o,s=zf.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(Ce(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=Bf(e,t);Lr.test(o)?e.setProperty(St(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Os={};function Bf(e,t){const o=Os[t];if(o)return o;let n=wt(t);if(n!=="filter"&&n in e)return Os[t]=n;n=Ma(n);for(let r=0;rDs||(Yf.then(()=>Ds=0),Ds=Date.now());function Jf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ce(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Zf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Df(e,n,a):t==="style"?Uf(e,o,n):er(t)?tr(t)||Hf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(ep(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Je(n)))?bi(e,wt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Qf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Le(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Je(o)?!1:t in e}function ep(e,t){const o=e._def.props;if(!o)return!1;const n=wt(t);return Array.isArray(o)?o.some(r=>wt(r)===n):Object.keys(o).some(r=>wt(r)===n)}const vi={};function tp(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends js{constructor(a){super(n,a,o)}}return r.def=n,r}const op=typeof HTMLElement<"u"?HTMLElement:class{};class js extends op{constructor(t,o={},n=Si){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!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 js){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,$n(()=>{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:s,styles:a}=n;let l;if(s&&!Ce(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[wt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),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)Ge(this,n)||Object.defineProperty(this,n,{get:()=>fe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ce(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(wt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=wt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(St(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(St(t),o+""):o||this.removeAttribute(St(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),cp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Me(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),St(s)!==s&&r(St(s),a)},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 r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_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 Ce(t)?o=>sr(t,o):t};function np(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function zs(e,t,o){return t&&(e=e.trim()),o&&(e=os(e)),e}const rp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Nr]=e.defaultValue.replace(/\r\n?/g,` +**/let Ms;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Ms=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Ms?e=>Ms.createHTML(e):e=>e,Ff="http://www.w3.org/2000/svg",Rf="http://www.w3.org/1998/Math/MathML",io=typeof document<"u"?document:null,fi=io&&io.createElement("template"),Mf={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 r=t==="svg"?io.createElementNS(Ff,e):t==="mathml"?io.createElementNS(Rf,e):o?io.createElement(e,{is:o}):io.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>io.createTextNode(e),createComment:e=>io.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>io.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Of=Symbol("_vtc");function Df(e,t,o){const n=e[Of];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Mt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const jf=Symbol(""),zf=/(?:^|;)\s*display\s*:/;function Uf(e,t,o){const n=e.style,r=Je(o);let s=!1;if(o&&!r){if(t)if(Je(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?Gf(e,a,!Je(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[jf];a&&(o+=";"+a),n.cssText=o,s=zf.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(Ce(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=Bf(e,t);Lr.test(o)?e.setProperty(St(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Os={};function Bf(e,t){const o=Os[t];if(o)return o;let n=wt(t);if(n!=="filter"&&n in e)return Os[t]=n;n=Ma(n);for(let r=0;rDs||(Yf.then(()=>Ds=0),Ds=Date.now());function Jf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ce(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Zf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Df(e,n,a):t==="style"?Uf(e,o,n):er(t)?tr(t)||Hf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(ep(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Je(n)))?bi(e,wt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Qf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Le(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Je(o)?!1:t in e}function ep(e,t){const o=e._def.props;if(!o)return!1;const n=wt(t);return Array.isArray(o)?o.some(r=>wt(r)===n):Object.keys(o).some(r=>wt(r)===n)}const vi={};function tp(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends js{constructor(a){super(n,a,o)}}return r.def=n,r}const op=typeof HTMLElement<"u"?HTMLElement:class{};class js extends op{constructor(t,o={},n=Si){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!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 js){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,$n(()=>{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:s,styles:a}=n;let l;if(s&&!Ce(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[wt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),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)Ge(this,n)||Object.defineProperty(this,n,{get:()=>fe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ce(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(wt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=wt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(St(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(St(t),o+""):o||this.removeAttribute(St(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),cp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Me(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),St(s)!==s&&r(St(s),a)},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 r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_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 Ce(t)?o=>sr(t,o):t};function np(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function zs(e,t,o){return t&&(e=e.trim()),o&&(e=os(e)),e}const rp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){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[Pr]=xi(r);const s=n||r.props&&r.props.type==="number";Qo(e,t?"change":"input",a=>{a.target.composing||e[Pr](zs(e.value,o,s))}),(o||s)&&Qo(e,"change",()=>{e.value=zs(e.value,o,s)}),t||(Qo(e,"compositionstart",np),Qo(e,"compositionend",wi),Qo(e,"change",wi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",s=e[Nr];delete e[Nr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Pr](zs(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:s}},a){if(e[Pr]=xi(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?os(e.value):e.value,i=t??"";if(l===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||r&&e.value.trim()===i)||(e.value=i)}},sp=["ctrl","shift","alt","meta"],ap={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)=>sp.some(o=>e[`${o}Key`]&&!t.includes(o))},en=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...s)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const s=St(r.key);if(t.some(a=>a===s||lp[a]===s))return e(r)})},ip=tt({patchProp:Zf},Mf);let ki;function $i(){return ki||(ki=gf(ip))}const cp=(...e)=>{$i().render(...e)},Si=(...e)=>{const t=$i().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=dp(n);if(!r)return;const s=t._component;!Le(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,up(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function up(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function dp(e){return Je(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const fp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function pp(){const e=Ha(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(fp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const gp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},mp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},bp={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:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},yp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={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"},Sp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ep={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"}},Ap={menuComingSoon:"Menü folgt in Kürze"},Cp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Tp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Lp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Pp={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"},Np={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={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"},Rp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Fp={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"}},Mp={menuComingSoon:"Menu coming soon"},Op={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},jp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zp={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"}},Up={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"},Bp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Gp={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"},qp={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."}},Hp={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"}},Vp={menuComingSoon:"Menú próximamente"},Wp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Kp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Yp={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"}},Xp={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"},Jp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Zp={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"},Qp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},eg={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"}},tg={menuComingSoon:"Menu bientôt disponible"},og={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},sg={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"}},ag={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"},lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ig={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},cg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ug={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:"कुल"}},dg={menuComingSoon:"मेनू शीघ्र आ रहा है"},fg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},pg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},gg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},mg={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"},bg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_g={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"}},yg={menuComingSoon:"Menu in arrivo"},vg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},xg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$g={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"},Sg={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."}},Eg={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"}},Ag={menuComingSoon:"Menu em breve"},Cg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Tg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Lg={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"}},Pg={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"},Ng={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Ig={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ă"},Rg={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ă."}},Fg={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"}},Mg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},jg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Ug={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Bg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Gg={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:"Языки"}},qg={menuComingSoon:"Меню скоро появится"},Hg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Wg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Kg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Yg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Xg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Zg={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:"总计"}},Qg={menuComingSoon:"菜单即将推出"},eh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},oh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */const fp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function pp(){const e=Ha(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(fp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const gp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},hp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},mp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},bp={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:"اللغات"}},_p={menuComingSoon:"القائمة قادمة قريباً"},yp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},wp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},kp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},$p={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"},Sp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Ep={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"}},Ap={menuComingSoon:"Menü folgt in Kürze"},Cp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Tp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Lp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Pp={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"},Np={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Ip={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"},Fp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Rp={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"}},Mp={menuComingSoon:"Menu coming soon"},Op={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Dp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},jp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zp={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"}},Up={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"},Bp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Gp={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"},qp={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."}},Hp={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"}},Vp={menuComingSoon:"Menú próximamente"},Wp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Kp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Yp={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"}},Xp={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"},Jp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Zp={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"},Qp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},eg={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"}},tg={menuComingSoon:"Menu bientôt disponible"},og={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},sg={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"}},ag={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"},lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ig={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},cg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ug={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:"कुल"}},dg={menuComingSoon:"मेनू शीघ्र आ रहा है"},fg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},pg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},gg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},hg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},mg={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"},bg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},_g={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"}},yg={menuComingSoon:"Menu in arrivo"},vg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},xg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},wg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},kg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},$g={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"},Sg={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."}},Eg={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"}},Ag={menuComingSoon:"Menu em breve"},Cg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Tg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Lg={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"}},Pg={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"},Ng={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Ig={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ă"},Fg={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ă."}},Rg={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"}},Mg={menuComingSoon:"Meniu în curând"},Og={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Dg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},jg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Ug={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Bg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Gg={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:"Языки"}},qg={menuComingSoon:"Меню скоро появится"},Hg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Vg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Wg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Kg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Yg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Xg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Jg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Zg={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:"总计"}},Qg={menuComingSoon:"菜单即将推出"},eh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},oh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function nh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Rr=typeof window<"u",$o=(e,t=!1)=>t?Symbol.for(e):Symbol(e),rh=(e,t,o)=>sh({l:e,k:t,s:o}),sh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),ah=e=>Pi(e)==="[object Date]",So=e=>Pi(e)==="[object RegExp]",Fr=e=>Pe(e)&&Object.keys(e).length===0,dt=Object.assign,lh=Object.create,Ve=(e=null)=>lh(e);let Ai;const co=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ve());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ih(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(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(n=>{e=e.replace(n,"$1javascript:")}),e}const ch=Object.prototype.hasOwnProperty;function Ot(e,t){return ch.call(e,t)}const Ze=Array.isArray,Xe=e=>typeof e=="function",ge=e=>typeof e=="string",De=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",uh=e=>Ue(e)&&Xe(e.then)&&Xe(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Pe=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},dh=e=>e==null?"":Ze(e)||Pe(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function fh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!Ue(e)||Ze(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Ue(n[s])&&!Ue(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ve()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! + */function nh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Fr=typeof window<"u",$o=(e,t=!1)=>t?Symbol.for(e):Symbol(e),rh=(e,t,o)=>sh({l:e,k:t,s:o}),sh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),ah=e=>Pi(e)==="[object Date]",So=e=>Pi(e)==="[object RegExp]",Rr=e=>Pe(e)&&Object.keys(e).length===0,dt=Object.assign,lh=Object.create,Ve=(e=null)=>lh(e);let Ai;const co=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ve());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ih(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(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(n=>{e=e.replace(n,"$1javascript:")}),e}const ch=Object.prototype.hasOwnProperty;function Ot(e,t){return ch.call(e,t)}const Ze=Array.isArray,Xe=e=>typeof e=="function",ge=e=>typeof e=="string",De=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",uh=e=>Ue(e)&&Xe(e.then)&&Xe(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Pe=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},dh=e=>e==null?"":Ze(e)||Pe(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function fh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!Ue(e)||Ze(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Ue(n[s])&&!Ue(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ve()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ph(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const gh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&hh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(gh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Ri=e=>typeof e=="string",hh=e=>e!==null&&typeof e=="object";function Fi(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mh={[Us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function bh(e,t,...o){const n=Ni(mh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},_h={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function tn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||_h)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function yh(e){throw e}const uo=" ",vh="\r",vt=` -`,xh="\u2028",wh="\u2029";function kh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===vh&&t[$+1]===vt,l=$=>t[$]===vt,i=$=>t[$]===wh,c=$=>t[$]===xh,u=$=>a($)||l($)||i($)||c($),f=()=>o,m=()=>n,v=()=>r,A=()=>s,x=$=>a($)||i($)||c($)?vt:t[$],w=()=>x(o),L=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function p(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function S(){const $=o+s;for(;$!==o;)y();s=0}return{index:f,line:m,column:v,peekOffset:A,charAt:x,currentChar:w,currentPeek:L,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:S}}const Eo=void 0,$h=".",Mi="'",Sh="tokenizer";function Eh(e,t={}){const o=t.location!==!1,n=kh(e),r=()=>n.index(),s=()=>ph(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function f(d,h,R,...U){const ee=c();if(h.column+=R,h.offset+=R,u){const re=o?jr(ee.startLoc,h):null,O=tn(d,re,{domain:Sh,args:U});u(O)}}function m(d,h,R){d.endLoc=s(),d.currentType=h;const U={type:h};return o&&(U.loc=jr(d.startLoc,d.endLoc)),R!=null&&(U.value=R),U}const v=d=>m(d,14);function A(d,h){return d.currentChar()===h?(d.next(),h):(f(Ae.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===uo||d.currentPeek()===vt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function L(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function p(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function g(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=d.currentPeek()==="-"?d.peek():d.currentPeek(),ee=y(U);return d.resetPeek(),ee}function _(d,h){const{currentType:R}=h;if(R!==2)return!1;x(d);const U=d.currentPeek()===Mi;return d.resetPeek(),U}function S(d,h){const{currentType:R}=h;if(R!==8)return!1;x(d);const U=d.currentPeek()===".";return d.resetPeek(),U}function $(d,h){const{currentType:R}=h;if(R!==9)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function D(d,h){const{currentType:R}=h;if(!(R===8||R===12))return!1;x(d);const U=d.currentPeek()===":";return d.resetPeek(),U}function I(d,h){const{currentType:R}=h;if(R!==10)return!1;const U=()=>{const re=d.currentPeek();return re==="{"?L(d.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===uo||!re?!1:re===vt?(d.peek(),U()):se(d,!1)},ee=U();return d.resetPeek(),ee}function H(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function Q(d){const h=x(d),R=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:R,hasSpace:h.length>0}}function se(d,h=!0){const R=(ee=!1,re="",O=!1)=>{const E=d.currentPeek();return E==="{"?re==="%"?!1:ee:E==="@"||!E?re==="%"?!0:ee:E==="%"?(d.peek(),R(ee,"%",!0)):E==="|"?re==="%"||O?!0:!(re===uo||re===vt):E===uo?(d.peek(),R(!0,uo,O)):E===vt?(d.peek(),R(!0,vt,O)):!0},U=R();return h&&d.resetPeek(),U}function _e(d,h){const R=d.currentChar();return R===Eo?Eo:h(R)?(d.next(),R):null}function q(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function oe(d){return _e(d,q)}function K(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function W(d){return _e(d,K)}function T(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function B(d){return _e(d,T)}function M(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function P(d){return _e(d,M)}function Y(d){let h="",R="";for(;h=B(d);)R+=h;return R}function ie(d){w(d);const h=d.currentChar();return h!=="%"&&f(Ae.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function be(d){let h="";for(;;){const R=d.currentChar();if(R==="{"||R==="}"||R==="@"||R==="|"||!R)break;if(R==="%")if(se(d))h+=R,d.next();else break;else if(R===uo||R===vt)if(se(d))h+=R,d.next();else{if(H(d))break;h+=R,d.next()}else h+=R,d.next()}return h}function $e(d){w(d);let h="",R="";for(;h=W(d);)R+=h;return d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R}function Ne(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${Y(d)}`):h+=Y(d),d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Ee(d){return d!==Mi&&d!==vt}function ke(d){w(d),A(d,"'");let h="",R="";for(;h=_e(d,Ee);)h==="\\"?R+=me(d):R+=h;const U=d.currentChar();return U===vt||U===Eo?(f(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),U===vt&&(d.next(),A(d,"'")),R):(A(d,"'"),R)}function me(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return pe(d,h,4);case"U":return pe(d,h,6);default:return f(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function pe(d,h,R){A(d,h);let U="";for(let ee=0;ee{const U=d.currentChar();return U==="{"||U==="%"||U==="@"||U==="|"||U==="("||U===")"||!U||U===uo?R:(R+=U,d.next(),h(R))};return h("")}function G(d){w(d);const h=A(d,"|");return w(d),h}function X(d,h){let R=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&f(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),R=m(h,2,"{"),w(d),h.braceNest++,R;case"}":return h.braceNest>0&&h.currentType===2&&f(Ae.EMPTY_PLACEHOLDER,s(),0),d.next(),R=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),R;case"@":return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=ne(d,h)||v(h),h.braceNest=0,R;default:{let ee=!0,re=!0,O=!0;if(H(d))return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,R;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,z(d,h);if(ee=p(d,h))return R=m(h,5,$e(d)),w(d),R;if(re=g(d,h))return R=m(h,6,Ne(d)),w(d),R;if(O=_(d,h))return R=m(h,7,ke(d)),w(d),R;if(!ee&&!re&&!O)return R=m(h,13,b(d)),f(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,R.value),w(d),R;break}}return R}function ne(d,h){const{currentType:R}=h;let U=null;const ee=d.currentChar();switch((R===8||R===9||R===12||R===10)&&(ee===vt||ee===uo)&&f(Ae.INVALID_LINKED_FORMAT,s(),0),ee){case"@":return d.next(),U=m(h,8,"@"),h.inLinked=!0,U;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return H(d)?(U=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,U):S(d,h)||D(d,h)?(w(d),ne(d,h)):$(d,h)?(w(d),m(h,12,C(d))):I(d,h)?(w(d),ee==="{"?X(d,h)||U:m(h,11,k(d))):(R===8&&f(Ae.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,z(d,h))}}function z(d,h){let R={type:14};if(h.braceNest>0)return X(d,h)||v(h);if(h.inLinked)return ne(d,h)||v(h);switch(d.currentChar()){case"{":return X(d,h)||v(h);case"}":return f(Ae.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return ne(d,h)||v(h);default:{if(H(d))return R=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,R;const{isModulo:ee,hasSpace:re}=Q(d);if(ee)return re?m(h,0,be(d)):m(h,4,ie(d));if(se(d))return m(h,0,be(d));break}}return R}function j(){const{currentType:d,offset:h,startLoc:R,endLoc:U}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=R,i.lastEndLoc=U,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):z(n,i)}return{nextToken:j,currentOffset:r,currentPosition:s,context:c}}const Ah="parser",Ch=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Th(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 Lh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,o){const I=t?jr(_,D):null,H=tn(g,I,{domain:Ah,args:$});o(H)}}function s(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,n){const I=t?jr(_,D):null;n(bh(g,I,$))}}function a(p,g,_){const S={type:p};return t&&(S.start=g,S.end=g,S.loc={start:_,end:_}),S}function l(p,g,_,S){t&&(p.end=g,p.loc&&(p.loc.end=_))}function i(p,g){const _=p.context(),S=a(3,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function c(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(5,S,$);return D.index=parseInt(g,10),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function u(p,g,_){const S=p.context(),{lastOffset:$,lastStartLoc:D}=S,I=a(4,$,D);return I.key=g,_===!0&&(I.modulo=!0),p.nextToken(),l(I,p.currentOffset(),p.currentPosition()),I}function f(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(9,S,$);return D.value=g.replace(Ch,Th),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(8,S,$);return g.type!==12?(r(p,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),D.value="",l(D,S,$),{nextConsumeToken:g,node:D}):(g.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Dt(g)),D.value=g.value||"",l(D,p.currentOffset(),p.currentPosition()),{node:D})}function v(p,g){const _=p.context(),S=a(7,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function A(p){const g=p.context(),_=a(6,g.offset,g.startLoc);let S=p.nextToken();if(S.type===9){const $=m(p);_.modifier=$.node,S=$.nextConsumeToken||p.nextToken()}switch(S.type!==10&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),S=p.nextToken(),S.type===2&&(S=p.nextToken()),S.type){case 11:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=f(p,S.value||"");break;default:{r(p,Ae.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),D=a(7,$.offset,$.startLoc);return D.value="",l(D,$.offset,$.startLoc),_.key=D,l(_,$.offset,$.startLoc),{nextConsumeToken:S,node:_}}}return l(_,p.currentOffset(),p.currentPosition()),{node:_}}function x(p){const g=p.context(),_=g.currentType===1?p.currentOffset():g.offset,S=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,S);$.items=[];let D=null,I=null;do{const se=D||p.nextToken();switch(D=null,se.type){case 0:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(i(p,se.value||""));break;case 6:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(c(p,se.value||""));break;case 4:I=!0;break;case 5:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(u(p,se.value||"",!!I)),I&&(s(p,Us.USE_MODULO_SYNTAX,g.lastStartLoc,0,Dt(se)),I=null);break;case 7:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(f(p,se.value||""));break;case 8:{const _e=A(p);$.items.push(_e.node),D=_e.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const H=g.currentType===1?g.lastOffset:p.currentOffset(),Q=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,H,Q),$}function w(p,g,_,S){const $=p.context();let D=S.items.length===0;const I=a(1,g,_);I.cases=[],I.cases.push(S);do{const H=x(p);D||(D=H.items.length===0),I.cases.push(H)}while($.currentType!==14);return D&&r(p,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(I,p.currentOffset(),p.currentPosition()),I}function L(p){const g=p.context(),{offset:_,startLoc:S}=g,$=x(p);return g.currentType===14?$:w(p,_,S,$)}function y(p){const g=Eh(p,Ii({},e)),_=g.context(),S=a(0,_.offset,_.startLoc);return t&&S.loc&&(S.loc.source=p),S.body=L(g),e.onCacheKey&&(S.cacheKey=e.onCacheKey(p)),_.currentType!==14&&r(g,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:y}}function Dt(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 Ph(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(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;oa;function i(x,w){a.code+=x}function c(x,w=!0){const L=w?n:"";i(r?L+" ".repeat(x):L)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function f(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:f,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Oh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),nn(e,t.key),t.modifier?(e.push(", "),nn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Dh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Ri(t.mode)?t.mode:"normal",n=Ri(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],l=Mh(e,{filename:n,breakLineCode:r,needIndent:s});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),a.length>0&&(l.push(`const { ${Fi(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),nn(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Bh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Lh(o).parse(e);return n?(s&&Ih(l),r&&on(l),{ast:l,code:""}):(Nh(l,o),Uh(l,o))}/*! + */function ph(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const gh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&hh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(gh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Fi=e=>typeof e=="string",hh=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Us={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},mh={[Us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function bh(e,t,...o){const n=Ni(mh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},_h={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function tn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||_h)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function yh(e){throw e}const uo=" ",vh="\r",vt=` +`,xh="\u2028",wh="\u2029";function kh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===vh&&t[$+1]===vt,l=$=>t[$]===vt,i=$=>t[$]===wh,c=$=>t[$]===xh,u=$=>a($)||l($)||i($)||c($),f=()=>o,m=()=>n,v=()=>r,A=()=>s,x=$=>a($)||i($)||c($)?vt:t[$],w=()=>x(o),L=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function p(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function S(){const $=o+s;for(;$!==o;)y();s=0}return{index:f,line:m,column:v,peekOffset:A,charAt:x,currentChar:w,currentPeek:L,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:S}}const Eo=void 0,$h=".",Mi="'",Sh="tokenizer";function Eh(e,t={}){const o=t.location!==!1,n=kh(e),r=()=>n.index(),s=()=>ph(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function f(d,h,F,...U){const ee=c();if(h.column+=F,h.offset+=F,u){const re=o?jr(ee.startLoc,h):null,O=tn(d,re,{domain:Sh,args:U});u(O)}}function m(d,h,F){d.endLoc=s(),d.currentType=h;const U={type:h};return o&&(U.loc=jr(d.startLoc,d.endLoc)),F!=null&&(U.value=F),U}const v=d=>m(d,14);function A(d,h){return d.currentChar()===h?(d.next(),h):(f(Ae.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===uo||d.currentPeek()===vt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function L(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===Eo)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function p(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function g(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=d.currentPeek()==="-"?d.peek():d.currentPeek(),ee=y(U);return d.resetPeek(),ee}function _(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const U=d.currentPeek()===Mi;return d.resetPeek(),U}function S(d,h){const{currentType:F}=h;if(F!==8)return!1;x(d);const U=d.currentPeek()===".";return d.resetPeek(),U}function $(d,h){const{currentType:F}=h;if(F!==9)return!1;x(d);const U=L(d.currentPeek());return d.resetPeek(),U}function D(d,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;x(d);const U=d.currentPeek()===":";return d.resetPeek(),U}function I(d,h){const{currentType:F}=h;if(F!==10)return!1;const U=()=>{const re=d.currentPeek();return re==="{"?L(d.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===uo||!re?!1:re===vt?(d.peek(),U()):se(d,!1)},ee=U();return d.resetPeek(),ee}function H(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function Q(d){const h=x(d),F=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function se(d,h=!0){const F=(ee=!1,re="",O=!1)=>{const E=d.currentPeek();return E==="{"?re==="%"?!1:ee:E==="@"||!E?re==="%"?!0:ee:E==="%"?(d.peek(),F(ee,"%",!0)):E==="|"?re==="%"||O?!0:!(re===uo||re===vt):E===uo?(d.peek(),F(!0,uo,O)):E===vt?(d.peek(),F(!0,vt,O)):!0},U=F();return h&&d.resetPeek(),U}function _e(d,h){const F=d.currentChar();return F===Eo?Eo:h(F)?(d.next(),F):null}function q(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function oe(d){return _e(d,q)}function K(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function W(d){return _e(d,K)}function T(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function B(d){return _e(d,T)}function M(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function P(d){return _e(d,M)}function Y(d){let h="",F="";for(;h=B(d);)F+=h;return F}function ie(d){w(d);const h=d.currentChar();return h!=="%"&&f(Ae.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function be(d){let h="";for(;;){const F=d.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(se(d))h+=F,d.next();else break;else if(F===uo||F===vt)if(se(d))h+=F,d.next();else{if(H(d))break;h+=F,d.next()}else h+=F,d.next()}return h}function $e(d){w(d);let h="",F="";for(;h=W(d);)F+=h;return d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F}function Ne(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${Y(d)}`):h+=Y(d),d.currentChar()===Eo&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Ee(d){return d!==Mi&&d!==vt}function ke(d){w(d),A(d,"'");let h="",F="";for(;h=_e(d,Ee);)h==="\\"?F+=me(d):F+=h;const U=d.currentChar();return U===vt||U===Eo?(f(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),U===vt&&(d.next(),A(d,"'")),F):(A(d,"'"),F)}function me(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return pe(d,h,4);case"U":return pe(d,h,6);default:return f(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function pe(d,h,F){A(d,h);let U="";for(let ee=0;ee{const U=d.currentChar();return U==="{"||U==="%"||U==="@"||U==="|"||U==="("||U===")"||!U||U===uo?F:(F+=U,d.next(),h(F))};return h("")}function G(d){w(d);const h=A(d,"|");return w(d),h}function X(d,h){let F=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&f(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),F=m(h,2,"{"),w(d),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(Ae.EMPTY_PLACEHOLDER,s(),0),d.next(),F=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F=ne(d,h)||v(h),h.braceNest=0,F;default:{let ee=!0,re=!0,O=!0;if(H(d))return h.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),F=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,z(d,h);if(ee=p(d,h))return F=m(h,5,$e(d)),w(d),F;if(re=g(d,h))return F=m(h,6,Ne(d)),w(d),F;if(O=_(d,h))return F=m(h,7,ke(d)),w(d),F;if(!ee&&!re&&!O)return F=m(h,13,b(d)),f(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),w(d),F;break}}return F}function ne(d,h){const{currentType:F}=h;let U=null;const ee=d.currentChar();switch((F===8||F===9||F===12||F===10)&&(ee===vt||ee===uo)&&f(Ae.INVALID_LINKED_FORMAT,s(),0),ee){case"@":return d.next(),U=m(h,8,"@"),h.inLinked=!0,U;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return H(d)?(U=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,U):S(d,h)||D(d,h)?(w(d),ne(d,h)):$(d,h)?(w(d),m(h,12,C(d))):I(d,h)?(w(d),ee==="{"?X(d,h)||U:m(h,11,k(d))):(F===8&&f(Ae.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,z(d,h))}}function z(d,h){let F={type:14};if(h.braceNest>0)return X(d,h)||v(h);if(h.inLinked)return ne(d,h)||v(h);switch(d.currentChar()){case"{":return X(d,h)||v(h);case"}":return f(Ae.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return ne(d,h)||v(h);default:{if(H(d))return F=m(h,1,G(d)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:ee,hasSpace:re}=Q(d);if(ee)return re?m(h,0,be(d)):m(h,4,ie(d));if(se(d))return m(h,0,be(d));break}}return F}function j(){const{currentType:d,offset:h,startLoc:F,endLoc:U}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=F,i.lastEndLoc=U,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):z(n,i)}return{nextToken:j,currentOffset:r,currentPosition:s,context:c}}const Ah="parser",Ch=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Th(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 Lh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,o){const I=t?jr(_,D):null,H=tn(g,I,{domain:Ah,args:$});o(H)}}function s(p,g,_,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,n){const I=t?jr(_,D):null;n(bh(g,I,$))}}function a(p,g,_){const S={type:p};return t&&(S.start=g,S.end=g,S.loc={start:_,end:_}),S}function l(p,g,_,S){t&&(p.end=g,p.loc&&(p.loc.end=_))}function i(p,g){const _=p.context(),S=a(3,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function c(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(5,S,$);return D.index=parseInt(g,10),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function u(p,g,_){const S=p.context(),{lastOffset:$,lastStartLoc:D}=S,I=a(4,$,D);return I.key=g,_===!0&&(I.modulo=!0),p.nextToken(),l(I,p.currentOffset(),p.currentPosition()),I}function f(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(9,S,$);return D.value=g.replace(Ch,Th),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:S,lastStartLoc:$}=_,D=a(8,S,$);return g.type!==12?(r(p,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),D.value="",l(D,S,$),{nextConsumeToken:g,node:D}):(g.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Dt(g)),D.value=g.value||"",l(D,p.currentOffset(),p.currentPosition()),{node:D})}function v(p,g){const _=p.context(),S=a(7,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function A(p){const g=p.context(),_=a(6,g.offset,g.startLoc);let S=p.nextToken();if(S.type===9){const $=m(p);_.modifier=$.node,S=$.nextConsumeToken||p.nextToken()}switch(S.type!==10&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),S=p.nextToken(),S.type===2&&(S=p.nextToken()),S.type){case 11:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),_.key=f(p,S.value||"");break;default:{r(p,Ae.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),D=a(7,$.offset,$.startLoc);return D.value="",l(D,$.offset,$.startLoc),_.key=D,l(_,$.offset,$.startLoc),{nextConsumeToken:S,node:_}}}return l(_,p.currentOffset(),p.currentPosition()),{node:_}}function x(p){const g=p.context(),_=g.currentType===1?p.currentOffset():g.offset,S=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,S);$.items=[];let D=null,I=null;do{const se=D||p.nextToken();switch(D=null,se.type){case 0:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(i(p,se.value||""));break;case 6:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(c(p,se.value||""));break;case 4:I=!0;break;case 5:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(u(p,se.value||"",!!I)),I&&(s(p,Us.USE_MODULO_SYNTAX,g.lastStartLoc,0,Dt(se)),I=null);break;case 7:se.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(se)),$.items.push(f(p,se.value||""));break;case 8:{const _e=A(p);$.items.push(_e.node),D=_e.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const H=g.currentType===1?g.lastOffset:p.currentOffset(),Q=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,H,Q),$}function w(p,g,_,S){const $=p.context();let D=S.items.length===0;const I=a(1,g,_);I.cases=[],I.cases.push(S);do{const H=x(p);D||(D=H.items.length===0),I.cases.push(H)}while($.currentType!==14);return D&&r(p,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(I,p.currentOffset(),p.currentPosition()),I}function L(p){const g=p.context(),{offset:_,startLoc:S}=g,$=x(p);return g.currentType===14?$:w(p,_,S,$)}function y(p){const g=Eh(p,Ii({},e)),_=g.context(),S=a(0,_.offset,_.startLoc);return t&&S.loc&&(S.loc.source=p),S.body=L(g),e.onCacheKey&&(S.cacheKey=e.onCacheKey(p)),_.currentType!==14&&r(g,Ae.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:y}}function Dt(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 Ph(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(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;oa;function i(x,w){a.code+=x}function c(x,w=!0){const L=w?n:"";i(r?L+" ".repeat(x):L)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function f(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:f,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Oh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),nn(e,t.key),t.modifier?(e.push(", "),nn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Dh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Fi(t.mode)?t.mode:"normal",n=Fi(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],l=Mh(e,{filename:n,breakLineCode:r,needIndent:s});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),a.length>0&&(l.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),nn(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Bh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Lh(o).parse(e);return n?(s&&Ih(l),r&&on(l),{ast:l,code:""}):(Nh(l,o),Uh(l,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Gh(){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 Zt(e){return Ue(e)&&Gs(e)===0&&(Ot(e,"b")||Ot(e,"body"))}const ji=["b","body"];function qh(e){return Ao(e,ji)}const zi=["c","cases"];function Hh(e){return Ao(e,zi,[])}const Ui=["s","static"];function Vh(e){return Ao(e,Ui)}const Bi=["i","items"];function Wh(e){return Ao(e,Bi,[])}const Gi=["t","type"];function Gs(e){return Ao(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Ao(e,qi);if(o!=null)return o;throw zn(t)}const Hi=["m","modifier"];function Kh(e){return Ao(e,Hi)}const Vi=["k","key"];function Yh(e){const t=Ao(e,Vi);if(t)return t;throw zn(6)}function Ao(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=em(a),a===!1))return!1;m[1]()}};function v(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,l="\\"+A,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Qh(s),f=Co[n],c=f[i]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function om(e,t){return Ue(e)?e[t]:null}function nm(e,t){if(!Ue(e))return null;let o=Ki.get(t);if(o||(o=tm(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,sm=e=>"",am="text",lm=e=>e.length===0?"":fh(e),im=dh;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function cm(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function um(e,t){t.count||(t.count=e),t.n||(t.n=e)}function dm(e={}){const t=e.locale,o=cm(e),n=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:Yi,r=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?Yi:void 0,s=L=>L[n(o,L.length,r)],a=e.list||[],l=L=>a[L],i=e.named||Ve();ot(e.pluralIndex)&&um(o,i);const c=L=>i[L];function u(L){const y=Xe(e.messages)?e.messages(L):Ue(e.messages)?e.messages[L]:!1;return y||(e.parent?e.parent.message(L):sm)}const f=L=>e.modifiers?e.modifiers[L]:rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:lm,v=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:im,A=Pe(e.processor)&&ge(e.processor.type)?e.processor.type:am,w={list:l,named:c,plural:s,linked:(L,...y)=>{const[p,g]=y;let _="text",S="";y.length===1?Ue(p)?(S=p.modifier||S,_=p.type||_):ge(p)&&(S=p||S):y.length===2&&(ge(p)&&(S=p||S),ge(g)&&(_=g||_));const $=u(L)(w),D=_==="vnode"&&Ze($)&&S?$[0]:$;return S?f(S)(D,_):D},message:u,type:A,interpolate:v,normalize:m,values:dt(Ve(),a,i)};return w}let Un=null;function fm(e){Un=e}function pm(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gm=hm("function:translate");function hm(e){return t=>Un&&Un.emit(e,t)}const mm=Us.__EXTEND_POINT__,jo=Mr(mm),bm={FALLBACK_TO_TRANSLATE:jo(),CANNOT_FORMAT_NUMBER:jo(),FALLBACK_TO_NUMBER_FORMAT:jo(),CANNOT_FORMAT_DATE:jo(),FALLBACK_TO_DATE_FORMAT:jo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jo(),__EXTEND_POINT__:jo()},Xi=Ae.__EXTEND_POINT__,zo=Mr(Xi),jt={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:zo(),INVALID_ISO_DATE_ARGUMENT:zo(),NOT_SUPPORT_NON_STRING_MESSAGE:zo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zo(),NOT_SUPPORT_LOCALE_TYPE:zo(),__EXTEND_POINT__:zo()};function Qt(e){return tn(e,null,void 0)}function qs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let Hs;function Ji(e){if(ge(e))return e;if(Xe(e)){if(e.resolvedOnce&&Hs!=null)return Hs;if(e.constructor.name==="Function"){const t=e();if(uh(t))throw Qt(jt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Hs=t}else throw Qt(jt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Qt(jt.NOT_SUPPORT_LOCALE_TYPE)}function _m(e,t,o){return[...new Set([o,...Ze(t)?t:Ue(t)?Object.keys(t):ge(t)?[t]:[o]])]}function Zi(e,t,o){const n=ge(o)?o:rn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Ze(a);)a=Qi(s,a,t);const l=Ze(t)||!Pe(t)?t:t.default?t.default:null;a=ge(l)?[l]:l,Ze(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function wm(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?tc(e):t==="vnode"&&Ue(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function km(e){rc=e}let sc;function $m(e){sc=e}let ac=null;const Sm=e=>{ac=e},Em=()=>ac;let lc=null;const ic=e=>{lc=e},Am=()=>lc;let cc=0;function Cm(e={}){const t=Xe(e.onWarn)?e.onWarn:nh,o=ge(e.version)?e.version:xm,n=ge(e.locale)||Xe(e.locale)?e.locale:rn,r=Xe(n)?rn:n,s=Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:Vs(r),l=Pe(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Pe(e.numberFormats)?e.numberFormats:Vs(r),c=dt(Ve(),e.modifiers,wm()),u=e.pluralRules||Ve(),f=Xe(e.missing)?e.missing:null,m=De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,v=De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Pe(e.processor)?e.processor:null,y=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Xe(e.messageCompiler)?e.messageCompiler:oc,_=Xe(e.messageResolver)?e.messageResolver:rc||om,S=Xe(e.localeFallbacker)?e.localeFallbacker:sc||_m,$=Ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,I=Ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,H=Ue(D.__numberFormatters)?D.__numberFormatters:new Map,Q=Ue(D.__meta)?D.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:v,fallbackFormat:A,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:Q};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=I,se.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&pm(se,o,Q),se}const Vs=e=>({[e]:Ve()});function Ws(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return ge(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Tm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nPm(o,e)}function Pm(e,t){const o=qh(t);if(o==null)throw zn(0);if(Gs(o)===1){const s=Hh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Vh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Wh(t).reduce((r,s)=>[...r,Ys(e,s)],[]);return e.normalize(n)}}function Ys(e,t){const o=Gs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Ot(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ot(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Ot(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Ot(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Kh(n),s=Yh(n);return e.linked(Ys(e,s),r?Ys(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let sn=Ve();function fc(e,t={}){let o=!1;const n=t.onError||yh;return t.onError=r=>{o=!0,n(r)},{...Bh(e,t),detectError:o}}const Nm=(e,t)=>{if(!ge(e))throw Qt(jt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:sn[n]=l}};function Im(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ks(s);return a?l:sn[n]=l}else{const o=e.cacheKey;if(o){const n=sn[o];return n||(sn[o]=Ks(e))}else return Ks(e)}}const pc=()=>"",Lt=e=>Xe(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Xs(...t),u=De(c.missingWarn)?c.missingWarn:e.missingWarn,f=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,A=ge(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||A!=="",w=qs(e,c);m&&Rm(c);let[L,y,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,f,u),g=L,_=i;if(!v&&!(ge(g)||Zt(g)||Lt(g))&&x&&(g=A,_=g),!v&&(!(ge(g)||Zt(g)||Lt(g))||!ge(y)))return r?Ur:i;let S=!1;const $=()=>{S=!0},D=Lt(g)?g:mc(e,i,y,g,_,$);if(S)return g;const I=Om(e,y,p,c),H=dm(I),Q=Fm(e,D,H);let se=n?n(Q,i):Q;if(m&&ge(se)&&(se=ih(se)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:ge(i)?i:Lt(g)?g.key:"",locale:y||(Lt(g)?g.locale:""),format:ge(g)?g:Lt(g)?g.source:"",message:se};_e.meta=dt({},e.__meta,Em()||{}),gm(_e)}return se}function Rm(e){Ze(e.list)?e.list=e.list.map(t=>ge(t)?Ci(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let f=Ve(),m,v=null;const A="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Mm(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Fm(e,t,o){return t(o)}function Xs(...e){const[t,o,n]=e,r=Ve();if(!ge(t)&&!ot(t)&&!Lt(t)&&!Zt(t))throw Qt(jt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Lt(t),t);return ot(o)?r.plural=o:ge(o)?r.default=o:Pe(o)&&!Fr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:ge(n)?r.default=n:Pe(n)&&dt(r,n),[s,r]}function Mm(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>rh(t,o,a)}}function Om(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let A=a(o,v);if(A==null&&u){const[,,x]=hc(u,v,t,l,i,c);A=a(x,v)}if(ge(A)||Zt(A)){let x=!1;const L=mc(e,v,t,A,v,()=>{x=!0});return x?pc:L}else return Lt(A)?A:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,f]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.DateTimeFormat(A,f).format(c);let w={},L,y=null;const p="datetime format";for(let S=0;S{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,f]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.NumberFormat(A,f).format(c);let w={},L,y=null;const p="number format";for(let S=0;S{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Gh();/*! + */function Gh(){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 Zt(e){return Ue(e)&&Gs(e)===0&&(Ot(e,"b")||Ot(e,"body"))}const ji=["b","body"];function qh(e){return Ao(e,ji)}const zi=["c","cases"];function Hh(e){return Ao(e,zi,[])}const Ui=["s","static"];function Vh(e){return Ao(e,Ui)}const Bi=["i","items"];function Wh(e){return Ao(e,Bi,[])}const Gi=["t","type"];function Gs(e){return Ao(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Ao(e,qi);if(o!=null)return o;throw zn(t)}const Hi=["m","modifier"];function Kh(e){return Ao(e,Hi)}const Vi=["k","key"];function Yh(e){const t=Ao(e,Vi);if(t)return t;throw zn(6)}function Ao(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=em(a),a===!1))return!1;m[1]()}};function v(){const A=e[o+1];if(n===5&&A==="'"||n===6&&A==='"')return o++,l="\\"+A,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Qh(s),f=Co[n],c=f[i]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function om(e,t){return Ue(e)?e[t]:null}function nm(e,t){if(!Ue(e))return null;let o=Ki.get(t);if(o||(o=tm(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,sm=e=>"",am="text",lm=e=>e.length===0?"":fh(e),im=dh;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function cm(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function um(e,t){t.count||(t.count=e),t.n||(t.n=e)}function dm(e={}){const t=e.locale,o=cm(e),n=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:Yi,r=Ue(e.pluralRules)&&ge(t)&&Xe(e.pluralRules[t])?Yi:void 0,s=L=>L[n(o,L.length,r)],a=e.list||[],l=L=>a[L],i=e.named||Ve();ot(e.pluralIndex)&&um(o,i);const c=L=>i[L];function u(L){const y=Xe(e.messages)?e.messages(L):Ue(e.messages)?e.messages[L]:!1;return y||(e.parent?e.parent.message(L):sm)}const f=L=>e.modifiers?e.modifiers[L]:rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:lm,v=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:im,A=Pe(e.processor)&&ge(e.processor.type)?e.processor.type:am,w={list:l,named:c,plural:s,linked:(L,...y)=>{const[p,g]=y;let _="text",S="";y.length===1?Ue(p)?(S=p.modifier||S,_=p.type||_):ge(p)&&(S=p||S):y.length===2&&(ge(p)&&(S=p||S),ge(g)&&(_=g||_));const $=u(L)(w),D=_==="vnode"&&Ze($)&&S?$[0]:$;return S?f(S)(D,_):D},message:u,type:A,interpolate:v,normalize:m,values:dt(Ve(),a,i)};return w}let Un=null;function fm(e){Un=e}function pm(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const gm=hm("function:translate");function hm(e){return t=>Un&&Un.emit(e,t)}const mm=Us.__EXTEND_POINT__,jo=Mr(mm),bm={FALLBACK_TO_TRANSLATE:jo(),CANNOT_FORMAT_NUMBER:jo(),FALLBACK_TO_NUMBER_FORMAT:jo(),CANNOT_FORMAT_DATE:jo(),FALLBACK_TO_DATE_FORMAT:jo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jo(),__EXTEND_POINT__:jo()},Xi=Ae.__EXTEND_POINT__,zo=Mr(Xi),jt={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:zo(),INVALID_ISO_DATE_ARGUMENT:zo(),NOT_SUPPORT_NON_STRING_MESSAGE:zo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zo(),NOT_SUPPORT_LOCALE_TYPE:zo(),__EXTEND_POINT__:zo()};function Qt(e){return tn(e,null,void 0)}function qs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let Hs;function Ji(e){if(ge(e))return e;if(Xe(e)){if(e.resolvedOnce&&Hs!=null)return Hs;if(e.constructor.name==="Function"){const t=e();if(uh(t))throw Qt(jt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Hs=t}else throw Qt(jt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Qt(jt.NOT_SUPPORT_LOCALE_TYPE)}function _m(e,t,o){return[...new Set([o,...Ze(t)?t:Ue(t)?Object.keys(t):ge(t)?[t]:[o]])]}function Zi(e,t,o){const n=ge(o)?o:rn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Ze(a);)a=Qi(s,a,t);const l=Ze(t)||!Pe(t)?t:t.default?t.default:null;a=ge(l)?[l]:l,Ze(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function wm(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?tc(e):t==="vnode"&&Ue(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function km(e){rc=e}let sc;function $m(e){sc=e}let ac=null;const Sm=e=>{ac=e},Em=()=>ac;let lc=null;const ic=e=>{lc=e},Am=()=>lc;let cc=0;function Cm(e={}){const t=Xe(e.onWarn)?e.onWarn:nh,o=ge(e.version)?e.version:xm,n=ge(e.locale)||Xe(e.locale)?e.locale:rn,r=Xe(n)?rn:n,s=Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:Vs(r),l=Pe(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Pe(e.numberFormats)?e.numberFormats:Vs(r),c=dt(Ve(),e.modifiers,wm()),u=e.pluralRules||Ve(),f=Xe(e.missing)?e.missing:null,m=De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,v=De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Pe(e.processor)?e.processor:null,y=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Xe(e.messageCompiler)?e.messageCompiler:oc,_=Xe(e.messageResolver)?e.messageResolver:rc||om,S=Xe(e.localeFallbacker)?e.localeFallbacker:sc||_m,$=Ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,I=Ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,H=Ue(D.__numberFormatters)?D.__numberFormatters:new Map,Q=Ue(D.__meta)?D.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:v,fallbackFormat:A,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:Q};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=I,se.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&pm(se,o,Q),se}const Vs=e=>({[e]:Ve()});function Ws(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return ge(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Tm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Lm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nPm(o,e)}function Pm(e,t){const o=qh(t);if(o==null)throw zn(0);if(Gs(o)===1){const s=Hh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Vh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Wh(t).reduce((r,s)=>[...r,Ys(e,s)],[]);return e.normalize(n)}}function Ys(e,t){const o=Gs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Ot(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ot(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Ot(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Ot(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Kh(n),s=Yh(n);return e.linked(Ys(e,s),r?Ys(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let sn=Ve();function fc(e,t={}){let o=!1;const n=t.onError||yh;return t.onError=r=>{o=!0,n(r)},{...Bh(e,t),detectError:o}}const Nm=(e,t)=>{if(!ge(e))throw Qt(jt.NOT_SUPPORT_NON_STRING_MESSAGE);{De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:sn[n]=l}};function Im(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){De(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=sn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ks(s);return a?l:sn[n]=l}else{const o=e.cacheKey;if(o){const n=sn[o];return n||(sn[o]=Ks(e))}else return Ks(e)}}const pc=()=>"",Lt=e=>Xe(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Xs(...t),u=De(c.missingWarn)?c.missingWarn:e.missingWarn,f=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,A=ge(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||A!=="",w=qs(e,c);m&&Fm(c);let[L,y,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,f,u),g=L,_=i;if(!v&&!(ge(g)||Zt(g)||Lt(g))&&x&&(g=A,_=g),!v&&(!(ge(g)||Zt(g)||Lt(g))||!ge(y)))return r?Ur:i;let S=!1;const $=()=>{S=!0},D=Lt(g)?g:mc(e,i,y,g,_,$);if(S)return g;const I=Om(e,y,p,c),H=dm(I),Q=Rm(e,D,H);let se=n?n(Q,i):Q;if(m&&ge(se)&&(se=ih(se)),__INTLIFY_PROD_DEVTOOLS__){const _e={timestamp:Date.now(),key:ge(i)?i:Lt(g)?g.key:"",locale:y||(Lt(g)?g.locale:""),format:ge(g)?g:Lt(g)?g.source:"",message:se};_e.meta=dt({},e.__meta,Em()||{}),gm(_e)}return se}function Fm(e){Ze(e.list)?e.list=e.list.map(t=>ge(t)?Ci(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let f=Ve(),m,v=null;const A="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Mm(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Rm(e,t,o){return t(o)}function Xs(...e){const[t,o,n]=e,r=Ve();if(!ge(t)&&!ot(t)&&!Lt(t)&&!Zt(t))throw Qt(jt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Lt(t),t);return ot(o)?r.plural=o:ge(o)?r.default=o:Pe(o)&&!Rr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:ge(n)?r.default=n:Pe(n)&&dt(r,n),[s,r]}function Mm(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>rh(t,o,a)}}function Om(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let A=a(o,v);if(A==null&&u){const[,,x]=hc(u,v,t,l,i,c);A=a(x,v)}if(ge(A)||Zt(A)){let x=!1;const L=mc(e,v,t,A,v,()=>{x=!0});return x?pc:L}else return Lt(A)?A:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,f]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.DateTimeFormat(A,f).format(c);let w={},L,y=null;const p="datetime format";for(let S=0;S{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,f]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,A=qs(e,u),x=a(e,r,A);if(!ge(i)||i==="")return new Intl.NumberFormat(A,f).format(c);let w={},L,y=null;const p="number format";for(let S=0;S{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),ge(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}Gh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Dm="9.14.5";function jm(){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 zm=bm.__EXTEND_POINT__,fo=Mr(zm);fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo();const kc=jt.__EXTEND_POINT__,kt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return tn(e,null,void 0)}const Qs=$o("__translateVNode"),ea=$o("__datetimeParts"),ta=$o("__numberParts"),$c=$o("__setPluralRules"),Sc=$o("__injectWithOption"),oa=$o("__dispose");function Gn(e){if(!Ue(e)||Zt(e))return e;for(const t in e)if(Ot(e,t))if(!t.includes("."))Ue(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||Ve(),Dr(c,a[i])):Dr(c,a)}else ge(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Ot(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=Ue(t.messages)?t.messages:Ve();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Me(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Um=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,ko()||void 0,r)}const Bm=()=>{const e=ko();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function na(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Rr?ue:wn,l=!!e.translateExistCompatible;let i=De(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:ge(e.locale)?e.locale:rn),u=a(o&&i?o.fallbackLocale.value:ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=a(Br(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,L=!!e.fallbackFormat,y=Xe(e.missing)?e.missing:null,p=Xe(e.missing)?Nc(e.missing):null,g=Xe(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let D=e.pluralRules||o&&o.pluralRules,I;I=(()=>{r&&ic(null);const O={version:Dm,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:D,missing:p===null?void 0:p,missingWarn:A,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Pe(I)?I.__datetimeFormatters:void 0,O.__numberFormatters=Pe(I)?I.__numberFormatters:void 0;const E=Cm(O);return r&&ic(E),E})(),Bn(I,c.value,u.value);function Q(){return[c.value,u.value,f.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,I.locale=c.value}}),_e=le({get:()=>u.value,set:O=>{u.value=O,I.fallbackLocale=u.value,Bn(I,c.value,O)}}),q=le(()=>f.value),oe=le(()=>m.value),K=le(()=>v.value);function W(){return Xe(g)?g:null}function T(O){g=O,I.postTranslation=O}function B(){return y}function M(O){O!==null&&(p=Nc(O)),y=O,I.missing=p}const P=(O,E,te,ae,he,ve)=>{Q();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=o?Am():void 0),Be=O(I)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=void 0)}if(te!=="translate exists"&&ot(Be)&&Be===Ur||te==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):he(qe)}else{if(ve(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function Y(...O){return P(E=>Reflect.apply(gc,null,[E,...O]),()=>Xs(...O),"translate",E=>Reflect.apply(E.t,E,[...O]),E=>E,E=>ge(E))}function ie(...O){const[E,te,ae]=O;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return Y(E,te,dt({resolvedMessage:!0},ae||{}))}function be(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>Reflect.apply(E.d,E,[...O]),()=>ec,E=>ge(E))}function $e(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>Reflect.apply(E.n,E,[...O]),()=>ec,E=>ge(E))}function Ne(O){return O.map(E=>ge(E)||ot(E)||De(E)?Cc(String(E)):E)}const ke={normalize:Ne,interpolate:O=>O,type:"vnode"};function me(...O){return P(E=>{let te;const ae=E;try{ae.processor=ke,te=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return te},()=>Xs(...O),"translate",E=>E[Qs](...O),E=>[Cc(E)],E=>Ze(E))}function pe(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>E[ta](...O),Lc,E=>ge(E)||Ze(E))}function ye(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>E[ea](...O),Lc,E=>ge(E)||Ze(E))}function b(O){D=O,I.pluralRules=D}function C(O,E){return P(()=>{if(!O)return!1;const te=ge(E)?E:c.value,ae=X(te),he=I.messageResolver(ae,O);return l?he!=null:Zt(he)||Lt(he)||ge(he)},()=>[O],"translate exists",te=>Reflect.apply(te.te,te,[O,E]),Um,te=>De(te))}function k(O){let E=null;const te=Zi(I,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,I.locale=O,Bn(I,c.value,u.value))}),ut(o.fallbackLocale,O=>{i&&(u.value=O,I.fallbackLocale=O,Bn(I,c.value,u.value))}));const re={id:Pc,locale:se,fallbackLocale:_e,get inheritLocale(){return i},set inheritLocale(O){i=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(I,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return D||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,I.missingWarn=A},get fallbackWarn(){return x},set fallbackWarn(O){x=O,I.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(O){w=O},get fallbackFormat(){return L},set fallbackFormat(O){L=O,I.fallbackFormat=L},get warnHtmlMessage(){return _},set warnHtmlMessage(O){_=O,I.warnHtmlMessage=O},get escapeParameter(){return S},set escapeParameter(O){S=O,I.escapeParameter=O},t:Y,getLocaleMessage:X,setLocaleMessage:ne,mergeLocaleMessage:z,getPostTranslationHandler:W,setPostTranslationHandler:T,getMissingHandler:B,setMissingHandler:M,[$c]:b};return re.datetimeFormats=oe,re.numberFormats=K,re.rt=ie,re.te=C,re.tm=G,re.d=be,re.n=$e,re.getDateTimeFormat=j,re.setDateTimeFormat=d,re.mergeDateTimeFormat=h,re.getNumberFormat=R,re.setNumberFormat=U,re.mergeNumberFormat=ee,re[Sc]=n,re[Qs]=me,re[ea]=ye,re[ta]=pe,re}function Gm(e){const t=ge(e.locale)?e.locale:rn,o=ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=De(e.silentTranslationWarn)||So(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=De(e.silentFallbackWarn)||So(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=De(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,f=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let A=e.messages;if(Pe(e.sharedMessages)){const S=e.sharedMessages;A=Object.keys(S).reduce((D,I)=>{const H=D[I]||(D[I]={});return dt(H,S[I]),D},A||{})}const{__i18n:x,__root:w,__injectWithOption:L}=e,y=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:L}}function ra(e={},t){{const o=na(Gm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=De(s)?!s:s},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=De(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:Ze(l)?u=l:Pe(l)&&(f=l),Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:ot(l)?c.plural=l:Ze(l)?u=l:Pe(l)&&(f=l),ge(i)?c.locale=i:Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const sa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Se?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ve())}function Ic(e){return Se}const Rc=An({name:"i18n-t",props:dt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},sa),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||an({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),a=Ve();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const l=qm(t,s),i=r[Qs](e.keypath,l,a),c=dt(Ve(),n),u=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Hm(e){return Ze(e)&&!ge(e[0])}function Fc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=Ve();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:Ue(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?dt(Ve(),m,{[v]:e.format[v]}):m,Ve()));const i=n(e.value,a,l);let c=[a.key];Ze(i)?c=i.map((m,v)=>{const A=r[m.type],x=A?A({[m.type]:m.value,index:v,parts:i}):[m.value];return Hm(x)&&(x[0].key=`${m.type}-${v}`),x}):ge(i)&&(c=[i]);const u=dt(Ve(),s),f=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(f,u,c)}}const Mc=An({name:"i18n-n",props:dt({value:{type:Number,required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Fc(e,t,xc,(...n)=>o[ta](...n))}}),Oc=An({name:"i18n-d",props:dt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Fc(e,t,_c,(...n)=>o[ea](...n))}});function Vm(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 Wm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Vm(e,l.$),f=Dc(c);return[Reflect.apply(u.t,u,[...jc(f)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Rr&&e.global===c&&(a.__i18nWatcher=ut(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Rr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(ge(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return ge(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Km(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Rc.name,"I18nT"].forEach(a=>e.component(a,Rc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",Wm(t))}function Ym(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ra(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=ra({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(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[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(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 Xm=$o("global-vue-i18n");function Jm(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Zm(e,o),i=$o("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...A){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Pe(A[0])){const L=A[0];m.__composerExtend=L.__composerExtend,m.__vueI18nExtend=L.__vueI18nExtend}let x=null;!o&&n&&(x=lb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Km(v,m,...A),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Ym(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function an(e={}){const t=ko();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Qm(t),n=tb(o),r=Ec(t),s=eb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return sb(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=ob(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=dt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=na(i),a.__composerExtend&&(l[oa]=a.__composerExtend(l)),rb(a,t,l),a.__setInstance(t,l)}return l}function Zm(e,t,o){const n=Ha();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ra(e)):n.run(()=>na(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Qm(e){{const t=Fe(e.isCE?Xm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function eb(e,t){return Fr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tb(e){return e.mode==="composition"?e.global:e.global.__composer}function ob(e,t,o=!1){let n=null;const r=t.root;let s=nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rb(e,t,o){mt(()=>{},t),$s(()=>{const n=o;e.__deleteInstance(t);const r=n[oa];r&&(r(),delete n[oa])},t)}function sb(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=De(n.inheritLocale)?n.inheritLocale:!ge(n.locale),l=ue(!r||a?o.locale.value:ge(n.locale)?n.locale:rn),i=ue(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||Ze(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Pe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),f=ue(Pe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:De(n.missingWarn)||So(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:De(n.fallbackWarn)||So(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=Xe(n.missing)?n.missing:null,L=Xe(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,f.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),D=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),I=le(()=>s.value?s.value.messages.value:c.value),H=le(()=>u.value),Q=le(()=>f.value);function se(){return s.value?s.value.getPostTranslationHandler():L}function _e(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function oe(k){s.value&&s.value.setMissingHandler(k)}function K(k){return S(),k()}function W(...k){return s.value?K(()=>Reflect.apply(s.value.t,null,[...k])):K(()=>"")}function T(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function B(...k){return s.value?K(()=>Reflect.apply(s.value.d,null,[...k])):K(()=>"")}function M(...k){return s.value?K(()=>Reflect.apply(s.value.n,null,[...k])):K(()=>"")}function P(k){return s.value?s.value.tm(k):{}}function Y(k,G){return s.value?s.value.te(k,G):!1}function ie(k){return s.value?s.value.getLocaleMessage(k):{}}function be(k,G){s.value&&(s.value.setLocaleMessage(k,G),c.value[k]=G)}function $e(k,G){s.value&&s.value.mergeLocaleMessage(k,G)}function Ne(k){return s.value?s.value.getDateTimeFormat(k):{}}function Ee(k,G){s.value&&(s.value.setDateTimeFormat(k,G),u.value[k]=G)}function ke(k,G){s.value&&s.value.mergeDateTimeFormat(k,G)}function me(k){return s.value?s.value.getNumberFormat(k):{}}function pe(k,G){s.value&&(s.value.setNumberFormat(k,G),f.value[k]=G)}function ye(k,G){s.value&&s.value.mergeNumberFormat(k,G)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:D,messages:I,datetimeFormats:H,numberFormats:Q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:p},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:W,getPostTranslationHandler:se,setPostTranslationHandler:_e,getMissingHandler:q,setMissingHandler:oe,rt:T,d:B,n:M,tm:P,te:Y,getLocaleMessage:ie,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Ne,setDateTimeFormat:Ee,mergeDateTimeFormat:ke,getNumberFormat:me,setNumberFormat:pe,mergeNumberFormat:ye};function C(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(G=>{k.mergeLocaleMessage(G,c.value[G])}),Object.keys(u.value).forEach(G=>{k.mergeDateTimeFormat(G,u.value[G])}),Object.keys(f.value).forEach(G=>{k.mergeNumberFormat(G,f.value[G])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=A,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,f.value=k.numberFormats.value):r&&C(k)}),b}const ab=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function lb(e,t){const o=Object.create(null);return ab.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(jm(),__INTLIFY_JIT_COMPILATION__?nc(Im):nc(Nm),km(nm),$m(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=co();e.__INTLIFY__=!0,fm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ib=Object.assign({"./locales/ar/aria.json":gp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":mp,"./locales/ar/legend.json":bp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":yp,"./locales/ar/prayerLaps.json":vp,"./locales/ar/search.json":xp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Sp,"./locales/de/legend.json":Ep,"./locales/de/messages.json":Ap,"./locales/de/options.json":Cp,"./locales/de/prayerLaps.json":Tp,"./locales/de/search.json":Lp,"./locales/de/tabs.json":Pp,"./locales/en/aria.json":Np,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Rp,"./locales/en/legend.json":Fp,"./locales/en/messages.json":Mp,"./locales/en/options.json":Op,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":jp,"./locales/en/search.json":zp,"./locales/en/tabs.json":Up,"./locales/es/aria.json":Bp,"./locales/es/buttons.json":Gp,"./locales/es/detail.json":qp,"./locales/es/legend.json":Hp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Wp,"./locales/es/prayerLaps.json":Kp,"./locales/es/search.json":Yp,"./locales/es/tabs.json":Xp,"./locales/fr/aria.json":Jp,"./locales/fr/buttons.json":Zp,"./locales/fr/detail.json":Qp,"./locales/fr/legend.json":eg,"./locales/fr/messages.json":tg,"./locales/fr/options.json":og,"./locales/fr/popup.json":ng,"./locales/fr/prayerLaps.json":rg,"./locales/fr/search.json":sg,"./locales/fr/tabs.json":ag,"./locales/hi/aria.json":lg,"./locales/hi/buttons.json":ig,"./locales/hi/detail.json":cg,"./locales/hi/legend.json":ug,"./locales/hi/messages.json":dg,"./locales/hi/options.json":fg,"./locales/hi/prayerLaps.json":pg,"./locales/hi/search.json":gg,"./locales/it/aria.json":hg,"./locales/it/buttons.json":mg,"./locales/it/detail.json":bg,"./locales/it/legend.json":_g,"./locales/it/messages.json":yg,"./locales/it/options.json":vg,"./locales/it/prayerLaps.json":xg,"./locales/it/search.json":wg,"./locales/pt/aria.json":kg,"./locales/pt/buttons.json":$g,"./locales/pt/detail.json":Sg,"./locales/pt/legend.json":Eg,"./locales/pt/messages.json":Ag,"./locales/pt/options.json":Cg,"./locales/pt/prayerLaps.json":Tg,"./locales/pt/search.json":Lg,"./locales/pt/tabs.json":Pg,"./locales/ro/aria.json":Ng,"./locales/ro/buttons.json":Ig,"./locales/ro/detail.json":Rg,"./locales/ro/legend.json":Fg,"./locales/ro/messages.json":Mg,"./locales/ro/options.json":Og,"./locales/ro/prayerLaps.json":Dg,"./locales/ro/search.json":jg,"./locales/ru/aria.json":zg,"./locales/ru/buttons.json":Ug,"./locales/ru/detail.json":Bg,"./locales/ru/legend.json":Gg,"./locales/ru/messages.json":qg,"./locales/ru/options.json":Hg,"./locales/ru/prayerLaps.json":Vg,"./locales/ru/search.json":Wg,"./locales/ru/tabs.json":Kg,"./locales/zh/aria.json":Yg,"./locales/zh/buttons.json":Xg,"./locales/zh/detail.json":Jg,"./locales/zh/legend.json":Zg,"./locales/zh/messages.json":Qg,"./locales/zh/options.json":eh,"./locales/zh/prayerLaps.json":th,"./locales/zh/search.json":oh}),qn={};for(const[e,t]of Object.entries(ib)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const cb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ub(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return cb.includes(t)?t:"en"}function db(){return Jm({legacy:!1,globalInjection:!0,locale:ub(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",po={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},fb=po,aa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},pb=aa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasAdoption:po.notAdopted}function la({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],po.hasAdoption,["==",t,1],po.hasAdoption,po.notAdopted]}const qc=la,gb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:fb,ADOPTION_LABELS:pb,LABELS:aa,PALETTE:po,PROPERTY_KEY:Bc,applyColor:la,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:po,colors:po,labels:aa,getColor:Gc,applyColor:la,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Hc="engagementStatus",go={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},hb=go,ia={notEngaged:"Unengaged",hasEngagement:"Engaged"},mb=ia;function Vc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?go.hasEngagement:go.notEngaged}function ca({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const Wc=ca,bb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:hb,ENGAGEMENT_LABELS:mb,LABELS:ia,PALETTE:go,PROPERTY_KEY:Hc,applyColor:ca,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Hc,palette:go,colors:go,labels:ia,getColor:Vc,applyColor:ca,buildColorExpression:Wc},getColor:Vc},Symbol.toStringTag,{value:"Module"})),ua="languageFamily",_b="#000000",ho={"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"},yb=ho;function da(e){return ho[e]||_b}const vb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ho))t[e(o)]=o;return t})(),xb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return xb[o]||vb[o]||t}function Kc(e){var t;return da(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function fa(){const e=["match",["get",ua]];return Object.entries(ho).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=fa,wb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:yb,PALETTE:ho,PROPERTY_KEY:ua,applyColor:fa,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ua,palette:ho,colors:ho,getColor:Kc,applyColor:fa,buildColorExpression:Yc,getLanguageFamilyColor:da,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:da,languageFamilyColors:ho},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,To={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kb=To,Hn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$b=Hn;function ln(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,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function pa(e){return To[ln(e)]}function Jc(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;return t!==null&&t>0}function Zc(e){return ln(e)==="fullPrayer"}function Qc(e){return pa(e)}function Hr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],To.fullPrayer,[">",t,0],To.hasPrayer,To.noPrayer]}const eu=Hr,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Hn,PALETTE:To,PRAYER_COLORS:kb,PRAYER_LABELS:$b,PROPERTY_KEY:Xc,applyColor:Hr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:To,colors:To,labels:Hn,threshold:qr,getColor:Qc,applyColor:Hr,buildColorExpression:eu,getPrayerLevel:ln,getPrayerColor:pa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:pa,getPrayerLevel:ln},Symbol.toStringTag,{value:"Module"})),tu="religion",ga="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ha(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[ha(t)]||ga}function ma(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,ga]}const nu=ma,Eb=Object.assign({"./adoption.js":gb,"./engagement.js":bb,"./language-family.js":wb,"./prayer-progress.js":Sb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:tu,RELIGION_FAMILIES:Uo,applyColor:ma,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:$t,families:Uo,getColor:ou,applyColor:ma,buildColorExpression:nu,fallback:ga},getColor:ou,getReligionFamily:ha},Symbol.toStringTag,{value:"Module"}))}),Ab=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Cb=e=>e.replace(/-/g,"_").toUpperCase(),mo={...{STATUS:"status",CUSTOM:"custom"}},ba={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=Ab(o);mo[Cb(o)]=r,ba[r]=n}}ru(Eb);function Tb(e){e&&ru(e)}function Vr(e){return ba[e]||ba[mo.LANGUAGE_FAMILY]}const Lb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Pb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Lb,null,!0),!0}catch{return!1}}const su="affinityBlock",cn="#95a5a6",un={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_a={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},dn=_a;Object.entries(un).reduce((e,[t,o])=>(e[o]=t,e),{});const Nb=Object.entries(un).reduce((e,[t,o])=>(e[o]=dn[t],e),{}),Ib=un;function au(e){return un[e]||"Unknown"}function lu(e){return dn[e]||cn}function Rb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?dn[e]||cn:Nb[e]||cn:cn}function Fb(){return Object.entries(un).map(([e,t])=>({code:e,name:t,color:dn[e]}))}function Mb(e){return{code:e,name:un[e]||"Unknown",color:dn[e]||cn}}function Ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Db(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(dn).forEach(([t,o])=>{e.push(t,o)}),e.push(cn),e}const jb={name:"Affinity Block",propertyKey:su,palette:_a,colors:_a,names:Ib,getColor:Ob,applyColor:iu,buildColorExpression:iu,getName:Db,getAffinityBlockName:au,getAffinityBlockColor:Rb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Fb,getAffinityBlockData:Mb};function zb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ya),e}const Gb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:va,aliases:pu,fallback:ya,getColor:Bb,applyColor:gu,buildColorExpression:gu,getRegionColor:Ub,getRegionColorBySlug:fu},qb=Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href,xa=e=>String(e||"").trim().replace(/\/+$/,"");function Hb(){try{const t=String(qb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return xa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return xa(o)}return xa(Hb()||"")}function Vb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function At(e,t){const o=t||Wb(e);mt(()=>{var l;const n=ko();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Wb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Vn={};function Yb(e){return e?(Vn[e]||(Vn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Vn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Vn[e]):Promise.resolve()}function Xb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Jb=` + */const Dm="9.14.5";function jm(){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 zm=bm.__EXTEND_POINT__,fo=Mr(zm);fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo();const kc=jt.__EXTEND_POINT__,kt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return tn(e,null,void 0)}const Qs=$o("__translateVNode"),ea=$o("__datetimeParts"),ta=$o("__numberParts"),$c=$o("__setPluralRules"),Sc=$o("__injectWithOption"),oa=$o("__dispose");function Gn(e){if(!Ue(e)||Zt(e))return e;for(const t in e)if(Ot(e,t))if(!t.includes("."))Ue(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||Ve(),Dr(c,a[i])):Dr(c,a)}else ge(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Ot(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=Ue(t.messages)?t.messages:Ve();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Me(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Um=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,ko()||void 0,r)}const Bm=()=>{const e=ko();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function na(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Fr?ue:wn,l=!!e.translateExistCompatible;let i=De(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:ge(e.locale)?e.locale:rn),u=a(o&&i?o.fallbackLocale.value:ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=a(Br(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=o?o.missingWarn:De(e.missingWarn)||So(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:De(e.fallbackWarn)||So(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:De(e.fallbackRoot)?e.fallbackRoot:!0,L=!!e.fallbackFormat,y=Xe(e.missing)?e.missing:null,p=Xe(e.missing)?Nc(e.missing):null,g=Xe(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let D=e.pluralRules||o&&o.pluralRules,I;I=(()=>{r&&ic(null);const O={version:Dm,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:D,missing:p===null?void 0:p,missingWarn:A,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Pe(I)?I.__datetimeFormatters:void 0,O.__numberFormatters=Pe(I)?I.__numberFormatters:void 0;const E=Cm(O);return r&&ic(E),E})(),Bn(I,c.value,u.value);function Q(){return[c.value,u.value,f.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,I.locale=c.value}}),_e=le({get:()=>u.value,set:O=>{u.value=O,I.fallbackLocale=u.value,Bn(I,c.value,O)}}),q=le(()=>f.value),oe=le(()=>m.value),K=le(()=>v.value);function W(){return Xe(g)?g:null}function T(O){g=O,I.postTranslation=O}function B(){return y}function M(O){O!==null&&(p=Nc(O)),y=O,I.missing=p}const P=(O,E,te,ae,he,ve)=>{Q();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=o?Am():void 0),Be=O(I)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(I.fallbackContext=void 0)}if(te!=="translate exists"&&ot(Be)&&Be===Ur||te==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):he(qe)}else{if(ve(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function Y(...O){return P(E=>Reflect.apply(gc,null,[E,...O]),()=>Xs(...O),"translate",E=>Reflect.apply(E.t,E,[...O]),E=>E,E=>ge(E))}function ie(...O){const[E,te,ae]=O;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return Y(E,te,dt({resolvedMessage:!0},ae||{}))}function be(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>Reflect.apply(E.d,E,[...O]),()=>ec,E=>ge(E))}function $e(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>Reflect.apply(E.n,E,[...O]),()=>ec,E=>ge(E))}function Ne(O){return O.map(E=>ge(E)||ot(E)||De(E)?Cc(String(E)):E)}const ke={normalize:Ne,interpolate:O=>O,type:"vnode"};function me(...O){return P(E=>{let te;const ae=E;try{ae.processor=ke,te=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return te},()=>Xs(...O),"translate",E=>E[Qs](...O),E=>[Cc(E)],E=>Ze(E))}function pe(...O){return P(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>E[ta](...O),Lc,E=>ge(E)||Ze(E))}function ye(...O){return P(E=>Reflect.apply(bc,null,[E,...O]),()=>Js(...O),"datetime format",E=>E[ea](...O),Lc,E=>ge(E)||Ze(E))}function b(O){D=O,I.pluralRules=D}function C(O,E){return P(()=>{if(!O)return!1;const te=ge(E)?E:c.value,ae=X(te),he=I.messageResolver(ae,O);return l?he!=null:Zt(he)||Lt(he)||ge(he)},()=>[O],"translate exists",te=>Reflect.apply(te.te,te,[O,E]),Um,te=>De(te))}function k(O){let E=null;const te=Zi(I,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,I.locale=O,Bn(I,c.value,u.value))}),ut(o.fallbackLocale,O=>{i&&(u.value=O,I.fallbackLocale=O,Bn(I,c.value,u.value))}));const re={id:Pc,locale:se,fallbackLocale:_e,get inheritLocale(){return i},set inheritLocale(O){i=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(I,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return D||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,I.missingWarn=A},get fallbackWarn(){return x},set fallbackWarn(O){x=O,I.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(O){w=O},get fallbackFormat(){return L},set fallbackFormat(O){L=O,I.fallbackFormat=L},get warnHtmlMessage(){return _},set warnHtmlMessage(O){_=O,I.warnHtmlMessage=O},get escapeParameter(){return S},set escapeParameter(O){S=O,I.escapeParameter=O},t:Y,getLocaleMessage:X,setLocaleMessage:ne,mergeLocaleMessage:z,getPostTranslationHandler:W,setPostTranslationHandler:T,getMissingHandler:B,setMissingHandler:M,[$c]:b};return re.datetimeFormats=oe,re.numberFormats=K,re.rt=ie,re.te=C,re.tm=G,re.d=be,re.n=$e,re.getDateTimeFormat=j,re.setDateTimeFormat=d,re.mergeDateTimeFormat=h,re.getNumberFormat=F,re.setNumberFormat=U,re.mergeNumberFormat=ee,re[Sc]=n,re[Qs]=me,re[ea]=ye,re[ta]=pe,re}function Gm(e){const t=ge(e.locale)?e.locale:rn,o=ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=De(e.silentTranslationWarn)||So(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=De(e.silentFallbackWarn)||So(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=De(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,f=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let A=e.messages;if(Pe(e.sharedMessages)){const S=e.sharedMessages;A=Object.keys(S).reduce((D,I)=>{const H=D[I]||(D[I]={});return dt(H,S[I]),D},A||{})}const{__i18n:x,__root:w,__injectWithOption:L}=e,y=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:A,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:L}}function ra(e={},t){{const o=na(Gm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return De(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=De(s)?!s:s},get silentFallbackWarn(){return De(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=De(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:Ze(l)?u=l:Pe(l)&&(f=l),Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,f=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:ot(l)?c.plural=l:Ze(l)?u=l:Pe(l)&&(f=l),ge(i)?c.locale=i:Ze(i)?u=i:Pe(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const sa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Se?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ve())}function Ic(e){return Se}const Fc=An({name:"i18n-t",props:dt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},sa),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||an({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),a=Ve();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const l=qm(t,s),i=r[Qs](e.keypath,l,a),c=dt(Ve(),n),u=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Hm(e){return Ze(e)&&!ge(e[0])}function Rc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=Ve();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:Ue(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?dt(Ve(),m,{[v]:e.format[v]}):m,Ve()));const i=n(e.value,a,l);let c=[a.key];Ze(i)?c=i.map((m,v)=>{const A=r[m.type],x=A?A({[m.type]:m.value,index:v,parts:i}):[m.value];return Hm(x)&&(x[0].key=`${m.type}-${v}`),x}):ge(i)&&(c=[i]);const u=dt(Ve(),s),f=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(f,u,c)}}const Mc=An({name:"i18n-n",props:dt({value:{type:Number,required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Rc(e,t,xc,(...n)=>o[ta](...n))}}),Oc=An({name:"i18n-d",props:dt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},sa),setup(e,t){const o=e.i18n||an({useScope:e.scope,__useComponent:!0});return Rc(e,t,_c,(...n)=>o[ea](...n))}});function Vm(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 Wm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Vm(e,l.$),f=Dc(c);return[Reflect.apply(u.t,u,[...jc(f)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=ut(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Fr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(ge(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return ge(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Km(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(De(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Fc.name,"I18nT"].forEach(a=>e.component(a,Fc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",Wm(t))}function Ym(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ra(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=ra({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(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[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(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 Xm=$o("global-vue-i18n");function Jm(e={},t){const o=__VUE_I18N_LEGACY_API__&&De(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=De(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Zm(e,o),i=$o("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...A){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Pe(A[0])){const L=A[0];m.__composerExtend=L.__composerExtend,m.__vueI18nExtend=L.__vueI18nExtend}let x=null;!o&&n&&(x=lb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Km(v,m,...A),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Ym(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function an(e={}){const t=ko();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Qm(t),n=tb(o),r=Ec(t),s=eb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return sb(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=ob(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=dt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=na(i),a.__composerExtend&&(l[oa]=a.__composerExtend(l)),rb(a,t,l),a.__setInstance(t,l)}return l}function Zm(e,t,o){const n=Ha();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ra(e)):n.run(()=>na(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Qm(e){{const t=Re(e.isCE?Xm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function eb(e,t){return Rr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function tb(e){return e.mode==="composition"?e.global:e.global.__composer}function ob(e,t,o=!1){let n=null;const r=t.root;let s=nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function rb(e,t,o){mt(()=>{},t),$s(()=>{const n=o;e.__deleteInstance(t);const r=n[oa];r&&(r(),delete n[oa])},t)}function sb(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=De(n.inheritLocale)?n.inheritLocale:!ge(n.locale),l=ue(!r||a?o.locale.value:ge(n.locale)?n.locale:rn),i=ue(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||Ze(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Pe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),f=ue(Pe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:De(n.missingWarn)||So(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:De(n.fallbackWarn)||So(n.fallbackWarn)?n.fallbackWarn:!0,A=r?o.fallbackRoot:De(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=Xe(n.missing)?n.missing:null,L=Xe(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,f.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),D=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),I=le(()=>s.value?s.value.messages.value:c.value),H=le(()=>u.value),Q=le(()=>f.value);function se(){return s.value?s.value.getPostTranslationHandler():L}function _e(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function oe(k){s.value&&s.value.setMissingHandler(k)}function K(k){return S(),k()}function W(...k){return s.value?K(()=>Reflect.apply(s.value.t,null,[...k])):K(()=>"")}function T(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function B(...k){return s.value?K(()=>Reflect.apply(s.value.d,null,[...k])):K(()=>"")}function M(...k){return s.value?K(()=>Reflect.apply(s.value.n,null,[...k])):K(()=>"")}function P(k){return s.value?s.value.tm(k):{}}function Y(k,G){return s.value?s.value.te(k,G):!1}function ie(k){return s.value?s.value.getLocaleMessage(k):{}}function be(k,G){s.value&&(s.value.setLocaleMessage(k,G),c.value[k]=G)}function $e(k,G){s.value&&s.value.mergeLocaleMessage(k,G)}function Ne(k){return s.value?s.value.getDateTimeFormat(k):{}}function Ee(k,G){s.value&&(s.value.setDateTimeFormat(k,G),u.value[k]=G)}function ke(k,G){s.value&&s.value.mergeDateTimeFormat(k,G)}function me(k){return s.value?s.value.getNumberFormat(k):{}}function pe(k,G){s.value&&(s.value.setNumberFormat(k,G),f.value[k]=G)}function ye(k,G){s.value&&s.value.mergeNumberFormat(k,G)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:D,messages:I,datetimeFormats:H,numberFormats:Q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:p},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:W,getPostTranslationHandler:se,setPostTranslationHandler:_e,getMissingHandler:q,setMissingHandler:oe,rt:T,d:B,n:M,tm:P,te:Y,getLocaleMessage:ie,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Ne,setDateTimeFormat:Ee,mergeDateTimeFormat:ke,getNumberFormat:me,setNumberFormat:pe,mergeNumberFormat:ye};function C(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(G=>{k.mergeLocaleMessage(G,c.value[G])}),Object.keys(u.value).forEach(G=>{k.mergeDateTimeFormat(G,u.value[G])}),Object.keys(f.value).forEach(G=>{k.mergeNumberFormat(G,f.value[G])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=A,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,f.value=k.numberFormats.value):r&&C(k)}),b}const ab=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function lb(e,t){const o=Object.create(null);return ab.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(jm(),__INTLIFY_JIT_COMPILATION__?nc(Im):nc(Nm),km(nm),$m(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=co();e.__INTLIFY__=!0,fm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ib=Object.assign({"./locales/ar/aria.json":gp,"./locales/ar/buttons.json":hp,"./locales/ar/detail.json":mp,"./locales/ar/legend.json":bp,"./locales/ar/messages.json":_p,"./locales/ar/options.json":yp,"./locales/ar/prayerLaps.json":vp,"./locales/ar/search.json":xp,"./locales/ar/tabs.json":wp,"./locales/de/aria.json":kp,"./locales/de/buttons.json":$p,"./locales/de/detail.json":Sp,"./locales/de/legend.json":Ep,"./locales/de/messages.json":Ap,"./locales/de/options.json":Cp,"./locales/de/prayerLaps.json":Tp,"./locales/de/search.json":Lp,"./locales/de/tabs.json":Pp,"./locales/en/aria.json":Np,"./locales/en/buttons.json":Ip,"./locales/en/detail.json":Fp,"./locales/en/legend.json":Rp,"./locales/en/messages.json":Mp,"./locales/en/options.json":Op,"./locales/en/popup.json":Dp,"./locales/en/prayerLaps.json":jp,"./locales/en/search.json":zp,"./locales/en/tabs.json":Up,"./locales/es/aria.json":Bp,"./locales/es/buttons.json":Gp,"./locales/es/detail.json":qp,"./locales/es/legend.json":Hp,"./locales/es/messages.json":Vp,"./locales/es/options.json":Wp,"./locales/es/prayerLaps.json":Kp,"./locales/es/search.json":Yp,"./locales/es/tabs.json":Xp,"./locales/fr/aria.json":Jp,"./locales/fr/buttons.json":Zp,"./locales/fr/detail.json":Qp,"./locales/fr/legend.json":eg,"./locales/fr/messages.json":tg,"./locales/fr/options.json":og,"./locales/fr/popup.json":ng,"./locales/fr/prayerLaps.json":rg,"./locales/fr/search.json":sg,"./locales/fr/tabs.json":ag,"./locales/hi/aria.json":lg,"./locales/hi/buttons.json":ig,"./locales/hi/detail.json":cg,"./locales/hi/legend.json":ug,"./locales/hi/messages.json":dg,"./locales/hi/options.json":fg,"./locales/hi/prayerLaps.json":pg,"./locales/hi/search.json":gg,"./locales/it/aria.json":hg,"./locales/it/buttons.json":mg,"./locales/it/detail.json":bg,"./locales/it/legend.json":_g,"./locales/it/messages.json":yg,"./locales/it/options.json":vg,"./locales/it/prayerLaps.json":xg,"./locales/it/search.json":wg,"./locales/pt/aria.json":kg,"./locales/pt/buttons.json":$g,"./locales/pt/detail.json":Sg,"./locales/pt/legend.json":Eg,"./locales/pt/messages.json":Ag,"./locales/pt/options.json":Cg,"./locales/pt/prayerLaps.json":Tg,"./locales/pt/search.json":Lg,"./locales/pt/tabs.json":Pg,"./locales/ro/aria.json":Ng,"./locales/ro/buttons.json":Ig,"./locales/ro/detail.json":Fg,"./locales/ro/legend.json":Rg,"./locales/ro/messages.json":Mg,"./locales/ro/options.json":Og,"./locales/ro/prayerLaps.json":Dg,"./locales/ro/search.json":jg,"./locales/ru/aria.json":zg,"./locales/ru/buttons.json":Ug,"./locales/ru/detail.json":Bg,"./locales/ru/legend.json":Gg,"./locales/ru/messages.json":qg,"./locales/ru/options.json":Hg,"./locales/ru/prayerLaps.json":Vg,"./locales/ru/search.json":Wg,"./locales/ru/tabs.json":Kg,"./locales/zh/aria.json":Yg,"./locales/zh/buttons.json":Xg,"./locales/zh/detail.json":Jg,"./locales/zh/legend.json":Zg,"./locales/zh/messages.json":Qg,"./locales/zh/options.json":eh,"./locales/zh/prayerLaps.json":th,"./locales/zh/search.json":oh}),qn={};for(const[e,t]of Object.entries(ib)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const cb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ub(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return cb.includes(t)?t:"en"}function db(){return Jm({legacy:!1,globalInjection:!0,locale:ub(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",po={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},fb=po,aa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},pb=aa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasAdoption:po.notAdopted}function la({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],po.hasAdoption,["==",t,1],po.hasAdoption,po.notAdopted]}const qc=la,gb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:fb,ADOPTION_LABELS:pb,LABELS:aa,PALETTE:po,PROPERTY_KEY:Bc,applyColor:la,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:po,colors:po,labels:aa,getColor:Gc,applyColor:la,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Hc="engagementStatus",go={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},hb=go,ia={notEngaged:"Unengaged",hasEngagement:"Engaged"},mb=ia;function Vc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?go.hasEngagement:go.notEngaged}function ca({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const Wc=ca,bb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:hb,ENGAGEMENT_LABELS:mb,LABELS:ia,PALETTE:go,PROPERTY_KEY:Hc,applyColor:ca,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Hc,palette:go,colors:go,labels:ia,getColor:Vc,applyColor:ca,buildColorExpression:Wc},getColor:Vc},Symbol.toStringTag,{value:"Module"})),ua="languageFamily",_b="#000000",ho={"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"},yb=ho;function da(e){return ho[e]||_b}const vb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ho))t[e(o)]=o;return t})(),xb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return xb[o]||vb[o]||t}function Kc(e){var t;return da(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function fa(){const e=["match",["get",ua]];return Object.entries(ho).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=fa,wb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:yb,PALETTE:ho,PROPERTY_KEY:ua,applyColor:fa,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ua,palette:ho,colors:ho,getColor:Kc,applyColor:fa,buildColorExpression:Yc,getLanguageFamilyColor:da,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:da,languageFamilyColors:ho},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,To={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},kb=To,Hn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},$b=Hn;function ln(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,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function pa(e){return To[ln(e)]}function Jc(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;return t!==null&&t>0}function Zc(e){return ln(e)==="fullPrayer"}function Qc(e){return pa(e)}function Hr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],To.fullPrayer,[">",t,0],To.hasPrayer,To.noPrayer]}const eu=Hr,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Hn,PALETTE:To,PRAYER_COLORS:kb,PRAYER_LABELS:$b,PROPERTY_KEY:Xc,applyColor:Hr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:To,colors:To,labels:Hn,threshold:qr,getColor:Qc,applyColor:Hr,buildColorExpression:eu,getPrayerLevel:ln,getPrayerColor:pa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:pa,getPrayerLevel:ln},Symbol.toStringTag,{value:"Module"})),tu="religion",ga="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ha(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[ha(t)]||ga}function ma(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,ga]}const nu=ma,Eb=Object.assign({"./adoption.js":gb,"./engagement.js":bb,"./language-family.js":wb,"./prayer-progress.js":Sb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:tu,RELIGION_FAMILIES:Uo,applyColor:ma,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:$t,families:Uo,getColor:ou,applyColor:ma,buildColorExpression:nu,fallback:ga},getColor:ou,getReligionFamily:ha},Symbol.toStringTag,{value:"Module"}))}),Ab=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Cb=e=>e.replace(/-/g,"_").toUpperCase(),mo={...{STATUS:"status",CUSTOM:"custom"}},ba={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=Ab(o);mo[Cb(o)]=r,ba[r]=n}}ru(Eb);function Tb(e){e&&ru(e)}function Vr(e){return ba[e]||ba[mo.LANGUAGE_FAMILY]}const Lb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Pb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Lb,null,!0),!0}catch{return!1}}const su="affinityBlock",cn="#95a5a6",un={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},_a={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},dn=_a;Object.entries(un).reduce((e,[t,o])=>(e[o]=t,e),{});const Nb=Object.entries(un).reduce((e,[t,o])=>(e[o]=dn[t],e),{}),Ib=un;function au(e){return un[e]||"Unknown"}function lu(e){return dn[e]||cn}function Fb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?dn[e]||cn:Nb[e]||cn:cn}function Rb(){return Object.entries(un).map(([e,t])=>({code:e,name:t,color:dn[e]}))}function Mb(e){return{code:e,name:un[e]||"Unknown",color:dn[e]||cn}}function Ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Db(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(dn).forEach(([t,o])=>{e.push(t,o)}),e.push(cn),e}const jb={name:"Affinity Block",propertyKey:su,palette:_a,colors:_a,names:Ib,getColor:Ob,applyColor:iu,buildColorExpression:iu,getName:Db,getAffinityBlockName:au,getAffinityBlockColor:Fb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Rb,getAffinityBlockData:Mb};function zb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(ya),e}const Gb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:va,aliases:pu,fallback:ya,getColor:Bb,applyColor:gu,buildColorExpression:gu,getRegionColor:Ub,getRegionColorBySlug:fu},qb=Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href,xa=e=>String(e||"").trim().replace(/\/+$/,"");function Hb(){try{const t=String(qb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return xa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return xa(o)}return xa(Hb()||"")}function Vb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function At(e,t){const o=t||Wb(e);mt(()=>{var l;const n=ko();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Wb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Vn={};function Yb(e){return e?(Vn[e]||(Vn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Vn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Vn[e]):Promise.resolve()}function Xb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Jb=` .stl { display:flow-root; width:100%; min-height:100%; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --stl-accent:#92b195; --stl-border:#d1d4cd; --stl-elevated:#ffffff; --stl-muted:#6d766e; } .stl-top { display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--stl-border); background:#ffffff; position:sticky; top:0; z-index:5; } .stl-brand { display:inline-flex; align-items:center; } @@ -67,11 +67,11 @@ .stl ::-webkit-scrollbar-thumb { background:#c4c8c0; border-radius:8px; } .stl ::-webkit-scrollbar-thumb:hover { background:#9aa197; } .stl ::-webkit-scrollbar-corner { background:transparent; } -`,Zb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){At(Jb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Yb(e.src).then(()=>Xb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(()=>{})}}}),Qb={class:"stl"},e_={key:0,class:"stl-top"},t_={class:"stl-brand"},o_={key:0,class:"stl-title"},n_={class:"stl-meta"},r_={class:"stl-stack"},s_={key:0,class:"stl-sec-head"},a_={class:"stl-sec-title"},l_={key:0,class:"stl-sec-sub"},i_={key:2,class:"stl-slot"},c_={class:"stl-tail"};function u_(e,t,o,n,r,s){return V(),J("div",Qb,[e.$slots.brand||e.$slots.meta||e.title?(V(),J("header",e_,[N("span",t_,[Oo(e.$slots,"brand")]),e.title?(V(),J("b",o_,de(e.title),1)):Ie("",!0),N("span",n_,[Oo(e.$slots,"meta")])])):Ie("",!0),N("div",r_,[(V(!0),J(Se,null,Ye(e.sections,a=>(V(),J("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),J("div",s_,[N("b",a_,de(a.title),1),a.sub?(V(),J("span",l_,de(a.sub),1)):Ie("",!0)])):Ie("",!0),a.element?(V(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),J("div",i_,[Oo(e.$slots,"section-"+a.key)]))],6))),128)),N("div",c_,[Oo(e.$slots,"default")])])])}const d_=fn(Zb,[["render",u_],["styles",[Kb]]]);function f_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function p_(){const e=No({}),t=new Set,o=ue(0),n=ue(""),r=new Map;function s(y,p){return r.has(y)||r.set(y,new Set),r.get(y).add(p),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(p)}}function a(y,p){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(p)}catch{}})}let l={};function i(y){l=f_(y)}function c(y,p){if(p==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=p;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function f(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function A(){t.size&&(t.clear(),m())}function x(y,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let p=!1;for(const g of y)t.delete(g)&&(p=!0);return p&&m(),p}function L(y){const p=y instanceof Set?y:new Set(y);if(p.size===t.size){let g=!0;for(const _ of p)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of p)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:f,configureHierarchy:i,toggleSelect:v,clearSelection:A,selectMany:x,deselectMany:w,setSelection:L}}function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const zt={_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}}};function g_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||zt.activeSource;async function i(){var c,u,f,m;t.value=!0,o.value=null;try{const v=((c=zt==null?void 0:zt.sources)==null?void 0:c[l])||{},A=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((f=v.queryParams)==null?void 0:f.lang)||"en",y=`${A}${x}?${w?`fields=${w}&`:""}lang=${L}&_=${Date.now()}`,p=await fetch(y,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],S=new Map;for(const D of _){const I=D&&(D.slug||D.id);I&&S.set(I,D)}n.value=S,r.value=_,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const D=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});D.ok&&(D.headers.get("content-type")||"").includes("json")&&(s.value=await D.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var oe,K,W;const _=s.source||zt.activeSource,S=((oe=zt==null?void 0:zt.sources)==null?void 0:oe[_])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,D=((K=S.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",I=((W=S.queryParams)==null?void 0:W.lang)||"en",H=`${wa()}${D}?fields=${$.join(",")}&lang=${I}`,Q=await fetch(H,{cache:"no-store"});if(!Q.ok)throw new Error(`export list HTTP ${Q.status}`);const se=await Q.json(),_e=Array.isArray(se)?se:se.posts||se.data||se.results||[],q=new Map;for(const T of _e){const B=T&&(T.slug||T.id);B&&q.set(B,T)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const S=l.get(_&&(_.slug||_.id));return S?{..._,...S}:_}function f(){if(o&&o.size)return[...o].map(S=>e.value.get(S)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(S=>_.every($=>{const D=r[$];return D?D(S)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(S=>v(S)).filter(S=>S!==""&&S!==null&&S!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function A(_){const S={};for(const $ of Object.keys(_))S[$]=v(_[$]);return S}function x(_){let S=_==null?"":String(_);return/^[=+\-@]/.test(S)&&(S="'"+S),/[",\n\r]/.test(S)&&(S='"'+S.replace(/"/g,'""')+'"'),S}function w(){const _=f().map(u).map(A),S=_.reduce((Q,se)=>(Object.keys(se).forEach(_e=>Q.add(_e)),Q),new Set),$=[...Wr.filter(Q=>S.has(Q)),...[...S].filter(Q=>!Wr.includes(Q))],D=Object.entries(n).map(([Q,se])=>`${Q}=${a?a(Q,se):se}`).join(" | ")||"none",I=`# Research Dashboard export — scope: ${m()}; filters: ${D}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(Q=>$.map(se=>x(Q[se])).join(",")),I].join(`\r +`,Zb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){At(Jb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Yb(e.src).then(()=>Xb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(o=>{const n=o&&o.message||String(o);console.error('[StackLayout] section "'+e.key+'" failed to mount <'+e.element+">"+(e.src?" from "+e.src:"")+": "+n);try{t.innerHTML="";const r=document.createElement("div");r.setAttribute("role","status"),r.style.cssText="padding:16px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6d766e;background:#fff;border:1px solid #d1d4cd;border-radius:8px;margin:12px",r.textContent="Could not load <"+e.element+">"+(e.src?" from "+e.src:"")+" — "+n,t.appendChild(r)}catch{}})}}}),Qb={class:"stl"},e_={key:0,class:"stl-top"},t_={class:"stl-brand"},o_={key:0,class:"stl-title"},n_={class:"stl-meta"},r_={class:"stl-stack"},s_={key:0,class:"stl-sec-head"},a_={class:"stl-sec-title"},l_={key:0,class:"stl-sec-sub"},i_={key:2,class:"stl-slot"},c_={class:"stl-tail"};function u_(e,t,o,n,r,s){return V(),J("div",Qb,[e.$slots.brand||e.$slots.meta||e.title?(V(),J("header",e_,[N("span",t_,[Oo(e.$slots,"brand")]),e.title?(V(),J("b",o_,de(e.title),1)):Ie("",!0),N("span",n_,[Oo(e.$slots,"meta")])])):Ie("",!0),N("div",r_,[(V(!0),J(Se,null,Ye(e.sections,a=>(V(),J("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),J("div",s_,[N("b",a_,de(a.title),1),a.sub?(V(),J("span",l_,de(a.sub),1)):Ie("",!0)])):Ie("",!0),a.element?(V(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),J("div",i_,[Oo(e.$slots,"section-"+a.key)]))],6))),128)),N("div",c_,[Oo(e.$slots,"default")])])])}const d_=fn(Zb,[["render",u_],["styles",[Kb]]]);function f_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function p_(){const e=No({}),t=new Set,o=ue(0),n=ue(""),r=new Map;function s(y,p){return r.has(y)||r.set(y,new Set),r.get(y).add(p),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(p)}}function a(y,p){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(p)}catch{}})}let l={};function i(y){l=f_(y)}function c(y,p){if(p==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=p;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function f(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function A(){t.size&&(t.clear(),m())}function x(y,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let p=!1;for(const g of y)t.delete(g)&&(p=!0);return p&&m(),p}function L(y){const p=y instanceof Set?y:new Set(y);if(p.size===t.size){let g=!0;for(const _ of p)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of p)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:f,configureHierarchy:i,toggleSelect:v,clearSelection:A,selectMany:x,deselectMany:w,setSelection:L}}function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const zt={_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}}};function g_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||zt.activeSource;async function i(){var c,u,f,m;t.value=!0,o.value=null;try{const v=((c=zt==null?void 0:zt.sources)==null?void 0:c[l])||{},A=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((f=v.queryParams)==null?void 0:f.lang)||"en",y=`${A}${x}?${w?`fields=${w}&`:""}lang=${L}&_=${Date.now()}`,p=await fetch(y,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],S=new Map;for(const D of _){const I=D&&(D.slug||D.id);I&&S.set(I,D)}n.value=S,r.value=_,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const D=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});D.ok&&(D.headers.get("content-type")||"").includes("json")&&(s.value=await D.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var oe,K,W;const _=s.source||zt.activeSource,S=((oe=zt==null?void 0:zt.sources)==null?void 0:oe[_])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,D=((K=S.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",I=((W=S.queryParams)==null?void 0:W.lang)||"en",H=`${wa()}${D}?fields=${$.join(",")}&lang=${I}`,Q=await fetch(H,{cache:"no-store"});if(!Q.ok)throw new Error(`export list HTTP ${Q.status}`);const se=await Q.json(),_e=Array.isArray(se)?se:se.posts||se.data||se.results||[],q=new Map;for(const T of _e){const B=T&&(T.slug||T.id);B&&q.set(B,T)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const S=l.get(_&&(_.slug||_.id));return S?{..._,...S}:_}function f(){if(o&&o.size)return[...o].map(S=>e.value.get(S)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(S=>_.every($=>{const D=r[$];return D?D(S)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(S=>v(S)).filter(S=>S!==""&&S!==null&&S!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function A(_){const S={};for(const $ of Object.keys(_))S[$]=v(_[$]);return S}function x(_){let S=_==null?"":String(_);return/^[=+\-@]/.test(S)&&(S="'"+S),/[",\n\r]/.test(S)&&(S='"'+S.replace(/"/g,'""')+'"'),S}function w(){const _=f().map(u).map(A),S=_.reduce((Q,se)=>(Object.keys(se).forEach(_e=>Q.add(_e)),Q),new Set),$=[...Wr.filter(Q=>S.has(Q)),...[...S].filter(Q=>!Wr.includes(Q))],D=Object.entries(n).map(([Q,se])=>`${Q}=${a?a(Q,se):se}`).join(" | ")||"none",I=`# Research Dashboard export — scope: ${m()}; filters: ${D}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(Q=>$.map(se=>x(Q[se])).join(",")),I].join(`\r `)}const L={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function y(){const _=w(),S=f().length,$=(_.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let D=!1,I=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),D=!0)}catch{}try{const H=new Blob([_],{type:"text/csv;charset=utf-8"}),Q=URL.createObjectURL(H),se=document.createElement("a");se.href=Q,se.download="research-dashboard.csv",se.style.display="none",document.body.appendChild(se),se.click(),I=!0,setTimeout(()=>{try{URL.revokeObjectURL(Q),se.remove()}catch{}},200)}catch{}Object.assign(L,{rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l}}catch{}return{csv:_,rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l}}async function p(){try{await c()}catch{}return y()}function g(){try{return c()}catch{return null}}return{exportCsv:y,exportCsvAsync:p,buildCsv:w,pickRows:f,scopeLabel:m,lastExport:L,prefetchExportFields:g,EXPORT_FIELDS:Wr}}const h_="#6b7280";function m_(){const e=Vr(mo.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function b_(e,t){const o=m_();return e&&o[e]?o[e]:h_}function __(e){return(e==null?void 0:e.properties)||e||{}}function $a(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function y_(e){var t;return String(e.affinityBlock||$a((t=e._raw)==null?void 0:t.rop1)||"").trim()}function v_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function x_(e){var t;return String(e.cluster||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function w_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function k_(e){var t;return String(e.peopleGroup||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function $_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function S_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function E_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function A_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function C_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function T_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=__(l),c=y_(i),u=v_(i)||c||"— Unknown —",f=x_(i),m=w_(i)||f||"— Unknown —",v=k_(i),A=$_(i)||v||"— Unknown —",x=S_(i),w=E_(i)||x,L=A_(i),y=C_(i);if(!x)continue;let p=a.get(c||"__unknown__");p||(p={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",p)),p.count+=1,p.pop+=L,p.memberIds.push(x);let g=p.clusters.get(f||"__unknown__");g||(g={code:f,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(f||"__unknown__",g)),g.count+=1,g.pop+=L,g.memberIds.push(x);let _=g.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:A,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",_)),_.count+=1,_.pop+=L,_.memberIds.push(x),_.instances.push({id:x,name:w,country:y,pop:L})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=le(()=>{const s=t.value,a=[];for(const l of s.values()){const i=b_(l.code,l.label),c={id:`bloc:${l.code||l.label}`,label:l.label,color:i,count:l.count,pop:l.pop,filter:o(l.memberIds),children:[]};for(const u of l.clusters.values()){const f={id:`cluster:${l.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:i,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const v={id:`pg:${l.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:i,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((A,x)=>x.pop-A.pop||A.country.localeCompare(x.country));for(const A of m.instances)v.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:i,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});f.children.push(v)}f.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(f)}c.children.sort((u,f)=>f.count-u.count||f.pop-u.pop),a.push(c)}return a.sort((l,i)=>i.count-l.count||i.pop-l.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),l={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?l.kind="bloc":a.startsWith("cluster:")?l.kind="cluster":a.startsWith("pg:")?l.kind="people-group":a.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function Wn(e,t,o){const n=le(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=T_(n),s=le(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),a=le(()=>{const[i,c,u]=s.value,f=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&f.set(x.code,x.label);for(const w of x.clusters.values()){w.code&&m.set(w.code,w.label);for(const L of w.peopleGroups.values())L.code&&v.set(L.code,L.label)}}const A={};return i&&(A[i]=f),c&&(A[c]=m),u&&(A[u]=v),A});function l(i,c){const u=a.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:l}}class mu{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=zt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),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 o=[],n=[];let r="",s=!1,a=[],l=!0;for(let i=0;i0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const f={};n.forEach((m,v)=>{f[m]=a[v]||""}),o.push(f)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,f]of Object.entries(a))s.push(`${u}=${encodeURIComponent(f)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);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 ${o} 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 o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),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 mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function L_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,f)=>u+(Number(f[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],f=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&f.add(v)}),a=f.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function P_(e){const t=ue(null),o=ue(!1),n=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ue(!1),c=ue(!1),u=ue(!1);mt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Kt(()=>l&&l.disconnect());function f(w){const L=w.target.closest("[data-view]");L&&(s.value=L.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),A=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:f,showFacets:m,showMap:v,showTable:A,showCharts:x}}function N_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ut(()=>({...e.filterSet}),t,{deep:!0}),mt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function I_(e){var x;const t=p_();t.configureHierarchy(e);const o=g_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var p;const w=o.rows.value||[],L=Object.keys(t.filterSet),y=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!L.length&&!y?w:w.filter(g=>L.every(_=>{const S=n[_];return S?S(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>L_(e.kpis,s.value,o.rows.value||[],n,e)),l=P_(t);N_(t);const i=o.sourceId||zt.activeSource,c=((x=zt.sources)==null?void 0:x[i])||{},u=new mu,f=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return f.value}}}},{labelFor:v}=Wn(e,m,i),A=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return ro("selectionBus",t),ro("dashboardData",o),ro("dashboardConfig",e),ro("dataStore",m),ro("searchSourceId",i),mt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:A,responsive:l}}const R_={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},F_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},yu=32,vu=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),Kr=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function M_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...R_,...e.defaults||{}},l={...F_,...e.clamps||{}},i=ue(a.facetW),c=ue(a.railW),u=ue(a.tableH),f=ue(a.mapH),m=ue(a.shellH),v=ue(!1),A=ue(!1),x=ue(!1),w=()=>!!fe(n),L=()=>!!fe(r);function y(){const M=t&&t.value;if(!M)return m.value;const P=M.querySelector('[data-region="map"]'),Y=M.querySelector('[data-region="table"]');if(!P||!Y)return m.value;const ie=P.getBoundingClientRect().height+Y.getBoundingClientRect().height;return ie>0?Math.round(ie):m.value}function p(){const M=t&&t.value;M&&(v.value&&(M.style.setProperty("--facet-w",i.value+"px"),M.style.setProperty("--rail-w",c.value+"px"),M.style.setProperty("--table-h",u.value)),A.value&&M.style.setProperty("--rd-map-h",f.value+"px"),x.value&&M.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const M=t&&t.value;M&&(M.style.removeProperty("--facet-w"),M.style.removeProperty("--rail-w"),M.style.removeProperty("--table-h"),M.style.removeProperty("--rd-map-h"),M.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:f.value,shellH:m.value}))}catch{}}function S(){try{const M=localStorage.getItem(s);if(!M)return!1;const P=JSON.parse(M);return Number.isFinite(P.facetW)&&(i.value=xt(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=xt(P.railW,l.railW)),P.tableH!=null&&(u.value=xt(Kr(P.tableH,Kr(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=xt(P.shellH,l.shellH),x.value=!0),Number.isFinite(P.mapH)&&(f.value=xt(P.mapH,l.mapH),A.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,f.value=a.mapH,m.value=a.shellH,v.value=!1,A.value=!1,x.value=!1,g()}const D=ue(!1);function I(){if(D.value)return;D.value=!0;const M=t&&t.value;if(M&&M.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function H(){if(!D.value)return;D.value=!1;const M=t&&t.value;if(M&&M.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function Q(M,P){if(w())return;const Y=t&&t.value;if(!Y)return;P.preventDefault();const ie=Y.getBoundingClientRect(),be=P.clientX,$e=i.value,Ne=c.value,Ee=P.currentTarget,ke=M==="table"&&L(),me=M==="shell"&&L();let pe=0,ye=l.mapH[1];if(ke){const j=Y.querySelector('[data-region="map"]'),d=j?j.getBoundingClientRect():null;pe=d?d.top:P.clientY-f.value,ye=Math.max(l.mapH[0],m.value-(yu+vu))}const b=P.clientY,C=me?y():m.value;try{Ee&&Ee.setPointerCapture&&Ee.setPointerCapture(P.pointerId)}catch{}I();let k=0,G=null;function X(){if(k=0,!G)return;const j=G;if(G=null,M==="facet")i.value=Math.round(xt($e+(j.clientX-be),l.facetW)),v.value=!0;else if(M==="rail")c.value=Math.round(xt(Ne-(j.clientX-be),l.railW)),v.value=!0;else if(ke)f.value=Math.round(xt(j.clientY-pe,[l.mapH[0],ye])),A.value=!0;else if(M==="table"){const d=(ie.bottom-j.clientY)/ie.height*100;u.value=Math.round(xt(d,l.tableH))+"%",v.value=!0}else me&&(m.value=Math.round(xt(C+(j.clientY-b),l.shellH)),x.value=!0);p()}function ne(j){G={clientX:j.clientX,clientY:j.clientY},k||(k=requestAnimationFrame(X))}function z(j){window.removeEventListener("pointermove",ne),window.removeEventListener("pointerup",z),window.removeEventListener("pointercancel",z),k&&(cancelAnimationFrame(k),k=0),X();try{Ee&&Ee.releasePointerCapture&&Ee.releasePointerCapture(j.pointerId)}catch{}_(),H()}window.addEventListener("pointermove",ne),window.addEventListener("pointerup",z),window.addEventListener("pointercancel",z)}const se=M=>Q("facet",M),_e=M=>Q("rail",M),q=M=>Q("table",M),oe=M=>Q("shell",M),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function W(M,P,Y){if(!w()){if(M==="facet")i.value=Y?P<0?l.facetW[0]:l.facetW[1]:Math.round(xt(i.value+P*K.facet,l.facetW)),v.value=!0;else if(M==="rail")c.value=Y?P<0?l.railW[1]:l.railW[0]:Math.round(xt(c.value-P*K.rail,l.railW)),v.value=!0;else if(M==="table"&&L()){const ie=Math.max(l.mapH[0],m.value-(yu+vu));f.value=Y?P<0?l.mapH[0]:ie:Math.round(xt(f.value+P*K.mapH,[l.mapH[0],ie])),A.value=!0}else if(M==="table"){const ie=Y?P<0?l.tableH[0]:l.tableH[1]:xt(Kr(u.value,Kr(a.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(ie)+"%",v.value=!0}else M==="shell"&&L()&&(m.value=Y?P<0?l.shellH[0]:l.shellH[1]:Math.round(xt(m.value+P*K.shellH,l.shellH)),x.value=!0);p(),_()}}function T(M,P){const Y=P.key;let ie=0;if(M==="table"||M==="shell"?Y==="ArrowUp"?ie=-1:Y==="ArrowDown"&&(ie=1):Y==="ArrowLeft"?ie=-1:Y==="ArrowRight"&&(ie=1),ie){P.preventDefault(),W(M,ie);return}(Y==="Home"||Y==="End")&&(P.preventDefault(),W(M,Y==="Home"?-1:1,!0))}let B=null;return mt(()=>{S()&&p(),o&&typeof o.on=="function"&&(B=o.on("resetLayout",$))}),Kt(()=>{try{B&&B()}catch{}try{H()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:f,shellH:m,customized:v,resizing:D,startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,startResize:Q,reset:$,applyVars:p,stepResize:W,onResizeKeydown:T}}const O_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",D_=["value","placeholder","aria-label"],Sa=fn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),J("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=N("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),N("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,D_)],4))}},[["styles",[O_]]]),j_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return At(` +`&&i++,r||a.length>0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const f={};n.forEach((m,v)=>{f[m]=a[v]||""}),o.push(f)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,f]of Object.entries(a))s.push(`${u}=${encodeURIComponent(f)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);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 ${o} 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 o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),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 mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function L_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,f)=>u+(Number(f[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],f=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&f.add(v)}),a=f.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function P_(e){const t=ue(null),o=ue(!1),n=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ue(!1),c=ue(!1),u=ue(!1);mt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Kt(()=>l&&l.disconnect());function f(w){const L=w.target.closest("[data-view]");L&&(s.value=L.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),A=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:f,showFacets:m,showMap:v,showTable:A,showCharts:x}}function N_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ut(()=>({...e.filterSet}),t,{deep:!0}),mt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function I_(e){var x;const t=p_();t.configureHierarchy(e);const o=g_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var p;const w=o.rows.value||[],L=Object.keys(t.filterSet),y=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!L.length&&!y?w:w.filter(g=>L.every(_=>{const S=n[_];return S?S(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>L_(e.kpis,s.value,o.rows.value||[],n,e)),l=P_(t);N_(t);const i=o.sourceId||zt.activeSource,c=((x=zt.sources)==null?void 0:x[i])||{},u=new mu,f=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return f.value}}}},{labelFor:v}=Wn(e,m,i),A=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return ro("selectionBus",t),ro("dashboardData",o),ro("dashboardConfig",e),ro("dataStore",m),ro("searchSourceId",i),mt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:A,responsive:l}}const F_={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},R_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},yu=32,vu=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),Kr=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function M_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...F_,...e.defaults||{}},l={...R_,...e.clamps||{}},i=ue(a.facetW),c=ue(a.railW),u=ue(a.tableH),f=ue(a.mapH),m=ue(a.shellH),v=ue(!1),A=ue(!1),x=ue(!1),w=()=>!!fe(n),L=()=>!!fe(r);function y(){const M=t&&t.value;if(!M)return m.value;const P=parseFloat(getComputedStyle(M).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const Y=M.querySelector('[data-region="map"]'),ie=M.querySelector('[data-region="table"]');if(!Y||!ie)return m.value;const be=Y.getBoundingClientRect().height+ie.getBoundingClientRect().height;return be>0?Math.round(be):m.value}function p(){const M=t&&t.value;M&&(v.value&&(M.style.setProperty("--facet-w",i.value+"px"),M.style.setProperty("--rail-w",c.value+"px"),M.style.setProperty("--table-h",u.value)),A.value&&M.style.setProperty("--rd-map-h",f.value+"px"),x.value&&M.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const M=t&&t.value;M&&(M.style.removeProperty("--facet-w"),M.style.removeProperty("--rail-w"),M.style.removeProperty("--table-h"),M.style.removeProperty("--rd-map-h"),M.style.removeProperty("--rd-shell-h"))}function _(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:f.value,shellH:m.value}))}catch{}}function S(){try{const M=localStorage.getItem(s);if(!M)return!1;const P=JSON.parse(M);return Number.isFinite(P.facetW)&&(i.value=xt(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=xt(P.railW,l.railW)),P.tableH!=null&&(u.value=xt(Kr(P.tableH,Kr(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=xt(P.shellH,l.shellH),x.value=!0),Number.isFinite(P.mapH)&&(f.value=xt(P.mapH,l.mapH),A.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,f.value=a.mapH,m.value=a.shellH,v.value=!1,A.value=!1,x.value=!1,g()}const D=ue(!1);function I(){if(D.value)return;D.value=!0;const M=t&&t.value;if(M&&M.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function H(){if(!D.value)return;D.value=!1;const M=t&&t.value;if(M&&M.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function Q(M,P){if(w())return;const Y=t&&t.value;if(!Y)return;P.preventDefault();const ie=Y.getBoundingClientRect(),be=P.clientX,$e=i.value,Ne=c.value,Ee=P.currentTarget,ke=M==="table"&&L(),me=M==="shell"&&L();let pe=0,ye=l.mapH[1];if(ke){const j=Y.querySelector('[data-region="map"]'),d=j?j.getBoundingClientRect():null;pe=d?d.top:P.clientY-f.value,ye=Math.max(l.mapH[0],m.value-(yu+vu))}const b=P.clientY,C=me?y():m.value;try{Ee&&Ee.setPointerCapture&&Ee.setPointerCapture(P.pointerId)}catch{}I();let k=0,G=null;function X(){if(k=0,!G)return;const j=G;if(G=null,M==="facet")i.value=Math.round(xt($e+(j.clientX-be),l.facetW)),v.value=!0;else if(M==="rail")c.value=Math.round(xt(Ne-(j.clientX-be),l.railW)),v.value=!0;else if(ke)f.value=Math.round(xt(j.clientY-pe,[l.mapH[0],ye])),A.value=!0;else if(M==="table"){const d=(ie.bottom-j.clientY)/ie.height*100;u.value=Math.round(xt(d,l.tableH))+"%",v.value=!0}else me&&(m.value=Math.round(xt(C+(j.clientY-b),l.shellH)),x.value=!0);p()}function ne(j){G={clientX:j.clientX,clientY:j.clientY},k||(k=requestAnimationFrame(X))}function z(j){window.removeEventListener("pointermove",ne),window.removeEventListener("pointerup",z),window.removeEventListener("pointercancel",z),k&&(cancelAnimationFrame(k),k=0),X();try{Ee&&Ee.releasePointerCapture&&Ee.releasePointerCapture(j.pointerId)}catch{}_(),H()}window.addEventListener("pointermove",ne),window.addEventListener("pointerup",z),window.addEventListener("pointercancel",z)}const se=M=>Q("facet",M),_e=M=>Q("rail",M),q=M=>Q("table",M),oe=M=>Q("shell",M),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function W(M,P,Y){if(!w()){if(M==="facet")i.value=Y?P<0?l.facetW[0]:l.facetW[1]:Math.round(xt(i.value+P*K.facet,l.facetW)),v.value=!0;else if(M==="rail")c.value=Y?P<0?l.railW[1]:l.railW[0]:Math.round(xt(c.value-P*K.rail,l.railW)),v.value=!0;else if(M==="table"&&L()){const ie=Math.max(l.mapH[0],m.value-(yu+vu));f.value=Y?P<0?l.mapH[0]:ie:Math.round(xt(f.value+P*K.mapH,[l.mapH[0],ie])),A.value=!0}else if(M==="table"){const ie=Y?P<0?l.tableH[0]:l.tableH[1]:xt(Kr(u.value,Kr(a.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(ie)+"%",v.value=!0}else M==="shell"&&L()&&(m.value=Y?P<0?l.shellH[0]:l.shellH[1]:Math.round(xt(m.value+P*K.shellH,l.shellH)),x.value=!0);p(),_()}}function T(M,P){const Y=P.key;let ie=0;if(M==="table"||M==="shell"?Y==="ArrowUp"?ie=-1:Y==="ArrowDown"&&(ie=1):Y==="ArrowLeft"?ie=-1:Y==="ArrowRight"&&(ie=1),ie){P.preventDefault(),W(M,ie);return}(Y==="Home"||Y==="End")&&(P.preventDefault(),W(M,Y==="Home"?-1:1,!0))}let B=null;return mt(()=>{S()&&p(),o&&typeof o.on=="function"&&(B=o.on("resetLayout",$))}),Kt(()=>{try{B&&B()}catch{}try{H()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:f,shellH:m,customized:v,resizing:D,startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,startResize:Q,reset:$,applyVars:p,stepResize:W,onResizeKeydown:T}}const O_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",D_=["value","placeholder","aria-label"],Sa=fn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),J("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=N("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),N("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,D_)],4))}},[["styles",[O_]]]),j_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return At(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -111,7 +111,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const o=e,n=t,r=Fe("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var D;const v=(D=r==null?void 0:r.el)==null?void 0:D.value,A=s.value;if(!v||!A){l.value={};return}const x=A.getBoundingClientRect(),w=v.getBoundingClientRect(),L=(w.left+w.right)/2>(x.left+x.right)/2,y=8,p=12,g=L?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-p)),S=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-S-p);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(S)}px`,[L?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}ut(()=>o.open,async v=>{var A;if(v){await $n(),i();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function f(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const A=v.composedPath?v.composedPath():[v.target];a.value&&A.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&A.includes(r.el.value)||A.some(w=>{var L,y,p,g;return((y=(L=w==null?void 0:w.classList)==null?void 0:L.contains)==null?void 0:y.call(L,"mapboxgl-canvas"))||((g=(p=w==null?void 0:w.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return mt(()=>{var v,A,x;s.value=((A=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:A.closest(q_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",f)}),Kt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",f)}),(v,A)=>(V(),wo(Rd,{to:s.value,disabled:!s.value},[e.open?(V(),J("div",{key:0,ref_key:"el",ref:a,class:je(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[N("div",U_,[N("span",B_,de(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=x=>n("close"))},[...A[1]||(A[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",G_,[Oo(v.$slots,"default")])],14,z_)):Ie("",!0)],8,["to","disabled"]))}},V_={class:"share-steps"},W_={class:"share-tabs"},K_={key:0,class:"share-body"},Y_={class:"share-url-box"},X_={class:"share-url-text"},J_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Z_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Q_={key:1,class:"share-body"},ey={class:"share-size-pills"},ty=["onClick"],oy={class:"share-code-box"},ny={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ry={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},sy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` +`,"map-control-menu");const o=e,n=t,r=Re("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var D;const v=(D=r==null?void 0:r.el)==null?void 0:D.value,A=s.value;if(!v||!A){l.value={};return}const x=A.getBoundingClientRect(),w=v.getBoundingClientRect(),L=(w.left+w.right)/2>(x.left+x.right)/2,y=8,p=12,g=L?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-p)),S=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-S-p);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(S)}px`,[L?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}ut(()=>o.open,async v=>{var A;if(v){await $n(),i();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function f(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const A=v.composedPath?v.composedPath():[v.target];a.value&&A.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&A.includes(r.el.value)||A.some(w=>{var L,y,p,g;return((y=(L=w==null?void 0:w.classList)==null?void 0:L.contains)==null?void 0:y.call(L,"mapboxgl-canvas"))||((g=(p=w==null?void 0:w.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return mt(()=>{var v,A,x;s.value=((A=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:A.closest(q_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",f)}),Kt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",f)}),(v,A)=>(V(),wo(Fd,{to:s.value,disabled:!s.value},[e.open?(V(),J("div",{key:0,ref_key:"el",ref:a,class:je(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[N("div",U_,[N("span",B_,de(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=x=>n("close"))},[...A[1]||(A[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",G_,[Oo(v.$slots,"default")])],14,z_)):Ie("",!0)],8,["to","disabled"]))}},V_={class:"share-steps"},W_={class:"share-tabs"},K_={key:0,class:"share-body"},Y_={class:"share-url-box"},X_={class:"share-url-text"},J_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Z_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Q_={key:1,class:"share-body"},ey={class:"share-size-pills"},ty=["onClick"],oy={class:"share-code-box"},ny={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ry={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},sy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){At(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -313,8 +313,7 @@ color:#a0aab8; word-break:break-all; white-space:pre-wrap; - max-height:90px; - overflow-y:auto; + height:auto; -webkit-user-select:all; user-select:all; } @@ -364,7 +363,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=an(),r=e,s=ue(null),a=ue(!1),l=ue(null),i=ue(null),c=ue("link"),u=ue(!1),f=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Fe("profileConfig",null),x=le(()=>Vb({embedPath:r.embedPath,profileConfig:fe(A)||null})),w=le(()=>{const H=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){a.value=!1}async function p(H){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(H),!0}catch{}try{const Q=document.createElement("textarea");Q.value=H,Q.setAttribute("readonly",""),Q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Q),Q.select();const se=document.execCommand("copy");return document.body.removeChild(Q),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const S=Fe("mapToolbar",null),$=ue(null);ro("mapToolbar",S||{el:$});const D=!S;function I(H){if(s.value=H||null,!D||!H){H||($.value=null);return}const Q=H.offsetParent||H.parentElement;Q&&!Q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&Q.setAttribute("data-map-area","share-fallback"),$.value=H}return(H,Q)=>(V(),J("div",{ref:I,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:fe(t)("buttons.share"),onClick:L},{default:vo(()=>[...Q[2]||(Q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Me(H_,{open:a.value,title:fe(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:vo(()=>[N("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[N("ul",V_,[(V(!0),J(Se,null,Ye(fe(o)("buttons.shareSteps"),(se,_e)=>(V(),J("li",{key:_e},de(fe(n)(se)),1))),128))]),N("div",W_,[N("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:Q[0]||(Q[0]=se=>c.value="link")},"Embed link",2),N("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:Q[1]||(Q[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),J("div",K_,[N("div",Y_,[N("div",X_,de(x.value),1)]),N("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),J("svg",Z_,[...Q[4]||(Q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",J_,[...Q[3]||(Q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(u.value?"Copied!":"Copy Link"),1)],2)])):Ie("",!0),c.value==="embed"?(V(),J("div",Q_,[Q[7]||(Q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",ey,[(V(),J(Se,null,Ye(v,(se,_e)=>N("button",{key:_e,class:je(["share-size-pill",{active:m.value===_e}]),onClick:q=>m.value=_e},de(se.label),11,ty)),64))]),N("div",oy,de(w.value),1),N("button",{class:je(["share-secondary-btn",{copied:f.value}]),onClick:_},[f.value?(V(),J("svg",ry,[...Q[6]||(Q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",ny,[...Q[5]||(Q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(f.value?"Copied!":"Copy Code"),1)],2)])):Ie("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},bo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ay=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yr(e,t){const o=Vr(e);return o&&o.propertyKey===t?o:null}function ly(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ha(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function iy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,f]of a)f>i?(l=u,i=f,c=!1):f===i&&(c=!0);r.set(s,l&&!c?wu("wagf_region",l):bo)}return r}function cy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((f,m)=>f+m.value,0)||1;let u=-Math.PI/2;return e.map((f,m)=>{const v=u,A=u+f.value/c*Math.PI*2;u=A;const x=A-v>Math.PI?1:0,w=(y,p)=>`${(s+p*Math.cos(y)).toFixed(2)},${(a+p*Math.sin(y)).toFixed(2)}`,L=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(A,l)} L${w(A,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...f,path:L,pct:Math.round(f.value/c*100),color:xu(n,f.key,r)}})}function uy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:xu(t,r.key,o)}))}function xu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return wu(e,t)}function wu(e,t){if(t==null||t===""||t==="Other")return bo;if(e==="religion"||e==="religion_family"){const o=Yr(mo.RELIGION,"religion"),n=o&&o.palette||$t,r=o&&o.families||Uo;return n[ly(t,r)]||bo}if(e==="wagf_region"){const o=Yr(mo.DOXA_REGION,"doxaRegion");if(!o)return bo;const n=o.slugColors&&o.slugColors[ay(t)];return n||o.aliases&&o.aliases[t]||bo}if(e==="affinity_bloc"){const o=Yr(mo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||bo}if(e==="language_family"){const o=Yr(mo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||bo}return bo}const dy={class:"rd-left"},fy={class:"rd-brand"},py={class:"rd-ttl"},gy={class:"rd-filter-search","data-filter-search":""},hy={key:0,class:"rd-search","data-search":""},my=["data-slug"],by={class:"nm"},_y={class:"sub"},yy={key:1,class:"rd-empty"},vy=["onKeydown"],xy="research-dashboard/research-dashboard/index.html",wy={__name:"DashboardTopBar",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=le(()=>{var p;return((p=n.researchFilters)==null?void 0:p.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(p){o==null||o.setSearch((p==null?void 0:p.value)??"")}const c=ue(""),u=ue(!1),f=ue(0),m=le(()=>{var S;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((S=t==null?void 0:t.rows)==null?void 0:S.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(_.push($),_.length>=8))break;return _});function v(p){!p||!o||(p.slug&&(o.toggleSelect(p.slug),o.emit("focusRow",{slug:p.slug,name:p.name})),c.value="",u.value=!1,f.value=0)}function A(){u.value=!0,f.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),f.value=(f.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),f.value=(f.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[f.value])):p.key==="Escape"&&(c.value="",u.value=!1,f.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),S=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(D=>D.slug===_);S&&v(S)}const L=ue(null);function y(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return mt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Kt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),At(` +`,"share-button");const{t,tm:o,rt:n}=an(),r=e,s=ue(null),a=ue(!1),l=ue(null),i=ue(null),c=ue("link"),u=ue(!1),f=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Re("profileConfig",null),x=le(()=>Vb({embedPath:r.embedPath,profileConfig:fe(A)||null})),w=le(()=>{const H=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){a.value=!1}async function p(H){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(H),!0}catch{}try{const Q=document.createElement("textarea");Q.value=H,Q.setAttribute("readonly",""),Q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(Q),Q.select();const se=document.execCommand("copy");return document.body.removeChild(Q),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const S=Re("mapToolbar",null),$=ue(null);ro("mapToolbar",S||{el:$});const D=!S;function I(H){if(s.value=H||null,!D||!H){H||($.value=null);return}const Q=H.offsetParent||H.parentElement;Q&&!Q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&Q.setAttribute("data-map-area","share-fallback"),$.value=H}return(H,Q)=>(V(),J("div",{ref:I,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:fe(t)("buttons.share"),onClick:L},{default:vo(()=>[...Q[2]||(Q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Me(H_,{open:a.value,title:fe(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:vo(()=>[N("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[N("ul",V_,[(V(!0),J(Se,null,Ye(fe(o)("buttons.shareSteps"),(se,_e)=>(V(),J("li",{key:_e},de(fe(n)(se)),1))),128))]),N("div",W_,[N("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:Q[0]||(Q[0]=se=>c.value="link")},"Embed link",2),N("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:Q[1]||(Q[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),J("div",K_,[N("div",Y_,[N("div",X_,de(x.value),1)]),N("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),J("svg",Z_,[...Q[4]||(Q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",J_,[...Q[3]||(Q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(u.value?"Copied!":"Copy Link"),1)],2)])):Ie("",!0),c.value==="embed"?(V(),J("div",Q_,[Q[7]||(Q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",ey,[(V(),J(Se,null,Ye(v,(se,_e)=>N("button",{key:_e,class:je(["share-size-pill",{active:m.value===_e}]),onClick:q=>m.value=_e},de(se.label),11,ty)),64))]),N("div",oy,de(w.value),1),N("button",{class:je(["share-secondary-btn",{copied:f.value}]),onClick:_},[f.value?(V(),J("svg",ry,[...Q[6]||(Q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),J("svg",ny,[...Q[5]||(Q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+de(f.value?"Copied!":"Copy Code"),1)],2)])):Ie("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},bo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ay=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yr(e,t){const o=Vr(e);return o&&o.propertyKey===t?o:null}function ly(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ha(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function iy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,f]of a)f>i?(l=u,i=f,c=!1):f===i&&(c=!0);r.set(s,l&&!c?wu("wagf_region",l):bo)}return r}function cy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((f,m)=>f+m.value,0)||1;let u=-Math.PI/2;return e.map((f,m)=>{const v=u,A=u+f.value/c*Math.PI*2;u=A;const x=A-v>Math.PI?1:0,w=(y,p)=>`${(s+p*Math.cos(y)).toFixed(2)},${(a+p*Math.sin(y)).toFixed(2)}`,L=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(A,l)} L${w(A,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...f,path:L,pct:Math.round(f.value/c*100),color:xu(n,f.key,r)}})}function uy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:xu(t,r.key,o)}))}function xu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return wu(e,t)}function wu(e,t){if(t==null||t===""||t==="Other")return bo;if(e==="religion"||e==="religion_family"){const o=Yr(mo.RELIGION,"religion"),n=o&&o.palette||$t,r=o&&o.families||Uo;return n[ly(t,r)]||bo}if(e==="wagf_region"){const o=Yr(mo.DOXA_REGION,"doxaRegion");if(!o)return bo;const n=o.slugColors&&o.slugColors[ay(t)];return n||o.aliases&&o.aliases[t]||bo}if(e==="affinity_bloc"){const o=Yr(mo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||bo}if(e==="language_family"){const o=Yr(mo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||bo}return bo}const dy={class:"rd-left"},fy={class:"rd-brand"},py={class:"rd-ttl"},gy={class:"rd-filter-search","data-filter-search":""},hy={key:0,class:"rd-search","data-search":""},my=["data-slug"],by={class:"nm"},_y={class:"sub"},yy={key:1,class:"rd-empty"},vy=["onKeydown"],xy="research-dashboard/research-dashboard/index.html",wy={__name:"DashboardTopBar",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=le(()=>{var p;return((p=n.researchFilters)==null?void 0:p.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(p){o==null||o.setSearch((p==null?void 0:p.value)??"")}const c=ue(""),u=ue(!1),f=ue(0),m=le(()=>{var S;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((S=t==null?void 0:t.rows)==null?void 0:S.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(_.push($),_.length>=8))break;return _});function v(p){!p||!o||(p.slug&&(o.toggleSelect(p.slug),o.emit("focusRow",{slug:p.slug,name:p.name})),c.value="",u.value=!1,f.value=0)}function A(){u.value=!0,f.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),f.value=(f.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),f.value=(f.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[f.value])):p.key==="Escape"&&(c.value="",u.value=!1,f.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),S=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(D=>D.slug===_);S&&v(S)}const L=ue(null);function y(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return mt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Kt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),At(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -406,7 +405,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(p,g)=>(V(),J("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[N("div",dy,[N("span",fy,[N("span",py,[nt(de(fe(n).title||"Research Dashboard"),1),g[1]||(g[1]=N("span",{class:"dot"},".",-1))])])]),N("div",gy,[Me(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(V(),J("div",hy,[g[2]||(g[2]=N("span",{class:"ic"},"⌕",-1)),Tt(N("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:x},null,544),[[rp,c.value]]),u.value&&c.value.trim().length>=2?(V(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),J(Se,{key:0},Ye(m.value,(_,S)=>(V(),J("div",{key:_.slug,class:je(["rd-res",{on:S===f.value}]),"data-slug":_.slug},[N("span",by,de(_.name),1),N("span",_y,de(fe(Qe)(_.country_code))+" · "+de(fe(Qe)(_.religion)),1)],10,my))),128)):(V(),J("div",yy,"No people groups match “"+de(c.value.trim())+"”.",1))])):Ie("",!0)])):Ie("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(en(s,["prevent"]),["enter"]),Ir(en(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,vy),Me(sy,{"embed-path":xy})],512))}},Lo="#c4c8c0";function ky(e,t){const o=Vr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const $y=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Sy(){const e=le(()=>{const o=Vr(mo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Lo;if(o==="people"){const a=ky(mo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Lo}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[$y(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return Lo}return o==="language"?ho[s||r]||Lo:o==="religion"&&$t[s]||Lo}return{colorFor:t,NEUTRAL:Lo}}const Ey={class:"rd-facets","data-region":"facets"},Ay={class:"fr-head"},Cy={class:"fr-scope","data-scope-count":""},Ty=["data-facet-section"],Ly=["onClick"],Py={class:"fr-rows"},Ny=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Iy=["data-expand","data-expand-value","aria-expanded","aria-label"],Ry={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Fy={class:"fr-lbl"},My={class:"fr-bar"},Oy={class:"fr-cnt"},Dy={key:3,class:"fr-donly","aria-hidden":"true"},jy={__name:"DashboardFacetRail",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=Fe("dataStore",null),s=Fe("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([T,B])=>[T,B.get])),i=new Set(Object.entries(n.facets||{}).filter(([,T])=>T&&T.dashboardOnly).map(([T])=>T)),c=Yn(o,Kn(n));function u(T){var Y,ie;const B=((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[],M=Object.keys(a).filter(be=>!T.includes(be)),P=!!(((ie=o==null?void 0:o.searchTerm)==null?void 0:ie.value)||"").trim();return!M.length&&!P?B:B.filter(be=>M.every($e=>{const Ne=l[$e];return Ne?Ne(be)===a[$e]:!0})&&c(be))}const f=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(T=>[T.id,f.has(T.id)])));function v(T){m[T]=!m[T]}const A=No({}),x=(T,B)=>T+":"+B;function w(T,B){const M=x(T,B);A[M]=!L(T,B)}function L(T,B){const M=x(T,B);return M in A?A[M]:a[T]===B}function y(T,B,M){const P=T.reduce((Y,ie)=>Math.max(Y,ie.value),0)||1;return T.map(Y=>({facet:B,value:Y.key,label:Y.key,count:Y.value,frac:Y.value/P,level:M,other:!!Y.other,active:!Y.other&&a[B]===Y.key,dashboardOnly:i.has(B)}))}const p=new Map;function g(T,B,M){if(M)return p.set(T,B.map(ke=>({...ke,count:0,frac:0,active:!1,expanded:!1}))),B;const P=p.get(T);if(!P)return B;const Y=ke=>ke.facet+":"+ke.value,ie=new Set(B.map(Y));if(!P.filter(ke=>!ie.has(Y(ke))).length)return B;const $e=new Map;let Ne="";for(const ke of P){const me=Y(ke);if(ie.has(me)){Ne=me;continue}$e.has(Ne)||$e.set(Ne,[]),$e.get(Ne).push({...ke,zero:!0})}const Ee=[];for(const ke of $e.get("")||[])Ee.push(ke);for(let ke=0;keme.level;)Ee.push(B[++ke]);for(const ye of pe)Ee.push(ye)}}return Ee}function _(T,B){return y(Ca(u([T]),l[T],B??24),T,0)}function S(T,B){const M=[],P=(Y,ie)=>{const be=T[Y],$e=(B&&B[Y])??(Y===T.length-1?40:30);let Ne=u(T.slice(Y));ie.length&&(Ne=Ne.filter(ke=>ie.every(([me,pe])=>{const ye=l[me];return ye?ye(ke)===pe:!0})));const Ee=y(Ca(Ne,l[be],$e),be,Y);for(const ke of Ee)ke.hasChildren=!ke.other&&Y{var M;const T=new Map,B=n.facets&&n.facets.religion_family;if(!B||!B.famKey)return T;for(const P of((M=t==null?void 0:t.rows)==null?void 0:M.value)||[]){const Y=B.get(P);Y&&!T.has(Y)&&T.set(Y,B.famKey(P))}return T}),se=le(()=>{var T;return!Object.keys(a).length&&!(((T=o==null?void 0:o.searchTerm)==null?void 0:T.value)||"").trim()}),_e=le(()=>(n.facetRail||[]).map(T=>{let B=T.drill?S(T.drill,T.topN):_(T.facet,T.topN);if(B=g(T.id,B,se.value),T.tree==="affinity"){const M=D.value;B=B.map(P=>P.other?P:{...P,label:M[P.facet]&&M[P.facet].get(P.value)||P.label})}return B=H(B,T.axis,Q.value),{id:T.id,title:T.title,axis:T.axis,rows:$(B)}})),q=le(()=>{var M;const T=((M=t==null?void 0:t.rows)==null?void 0:M.value)||[],B=Object.keys(a);return B.length?T.filter(P=>B.every(Y=>{const ie=l[Y];return ie?ie(P)===a[Y]:!0})).length:T.length});function oe(T){const B=T.target;if(!B||!B.closest)return;const M=B.closest("[data-expand]");if(M){const be=M.getAttribute("data-expand"),$e=M.getAttribute("data-expand-value");be&&$e!=null&&(T.stopPropagation(),w(be,$e));return}const P=B.closest("[data-facet]");if(!P||!o)return;const Y=P.getAttribute("data-facet"),ie=P.getAttribute("data-value");!Y||!ie||o.setFilter(Y,a[Y]===ie?null:ie)}function K(T){if(T.key!=="Enter"&&T.key!==" "&&T.key!=="Spacebar")return;const B=T.target&&T.target.closest?T.target.closest("[data-facet]"):null;if(!B||!o)return;T.preventDefault();const M=B.getAttribute("data-facet"),P=B.getAttribute("data-value");!M||!P||o.setFilter(M,a[M]===P?null:P)}const W=ue(null);return mt(()=>{o&&o.on("mapFocus",({value:T}={})=>{if(!T||!W.value)return;const M=[...W.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(T));M&&(W.value.scrollTop=Math.max(0,M.offsetTop-8))})}),At(` +`,"rd-topbar"),(p,g)=>(V(),J("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[N("div",dy,[N("span",fy,[N("span",py,[nt(de(fe(n).title||"Research Dashboard"),1),g[1]||(g[1]=N("span",{class:"dot"},".",-1))])])]),N("div",gy,[Me(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(V(),J("div",hy,[g[2]||(g[2]=N("span",{class:"ic"},"⌕",-1)),Tt(N("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:x},null,544),[[rp,c.value]]),u.value&&c.value.trim().length>=2?(V(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),J(Se,{key:0},Ye(m.value,(_,S)=>(V(),J("div",{key:_.slug,class:je(["rd-res",{on:S===f.value}]),"data-slug":_.slug},[N("span",by,de(_.name),1),N("span",_y,de(fe(Qe)(_.country_code))+" · "+de(fe(Qe)(_.religion)),1)],10,my))),128)):(V(),J("div",yy,"No people groups match “"+de(c.value.trim())+"”.",1))])):Ie("",!0)])):Ie("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(en(s,["prevent"]),["enter"]),Ir(en(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,vy),Me(sy,{"embed-path":xy})],512))}},Lo="#c4c8c0";function ky(e,t){const o=Vr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const $y=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Sy(){const e=le(()=>{const o=Vr(mo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Lo;if(o==="people"){const a=ky(mo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Lo}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[$y(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return Lo}return o==="language"?ho[s||r]||Lo:o==="religion"&&$t[s]||Lo}return{colorFor:t,NEUTRAL:Lo}}const Ey={class:"rd-facets","data-region":"facets"},Ay={class:"fr-head"},Cy={class:"fr-scope","data-scope-count":""},Ty=["data-facet-section"],Ly=["onClick"],Py={class:"fr-rows"},Ny=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Iy=["data-expand","data-expand-value","aria-expanded","aria-label"],Fy={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Ry={class:"fr-lbl"},My={class:"fr-bar"},Oy={class:"fr-cnt"},Dy={key:3,class:"fr-donly","aria-hidden":"true"},jy={__name:"DashboardFacetRail",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=Re("dataStore",null),s=Re("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([T,B])=>[T,B.get])),i=new Set(Object.entries(n.facets||{}).filter(([,T])=>T&&T.dashboardOnly).map(([T])=>T)),c=Yn(o,Kn(n));function u(T){var Y,ie;const B=((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[],M=Object.keys(a).filter(be=>!T.includes(be)),P=!!(((ie=o==null?void 0:o.searchTerm)==null?void 0:ie.value)||"").trim();return!M.length&&!P?B:B.filter(be=>M.every($e=>{const Ne=l[$e];return Ne?Ne(be)===a[$e]:!0})&&c(be))}const f=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(T=>[T.id,f.has(T.id)])));function v(T){m[T]=!m[T]}const A=No({}),x=(T,B)=>T+":"+B;function w(T,B){const M=x(T,B);A[M]=!L(T,B)}function L(T,B){const M=x(T,B);return M in A?A[M]:a[T]===B}function y(T,B,M){const P=T.reduce((Y,ie)=>Math.max(Y,ie.value),0)||1;return T.map(Y=>({facet:B,value:Y.key,label:Y.key,count:Y.value,frac:Y.value/P,level:M,other:!!Y.other,active:!Y.other&&a[B]===Y.key,dashboardOnly:i.has(B)}))}const p=new Map;function g(T,B,M){if(M)return p.set(T,B.map(ke=>({...ke,count:0,frac:0,active:!1,expanded:!1}))),B;const P=p.get(T);if(!P)return B;const Y=ke=>ke.facet+":"+ke.value,ie=new Set(B.map(Y));if(!P.filter(ke=>!ie.has(Y(ke))).length)return B;const $e=new Map;let Ne="";for(const ke of P){const me=Y(ke);if(ie.has(me)){Ne=me;continue}$e.has(Ne)||$e.set(Ne,[]),$e.get(Ne).push({...ke,zero:!0})}const Ee=[];for(const ke of $e.get("")||[])Ee.push(ke);for(let ke=0;keme.level;)Ee.push(B[++ke]);for(const ye of pe)Ee.push(ye)}}return Ee}function _(T,B){return y(Ca(u([T]),l[T],B??24),T,0)}function S(T,B){const M=[],P=(Y,ie)=>{const be=T[Y],$e=(B&&B[Y])??(Y===T.length-1?40:30);let Ne=u(T.slice(Y));ie.length&&(Ne=Ne.filter(ke=>ie.every(([me,pe])=>{const ye=l[me];return ye?ye(ke)===pe:!0})));const Ee=y(Ca(Ne,l[be],$e),be,Y);for(const ke of Ee)ke.hasChildren=!ke.other&&Y{var M;const T=new Map,B=n.facets&&n.facets.religion_family;if(!B||!B.famKey)return T;for(const P of((M=t==null?void 0:t.rows)==null?void 0:M.value)||[]){const Y=B.get(P);Y&&!T.has(Y)&&T.set(Y,B.famKey(P))}return T}),se=le(()=>{var T;return!Object.keys(a).length&&!(((T=o==null?void 0:o.searchTerm)==null?void 0:T.value)||"").trim()}),_e=le(()=>(n.facetRail||[]).map(T=>{let B=T.drill?S(T.drill,T.topN):_(T.facet,T.topN);if(B=g(T.id,B,se.value),T.tree==="affinity"){const M=D.value;B=B.map(P=>P.other?P:{...P,label:M[P.facet]&&M[P.facet].get(P.value)||P.label})}return B=H(B,T.axis,Q.value),{id:T.id,title:T.title,axis:T.axis,rows:$(B)}})),q=le(()=>{var M;const T=((M=t==null?void 0:t.rows)==null?void 0:M.value)||[],B=Object.keys(a);return B.length?T.filter(P=>B.every(Y=>{const ie=l[Y];return ie?ie(P)===a[Y]:!0})).length:T.length});function oe(T){const B=T.target;if(!B||!B.closest)return;const M=B.closest("[data-expand]");if(M){const be=M.getAttribute("data-expand"),$e=M.getAttribute("data-expand-value");be&&$e!=null&&(T.stopPropagation(),w(be,$e));return}const P=B.closest("[data-facet]");if(!P||!o)return;const Y=P.getAttribute("data-facet"),ie=P.getAttribute("data-value");!Y||!ie||o.setFilter(Y,a[Y]===ie?null:ie)}function K(T){if(T.key!=="Enter"&&T.key!==" "&&T.key!=="Spacebar")return;const B=T.target&&T.target.closest?T.target.closest("[data-facet]"):null;if(!B||!o)return;T.preventDefault();const M=B.getAttribute("data-facet"),P=B.getAttribute("data-value");!M||!P||o.setFilter(M,a[M]===P?null:P)}const W=ue(null);return mt(()=>{o&&o.on("mapFocus",({value:T}={})=>{if(!T||!W.value)return;const M=[...W.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(T));M&&(W.value.scrollTop=Math.max(0,M.offsetTop-8))})}),At(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -481,7 +480,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(T,B)=>(V(),J("aside",Ey,[N("div",Ay,[B[1]||(B[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",Cy,[N("b",null,de(q.value.toLocaleString("en-US")),1),B[0]||(B[0]=nt(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:W,onClick:oe,onKeydown:K},[(V(!0),J(Se,null,Ye(_e.value,M=>(V(),J("div",{key:M.id,class:"fr-sec","data-facet-section":M.id},[N("div",{class:je(["fr-sech",{closed:!m[M.id]}]),onClick:en(P=>v(M.id),["stop"])},[N("span",null,de(M.title),1),B[2]||(B[2]=N("span",{class:"chev"},"▾",-1))],10,Ly),Tt(N("div",Py,[(V(!0),J(Se,null,Ye(M.rows,P=>(V(),J("div",{key:P.facet+":"+P.value,class:je(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(V(!0),J(Se,null,Ye(P.trunks,(Y,ie)=>(V(),J("span",{key:"tr"+ie,class:je(["fr-trunk","fr-trunk-"+Y])},null,2))),128)),P.hasChildren?(V(),J("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...B[3]||(B[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Iy)):(V(),J("span",Ry)),P.swatch?(V(),J("span",{key:2,class:"fr-sw",style:it({background:P.swatch}),"aria-hidden":"true"},null,4)):Ie("",!0),N("span",Fy,de(P.label),1),N("span",My,[N("i",{style:it({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",Oy,de(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(V(),J("span",Dy,"◐")):Ie("",!0)],10,Ny))),128))],512),[[Mt,m[M.id]]])],8,Ty))),128))],544)]))}},zy=["data-sel-count"],Uy=["data-collapsed"],By=["title","aria-expanded"],Gy={class:"ct","data-table-count":""},qy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Hy=["aria-pressed"],Vy=["aria-pressed"],Wy={key:2,class:"rd-toast","data-export-toast":""},Ky=["aria-busy","title","onKeydown"],Yy={key:0,class:"rd-csv-n"},Xy=["data-sort-by","aria-rowcount"],Jy={class:"rd-thead",role:"row"},Zy=["title"],Qy=["checked","aria-label"],ev=["title","aria-sort","data-col","onClick"],tv={class:"ind"},ov=["data-slug","aria-selected","aria-rowindex"],nv={class:"rd-td chk",role:"gridcell"},rv=["checked","aria-label"],sv={class:"rd-foot",role:"row"},Xn=26,av={__name:"DashboardDataTable",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=E=>{if(typeof E=="number")return E;const te=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(te)?null:te},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const te=Number(E&&E.w);return{flex:`${Number.isFinite(te)&&te>0?te:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,te])=>[E,te.get])),c=le(()=>{var E;return((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]}),u=(o==null?void 0:o.filterSet)||{},f=o==null?void 0:o.selectionSet;function m(E,te,ae){const he=i[te];if(!he)return!0;const ve=he(E);return Array.isArray(ae)?ae.includes(ve):ve===ae}const v=Yn(o,Kn(n)),A=le(()=>{var ae;const E=Object.keys(u),te=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!te?c.value:c.value.filter(he=>E.every(ve=>m(he,ve,u[ve]))&&v(he))}),x=ue([]);function w(E,te){const ae=!!(te&&te.shiftKey),he=x.value.findIndex(ve=>ve.key===E.key);if(he<0)x.value=(ae?[...x.value]:[]).concat({key:E.key,dir:"asc"});else if(x.value[he].dir==="asc"){const ve=[...x.value];ve[he]={key:E.key,dir:"desc"},x.value=ve}else x.value=ae?x.value.filter(ve=>ve.key!==E.key):[]}function L(E){const te=x.value.find(ae=>ae.key===E.key);return te?te.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const E=x.value;if(!E.length)return A.value;const te=E.map(ae=>({col:a.value.find(he=>he.key===ae.key),dir:ae.dir==="asc"?1:-1}));return A.value.slice().sort((ae,he)=>{for(const{col:ve,dir:Be}of te){let qe=ve.get(ae),st=ve.get(he);if((qe==null||qe==="")&&(qe=ve.type==="num"?-1/0:""),(st==null||st==="")&&(st=ve.type==="num"?-1/0:""),qest)return 1*Be}return 0})}),p=ue(!1),g=ue(!1);function _(){p.value=!p.value}function S(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,D=le(()=>{let E=y.value;if(p.value&&($(),E=E.filter(te=>f&&f.has(te.slug))),g.value){$();const te=[],ae=[];for(const he of E)(f&&f.has(he.slug)?te:ae).push(he);E=te.concat(ae)}return E}),I=ue(0),H=ue(360),Q=ue(null);let se=null;function _e(E){I.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(I.value/Xn)-6)),oe=le(()=>Math.ceil(H.value/Xn)+12),K=le(()=>D.value.slice(q.value,q.value+oe.value)),W=le(()=>q.value*Xn),T=le(()=>Math.max(0,(D.value.length-(q.value+K.value.length))*Xn));mt(()=>{Q.value&&(H.value=Q.value.clientHeight||360,se=new ResizeObserver(()=>{H.value=Q.value.clientHeight||H.value}),se.observe(Q.value)),o&&o.on("toggleTable",E=>{X.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!Q.value)return;const te=D.value.findIndex(ae=>ae.slug===E);te>=0&&(Q.value.scrollTop=Math.max(0,te*Xn-H.value/2))})}),Kt(()=>{se&&se.disconnect(),clearTimeout(ee)});const B=le(()=>($(),f?f.size:0)),M=E=>!!(f&&f.has(E.slug)),P=le(()=>$()),Y=ue(null),ie=ue("select");let be=new Set;function $e(E,te){Y.value=E,ie.value=te,be=new Set(f)}function Ne(E,te){const ae=D.value,he=ae.findIndex(et=>et.slug===E),ve=ae.findIndex(et=>et.slug===te);if(he<0||ve<0)return[];const[Be,qe]=he<=ve?[he,ve]:[ve,he],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function Ee(E,te){if(!o||!E)return;const ae=!!(te&&(te.ctrlKey||te.metaKey));if(!!(te&&te.shiftKey)&&Y.value){const ve=Ne(Y.value,E);if(!ve.length)return;if(ae){const Be=new Set(be);if(ie.value==="deselect")for(const qe of ve)Be.delete(qe);else for(const qe of ve)Be.add(qe);o.setSelection(Be)}else o.setSelection(ve);return}if(ae){const ve=!f.has(E);$e(E,ve?"select":"deselect"),o.toggleSelect(E),be=new Set(f);return}$e(E,"select"),o.setSelection([E]),be=new Set(f)}function ke(E){const te=E.target;if(!te||!te.closest)return;const ae=te.closest(".rd-row");if(!ae||!o)return;const he=ae.getAttribute("data-slug");if(he){if(te.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){Ee(he,E);return}$e(he,f.has(he)?"deselect":"select"),o.toggleSelect(he),be=new Set(f);return}Ee(he,E)}}function me(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const pe=le(()=>{$();const E=A.value;if(!E.length)return!1;for(const te of E)if(!f.has(te.slug))return!1;return!0}),ye=le(()=>{if($(),pe.value)return!1;for(const E of A.value)if(f.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=A.value.map(te=>te.slug);pe.value?o.deselectMany(E):o.selectMany(E),Y.value=null,be=new Set(f)}function C(){o&&o.clearSelection(),Y.value=null,be=new Set}const k=ue(null);function G(E){k.value=E||null}ut([ye,k],()=>{k.value&&(k.value.indeterminate=ye.value)},{immediate:!0}),ut([x,()=>A.value.length,p,g],()=>{Y.value=null}),ut(B,E=>{E||(p.value=!1)});const X=ue(!1);function ne(){X.value=!X.value,o&&o.emit("toggleTable",X.value)}const z=le(()=>A.value.reduce((E,te)=>E+(r(te.population)||0),0)),j=le(()=>A.value.length),{labelFor:d}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,R=ue(""),U=ue(!1);let ee=null;async function re(){if(!(!h||U.value)){U.value=!0;try{const E=await h.exportCsvAsync(),te=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";R.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${te}`}catch{R.value="✕ Export failed"}finally{U.value=!1,clearTimeout(ee),ee=setTimeout(()=>{R.value=""},3200)}}}function O(){h&&h.prefetchExportFields()}return At(` +`,"rd-facetrail"),(T,B)=>(V(),J("aside",Ey,[N("div",Ay,[B[1]||(B[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",Cy,[N("b",null,de(q.value.toLocaleString("en-US")),1),B[0]||(B[0]=nt(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:W,onClick:oe,onKeydown:K},[(V(!0),J(Se,null,Ye(_e.value,M=>(V(),J("div",{key:M.id,class:"fr-sec","data-facet-section":M.id},[N("div",{class:je(["fr-sech",{closed:!m[M.id]}]),onClick:en(P=>v(M.id),["stop"])},[N("span",null,de(M.title),1),B[2]||(B[2]=N("span",{class:"chev"},"▾",-1))],10,Ly),Tt(N("div",Py,[(V(!0),J(Se,null,Ye(M.rows,P=>(V(),J("div",{key:P.facet+":"+P.value,class:je(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(V(!0),J(Se,null,Ye(P.trunks,(Y,ie)=>(V(),J("span",{key:"tr"+ie,class:je(["fr-trunk","fr-trunk-"+Y])},null,2))),128)),P.hasChildren?(V(),J("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...B[3]||(B[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Iy)):(V(),J("span",Fy)),P.swatch?(V(),J("span",{key:2,class:"fr-sw",style:it({background:P.swatch}),"aria-hidden":"true"},null,4)):Ie("",!0),N("span",Ry,de(P.label),1),N("span",My,[N("i",{style:it({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",Oy,de(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(V(),J("span",Dy,"◐")):Ie("",!0)],10,Ny))),128))],512),[[Mt,m[M.id]]])],8,Ty))),128))],544)]))}},zy=["data-sel-count"],Uy=["data-collapsed"],By=["title","aria-expanded"],Gy={class:"ct","data-table-count":""},qy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Hy=["aria-pressed"],Vy=["aria-pressed"],Wy={key:2,class:"rd-toast","data-export-toast":""},Ky=["aria-busy","title","onKeydown"],Yy={key:0,class:"rd-csv-n"},Xy=["data-sort-by","aria-rowcount"],Jy={class:"rd-thead",role:"row"},Zy=["title"],Qy=["checked","aria-label"],ev=["title","aria-sort","data-col","onClick"],tv={class:"ind"},ov=["data-slug","aria-selected","aria-rowindex"],nv={class:"rd-td chk",role:"gridcell"},rv=["checked","aria-label"],sv={class:"rd-foot",role:"row"},Xn=26,av={__name:"DashboardDataTable",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=E=>{if(typeof E=="number")return E;const te=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(te)?null:te},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const te=Number(E&&E.w);return{flex:`${Number.isFinite(te)&&te>0?te:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,te])=>[E,te.get])),c=le(()=>{var E;return((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]}),u=(o==null?void 0:o.filterSet)||{},f=o==null?void 0:o.selectionSet;function m(E,te,ae){const he=i[te];if(!he)return!0;const ve=he(E);return Array.isArray(ae)?ae.includes(ve):ve===ae}const v=Yn(o,Kn(n)),A=le(()=>{var ae;const E=Object.keys(u),te=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!te?c.value:c.value.filter(he=>E.every(ve=>m(he,ve,u[ve]))&&v(he))}),x=ue([]);function w(E,te){const ae=!!(te&&te.shiftKey),he=x.value.findIndex(ve=>ve.key===E.key);if(he<0)x.value=(ae?[...x.value]:[]).concat({key:E.key,dir:"asc"});else if(x.value[he].dir==="asc"){const ve=[...x.value];ve[he]={key:E.key,dir:"desc"},x.value=ve}else x.value=ae?x.value.filter(ve=>ve.key!==E.key):[]}function L(E){const te=x.value.find(ae=>ae.key===E.key);return te?te.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const E=x.value;if(!E.length)return A.value;const te=E.map(ae=>({col:a.value.find(he=>he.key===ae.key),dir:ae.dir==="asc"?1:-1}));return A.value.slice().sort((ae,he)=>{for(const{col:ve,dir:Be}of te){let qe=ve.get(ae),st=ve.get(he);if((qe==null||qe==="")&&(qe=ve.type==="num"?-1/0:""),(st==null||st==="")&&(st=ve.type==="num"?-1/0:""),qest)return 1*Be}return 0})}),p=ue(!1),g=ue(!1);function _(){p.value=!p.value}function S(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,D=le(()=>{let E=y.value;if(p.value&&($(),E=E.filter(te=>f&&f.has(te.slug))),g.value){$();const te=[],ae=[];for(const he of E)(f&&f.has(he.slug)?te:ae).push(he);E=te.concat(ae)}return E}),I=ue(0),H=ue(360),Q=ue(null);let se=null;function _e(E){I.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(I.value/Xn)-6)),oe=le(()=>Math.ceil(H.value/Xn)+12),K=le(()=>D.value.slice(q.value,q.value+oe.value)),W=le(()=>q.value*Xn),T=le(()=>Math.max(0,(D.value.length-(q.value+K.value.length))*Xn));mt(()=>{Q.value&&(H.value=Q.value.clientHeight||360,se=new ResizeObserver(()=>{H.value=Q.value.clientHeight||H.value}),se.observe(Q.value)),o&&o.on("toggleTable",E=>{X.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!Q.value)return;const te=D.value.findIndex(ae=>ae.slug===E);te>=0&&(Q.value.scrollTop=Math.max(0,te*Xn-H.value/2))})}),Kt(()=>{se&&se.disconnect(),clearTimeout(ee)});const B=le(()=>($(),f?f.size:0)),M=E=>!!(f&&f.has(E.slug)),P=le(()=>$()),Y=ue(null),ie=ue("select");let be=new Set;function $e(E,te){Y.value=E,ie.value=te,be=new Set(f)}function Ne(E,te){const ae=D.value,he=ae.findIndex(et=>et.slug===E),ve=ae.findIndex(et=>et.slug===te);if(he<0||ve<0)return[];const[Be,qe]=he<=ve?[he,ve]:[ve,he],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function Ee(E,te){if(!o||!E)return;const ae=!!(te&&(te.ctrlKey||te.metaKey));if(!!(te&&te.shiftKey)&&Y.value){const ve=Ne(Y.value,E);if(!ve.length)return;if(ae){const Be=new Set(be);if(ie.value==="deselect")for(const qe of ve)Be.delete(qe);else for(const qe of ve)Be.add(qe);o.setSelection(Be)}else o.setSelection(ve);return}if(ae){const ve=!f.has(E);$e(E,ve?"select":"deselect"),o.toggleSelect(E),be=new Set(f);return}$e(E,"select"),o.setSelection([E]),be=new Set(f)}function ke(E){const te=E.target;if(!te||!te.closest)return;const ae=te.closest(".rd-row");if(!ae||!o)return;const he=ae.getAttribute("data-slug");if(he){if(te.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){Ee(he,E);return}$e(he,f.has(he)?"deselect":"select"),o.toggleSelect(he),be=new Set(f);return}Ee(he,E)}}function me(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const pe=le(()=>{$();const E=A.value;if(!E.length)return!1;for(const te of E)if(!f.has(te.slug))return!1;return!0}),ye=le(()=>{if($(),pe.value)return!1;for(const E of A.value)if(f.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=A.value.map(te=>te.slug);pe.value?o.deselectMany(E):o.selectMany(E),Y.value=null,be=new Set(f)}function C(){o&&o.clearSelection(),Y.value=null,be=new Set}const k=ue(null);function G(E){k.value=E||null}ut([ye,k],()=>{k.value&&(k.value.indeterminate=ye.value)},{immediate:!0}),ut([x,()=>A.value.length,p,g],()=>{Y.value=null}),ut(B,E=>{E||(p.value=!1)});const X=ue(!1);function ne(){X.value=!X.value,o&&o.emit("toggleTable",X.value)}const z=le(()=>A.value.reduce((E,te)=>E+(r(te.population)||0),0)),j=le(()=>A.value.length),{labelFor:d}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,F=ue(""),U=ue(!1);let ee=null;async function re(){if(!(!h||U.value)){U.value=!0;try{const E=await h.exportCsvAsync(),te=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";F.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${te}`}catch{F.value="✕ Export failed"}finally{U.value=!1,clearTimeout(ee),ee=setTimeout(()=>{F.value=""},3200)}}}function O(){h&&h.prefetchExportFields()}return At(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -529,7 +528,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(E,te)=>(V(),J("div",{class:"rd-table-wrap","data-sel-count":B.value},[N("div",{class:"rd-table-bar","data-collapsed":X.value?"1":"0"},[N("button",{class:"rd-dock",title:X.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":X.value?"false":"true",onClick:ne},de(X.value?"▴":"▾"),9,By),te[0]||(te[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",Gy,de(s(j.value))+" "+de(j.value===1?"group":"groups"),1),B.value?(V(),J("span",qy,[N("span",null,de(s(B.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:C},"✕")])):Ie("",!0),B.value?(V(),J(Se,{key:1},[N("button",{class:je(["rd-vtog",{on:p.value}]),"data-only-selected":"","aria-pressed":p.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,Hy),N("button",{class:je(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:S},"Selected first",10,Vy)],64)):Ie("",!0),te[1]||(te[1]=N("span",{class:"rd-bar-sp"},null,-1)),R.value?(V(),J("span",Wy,de(R.value),1)):Ie("",!0),N("span",{class:je(["rd-csv",{busy:U.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":U.value?"true":"false",title:B.value?`Export the ${B.value} selected people groups — all fields`:`Export these ${s(j.value)} people groups — all fields`,onClick:re,onMouseenter:O,onFocus:O,onKeydown:[Ir(en(re,["prevent"]),["enter"]),Ir(en(re,["prevent"]),["space"])]},[nt(de(U.value?"…":"↓")+" Export CSV",1),B.value?(V(),J("span",Yy,de(B.value),1)):Ie("",!0)],42,Ky)],8,Uy),Tt(N("div",{ref_key:"scroller",ref:Q,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":D.value.length+1,onScroll:_e,onClick:ke,onMousedown:me},[N("div",Jy,[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:pe.value?"Deselect all "+s(j.value):"Select all "+s(j.value),onClick:b},[N("input",{type:"checkbox",checked:pe.value,ref:G,"aria-label":pe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Qy)],8,Zy),(V(!0),J(Se,null,Ye(a.value,ae=>(V(),J("div",{key:ae.key,class:je(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":L(ae),"data-col":ae.key,onClick:he=>w(ae,he)},[nt(de(ae.label),1),N("span",tv,de(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,ev))),128))]),N("div",{style:it({height:W.value+"px"})},null,4),(V(!0),J(Se,null,Ye(K.value,(ae,he)=>(V(),J("div",{key:ae.slug,class:je(["rd-row",{sel:P.value>=0&&M(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":M(ae)?"true":"false","aria-rowindex":q.value+he+2},[N("div",nv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:M(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,rv)]),(V(!0),J(Se,null,Ye(a.value,ve=>(V(),J("div",{key:ve.key,class:je(["rd-td",{num:ve.type==="num"}]),style:it(l(ve)),role:"gridcell"},de(ve.type==="num"?s(ve.get(ae)):ve.get(ae)),7))),128))],10,ov))),128)),N("div",{style:it({height:T.value+"px"})},null,4)],40,Xy),[[Mt,!X.value]]),Tt(N("div",sv,[te[2]||(te[2]=N("div",{class:"rd-td chk"},null,-1)),(V(!0),J(Se,null,Ye(a.value,(ae,he)=>(V(),J("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[he===0?(V(),J(Se,{key:0},[nt("Σ "+de(s(j.value))+" groups",1)],64)):ae.key==="population"?(V(),J(Se,{key:1},[nt(de(s(z.value)),1)],64)):Ie("",!0)],6))),128))],512),[[Mt,!X.value]])],8,zy))}},lv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},iv=["aria-selected","disabled","title","data-tab","onClick"],cv=["data-chart"],uv={class:"rd-ct"},dv={class:"rd-donutwrap"},fv=["aria-label"],pv=["d","fill","data-facet","data-key"],gv={class:"rd-legend"},hv=["data-facet","data-key","title"],mv={class:"rd-lt"},bv=["data-chart"],_v={class:"rd-ct"},yv={class:"rd-bars"},vv=["data-facet","data-key"],xv={class:"rd-bl"},wv={class:"rd-bt"},kv={class:"rd-bv"},$v={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=ue("charts"),n=Fe("dashboardData",null),r=Fe("selectionBus",null),s=Fe("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,L])=>[w,L.get])),i=Yn(r,Kn(s));function c(w){var g,_;const L=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(S=>!w.includes(S)),p=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!p?L:L.filter(S=>y.every($=>{const D=l[$];return D?D(S)===a[$]:!0})&&i(S))}const u=le(()=>{var y,p,g,_,S;const w=(p=(y=s.facets)==null?void 0:y.country_code)==null?void 0:p.get,L=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!L?null:iy(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),f=le(()=>(s.charts||[]).map(w=>{var g,_;const L=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(S=>Qe(S[w.facet])),y=Ca(c([w.facet]),L,w.topN),p=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?uy(y,w.facet,p):cy(y,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function A(w,L){!L||L==="Other"||!r||r.setFilter(w,a[w]===L?null:L)}function x(w){const L=w.target&&w.target.closest&&w.target.closest("[data-facet]");L&&A(L.getAttribute("data-facet"),L.getAttribute("data-key"))}return At(` +`,"rd-datatable"),(E,te)=>(V(),J("div",{class:"rd-table-wrap","data-sel-count":B.value},[N("div",{class:"rd-table-bar","data-collapsed":X.value?"1":"0"},[N("button",{class:"rd-dock",title:X.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":X.value?"false":"true",onClick:ne},de(X.value?"▴":"▾"),9,By),te[0]||(te[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",Gy,de(s(j.value))+" "+de(j.value===1?"group":"groups"),1),B.value?(V(),J("span",qy,[N("span",null,de(s(B.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:C},"✕")])):Ie("",!0),B.value?(V(),J(Se,{key:1},[N("button",{class:je(["rd-vtog",{on:p.value}]),"data-only-selected":"","aria-pressed":p.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,Hy),N("button",{class:je(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:S},"Selected first",10,Vy)],64)):Ie("",!0),te[1]||(te[1]=N("span",{class:"rd-bar-sp"},null,-1)),F.value?(V(),J("span",Wy,de(F.value),1)):Ie("",!0),N("span",{class:je(["rd-csv",{busy:U.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":U.value?"true":"false",title:B.value?`Export the ${B.value} selected people groups — all fields`:`Export these ${s(j.value)} people groups — all fields`,onClick:re,onMouseenter:O,onFocus:O,onKeydown:[Ir(en(re,["prevent"]),["enter"]),Ir(en(re,["prevent"]),["space"])]},[nt(de(U.value?"…":"↓")+" Export CSV",1),B.value?(V(),J("span",Yy,de(B.value),1)):Ie("",!0)],42,Ky)],8,Uy),Tt(N("div",{ref_key:"scroller",ref:Q,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":D.value.length+1,onScroll:_e,onClick:ke,onMousedown:me},[N("div",Jy,[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:pe.value?"Deselect all "+s(j.value):"Select all "+s(j.value),onClick:b},[N("input",{type:"checkbox",checked:pe.value,ref:G,"aria-label":pe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Qy)],8,Zy),(V(!0),J(Se,null,Ye(a.value,ae=>(V(),J("div",{key:ae.key,class:je(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":L(ae),"data-col":ae.key,onClick:he=>w(ae,he)},[nt(de(ae.label),1),N("span",tv,de(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,ev))),128))]),N("div",{style:it({height:W.value+"px"})},null,4),(V(!0),J(Se,null,Ye(K.value,(ae,he)=>(V(),J("div",{key:ae.slug,class:je(["rd-row",{sel:P.value>=0&&M(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":M(ae)?"true":"false","aria-rowindex":q.value+he+2},[N("div",nv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:M(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,rv)]),(V(!0),J(Se,null,Ye(a.value,ve=>(V(),J("div",{key:ve.key,class:je(["rd-td",{num:ve.type==="num"}]),style:it(l(ve)),role:"gridcell"},de(ve.type==="num"?s(ve.get(ae)):ve.get(ae)),7))),128))],10,ov))),128)),N("div",{style:it({height:T.value+"px"})},null,4)],40,Xy),[[Mt,!X.value]]),Tt(N("div",sv,[te[2]||(te[2]=N("div",{class:"rd-td chk"},null,-1)),(V(!0),J(Se,null,Ye(a.value,(ae,he)=>(V(),J("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[he===0?(V(),J(Se,{key:0},[nt("Σ "+de(s(j.value))+" groups",1)],64)):ae.key==="population"?(V(),J(Se,{key:1},[nt(de(s(z.value)),1)],64)):Ie("",!0)],6))),128))],512),[[Mt,!X.value]])],8,zy))}},lv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},iv=["aria-selected","disabled","title","data-tab","onClick"],cv=["data-chart"],uv={class:"rd-ct"},dv={class:"rd-donutwrap"},fv=["aria-label"],pv=["d","fill","data-facet","data-key"],gv={class:"rd-legend"},hv=["data-facet","data-key","title"],mv={class:"rd-lt"},bv=["data-chart"],_v={class:"rd-ct"},yv={class:"rd-bars"},vv=["data-facet","data-key"],xv={class:"rd-bl"},wv={class:"rd-bt"},kv={class:"rd-bv"},$v={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=ue("charts"),n=Re("dashboardData",null),r=Re("selectionBus",null),s=Re("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,L])=>[w,L.get])),i=Yn(r,Kn(s));function c(w){var g,_;const L=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(S=>!w.includes(S)),p=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!p?L:L.filter(S=>y.every($=>{const D=l[$];return D?D(S)===a[$]:!0})&&i(S))}const u=le(()=>{var y,p,g,_,S;const w=(p=(y=s.facets)==null?void 0:y.country_code)==null?void 0:p.get,L=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!L?null:iy(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),f=le(()=>(s.charts||[]).map(w=>{var g,_;const L=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(S=>Qe(S[w.facet])),y=Ca(c([w.facet]),L,w.topN),p=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?uy(y,w.facet,p):cy(y,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function A(w,L){!L||L==="Other"||!r||r.setFilter(w,a[w]===L?null:L)}function x(w){const L=w.target&&w.target.closest&&w.target.closest("[data-facet]");L&&A(L.getAttribute("data-facet"),L.getAttribute("data-key"))}return At(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -578,7 +577,7 @@ .rd-bt{ flex:1 1 auto; height:11px; background:var(--dx-surface, #f3f3f1); border-radius:3px; overflow:hidden; } .rd-bf{ display:block; height:100%; border-radius:3px; transition:width .35s cubic-bezier(.4,0,.2,1); } .rd-bv{ flex:0 0 auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; min-width:30px; text-align:right; } -`,"rd-charts"),(w,L)=>(V(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[N("div",lv,[(V(),J(Se,null,Ye(t,y=>N("button",{key:y.id,class:je(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:en(p=>!y.disabled&&(o.value=y.id),["stop"])},de(y.label),11,iv)),64))]),(V(!0),J(Se,null,Ye(f.value,y=>(V(),J(Se,{key:y.id},[y.type==="donut"?(V(),J("div",{key:0,class:"rd-chart","data-chart":y.facet},[N("div",uv,de(y.title),1),N("div",dv,[(V(),J("svg",{class:je(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("path",{key:p.key,d:p.path,fill:p.color,class:je(["rd-slice",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("title",null,de(p.key)+": "+de(p.value)+" ("+de(p.pct)+"%)",1)],10,pv))),128))],10,fv)),N("div",gv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("span",{key:p.key,class:je(["rd-li",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key,title:p.key+": "+p.value},[N("i",{style:it({background:p.color})},null,4),N("span",mv,de(p.key),1),N("b",null,de(p.value),1)],10,hv))),128))])])],8,cv)):(V(),J("div",{key:1,class:"rd-chart","data-chart":y.facet},[N("div",_v,de(y.title),1),N("div",yv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("div",{key:p.key,class:je(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("span",xv,de(p.key),1),N("span",wv,[N("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),N("span",kv,de(p.value),1)],10,vv))),128))])],8,bv))],64))),128))]))}},Sv={class:"rd-detail","data-region":"detail-drawer"},Ev={class:"rd-dh"},Av={key:0,class:"rd-empty","data-detail-empty":""},Cv={class:"rd-top"},Tv=["src","alt"],Lv={key:1,class:"rd-ph","data-detail-thumb":""},Pv={class:"rd-name","data-detail-name":""},Nv={class:"rd-meta"},Iv={class:"rd-actions"},Rv=["href","title"],Fv=["href","title"],Mv={class:"rd-rows"},Ov={class:"rd-row"},Dv={class:"v"},jv={key:0,class:"fam"},zv={class:"rd-row"},Uv={class:"v"},Bv={class:"rd-row"},Gv={class:"v"},qv={class:"rd-row"},Hv={class:"v"},Vv={class:"rd-row"},Wv={class:"v"},Kv={class:"rd-row"},Yv={class:"v"},Xv={__name:"DashboardDetailDrawer",setup(e){const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=ue(null),i=[];mt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Kt(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),f=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,S){if(typeof g=="function")try{return g(_)||S}catch{return S}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):S}const A=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${S}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var I;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((I=window.location)==null?void 0:I.origin)||"https://doxa.life",S=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(S||m.value.utmSource||n.utmSource||"agwm")),D=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,D)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),L=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return At(` +`,"rd-charts"),(w,L)=>(V(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[N("div",lv,[(V(),J(Se,null,Ye(t,y=>N("button",{key:y.id,class:je(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:en(p=>!y.disabled&&(o.value=y.id),["stop"])},de(y.label),11,iv)),64))]),(V(!0),J(Se,null,Ye(f.value,y=>(V(),J(Se,{key:y.id},[y.type==="donut"?(V(),J("div",{key:0,class:"rd-chart","data-chart":y.facet},[N("div",uv,de(y.title),1),N("div",dv,[(V(),J("svg",{class:je(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("path",{key:p.key,d:p.path,fill:p.color,class:je(["rd-slice",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("title",null,de(p.key)+": "+de(p.value)+" ("+de(p.pct)+"%)",1)],10,pv))),128))],10,fv)),N("div",gv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("span",{key:p.key,class:je(["rd-li",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key,title:p.key+": "+p.value},[N("i",{style:it({background:p.color})},null,4),N("span",mv,de(p.key),1),N("b",null,de(p.value),1)],10,hv))),128))])])],8,cv)):(V(),J("div",{key:1,class:"rd-chart","data-chart":y.facet},[N("div",_v,de(y.title),1),N("div",yv,[(V(!0),J(Se,null,Ye(y.geometry,p=>(V(),J("div",{key:p.key,class:je(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[N("span",xv,de(p.key),1),N("span",wv,[N("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),N("span",kv,de(p.value),1)],10,vv))),128))])],8,bv))],64))),128))]))}},Sv={class:"rd-detail","data-region":"detail-drawer"},Ev={class:"rd-dh"},Av={key:0,class:"rd-empty","data-detail-empty":""},Cv={class:"rd-top"},Tv=["src","alt"],Lv={key:1,class:"rd-ph","data-detail-thumb":""},Pv={class:"rd-name","data-detail-name":""},Nv={class:"rd-meta"},Iv={class:"rd-actions"},Fv=["href","title"],Rv=["href","title"],Mv={class:"rd-rows"},Ov={class:"rd-row"},Dv={class:"v"},jv={key:0,class:"fam"},zv={class:"rd-row"},Uv={class:"v"},Bv={class:"rd-row"},Gv={class:"v"},qv={class:"rd-row"},Hv={class:"v"},Vv={class:"rd-row"},Wv={class:"v"},Kv={class:"rd-row"},Yv={class:"v"},Xv={__name:"DashboardDetailDrawer",setup(e){const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=ue(null),i=[];mt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Kt(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),f=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,S){if(typeof g=="function")try{return g(_)||S}catch{return S}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):S}const A=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${S}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var I;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((I=window.location)==null?void 0:I.origin)||"https://doxa.life",S=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(S||m.value.utmSource||n.utmSource||"agwm")),D=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,D)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),L=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return At(` .rd-detail{ box-sizing:border-box; background:var(--rd-panel,#fff); border-left:1px solid var(--rd-line, #d1d4cd); border-bottom:1px solid var(--rd-line, #d1d4cd); padding:var(--s3,12px); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--rd-ink, #3b463d); flex:0 0 auto; } @@ -617,7 +616,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(g,_)=>(V(),J("section",Sv,[N("div",Ev,[_[0]||(_[0]=N("span",null,"Detail",-1)),c.value?(V(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ie("",!0)]),c.value?(V(),J(Se,{key:1},[N("div",Cv,[f.value?(V(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Tv)):(V(),J("div",Lv,"No photo")),N("div",null,[N("div",Pv,de(c.value.name||"—"),1),N("div",Nv,de(fe(Qe)(c.value.country_code)||"—")+" · "+de(fe(Qe)(c.value.religion)||"—"),1)])]),N("div",Iv,[A.value?(V(),J("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,de(w.value),1)],8,Rv)):Ie("",!0),x.value?(V(),J("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[_[2]||(_[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,de(L.value),1)],8,Fv)):Ie("",!0)]),N("div",Mv,[N("div",Ov,[_[3]||(_[3]=N("span",{class:"k"},"Language",-1)),N("span",Dv,[nt(de(fe(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),J("span",jv," ("+de(c.value.imb_language_family)+")",1)):Ie("",!0)])]),N("div",zv,[_[4]||(_[4]=N("span",{class:"k"},"Population",-1)),N("span",Uv,de(u(c.value.population)),1)]),N("div",Bv,[_[5]||(_[5]=N("span",{class:"k"},"People praying",-1)),N("span",Gv,de(u(c.value.people_praying)),1)]),N("div",qv,[_[6]||(_[6]=N("span",{class:"k"},"People committed",-1)),N("span",Hv,de(u(c.value.people_committed)),1)]),N("div",Vv,[_[7]||(_[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",Wv,de(u(c.value.adopted_by_churches)),1)]),N("div",Kv,[_[8]||(_[8]=N("span",{class:"k"},"Engagement",-1)),N("span",Yv,de(fe(Qe)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(V(),J("div",Av,"Select a people group to see detail"))]))}},Jv="rgba(120, 128, 134, 0.28)",ku="36px",$u=()=>{};function Zv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return $u;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return $u;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Jv} ${ku}, transparent ${ku})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const f=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>m(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const p=y.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const L=[];for(const y of n){const p=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},S=()=>{c=!1,a(y)};y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",S,{passive:!0}),L.push(()=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const p of L)p();for(const p of n)a(p)}}const Qv=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/dark",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/dark",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/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function e0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Qv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={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 Su(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const t0=pn.mapbox.css,o0="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function n0(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function r0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function s0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o0}const a0=85.0511,Eu=-2,l0=0,i0=-60;function Au(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function c0(e,t,o,n){if(!e||e<=0||!t||t<=0)return l0;const r=Math.log2(e/512),s=Au(n)-Au(a0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Eu,Math.min(l,(o??18)-1))}function u0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:v=i0,maxBounds:A=void 0}){const x=wn(null),w=ue(!1);let L=null,y=null,p=null;const g=r==="maplibre";async function _(){var B;const D=e0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await n0(r);const I=Ta(r);if(!I){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){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 r0(e.value,g?pn.maplibre.css:t0),await new Promise(M=>requestAnimationFrame(M));const H=e.value,Q=H.clientWidth,se=H.clientHeight;if(Q===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Q}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let M=H.parentElement,P=0;for(;M&&P<5;)M=M.parentElement,P++}const _e=t;g||(I.accessToken=_e);const q=()=>typeof window<"u"&&window.innerWidth>=1024,oe=(M,P)=>{if(!q())return Eu;const Y=c0(M,P,i,v);return typeof l=="number"?Math.max(l,Y):Y},K=oe(H.clientWidth,H.clientHeight);if(g){x.value=new I.Map({container:e.value,style:s0(D),center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const M=typeof n=="function"?n():n;x.value=new I.Map({accessToken:_e,container:e.value,style:D,...M?{config:M}:{},center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let M=!1;x.value.on("error",P=>{var be,$e;const Y=((be=P==null?void 0:P.error)==null?void 0:be.status)??(P==null?void 0:P.status),ie=String((($e=P==null?void 0:P.error)==null?void 0:$e.url)||(P==null?void 0:P.sourceId)||"");Y!==401&&Y!==403||M||(M=!0,console.error(`[doxa-maps] Mapbox returned ${Y} 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.`+(ie?` First failing request: ${ie.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Zv(((B=e.value)==null?void 0:B.parentElement)||null,{enabled:m});let W=K,T=null;L=()=>{const M=x.value;if(!M)return;const P=oe(H.clientWidth,H.clientHeight);P!==W&&(W=P,M.setMinZoom(P)),M.getZoom(){T=null;const Y=x.value;if(!Y)return;const ie=oe(H.clientWidth,H.clientHeight);if(Y.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var M;(M=x.value)==null||M.resize(),x.value&&x.value.setMinZoom(oe(H.clientWidth,H.clientHeight)),w.value=!0})})}function S(){if(x.value){if(L&&(x.value.off("resize",L),typeof window<"u"&&(window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L)),L=null),y){try{y()}catch{}y=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:S}}const d0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function f0(e){return d0[e]||null}const gn={center:[20,10],zoom:1.8};function p0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(q,oe,K={x:150,y:0}){const W=t();if(!W)return q;try{const T=W.getCanvas(),B=T.width,M=T.height,P=W.project(q),Y=window.devicePixelRatio||1,ie=(K.x||0)*Y,be=(K.y||0)*Y,$e={x:P.x-ie,y:P.y-be},Ne=W.unproject($e);return[Ne.lng,Ne.lat]}catch{return q}}function c(q,oe=[]){const K=t();if(!K)return;let W=null,T=5;const B=oe.filter(P=>P.languageFamily===q);if(B.length>0){let P=1/0,Y=-1/0,ie=1/0,be=-1/0;if(B.forEach($e=>{$e.longitude&&$e.latitude&&(P=Math.min(P,$e.longitude),Y=Math.max(Y,$e.longitude),ie=Math.min(ie,$e.latitude),be=Math.max(be,$e.latitude))}),P!==1/0){W=[(P+Y)/2,(ie+be)/2];const $e=Y-P,Ne=be-ie,Ee=Math.max($e,Ne);Ee>50?T=2:Ee>20?T=3:Ee>10?T=4:Ee>5?T=5:T=6}}if(!W)return;const M=i(W);K.flyTo({center:M,zoom:T,...l})}function u(q){const oe=t();if(!oe)return;let K=null,W=4;const T=f0(q);if(T)K=T.center,W=T.zoom||4;else if(r!=null&&r.features){const M=r.features.find(P=>{var Y,ie;return((Y=P.properties)==null?void 0:Y.region)===q||((ie=P.properties)==null?void 0:ie.name)===q});M&&(K=f(M))}if(!K)return;const B=i(K);oe.flyTo({center:B,zoom:W,...l})}function f(q){if(!q||!q.geometry)return null;const{type:oe,coordinates:K}=q.geometry;let W=[];if(oe==="Polygon"?W=K[0]||[]:oe==="MultiPolygon"&&K.forEach(M=>{W=W.concat(M[0]||[])}),W.length===0)return null;let T=0,B=0;return W.forEach(M=>{T+=M[0],B+=M[1]}),[T/W.length,B/W.length]}function m(q,oe={}){const K=t();if(!K)return;const W={center:q,...l,...oe};K.flyTo(W)}function v(q,oe){const K=t();if(!K||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const W=oe??Math.min(K.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:W})}function A(q,oe={top:40,right:40,bottom:40,left:40},K={}){const W=t();if(!W||!q)return;const T=K.maxZoom??4,B=K.duration??900;W.fitBounds(q,{padding:oe,maxZoom:T,duration:B,...l,...K})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,L=800,y=5,p=5,g=110,_=1.2;function S(q){const oe=q.filter(Number.isFinite).slice().sort((b,C)=>b-C),K=oe.length;if(!K)return null;let W=-1,T=0;for(let b=0;bW&&(W=k,T=b)}const B=(T+1)%K,M=new Array(K);for(let b=0;b0&&C((b+180)%360+360)%360-180,Ne=$e(ie),Ee=24,ke=360/Ee,me=new Array(Ee).fill(0);for(const b of oe){let C=Math.floor(((b+180)%360+360)%360/ke);C>=Ee&&(C=Ee-1),me[C]++}let pe=0;for(let b=1;bme[pe]&&(pe=b);return{center:$e(-180+(pe+.5)*ke),minLng:Ne,maxLng:Ne+(be-ie),span:be-ie}}function $(q){try{const oe=q.getContainer&&q.getContainer().clientWidth||0,K=oe>0?Math.log2(oe/512):_,W=typeof q.getMinZoom=="function"?q.getMinZoom():K;return Math.max(W,K)}catch{return _}}function D(q,oe,K,W){q.easeTo({center:[oe,(K+W)/2],zoom:$(q),duration:L,essential:!0})}function I(q,oe,K){if(K>g)return!0;try{const W=typeof q.cameraForBounds=="function"?q.cameraForBounds(oe,{padding:w,maxZoom:y}):null;return W==null?!0:typeof W.zoom=="number"&&W.zoom<=$(q)+.05}catch{return!1}}function H(q,oe){if(!Array.isArray(q))return q;switch(q[0]){case"get":return oe==null?void 0:oe[q[1]];case"literal":return q[1];case"has":return oe!=null&&q[1]in oe;case"!has":return oe==null||!(q[1]in oe);case"!":return!H(q[1],oe);case"coalesce":{for(let W=1;W2){const B=Number(H(q[2],oe));return Number.isFinite(B)?B:0}return NaN}case"to-string":{const W=H(q[1],oe);return W==null?"":String(W)}case"to-boolean":return!!H(q[1],oe);case"slice":{const W=H(q[1],oe),T=H(q[2],oe),B=q.length>3?H(q[3],oe):void 0;return typeof W!="string"?"":B!=null?W.slice(T,B):W.slice(T)}default:return q}}function Q(q,oe){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const K=q[0];if(K==="all"){for(let W=1;W"||K===">="||K==="<"||K==="<="){const W=typeof q[1]=="string"?oe==null?void 0:oe[q[1]]:H(q[1],oe),T=H(q[2],oe);switch(K){case"==":return W===T||W==null&&T==null;case"!=":return!(W===T||W==null&&T==null);case">":return W>T;case">=":return W>=T;case"<":return W{const G=(k==null?void 0:k.properties)||{};return G.region===b||G.name===b||G.id===b});if(C){const k=[];let G=1/0,X=-1/0;const ne=j=>{for(const d of j)Array.isArray(d[0])?ne(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]X&&(X=d[1]))};(me=C.geometry)!=null&&me.coordinates&&ne(C.geometry.coordinates);const z=S(k);if(z&&Number.isFinite(G)){const j=[[z.minLng,G],[z.maxLng,X]];I(K,j,z.span)?D(K,z.center,G,X):K.fitBounds(j,{padding:w,maxZoom:y,duration:L,essential:!0});return}}}const W=oe.sourceId??"language-families";if(!K.getSource(W))return;const T=oe.matchExpr??q.filter;if(!T)return;const B=se(K,W);if(!B.length)return;const M=[];let P=1/0,Y=-1/0,ie=0,be=0,$e=0;const Ne=new Set;for(const ye of B){const b=ye==null?void 0:ye.properties;if(!Q(T,b))continue;const C=b==null?void 0:b.uniqueId;if(C!=null){if(Ne.has(C))continue;Ne.add(C)}const k=(pe=ye.geometry)==null?void 0:pe.coordinates;if(!Array.isArray(k)||k.length<2)continue;const G=k[0],X=k[1];!Number.isFinite(G)||!Number.isFinite(X)||(ie===0&&(be=G,$e=X),M.push(G),XY&&(Y=X),ie++)}if(ie===0)return;if(ie===1){K.flyTo({center:[be,$e],zoom:p,duration:L,essential:!0});return}const Ee=S(M)||{center:0,minLng:0,maxLng:0,span:0},ke=[[Ee.minLng,P],[Ee.maxLng,Y]];if(I(K,ke,Ee.span)){D(K,Ee.center,P,Y);return}try{K.fitBounds(ke,{padding:w,maxZoom:y,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:A,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:f}}const g0=150,h0=1200,m0=70,b0=5.5,_0=6,Cu=.01,y0=110,v0=1.45;function x0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function w0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function k0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function $0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=w0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=k0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=$0(e.selectionSet,o&&o());if(!c)return;const u=x0()?0:h0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:_0,duration:u,essential:!0});return}if(c.span>y0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:v0,duration:u,essential:!0});return}n.fitBounds(c.bounds,m0,{maxZoom:b0,duration:u,essential:!0})}catch{}}const l=ut(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,g0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const E0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ro("mapToolbar",{el:t}),At(` +`,"rd-detaildrawer"),(g,_)=>(V(),J("section",Sv,[N("div",Ev,[_[0]||(_[0]=N("span",null,"Detail",-1)),c.value?(V(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ie("",!0)]),c.value?(V(),J(Se,{key:1},[N("div",Cv,[f.value?(V(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Tv)):(V(),J("div",Lv,"No photo")),N("div",null,[N("div",Pv,de(c.value.name||"—"),1),N("div",Nv,de(fe(Qe)(c.value.country_code)||"—")+" · "+de(fe(Qe)(c.value.religion)||"—"),1)])]),N("div",Iv,[A.value?(V(),J("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,de(w.value),1)],8,Fv)):Ie("",!0),x.value?(V(),J("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[_[2]||(_[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,de(L.value),1)],8,Rv)):Ie("",!0)]),N("div",Mv,[N("div",Ov,[_[3]||(_[3]=N("span",{class:"k"},"Language",-1)),N("span",Dv,[nt(de(fe(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),J("span",jv," ("+de(c.value.imb_language_family)+")",1)):Ie("",!0)])]),N("div",zv,[_[4]||(_[4]=N("span",{class:"k"},"Population",-1)),N("span",Uv,de(u(c.value.population)),1)]),N("div",Bv,[_[5]||(_[5]=N("span",{class:"k"},"People praying",-1)),N("span",Gv,de(u(c.value.people_praying)),1)]),N("div",qv,[_[6]||(_[6]=N("span",{class:"k"},"People committed",-1)),N("span",Hv,de(u(c.value.people_committed)),1)]),N("div",Vv,[_[7]||(_[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",Wv,de(u(c.value.adopted_by_churches)),1)]),N("div",Kv,[_[8]||(_[8]=N("span",{class:"k"},"Engagement",-1)),N("span",Yv,de(fe(Qe)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(V(),J("div",Av,"Select a people group to see detail"))]))}},Jv="rgba(120, 128, 134, 0.28)",ku="36px",$u=()=>{};function Zv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return $u;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return $u;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Jv} ${ku}, transparent ${ku})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const f=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>m(),A=y=>{if(!(y.touches&&y.touches.length===1))return;const p=y.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const L=[];for(const y of n){const p=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},S=()=>{c=!1,a(y)};y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",S,{passive:!0}),L.push(()=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const p of L)p();for(const p of n)a(p)}}const Qv=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/dark",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/dark",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/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function e0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Qv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={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 Su(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const t0=pn.mapbox.css,o0="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function n0(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function r0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function s0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:o0}const a0=85.0511,Eu=-2,l0=0,i0=-60;function Au(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function c0(e,t,o,n){if(!e||e<=0||!t||t<=0)return l0;const r=Math.log2(e/512),s=Au(n)-Au(a0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Eu,Math.min(l,(o??18)-1))}function u0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:v=i0,maxBounds:A=void 0}){const x=wn(null),w=ue(!1);let L=null,y=null,p=null;const g=r==="maplibre";async function _(){var B;const D=e0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await n0(r);const I=Ta(r);if(!I){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){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 r0(e.value,g?pn.maplibre.css:t0),await new Promise(M=>requestAnimationFrame(M));const H=e.value,Q=H.clientWidth,se=H.clientHeight;if(Q===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Q}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let M=H.parentElement,P=0;for(;M&&P<5;)M=M.parentElement,P++}const _e=t;g||(I.accessToken=_e);const q=()=>typeof window<"u"&&window.innerWidth>=1024,oe=(M,P)=>{if(!q())return Eu;const Y=c0(M,P,i,v);return typeof l=="number"?Math.max(l,Y):Y},K=oe(H.clientWidth,H.clientHeight);if(g){x.value=new I.Map({container:e.value,style:s0(D),center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const M=typeof n=="function"?n():n;x.value=new I.Map({accessToken:_e,container:e.value,style:D,...M?{config:M}:{},center:s,zoom:a,minZoom:K,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Su(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let M=!1;x.value.on("error",P=>{var be,$e;const Y=((be=P==null?void 0:P.error)==null?void 0:be.status)??(P==null?void 0:P.status),ie=String((($e=P==null?void 0:P.error)==null?void 0:$e.url)||(P==null?void 0:P.sourceId)||"");Y!==401&&Y!==403||M||(M=!0,console.error(`[doxa-maps] Mapbox returned ${Y} 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.`+(ie?` First failing request: ${ie.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Zv(((B=e.value)==null?void 0:B.parentElement)||null,{enabled:m});let W=K,T=null;L=()=>{const M=x.value;if(!M)return;const P=oe(H.clientWidth,H.clientHeight);P!==W&&(W=P,M.setMinZoom(P)),M.getZoom(){T=null;const Y=x.value;if(!Y)return;const ie=oe(H.clientWidth,H.clientHeight);if(Y.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var M;(M=x.value)==null||M.resize(),x.value&&x.value.setMinZoom(oe(H.clientWidth,H.clientHeight)),w.value=!0})})}function S(){if(x.value){if(L&&(x.value.off("resize",L),typeof window<"u"&&(window.removeEventListener("resize",L),window.removeEventListener("orientationchange",L)),L=null),y){try{y()}catch{}y=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:S}}const d0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function f0(e){return d0[e]||null}const gn={center:[20,10],zoom:1.8};function p0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(q,oe,K={x:150,y:0}){const W=t();if(!W)return q;try{const T=W.getCanvas(),B=T.width,M=T.height,P=W.project(q),Y=window.devicePixelRatio||1,ie=(K.x||0)*Y,be=(K.y||0)*Y,$e={x:P.x-ie,y:P.y-be},Ne=W.unproject($e);return[Ne.lng,Ne.lat]}catch{return q}}function c(q,oe=[]){const K=t();if(!K)return;let W=null,T=5;const B=oe.filter(P=>P.languageFamily===q);if(B.length>0){let P=1/0,Y=-1/0,ie=1/0,be=-1/0;if(B.forEach($e=>{$e.longitude&&$e.latitude&&(P=Math.min(P,$e.longitude),Y=Math.max(Y,$e.longitude),ie=Math.min(ie,$e.latitude),be=Math.max(be,$e.latitude))}),P!==1/0){W=[(P+Y)/2,(ie+be)/2];const $e=Y-P,Ne=be-ie,Ee=Math.max($e,Ne);Ee>50?T=2:Ee>20?T=3:Ee>10?T=4:Ee>5?T=5:T=6}}if(!W)return;const M=i(W);K.flyTo({center:M,zoom:T,...l})}function u(q){const oe=t();if(!oe)return;let K=null,W=4;const T=f0(q);if(T)K=T.center,W=T.zoom||4;else if(r!=null&&r.features){const M=r.features.find(P=>{var Y,ie;return((Y=P.properties)==null?void 0:Y.region)===q||((ie=P.properties)==null?void 0:ie.name)===q});M&&(K=f(M))}if(!K)return;const B=i(K);oe.flyTo({center:B,zoom:W,...l})}function f(q){if(!q||!q.geometry)return null;const{type:oe,coordinates:K}=q.geometry;let W=[];if(oe==="Polygon"?W=K[0]||[]:oe==="MultiPolygon"&&K.forEach(M=>{W=W.concat(M[0]||[])}),W.length===0)return null;let T=0,B=0;return W.forEach(M=>{T+=M[0],B+=M[1]}),[T/W.length,B/W.length]}function m(q,oe={}){const K=t();if(!K)return;const W={center:q,...l,...oe};K.flyTo(W)}function v(q,oe){const K=t();if(!K||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const W=oe??Math.min(K.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:W})}function A(q,oe={top:40,right:40,bottom:40,left:40},K={}){const W=t();if(!W||!q)return;const T=K.maxZoom??4,B=K.duration??900;W.fitBounds(q,{padding:oe,maxZoom:T,duration:B,...l,...K})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,L=800,y=5,p=5,g=110,_=1.2;function S(q){const oe=q.filter(Number.isFinite).slice().sort((b,C)=>b-C),K=oe.length;if(!K)return null;let W=-1,T=0;for(let b=0;bW&&(W=k,T=b)}const B=(T+1)%K,M=new Array(K);for(let b=0;b0&&C((b+180)%360+360)%360-180,Ne=$e(ie),Ee=24,ke=360/Ee,me=new Array(Ee).fill(0);for(const b of oe){let C=Math.floor(((b+180)%360+360)%360/ke);C>=Ee&&(C=Ee-1),me[C]++}let pe=0;for(let b=1;bme[pe]&&(pe=b);return{center:$e(-180+(pe+.5)*ke),minLng:Ne,maxLng:Ne+(be-ie),span:be-ie}}function $(q){try{const oe=q.getContainer&&q.getContainer().clientWidth||0,K=oe>0?Math.log2(oe/512):_,W=typeof q.getMinZoom=="function"?q.getMinZoom():K;return Math.max(W,K)}catch{return _}}function D(q,oe,K,W){q.easeTo({center:[oe,(K+W)/2],zoom:$(q),duration:L,essential:!0})}function I(q,oe,K){if(K>g)return!0;try{const W=typeof q.cameraForBounds=="function"?q.cameraForBounds(oe,{padding:w,maxZoom:y}):null;return W==null?!0:typeof W.zoom=="number"&&W.zoom<=$(q)+.05}catch{return!1}}function H(q,oe){if(!Array.isArray(q))return q;switch(q[0]){case"get":return oe==null?void 0:oe[q[1]];case"literal":return q[1];case"has":return oe!=null&&q[1]in oe;case"!has":return oe==null||!(q[1]in oe);case"!":return!H(q[1],oe);case"coalesce":{for(let W=1;W2){const B=Number(H(q[2],oe));return Number.isFinite(B)?B:0}return NaN}case"to-string":{const W=H(q[1],oe);return W==null?"":String(W)}case"to-boolean":return!!H(q[1],oe);case"slice":{const W=H(q[1],oe),T=H(q[2],oe),B=q.length>3?H(q[3],oe):void 0;return typeof W!="string"?"":B!=null?W.slice(T,B):W.slice(T)}default:return q}}function Q(q,oe){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const K=q[0];if(K==="all"){for(let W=1;W"||K===">="||K==="<"||K==="<="){const W=typeof q[1]=="string"?oe==null?void 0:oe[q[1]]:H(q[1],oe),T=H(q[2],oe);switch(K){case"==":return W===T||W==null&&T==null;case"!=":return!(W===T||W==null&&T==null);case">":return W>T;case">=":return W>=T;case"<":return W{const G=(k==null?void 0:k.properties)||{};return G.region===b||G.name===b||G.id===b});if(C){const k=[];let G=1/0,X=-1/0;const ne=j=>{for(const d of j)Array.isArray(d[0])?ne(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]X&&(X=d[1]))};(me=C.geometry)!=null&&me.coordinates&&ne(C.geometry.coordinates);const z=S(k);if(z&&Number.isFinite(G)){const j=[[z.minLng,G],[z.maxLng,X]];I(K,j,z.span)?D(K,z.center,G,X):K.fitBounds(j,{padding:w,maxZoom:y,duration:L,essential:!0});return}}}const W=oe.sourceId??"language-families";if(!K.getSource(W))return;const T=oe.matchExpr??q.filter;if(!T)return;const B=se(K,W);if(!B.length)return;const M=[];let P=1/0,Y=-1/0,ie=0,be=0,$e=0;const Ne=new Set;for(const ye of B){const b=ye==null?void 0:ye.properties;if(!Q(T,b))continue;const C=b==null?void 0:b.uniqueId;if(C!=null){if(Ne.has(C))continue;Ne.add(C)}const k=(pe=ye.geometry)==null?void 0:pe.coordinates;if(!Array.isArray(k)||k.length<2)continue;const G=k[0],X=k[1];!Number.isFinite(G)||!Number.isFinite(X)||(ie===0&&(be=G,$e=X),M.push(G),XY&&(Y=X),ie++)}if(ie===0)return;if(ie===1){K.flyTo({center:[be,$e],zoom:p,duration:L,essential:!0});return}const Ee=S(M)||{center:0,minLng:0,maxLng:0,span:0},ke=[[Ee.minLng,P],[Ee.maxLng,Y]];if(I(K,ke,Ee.span)){D(K,Ee.center,P,Y);return}try{K.fitBounds(ke,{padding:w,maxZoom:y,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:A,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:f}}const g0=150,h0=1200,m0=70,b0=5.5,_0=6,Cu=.01,y0=110,v0=1.45;function x0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function w0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function k0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function $0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=w0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=k0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=$0(e.selectionSet,o&&o());if(!c)return;const u=x0()?0:h0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:_0,duration:u,essential:!0});return}if(c.span>y0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:v0,duration:u,essential:!0});return}n.fitBounds(c.bounds,m0,{maxZoom:b0,duration:u,essential:!0})}catch{}}const l=ut(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,g0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const E0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ro("mapToolbar",{el:t}),At(` .map-toolbar { position: absolute; top: 6px; @@ -634,7 +633,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(V(),J("div",{ref_key:"toolbarEl",ref:t,class:je(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Oo(o.$slots,"default")],2))}},A0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomIn"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},C0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomOut"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},T0=["data-projection"],L0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Tu=2,P0="#f2f3f0",Lu=.78,N0="prayer_level",I0=.1,R0=12,F0={__name:"DashboardMapPanel",setup(e){var Qn,Nu,Iu,Ru,Fu,Mu,Ou,Du,ju;const t=Fe("dashboardData",null),o=Fe("selectionBus",null),n=Fe("mapboxToken",ue("")),r=Fe("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([F,Z])=>[F,Z.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Te;const F=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],Z=Object.keys(s),ce=!!(((Te=o==null?void 0:o.searchTerm)==null?void 0:Te.value)||"").trim();return!Z.length&&!ce?F:F.filter(Re=>Z.every(Oe=>{const we=a[Oe];return we?we(Re)===s[Oe]:!0})&&l(Re))}),c=((Qn=r.map)==null?void 0:Qn.geoFacet)||"country_code",u=((Iu=(Nu=r.facets)==null?void 0:Nu[c])==null?void 0:Iu.geoIso)||(F=>{const Z=F[c];return Z&&Z.value?Z.value:null}),f=a[c]||(F=>Qe(F[c])),m=le(()=>{var Z;const F=new Map;for(const ce of((Z=t==null?void 0:t.rows)==null?void 0:Z.value)||[]){const xe=u(ce);xe&&F.set(xe,f(ce)||xe)}return F}),v=le(()=>{const F=new Map;for(const Z of i.value){const ce=u(Z);ce&&F.set(ce,(F.get(ce)||0)+1)}return F}),A=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:y,destroy:p}=u0({containerRef:A,accessToken:fe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Ru=r.map)!=null&&Ru.mapStyle||r.mapStyle?{style:((Fu=r.map)==null?void 0:Fu.mapStyle)||r.mapStyle}:{}}),g=p0({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=S0({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var F;return(F=t==null?void 0:t.rowStore)==null?void 0:F.value},isEnabled:()=>L.value});let S=!1,$=null,D=null,I=null,H=0,Q=!1;function se(){Q||H||(H=requestAnimationFrame(()=>{H=0;const F=w.value;if(F&&typeof F.resize=="function")try{F.resize()}catch{}}))}function _e(F){const Z=!!F;if(Z!==Q){if(Q=Z,Q){H&&(cancelAnimationFrame(H),H=0);return}se(),setTimeout(se,180)}}const q=(()=>{var Z;const F={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return F[(Z=r.map)==null?void 0:Z.colorRamp]||F["heartbeat-red"]})(),oe={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function K(F,Z){return Number.isFinite(Z)?Z-1<=F?`${F}`:`${F}–${Z-1}`:`${F}+ · heartbeat zone`}function W(F){const ce=oe.binThresholds.map(xe=>xe/oe.heartbeatThreshold).map(xe=>Math.max(Tu,Math.round(xe*F)));return T(ce,F)}function T(F,Z){const ce=[];for(const xe of F){const Te=Math.max(xe,ce.length?ce[ce.length-1]+1:Tu);TeOe>0).sort((Oe,we)=>Oe-we);if(ce.length<8)return null;const xe=Oe=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Oe*ce.length)))],Te=xe(1-Z)+1,Re=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Te,edges:T(Re,Te)}}function M(F){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const Z=r.map||{};let ce=Number(Z.heartbeatThreshold)>0?Number(Z.heartbeatThreshold):oe.heartbeatThreshold,xe=null;if(Z.heartbeatMode==="quantile"){const we=B(F||[],Number(Z.heartbeatQuantile)>0?Number(Z.heartbeatQuantile):oe.quantile);we&&(ce=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(Z.binThresholds)&&Z.binThresholds.length?[...new Set(Z.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-ft):Number(Z.heartbeatThreshold)>0?W(ce):oe.binThresholds);const Te=[...xe,ce,1/0].slice(0,q.length);for(;Te.length{const Ut={upTo:we,c:q[ft],l:K(Re,we)};return Re=we,Ut})}const P=le(()=>M([...v.value.values()])),Y=((Mu=r.map)==null?void 0:Mu.noDataColor)||"#f3f3f1";function ie(F){if(!F)return Y;const Z=P.value;for(const ce of Z)if(F{const Oe=parseInt(ce.slice(Re*2,Re*2+2),16),we=parseInt(xe.slice(Re*2,Re*2+2),16);return Math.round(Lu*Oe+(1-Lu)*we)};return"#"+[0,1,2].map(Re=>Te(Re).toString(16).padStart(2,"0")).join("")}const $e=le(()=>P.value.map(F=>({c:be(F.c),l:F.l}))),Ne=((Ou=r.map)==null?void 0:Ou.selectedColor)||"#1a237e";function Ee(){const F=v.value,Z=[],ce=[];F.forEach((Oe,we)=>{Z.push(we,ie(Oe)),ce.push(we)});const xe=Z.length?["match",["get","iso_3166_1_alpha_3"],...Z,Y]:Y,Re=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Oe=>[Oe,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Re}}function ke(){return Object.prototype.hasOwnProperty.call(s,N0)}const me=((Du=r.map)==null?void 0:Du.pinColor)||"#ef6c00",pe=((ju=r.map)==null?void 0:ju.pinStrokeColor)||"#ffffff";function ye(){return ke()?Hr({colorSource:"properties"}):me}function b(){const F=w.value;if(!F||!F.getLayer("rd-choropleth"))return;const{fillColor:Z,fillOpacity:ce}=Ee();F.setPaintProperty("rd-choropleth","fill-color",Z),F.setPaintProperty("rd-choropleth","fill-opacity",ce);const xe=F.getSource("rd-bubbles");xe&&xe.setData(k()),F.getLayer("rd-bubble-layer")&&F.setPaintProperty("rd-bubble-layer","circle-color",ye())}function C(F){const Z=F==null?void 0:F.people_praying,ce=Z&&typeof Z=="object"?Z.value:Z;return Number(ce)||0}function k(){return{type:"FeatureCollection",features:i.value.filter(F=>Number(F.latitude)&&Number(F.longitude)).map(F=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(F.longitude),Number(F.latitude)]},properties:{pop:Number(F.population)||0,slug:F.slug||"",name:F.name||"",peoplePraying:C(F)}}))}}function G(){var ce;const F=o==null?void 0:o.selectionSet,Z=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!F||!F.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Z.filter(xe=>F.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function X(){const F=w.value;if(!F)return;const Z=F.getSource("rd-bubble-selected");Z&&Z.setData(G())}function ne(){var xe;const F=w.value;if(!F||S)return;S=!0,F.getSource("rd-countries")||F.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Z,fillOpacity:ce}=Ee();F.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Z,"fill-opacity":ce,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),F.addSource("rd-bubbles",{type:"geojson",data:k()}),F.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":pe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),F.addSource("rd-bubble-selected",{type:"geojson",data:G()}),F.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ne,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ne,"circle-stroke-opacity":.95}}),F.on("click","rd-choropleth",z),F.on("click","rd-bubble-layer",j),F.on("mouseenter","rd-choropleth",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-choropleth",()=>{F.getCanvas().style.cursor=""}),F.on("mouseenter","rd-bubble-layer",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-bubble-layer",()=>{F.getCanvas().style.cursor=""});try{window.__rdashMap=F,window.__rdashClickAt=(Te,Re)=>{const Oe=F.project([Te,Re]),we=F.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(z({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Te,Re)=>{const Oe=F.project([Te,Re]),we=F.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(j({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}he(),o&&o.on("select",X),X(),o&&o.on("focusRow",({slug:Te}={})=>{var we;if(!Te)return;const Re=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(ft=>ft.slug===Te),Oe=w.value;if(Oe&&Re&&Number(Re.latitude)&&Number(Re.longitude))try{Oe.flyTo({center:[Number(Re.longitude),Number(Re.latitude)],zoom:5.5,duration:1200})}catch{}})}function z(F){const Z=w.value;if(Z&&F.point){const Re=Z.queryRenderedFeatures([[F.point.x-5,F.point.y-5],[F.point.x+5,F.point.y+5]],{layers:["rd-bubble-layer"]});if(Re&&Re.length)return}const ce=F.features&&F.features[0];if(!ce||!o)return;const xe=ce.properties&&ce.properties.iso_3166_1_alpha_3,Te=m.value.get(xe);Te&&(o.setFilter(c,s[c]===Te?null:Te),o.emit("mapFocus",{facet:c,value:Te}))}function j(F){const Z=F.features&&F.features[0];if(!Z||!o)return;const ce=Z.properties&&Z.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Z.properties&&Z.properties.name}))}function d(F){var ce;let Z=F&&F.parentNode;for(;Z;){if(Z.nodeType===1){const xe=getComputedStyle(Z);if(/auto|scroll/.test(xe.overflowY)&&Z.scrollHeight>Z.clientHeight+4)return Z}if(Z=Z.parentElement||((ce=Z.parentNode)==null?void 0:ce.host)||(Z.parentNode!==Z?Z.parentNode:null),Z&&Z.nodeType===9)break}return null}function h(F){if(!(!F||!F.scrollZoom))try{F.scrollZoom.enable()}catch{}}mt(async()=>{await y();const F=w.value;if(!F)return;F.isStyleLoaded()?ne():F.on("load",ne),h(F);const Z=()=>h(F);let ce=null;try{ce=new ResizeObserver(Z);const xe=F.getContainer&&F.getContainer()||null;xe&&ce.observe(xe);const Te=xe?d(xe):null;Te&&ce.observe(Te),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Z),Kt(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Z)}),F.on("zoom",ee),F.on("zoomend",ee),F.on("resize",ee),ee(),F.on("idle",()=>{!S&&F.isStyleLoaded()&&ne()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(se),$.observe(A.value)),te(),F.on("idle",te),F.on("resize",te),o&&typeof o.on=="function"&&(D=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),I=o.on("layoutResizing",_e))}),Kt(()=>{try{_&&_()}catch{}_=null;try{D&&D()}catch{}D=null;try{I&&I()}catch{}if(I=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}E=null,H&&(cancelAnimationFrame(H),H=0);try{const F=w.value;F&&(F.off("zoom",ee),F.off("zoomend",ee),F.off("resize",ee),F.off("idle",te),F.off("resize",te))}catch{}try{p&&p()}catch{}}),ut([i,L],b);const R=ue(!0),U=ue(!0);function ee(){const F=w.value;if(!F)return;const Z=F.getZoom();R.value=ZF.getMinZoom()+.01}const re=ue(null);let O=null,E=null;function te(){var xe;const F=re.value;if(!F)return;let Z=0;try{const Te=(xe=F.getRootNode)==null?void 0:xe.call(F),Re=Te&&Te.querySelector?Te.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Re){const Oe=Re.getBoundingClientRect(),we=F.getBoundingClientRect();if(Z=Math.max(Oe.height||0,we.bottom-Oe.top),E!==Re&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}E=Re,O=new ResizeObserver(te),O.observe(Re)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Z)||20,20),72);F.style.setProperty("--rd-attrib-clear",ce+"px")}const ae=ue("globe");function he(){const F=w.value;if(F)try{F.setProjection(ae.value)}catch{}}function ve(){ae.value=ae.value==="globe"?"mercator":"globe",he()}function Be(F){const Z=Number(F.longitude),ce=Number(F.latitude);return!Number.isFinite(Z)||!Number.isFinite(ce)||Z===0&&ce===0||ce<-90||ce>90||Z<-180||Z>180?null:[Z,ce]}function qe(F,Z){if(!F.length)return NaN;const ce=Math.min(F.length-1,Math.max(0,Math.round(Z*(F.length-1))));return F[ce]}function st(F){const Z=F.slice().sort((we,ft)=>we-ft),ce=Z.length;if(ce<2)return Z;let xe=-1,Te=0;for(let we=0;wexe&&(xe=Ut,Te=we)}const Re=(Te+1)%ce,Oe=new Array(ce);for(let we=0;we0&&ftBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(Z.map(Bo=>Bo[0])),Te=Z.length>=R0?I0:0,Re=qe(ce,Te),Oe=qe(ce,1-Te),we=qe(xe,Te),ft=qe(xe,1-Te),Ut=[qe(xe,.5),qe(ce,.5)];return!(ft>we)||!(Oe>Re)?{bounds:[[Ut[0],Ut[1]],[Ut[0],Ut[1]]],center:Ut}:{bounds:[[we,Re],[ft,Oe]],center:Ut}}function Pt(){const F=w.value;if(!F)return;if(!Object.keys(s).length){try{F.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Z=et(i.value);if(Z)try{F.fitBounds(Z.bounds,{padding:70,duration:1200,maxZoom:5.5}),F.setCenter(Z.center)}catch{}}let Zn=null;return ut(()=>JSON.stringify(s),()=>{clearTimeout(Zn),Zn=setTimeout(Pt,260)}),At(` +`,"map-toolbar"),(o,n)=>(V(),J("div",{ref_key:"toolbarEl",ref:t,class:je(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Oo(o.$slots,"default")],2))}},A0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomIn"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},C0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=an(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(V(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomOut"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},T0=["data-projection"],L0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Tu=2,P0="#f2f3f0",Lu=.78,N0="prayer_level",I0=.1,F0=12,R0={__name:"DashboardMapPanel",setup(e){var Qn,Nu,Iu,Fu,Ru,Mu,Ou,Du,ju;const t=Re("dashboardData",null),o=Re("selectionBus",null),n=Re("mapboxToken",ue("")),r=Re("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([R,Z])=>[R,Z.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Te;const R=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],Z=Object.keys(s),ce=!!(((Te=o==null?void 0:o.searchTerm)==null?void 0:Te.value)||"").trim();return!Z.length&&!ce?R:R.filter(Fe=>Z.every(Oe=>{const we=a[Oe];return we?we(Fe)===s[Oe]:!0})&&l(Fe))}),c=((Qn=r.map)==null?void 0:Qn.geoFacet)||"country_code",u=((Iu=(Nu=r.facets)==null?void 0:Nu[c])==null?void 0:Iu.geoIso)||(R=>{const Z=R[c];return Z&&Z.value?Z.value:null}),f=a[c]||(R=>Qe(R[c])),m=le(()=>{var Z;const R=new Map;for(const ce of((Z=t==null?void 0:t.rows)==null?void 0:Z.value)||[]){const xe=u(ce);xe&&R.set(xe,f(ce)||xe)}return R}),v=le(()=>{const R=new Map;for(const Z of i.value){const ce=u(Z);ce&&R.set(ce,(R.get(ce)||0)+1)}return R}),A=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:y,destroy:p}=u0({containerRef:A,accessToken:fe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Fu=r.map)!=null&&Fu.mapStyle||r.mapStyle?{style:((Ru=r.map)==null?void 0:Ru.mapStyle)||r.mapStyle}:{}}),g=p0({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=S0({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>L.value});let S=!1,$=null,D=null,I=null,H=0,Q=!1;function se(){Q||H||(H=requestAnimationFrame(()=>{H=0;const R=w.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function _e(R){const Z=!!R;if(Z!==Q){if(Q=Z,Q){H&&(cancelAnimationFrame(H),H=0);return}se(),setTimeout(se,180)}}const q=(()=>{var Z;const R={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return R[(Z=r.map)==null?void 0:Z.colorRamp]||R["heartbeat-red"]})(),oe={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function K(R,Z){return Number.isFinite(Z)?Z-1<=R?`${R}`:`${R}–${Z-1}`:`${R}+ · heartbeat zone`}function W(R){const ce=oe.binThresholds.map(xe=>xe/oe.heartbeatThreshold).map(xe=>Math.max(Tu,Math.round(xe*R)));return T(ce,R)}function T(R,Z){const ce=[];for(const xe of R){const Te=Math.max(xe,ce.length?ce[ce.length-1]+1:Tu);TeOe>0).sort((Oe,we)=>Oe-we);if(ce.length<8)return null;const xe=Oe=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Oe*ce.length)))],Te=xe(1-Z)+1,Fe=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Te,edges:T(Fe,Te)}}function M(R){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const Z=r.map||{};let ce=Number(Z.heartbeatThreshold)>0?Number(Z.heartbeatThreshold):oe.heartbeatThreshold,xe=null;if(Z.heartbeatMode==="quantile"){const we=B(R||[],Number(Z.heartbeatQuantile)>0?Number(Z.heartbeatQuantile):oe.quantile);we&&(ce=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(Z.binThresholds)&&Z.binThresholds.length?[...new Set(Z.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-ft):Number(Z.heartbeatThreshold)>0?W(ce):oe.binThresholds);const Te=[...xe,ce,1/0].slice(0,q.length);for(;Te.length{const Ut={upTo:we,c:q[ft],l:K(Fe,we)};return Fe=we,Ut})}const P=le(()=>M([...v.value.values()])),Y=((Mu=r.map)==null?void 0:Mu.noDataColor)||"#f3f3f1";function ie(R){if(!R)return Y;const Z=P.value;for(const ce of Z)if(R{const Oe=parseInt(ce.slice(Fe*2,Fe*2+2),16),we=parseInt(xe.slice(Fe*2,Fe*2+2),16);return Math.round(Lu*Oe+(1-Lu)*we)};return"#"+[0,1,2].map(Fe=>Te(Fe).toString(16).padStart(2,"0")).join("")}const $e=le(()=>P.value.map(R=>({c:be(R.c),l:R.l}))),Ne=((Ou=r.map)==null?void 0:Ou.selectedColor)||"#1a237e";function Ee(){const R=v.value,Z=[],ce=[];R.forEach((Oe,we)=>{Z.push(we,ie(Oe)),ce.push(we)});const xe=Z.length?["match",["get","iso_3166_1_alpha_3"],...Z,Y]:Y,Fe=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Oe=>[Oe,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Fe}}function ke(){return Object.prototype.hasOwnProperty.call(s,N0)}const me=((Du=r.map)==null?void 0:Du.pinColor)||"#ef6c00",pe=((ju=r.map)==null?void 0:ju.pinStrokeColor)||"#ffffff";function ye(){return ke()?Hr({colorSource:"properties"}):me}function b(){const R=w.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:Z,fillOpacity:ce}=Ee();R.setPaintProperty("rd-choropleth","fill-color",Z),R.setPaintProperty("rd-choropleth","fill-opacity",ce);const xe=R.getSource("rd-bubbles");xe&&xe.setData(k()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",ye())}function C(R){const Z=R==null?void 0:R.people_praying,ce=Z&&typeof Z=="object"?Z.value:Z;return Number(ce)||0}function k(){return{type:"FeatureCollection",features:i.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:C(R)}}))}}function G(){var ce;const R=o==null?void 0:o.selectionSet,Z=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Z.filter(xe=>R.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function X(){const R=w.value;if(!R)return;const Z=R.getSource("rd-bubble-selected");Z&&Z.setData(G())}function ne(){var xe;const R=w.value;if(!R||S)return;S=!0,R.getSource("rd-countries")||R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Z,fillOpacity:ce}=Ee();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Z,"fill-opacity":ce,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:k()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":pe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:G()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ne,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ne,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",z),R.on("click","rd-bubble-layer",j),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=(Te,Fe)=>{const Oe=R.project([Te,Fe]),we=R.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(z({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Te,Fe)=>{const Oe=R.project([Te,Fe]),we=R.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(j({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}he(),o&&o.on("select",X),X(),o&&o.on("focusRow",({slug:Te}={})=>{var we;if(!Te)return;const Fe=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(ft=>ft.slug===Te),Oe=w.value;if(Oe&&Fe&&Number(Fe.latitude)&&Number(Fe.longitude))try{Oe.flyTo({center:[Number(Fe.longitude),Number(Fe.latitude)],zoom:5.5,duration:1200})}catch{}})}function z(R){const Z=w.value;if(Z&&R.point){const Fe=Z.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ce=R.features&&R.features[0];if(!ce||!o)return;const xe=ce.properties&&ce.properties.iso_3166_1_alpha_3,Te=m.value.get(xe);Te&&(o.setFilter(c,s[c]===Te?null:Te),o.emit("mapFocus",{facet:c,value:Te}))}function j(R){const Z=R.features&&R.features[0];if(!Z||!o)return;const ce=Z.properties&&Z.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Z.properties&&Z.properties.name}))}function d(R){var ce;let Z=R&&R.parentNode;for(;Z;){if(Z.nodeType===1){const xe=getComputedStyle(Z);if(/auto|scroll/.test(xe.overflowY)&&Z.scrollHeight>Z.clientHeight+4)return Z}if(Z=Z.parentElement||((ce=Z.parentNode)==null?void 0:ce.host)||(Z.parentNode!==Z?Z.parentNode:null),Z&&Z.nodeType===9)break}return null}function h(R){if(!(!R||!R.scrollZoom))try{R.scrollZoom.enable()}catch{}}mt(async()=>{await y();const R=w.value;if(!R)return;R.isStyleLoaded()?ne():R.on("load",ne),h(R);const Z=()=>h(R);let ce=null;try{ce=new ResizeObserver(Z);const xe=R.getContainer&&R.getContainer()||null;xe&&ce.observe(xe);const Te=xe?d(xe):null;Te&&ce.observe(Te),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Z),Kt(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Z)}),R.on("zoom",ee),R.on("zoomend",ee),R.on("resize",ee),ee(),R.on("idle",()=>{!S&&R.isStyleLoaded()&&ne()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(se),$.observe(A.value)),te(),R.on("idle",te),R.on("resize",te),o&&typeof o.on=="function"&&(D=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),I=o.on("layoutResizing",_e))}),Kt(()=>{try{_&&_()}catch{}_=null;try{D&&D()}catch{}D=null;try{I&&I()}catch{}if(I=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}E=null,H&&(cancelAnimationFrame(H),H=0);try{const R=w.value;R&&(R.off("zoom",ee),R.off("zoomend",ee),R.off("resize",ee),R.off("idle",te),R.off("resize",te))}catch{}try{p&&p()}catch{}}),ut([i,L],b);const F=ue(!0),U=ue(!0);function ee(){const R=w.value;if(!R)return;const Z=R.getZoom();F.value=ZR.getMinZoom()+.01}const re=ue(null);let O=null,E=null;function te(){var xe;const R=re.value;if(!R)return;let Z=0;try{const Te=(xe=R.getRootNode)==null?void 0:xe.call(R),Fe=Te&&Te.querySelector?Te.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Oe=Fe.getBoundingClientRect(),we=R.getBoundingClientRect();if(Z=Math.max(Oe.height||0,we.bottom-Oe.top),E!==Fe&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}E=Fe,O=new ResizeObserver(te),O.observe(Fe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Z)||20,20),72);R.style.setProperty("--rd-attrib-clear",ce+"px")}const ae=ue("globe");function he(){const R=w.value;if(R)try{R.setProjection(ae.value)}catch{}}function ve(){ae.value=ae.value==="globe"?"mercator":"globe",he()}function Be(R){const Z=Number(R.longitude),ce=Number(R.latitude);return!Number.isFinite(Z)||!Number.isFinite(ce)||Z===0&&ce===0||ce<-90||ce>90||Z<-180||Z>180?null:[Z,ce]}function qe(R,Z){if(!R.length)return NaN;const ce=Math.min(R.length-1,Math.max(0,Math.round(Z*(R.length-1))));return R[ce]}function st(R){const Z=R.slice().sort((we,ft)=>we-ft),ce=Z.length;if(ce<2)return Z;let xe=-1,Te=0;for(let we=0;wexe&&(xe=Ut,Te=we)}const Fe=(Te+1)%ce,Oe=new Array(ce);for(let we=0;we0&&ftBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(Z.map(Bo=>Bo[0])),Te=Z.length>=F0?I0:0,Fe=qe(ce,Te),Oe=qe(ce,1-Te),we=qe(xe,Te),ft=qe(xe,1-Te),Ut=[qe(xe,.5),qe(ce,.5)];return!(ft>we)||!(Oe>Fe)?{bounds:[[Ut[0],Ut[1]],[Ut[0],Ut[1]]],center:Ut}:{bounds:[[we,Fe],[ft,Oe]],center:Ut}}function Pt(){const R=w.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Z=et(i.value);if(Z)try{R.fitBounds(Z.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(Z.center)}catch{}}let Zn=null;return ut(()=>JSON.stringify(s),()=>{clearTimeout(Zn),Zn=setTimeout(Pt,260)}),At(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -665,11 +664,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(F,Z)=>(V(),J("div",{ref_key:"mapWrap",ref:re,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[N("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),Z[1]||(Z[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Z[2]||(Z[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Me(E0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:vo(()=>[Me(A0,{map:fe(w),disabled:!R.value},null,8,["map","disabled"]),Me(C0,{map:fe(w),disabled:!U.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},de(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),Z[3]||(Z[3]=N("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),N("div",L0,[Z[0]||(Z[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),J(Se,null,Ye($e.value,ce=>(V(),J("div",{key:ce.l,class:"lg-row"},[N("span",{class:"lg-sw",style:it({background:ce.c})},null,4),N("span",null,de(ce.l),1)]))),128))])],8,T0))}},M0=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",O0=["data-active","aria-expanded"],D0={class:"filter-dropdown__label"},j0=["value","placeholder"],z0={class:"filter-dropdown__options"},U0={key:0,class:"filter-dropdown__no-options"},B0=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],G0={class:"filter-dropdown__count"},Jn=fn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=ue(!1),s=ue(""),a=ue(-1),l=ue(null),i=ue(null),c=ue(null),u=ue({});function f(I){const H=I.ownerDocument,Q=H.createElement("div");Q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(I.parentElement||I.getRootNode().body||H.body).appendChild(Q);const _e=Q.getBoundingClientRect();return Q.remove(),{x:_e.left,y:_e.top}}function m(){const I=c.value;if(!I)return;const H=I.getBoundingClientRect(),Q=window.innerWidth,se=window.innerHeight,_e=320,q=4,oe=8,K=Math.round(Math.min(H.width,Q-oe*2)),W=H.right>oe&&H.leftQ-oe?T=Math.round(Math.max(H.right-K,oe)):T=Math.round(Math.max(H.left,oe)):T=Math.round(Math.min(Math.max(H.left,oe),Q-K-oe));const B=se-H.bottom,M=B<180&&H.top>B,P=f(I),Y=Math.round(T-P.x);u.value=M?{top:"auto",bottom:`${Math.round(se-H.top+q+P.y)}px`,left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,H.top-q-oe))}px`}:{top:`${Math.round(H.bottom+q-P.y)}px`,bottom:"auto",left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,B-q-oe))}px`}}function v(){r.value&&m()}const A=le(()=>{if(!s.value)return o.options;const I=s.value.toLowerCase();return o.options.filter(H=>H.label.toLowerCase().includes(I))}),x=le(()=>o.options.find(I=>I.value===o.value));function w(I){var Q;const H=((Q=I.composedPath)==null?void 0:Q.call(I))??[];l.value&&!H.includes(l.value)&&p()}function L(){r.value?p():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var I;m(),(I=i.value)==null||I.focus()})}function p(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(I){s.value=I.target.value,a.value=-1}function _(I){const H=A.value;switch(I.key){case"ArrowDown":I.preventDefault(),a.value=Math.min(a.value+1,H.length-1),S();break;case"ArrowUp":I.preventDefault(),a.value=Math.max(a.value-1,0),S();break;case"Enter":{I.preventDefault();const Q=H[a.value];Q&&$(Q);break}case"Escape":I.preventDefault(),p();break}}function S(){$n(()=>{var H;const I=(H=l.value)==null?void 0:H.querySelector(".filter-dropdown__option[data-highlighted]");I==null||I.scrollIntoView({block:"nearest"})})}function $(I){n("filter-change",{name:o.name,value:I.value,label:I.label,type:I.type}),p()}function D(){n("filter-clear",{name:o.name}),p()}return Kt(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(I,H)=>(V(),J("div",{ref_key:"rootRef",ref:l,class:je(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:L},[N("span",D0,[x.value?(V(),J(Se,{key:0},[nt(de(e.label)+": ",1),N("strong",null,de(x.value.label),1)],64)):(V(),J(Se,{key:1},[nt(de(e.label),1)],64))]),H[0]||(H[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,O0),r.value?(V(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[N("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,j0),e.value?(V(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:D},"Clear selection")):Ie("",!0),N("div",z0,[A.value.length===0?(V(),J("div",U0,"No options found")):(V(!0),J(Se,{key:1},Ye(A.value,(Q,se)=>(V(),J("div",{key:Q.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":Q.value===e.value?"":void 0,"aria-selected":Q.value===e.value,onClick:_e=>$(Q),onMouseenter:_e=>a.value=se},[N("span",null,de(Q.label),1),N("span",G0,de(Q.count),1)],40,B0))),128))])],4)):Ie("",!0)],2))}},[["styles",[M0]]]),q0=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",H0={class:"sfh"},V0={key:0,class:"sfh__search-row"},W0=["aria-expanded"],K0=["aria-label"],Y0=["data-active","onClick"],X0={class:"sfh__chip-strip"},J0={class:"sfh__sel-label"},Z0=["aria-label","onClick"],Q0={key:1,class:"sfh__sel-world"},ex=fn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ue(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),f=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(_=>_.value===p.value);y.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&y.push({name:p.name,label:p.label});return y});function m(y){const p=(y==null?void 0:y.value)??"";n("update:search",p),n("search",{value:p})}function v(y){n("filter-change",y)}function A(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function L(){n("clear-all")}return(y,p)=>(V(),J("div",H0,[s.value?(V(),J("div",V0,[Me(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(V(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(de(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,W0)):Ie("",!0)])):Ie("",!0),a.value&&u.value?(V(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),J(Se,null,Ye(e.filters,g=>(V(),wo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),J(Se,null,Ye(e.toggles,g=>(V(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},de(g.label),9,Y0))),128))],8,K0)):Ie("",!0),a.value?(V(),J("div",{key:2,class:je(["sfh__chips",{"is-empty":!f.value.length}])},[N("div",X0,[N("span",J0,de(l.value.selected||"Selected"),1),f.value.length?(V(),J(Se,{key:0},[(V(!0),J(Se,null,Ye(f.value,g=>(V(),J("span",{key:g.name,class:"sfh__chip"},[nt(de(g.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Z0)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:L},de(l.value.clear_all),1)],64)):(V(),J("span",Q0,de(l.value.world||"World"),1))])],2)):Ie("",!0)]))}},[["styles",[q0]]]),tx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Xr="prayer_level",ox={__name:"DashboardResearchFilters",setup(e){const t=Fe("selectionBus",null),o=Fe("dashboardData",null),n=Fe("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const D=$==null?void 0:$.people_praying,I=D&&typeof D=="object"?D.value:D;return Hn[ln({peoplePraying:I??null})]}},l=le(()=>({[Xr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,D])=>[$,D.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Xr,...$.filter(D=>D!==Xr)]}),f=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,D){const I=Object.keys($);return I.length?D.filter(H=>I.every(Q=>{const se=i.value[Q];return se?se(H)===$[Q]:!0})):D}function v($){var _e;const D=i.value[$];if(!D)return[];const I=(_e=l.value[$])==null?void 0:_e.optionLabel,H={};for(const[q,oe]of Object.entries(s))q!==$&&(H[q]=oe);const Q=m(H,r.value),se=new Map;for(const q of Q){const oe=D(q);if(oe==null||oe==="")continue;const K=se.get(oe);K?K.count+=1:se.set(oe,{label:I&&I(q)||oe,count:1})}return Array.from(se.entries()).map(([q,{label:oe,count:K}])=>({value:q,label:oe,count:K})).sort((q,oe)=>String(q.label).localeCompare(String(oe.label)))}const A=le(()=>u.value.map($=>{var D;return{name:$,label:((D=l.value[$])==null?void 0:D.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Fe("dataStore",null),Fe("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var I;const D=s[$];return{name:$,label:`${((I=l.value[$])==null?void 0:I.label)||$}: ${$===Xr?D:x($,D)}`}})),L=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function p($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function S(){t==null||t.clearFilters()}return At(` +`,"rd-mappanel"),(R,Z)=>(V(),J("div",{ref_key:"mapWrap",ref:re,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[N("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),Z[1]||(Z[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Z[2]||(Z[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Me(E0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:vo(()=>[Me(A0,{map:fe(w),disabled:!F.value},null,8,["map","disabled"]),Me(C0,{map:fe(w),disabled:!U.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},de(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),Z[3]||(Z[3]=N("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),N("div",L0,[Z[0]||(Z[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),J(Se,null,Ye($e.value,ce=>(V(),J("div",{key:ce.l,class:"lg-row"},[N("span",{class:"lg-sw",style:it({background:ce.c})},null,4),N("span",null,de(ce.l),1)]))),128))])],8,T0))}},M0=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",O0=["data-active","aria-expanded"],D0={class:"filter-dropdown__label"},j0=["value","placeholder"],z0={class:"filter-dropdown__options"},U0={key:0,class:"filter-dropdown__no-options"},B0=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],G0={class:"filter-dropdown__count"},Jn=fn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=ue(!1),s=ue(""),a=ue(-1),l=ue(null),i=ue(null),c=ue(null),u=ue({});function f(I){const H=I.ownerDocument,Q=H.createElement("div");Q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(I.parentElement||I.getRootNode().body||H.body).appendChild(Q);const _e=Q.getBoundingClientRect();return Q.remove(),{x:_e.left,y:_e.top}}function m(){const I=c.value;if(!I)return;const H=I.getBoundingClientRect(),Q=window.innerWidth,se=window.innerHeight,_e=320,q=4,oe=8,K=Math.round(Math.min(H.width,Q-oe*2)),W=H.right>oe&&H.leftQ-oe?T=Math.round(Math.max(H.right-K,oe)):T=Math.round(Math.max(H.left,oe)):T=Math.round(Math.min(Math.max(H.left,oe),Q-K-oe));const B=se-H.bottom,M=B<180&&H.top>B,P=f(I),Y=Math.round(T-P.x);u.value=M?{top:"auto",bottom:`${Math.round(se-H.top+q+P.y)}px`,left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,H.top-q-oe))}px`}:{top:`${Math.round(H.bottom+q-P.y)}px`,bottom:"auto",left:`${Y}px`,width:`${K}px`,maxHeight:`${Math.round(Math.min(_e,B-q-oe))}px`}}function v(){r.value&&m()}const A=le(()=>{if(!s.value)return o.options;const I=s.value.toLowerCase();return o.options.filter(H=>H.label.toLowerCase().includes(I))}),x=le(()=>o.options.find(I=>I.value===o.value));function w(I){var Q;const H=((Q=I.composedPath)==null?void 0:Q.call(I))??[];l.value&&!H.includes(l.value)&&p()}function L(){r.value?p():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var I;m(),(I=i.value)==null||I.focus()})}function p(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(I){s.value=I.target.value,a.value=-1}function _(I){const H=A.value;switch(I.key){case"ArrowDown":I.preventDefault(),a.value=Math.min(a.value+1,H.length-1),S();break;case"ArrowUp":I.preventDefault(),a.value=Math.max(a.value-1,0),S();break;case"Enter":{I.preventDefault();const Q=H[a.value];Q&&$(Q);break}case"Escape":I.preventDefault(),p();break}}function S(){$n(()=>{var H;const I=(H=l.value)==null?void 0:H.querySelector(".filter-dropdown__option[data-highlighted]");I==null||I.scrollIntoView({block:"nearest"})})}function $(I){n("filter-change",{name:o.name,value:I.value,label:I.label,type:I.type}),p()}function D(){n("filter-clear",{name:o.name}),p()}return Kt(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(I,H)=>(V(),J("div",{ref_key:"rootRef",ref:l,class:je(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:L},[N("span",D0,[x.value?(V(),J(Se,{key:0},[nt(de(e.label)+": ",1),N("strong",null,de(x.value.label),1)],64)):(V(),J(Se,{key:1},[nt(de(e.label),1)],64))]),H[0]||(H[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,O0),r.value?(V(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[N("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,j0),e.value?(V(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:D},"Clear selection")):Ie("",!0),N("div",z0,[A.value.length===0?(V(),J("div",U0,"No options found")):(V(!0),J(Se,{key:1},Ye(A.value,(Q,se)=>(V(),J("div",{key:Q.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":Q.value===e.value?"":void 0,"aria-selected":Q.value===e.value,onClick:_e=>$(Q),onMouseenter:_e=>a.value=se},[N("span",null,de(Q.label),1),N("span",G0,de(Q.count),1)],40,B0))),128))])],4)):Ie("",!0)],2))}},[["styles",[M0]]]),q0=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",H0={class:"sfh"},V0={key:0,class:"sfh__search-row"},W0=["aria-expanded"],K0=["aria-label"],Y0=["data-active","onClick"],X0={class:"sfh__chip-strip"},J0={class:"sfh__sel-label"},Z0=["aria-label","onClick"],Q0={key:1,class:"sfh__sel-world"},ex=fn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ue(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),f=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(_=>_.value===p.value);y.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&y.push({name:p.name,label:p.label});return y});function m(y){const p=(y==null?void 0:y.value)??"";n("update:search",p),n("search",{value:p})}function v(y){n("filter-change",y)}function A(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function L(){n("clear-all")}return(y,p)=>(V(),J("div",H0,[s.value?(V(),J("div",V0,[Me(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(V(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(de(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,W0)):Ie("",!0)])):Ie("",!0),a.value&&u.value?(V(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),J(Se,null,Ye(e.filters,g=>(V(),wo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),J(Se,null,Ye(e.toggles,g=>(V(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},de(g.label),9,Y0))),128))],8,K0)):Ie("",!0),a.value?(V(),J("div",{key:2,class:je(["sfh__chips",{"is-empty":!f.value.length}])},[N("div",X0,[N("span",J0,de(l.value.selected||"Selected"),1),f.value.length?(V(),J(Se,{key:0},[(V(!0),J(Se,null,Ye(f.value,g=>(V(),J("span",{key:g.name,class:"sfh__chip"},[nt(de(g.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Z0)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:L},de(l.value.clear_all),1)],64)):(V(),J("span",Q0,de(l.value.world||"World"),1))])],2)):Ie("",!0)]))}},[["styles",[q0]]]),tx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Xr="prayer_level",ox={__name:"DashboardResearchFilters",setup(e){const t=Re("selectionBus",null),o=Re("dashboardData",null),n=Re("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const D=$==null?void 0:$.people_praying,I=D&&typeof D=="object"?D.value:D;return Hn[ln({peoplePraying:I??null})]}},l=le(()=>({[Xr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,D])=>[$,D.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Xr,...$.filter(D=>D!==Xr)]}),f=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,D){const I=Object.keys($);return I.length?D.filter(H=>I.every(Q=>{const se=i.value[Q];return se?se(H)===$[Q]:!0})):D}function v($){var _e;const D=i.value[$];if(!D)return[];const I=(_e=l.value[$])==null?void 0:_e.optionLabel,H={};for(const[q,oe]of Object.entries(s))q!==$&&(H[q]=oe);const Q=m(H,r.value),se=new Map;for(const q of Q){const oe=D(q);if(oe==null||oe==="")continue;const K=se.get(oe);K?K.count+=1:se.set(oe,{label:I&&I(q)||oe,count:1})}return Array.from(se.entries()).map(([q,{label:oe,count:K}])=>({value:q,label:oe,count:K})).sort((q,oe)=>String(q.label).localeCompare(String(oe.label)))}const A=le(()=>u.value.map($=>{var D;return{name:$,label:((D=l.value[$])==null?void 0:D.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var I;const D=s[$];return{name:$,label:`${((I=l.value[$])==null?void 0:I.label)||$}: ${$===Xr?D:x($,D)}`}})),L=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function p($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function S(){t==null||t.clearFilters()}return At(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,D)=>(V(),J("div",tx,[Me(ex,{search:L.value,filters:A.value,"active-chips":w.value,"search-placeholder":f.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:S},null,8,["search","filters","active-chips","search-placeholder"])]))}},nx={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"},Pu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Hn[ln({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Qe(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&nx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Pu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Pu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},rx=["data-row-count","data-loading","data-error","data-narrow"],sx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},ax=["data-kpi"],lx={class:"l"},ix={key:0,class:"d","data-kpi-delta":""},cx={class:"rd-cell-map","data-region":"map"},ux=["title"],dx=["title"],fx={class:"rd-cell-table","data-region":"table"},px={class:"rd-rail","data-region":"rail"},gx=["aria-valuenow"],hx=["aria-valuenow"],mx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],bx=["aria-valuenow"],_x=["data-view"],yx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Fe("profileConfig",ue(null)),n=le(()=>{const me=fe(o);if(!me||typeof me!="object")return Pa;const pe={...Pa,...me};return me.map&&typeof me.map=="object"&&(pe.map={...Pa.map,...me.map}),pe}),r=le(()=>{var me;return((me=fe(o))==null?void 0:me.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=I_(n.value),u=t;ut(()=>{var me;return{filters:{...s.filterSet},q:((me=s.searchTerm)==null?void 0:me.value)||""}},({filters:me,q:pe})=>u("dashboard-filter",{filterSet:me,searchTerm:pe}),{deep:!0});const f=a.total,m=a.loading,v=a.error,{shell:A,isNarrow:x,slimRail:w,slimFacet:L,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:S,setView:$,showFacets:D,showMap:I,showTable:H,showCharts:Q}=c,{startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,onResizeKeydown:K,facetW:W,railW:T,tableH:B,mapH:M,shellH:P}=M_({shellRef:A,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function Y(me){return me.kind==="pct"?me.value:me.kind==="distinct"?me.value||"—":_u(me.value)}const ie=le(()=>{var me;return(me=s.selectionVersion)==null||me.value,s.selectionSet?s.selectionSet.size:0});function be(){i.exportCsvAsync()}function $e(){s.clearSelection()}function Ne(){s.emit("toggleFacet",!_.value)}function Ee(){s.emit("toggleRail",!S.value)}function ke(me){const pe=me.target&&me.target.closest&&me.target.closest("[data-bar-export],[data-bar-clear]");pe&&(pe.hasAttribute("data-bar-export")?be():$e())}return At(` +`,"rd-research-filters"),($,D)=>(V(),J("div",tx,[Me(ex,{search:L.value,filters:A.value,"active-chips":w.value,"search-placeholder":f.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:S},null,8,["search","filters","active-chips","search-placeholder"])]))}},nx={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"},Pu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Hn[ln({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Qe(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&nx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Pu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Pu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},rx=["data-row-count","data-loading","data-error","data-narrow"],sx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},ax=["data-kpi"],lx={class:"l"},ix={key:0,class:"d","data-kpi-delta":""},cx={class:"rd-cell-map","data-region":"map"},ux=["title"],dx=["title"],fx={class:"rd-cell-table","data-region":"table"},px={class:"rd-rail","data-region":"rail"},gx=["aria-valuenow"],hx=["aria-valuenow"],mx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],bx=["aria-valuenow"],_x=["data-view"],yx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Re("profileConfig",ue(null)),n=le(()=>{const me=fe(o);if(!me||typeof me!="object")return Pa;const pe={...Pa,...me};return me.map&&typeof me.map=="object"&&(pe.map={...Pa.map,...me.map}),pe}),r=le(()=>{var me;return((me=fe(o))==null?void 0:me.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=I_(n.value),u=t;ut(()=>{var me;return{filters:{...s.filterSet},q:((me=s.searchTerm)==null?void 0:me.value)||""}},({filters:me,q:pe})=>u("dashboard-filter",{filterSet:me,searchTerm:pe}),{deep:!0});const f=a.total,m=a.loading,v=a.error,{shell:A,isNarrow:x,slimRail:w,slimFacet:L,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:S,setView:$,showFacets:D,showMap:I,showTable:H,showCharts:Q}=c,{startFacetResize:se,startRailResize:_e,startTableResize:q,startShellResize:oe,onResizeKeydown:K,facetW:W,railW:T,tableH:B,mapH:M,shellH:P}=M_({shellRef:A,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function Y(me){return me.kind==="pct"?me.value:me.kind==="distinct"?me.value||"—":_u(me.value)}const ie=le(()=>{var me;return(me=s.selectionVersion)==null||me.value,s.selectionSet?s.selectionSet.size:0});function be(){i.exportCsvAsync()}function $e(){s.clearSelection()}function Ne(){s.emit("toggleFacet",!_.value)}function Ee(){s.emit("toggleRail",!S.value)}function ke(me){const pe=me.target&&me.target.closest&&me.target.closest("[data-bar-export],[data-bar-clear]");pe&&(pe.hasAttribute("data-bar-export")?be():$e())}return At(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -770,4 +769,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),mt(()=>{const me=A.value&&A.value.getRootNode&&A.value.getRootNode().host;if(!me)return;const pe=ye=>me.setAttribute("data-page-scroll",ye?"true":"false");pe(fe(r)),ut(()=>fe(r),pe)}),(me,pe)=>(V(),J("div",{ref_key:"shell",ref:A,class:je(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(w),"rd-slim-facet":fe(L),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(_),"rd-rail-collapsed":fe(S),"rd-page-scroll":r.value}]),"data-row-count":fe(f),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Me(fe(wy)),Me(fe(ox)),N("div",sx,[(V(!0),J(Se,null,Ye(fe(l),ye=>(V(),J("div",{class:"kpi",key:ye.id},[N("span",{class:"n","data-kpi":ye.id},de(ye.kind==="count"&&fe(m)?"…":Y(ye)),9,ax),N("span",lx,de(ye.label),1),ye.delta?(V(),J("span",ix,"↓"+de(fe(_u)(ye.delta)),1)):Ie("",!0)]))),128))]),Tt(Me(fe(jy),null,null,512),[[Mt,fe(D)]]),Tt(N("div",cx,[Me(fe(F0)),fe(x)?Ie("",!0):(V(),J("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(_)?"Show filters":"Hide filters — grow the map",onClick:Ne},de(fe(_)?"▸":"◂"),9,ux)),fe(x)?Ie("",!0):(V(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe(S)?"Show charts":"Hide charts — grow the map",onClick:Ee},de(fe(S)?"◂":"▸"),9,dx))],512),[[Mt,fe(I)]]),Tt(N("div",fx,[Me(fe(av))],512),[[Mt,fe(H)]]),Tt(N("aside",px,[Me(fe(Xv)),Me(fe($v))],512),[[Mt,fe(Q)]]),Tt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(W),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:pe[0]||(pe[0]=(...ye)=>fe(se)&&fe(se)(...ye)),onKeydown:pe[1]||(pe[1]=ye=>fe(K)("facet",ye))},null,40,gx),[[Mt,!fe(x)&&!fe(_)]]),Tt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:pe[2]||(pe[2]=(...ye)=>fe(_e)&&fe(_e)(...ye)),onKeydown:pe[3]||(pe[3]=ye=>fe(K)("rail",ye))},null,40,hx),[[Mt,!fe(x)&&!fe(S)]]),Tt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(M):parseFloat(fe(B))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:pe[4]||(pe[4]=(...ye)=>fe(q)&&fe(q)(...ye)),onKeydown:pe[5]||(pe[5]=ye=>fe(K)("table",ye))},null,40,mx),[[Mt,!fe(x)&&!fe(g)]]),Tt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:pe[6]||(pe[6]=(...ye)=>fe(oe)&&fe(oe)(...ye)),onKeydown:pe[7]||(pe[7]=ye=>fe(K)("shell",ye))},null,40,bx),[[Mt,!fe(x)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:pe[8]||(pe[8]=(...ye)=>fe($)&&fe($)(...ye))},[(V(!0),J(Se,null,Ye(fe(p),ye=>(V(),J("button",{key:ye.k,class:je({on:fe(y)===ye.k}),"data-view-btn":"","data-view":ye.k},de(ye.l),11,_x))),128))]),ie.value?(V(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ke},[N("b",null,de(ie.value)+" selected",1),pe[9]||(pe[9]=N("span",{class:"sp"},null,-1)),pe[10]||(pe[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),pe[11]||(pe[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ie("",!0)],10,rx))}};function vx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function xx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function wx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));f.length&&(c=f)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function $x(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Sx=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Ex={class:"pgg-root"},Ax={key:0,id:"filters",class:"filters"},Cx={key:0,class:"pgg-search"},Tx=["aria-expanded"],Lx={key:0,class:"filters__toggle-count"},Px={class:"filters__panel"},Nx={class:"filters__panel"},Ix=["data-active"],Rx={key:3,class:"filters__active"},Fx=["onClick"],Mx={class:"pgg-body"},Ox={key:0,class:"repel"},Dx={class:"font-size-sm"},jx={key:1},zx={id:"results",class:"grid uupgs-list"},Ux=["src","alt"],Bx={class:"uupg__header"},Gx=["innerHTML"],qx={key:0,class:"uupg__country"},Hx=["href"],Vx=["innerHTML"],Wx=["innerHTML"],Kx=["innerHTML"],Yx={key:1,class:"uupg__content"},Xx=["href"],Jx={key:0,class:"loading"},Zx={key:1,class:"pgg-empty pgg-failed",role:"status"},Qx={key:2,class:"pgg-empty"},ew=fn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=z=>!(z===!1||z==="false"||z==="0"||z===0),u=le(()=>c(o.showSearch)),f=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),A=ue([]),x=ue(0),w=ue(1),L=ue(!0),y=ue(!1),p=ue(!0),g=ue({}),_=ue(""),S=ue({}),$=le(()=>u.value?_.value:o.query||""),D=le(()=>{const z={},j=d=>d;return o.wagfRegion&&(z.wagf_region={value:o.wagfRegion,label:j(o.wagfRegion)}),o.wagfBlock&&(z.wagf_block={value:o.wagfBlock,label:j(o.wagfBlock)}),o.rop1&&(z.rop1={value:o.rop1,label:j(o.rop1)}),o.religion&&(z.religion={value:o.religion,label:j(o.religion)}),o.countryCode&&(z.country_code={value:o.countryCode,label:j(o.countryCode)}),o.primaryLanguage&&(z.primary_language={value:o.primaryLanguage,label:j(o.primaryLanguage)}),o.engagementStatus&&(z.engagement_status={value:o.engagementStatus,label:j(o.engagementStatus)}),o.cluster&&(z.imb_reg_of_people_2={value:o.cluster,label:j(o.cluster)}),o.peopleGroup&&(z.imb_reg_of_people_25={value:o.peopleGroup,label:j(o.peopleGroup)}),o.gospelAccess&&(z.imb_gsec={value:o.gospelAccess,label:j(o.gospelAccess)}),z}),I=le(()=>f.value?S.value:D.value),H=le(()=>Object.values(I.value||{}).filter(z=>z&&z.value!==""&&z.value!=null).length),Q=le(()=>Object.keys(I.value).length),se=le(()=>H.value>0||!!($.value||"").trim());function _e(z){return z.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(z,j=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>z(...h),j)}}const oe=q(()=>{L.value=!0,w.value=1,me()},500);function K(z){_.value=(z==null?void 0:z.value)??"",oe()}function W(){p.value=!p.value}function T(z){S.value={...S.value,[z.name]:{value:z.value,label:z.label}},w.value=1,me()}function B(z){M(z.name)}function M(z){const j={...S.value};delete j[z],S.value=j,w.value=1,me()}function P(){S.value={},w.value=1,me()}function Y(){if(S.value.exact)return M("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,me()}const ie=z=>String(z??"").toLowerCase().replace(/[\s_&-]+/g,"");function be(z,j){if(!z)return!1;const d=ie(j==null?void 0:j.value);return d?ie(z.value)===d||ie(z.label)===d:!1}function $e(z){let j=z;for(const[d,h]of Object.entries(I.value))d==="exact"?j=j:j=j.filter(R=>be(R[d],h));return j}function Ne(){const z=j=>{const d=new Map;for(const h of v.value){const R=h[j];if(!(R!=null&&R.value))continue;const U=d.get(R.value);U?U.count++:d.set(R.value,{label:R.label,count:1})}return Array.from(d.entries()).map(([h,{label:R,count:U}])=>({value:h,label:R,count:U})).sort((h,R)=>h.label.localeCompare(R.label))};g.value={wagf_region:z("wagf_region"),wagf_block:z("wagf_block"),rop1:z("rop1"),religion:z("religion")}}function Ee(){const z=Object.keys(g.value),j={};for(const d of z){const h={};for(const[ee,re]of Object.entries(I.value))ee!==d&&(h[ee]=re);const R=ke(h,v.value),U=new Map;for(const ee of R){const re=ee[d];re!=null&&re.value&&U.set(re.value,(U.get(re.value)??0)+1)}j[d]=(g.value[d]??[]).map(ee=>({...ee,count:U.get(ee.value)??0}))}g.value=j}function ke(z,j){let d=j;for(const[h,R]of Object.entries(z))h!=="exact"&&(d=d.filter(U=>be(U[h],R)));return d}function me(){v.value=v.value.map(U=>(U.matches=[],U.country_label="",U.rop1_label="",U));const j=Object.keys(I.value).length>0?$e(v.value):v.value,d=$.value;if(!d){A.value=j,x.value=A.value.length,L.value=!1,Ee(),b();return}const R=new kx(j,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);A.value=R.map(U=>{var re;const ee={...U.item};if(!U.matches)return ee;ee.matches=[];for(const O of U.matches){const E=O.key;if(!E)continue;let te="";if(String(E).includes(".")){const[ae,he]=String(E).split(".");te=(re=ee[ae])==null?void 0:re[he]}else te=ee[String(E)];if(te&&typeof te=="string"){let ae=0,he="";if(O.indices.forEach((ve,Be)=>{const qe=ve[0],st=ve[1],et=O.indices.length-1===Be;he+=_e(te.slice(ae,qe))+`${_e(te.slice(qe,st+1))}`+(et?_e(te.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))ee.matches.push({key:i.value.alternate_name??"Also known as",label:he});else if(String(E).includes(".")){const[ve]=String(E).split("."),Be={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};ve==="rop1"?ee.rop1_label=he:ve==="country_code"?ee.country_label=he:ve==="wagf_region"||ee.matches.push({key:Be[ve]??ve,label:he})}else ee[String(E)]=he}}return ee}),x.value=A.value.length,L.value=!1,Ee(),b()}const pe=ko();function ye(){var j,d;const z=((j=pe==null?void 0:pe.vnode)==null?void 0:j.el)||((d=pe==null?void 0:pe.proxy)==null?void 0:d.$el);try{const h=z&&z.getRootNode&&z.getRootNode();if(h&&h.host)return h.host}catch{}return z}function b(){const z={query:$.value,activeFilters:I.value,total:x.value,slugs:A.value.map(d=>d.slug)};n("groups-filtered",z);const j=ye();j&&typeof j.dispatchEvent=="function"&&j.dispatchEvent(new CustomEvent("groups-filtered",{detail:z,bubbles:!0,composed:!0}))}function C(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&A.value.length>0:x.value>w.value*o.perPage&&!L.value&&A.value.length>0}function k(){w.value=w.value+1}const G=le(()=>o.morePerPage>0?A.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):A.value.slice(0,w.value*o.perPage)),X=le(()=>C());async function ne(){const z=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;L.value=!0,y.value=!1;try{const j=await fetch(z);if(!j.ok)throw new Error(`HTTP ${j.status}`);const d=await j.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ne(),me()}catch(j){console.error("[people-groups-grid] fetch error:",j),y.value=!0,v.value=[],L.value=!1}}return ut(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,f.value],()=>{w.value=1,me()}),mt(ne),(z,j)=>{var d,h,R,U;return V(),J("div",Ex,[u.value||f.value?(V(),J("div",Ax,[u.value?(V(),J("div",Cx,[Me(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Ie("",!0),f.value?(V(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:W},[j[0]||(j[0]=N("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+de(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),H.value?(V(),J("span",Lx,de(H.value),1)):Ie("",!0),j[1]||(j[1]=N("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Tx)):Ie("",!0),f.value&&p.value?(V(),J(Se,{key:2},[N("div",Px,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=I.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((R=I.value.rop1)==null?void 0:R.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((U=I.value.religion)==null?void 0:U.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"])]),N("div",Nx,[N("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:Y},de(i.value.exact_filter||"Exact"),9,Ix)])],64)):Ie("",!0),f.value&&Q.value>0?(V(),J("div",Rx,[(V(!0),J(Se,null,Ye(I.value,(ee,re)=>(V(),J("span",{key:re,class:"filter-chip"},[nt(de(ee.label)+" ",1),N("button",{class:"filter-chip__remove",type:"button",onClick:O=>M(String(re))},"×",8,Fx)]))),128)),N("button",{class:"filters__clear-all",type:"button",onClick:P},de(i.value.clear_all||"Clear All"),1)])):Ie("",!0)])):Ie("",!0),N("div",Mx,[m.value||se.value?(V(),J("div",Ox,[N("div",Dx,[L.value?(V(),J("span",jx," ")):(V(),J(Se,{key:0},[nt(de(se.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ie("",!0),N("div",zx,[(V(!0),J(Se,null,Ye(G.value,ee=>(V(),J("div",{key:ee.slug,class:"card uupg__card"},[ee.image_url?(V(),J("img",{key:0,class:"uupg__image",src:ee.image_url,alt:ee.name},null,8,Ux)):Ie("",!0),N("div",Bx,[N("h3",{class:"uupg__name",innerHTML:ee.name},null,8,Gx),ee.country_code?(V(),J("p",qx,[N("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe($x)(ee.country_code.value,ee.country_code.label)}`},[N("span",{innerHTML:ee.country_label?ee.country_label:ee.country_code.label},null,8,Vx)],8,Hx),ee.rop1?(V(),J(Se,{key:0},[j[2]||(j[2]=nt(" (",-1)),N("span",{innerHTML:ee.rop1_label?ee.rop1_label:ee.rop1.label},null,8,Wx),j[3]||(j[3]=nt(")",-1))],64)):Ie("",!0)])):Ie("",!0),ee.matches?(V(!0),J(Se,{key:1},Ye(ee.matches,(re,O)=>(V(),J("p",{key:O,class:"uupg__match"},[N("strong",null,de(re.key),1),j[4]||(j[4]=nt(": ",-1)),N("span",{innerHTML:re.label},null,8,Kx)]))),128)):Ie("",!0)]),ee.location_description?(V(),J("p",Yx,de(ee.location_description),1)):Ie("",!0),N("a",{class:"uupg__more-button",href:`${l.value}${ee.slug}`},de(i.value.full_profile||"Full profile"),9,Xx)]))),128)),L.value?(V(),J("div",Jx,de(i.value.loading||"Loading…"),1)):y.value?(V(),J("div",Zx,de(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Ie("",!0):(V(),J("div",Qx,de(i.value.no_results||"No people groups match this filter."),1))]),X.value?(V(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},de(i.value.load_more||"Load more"),1)):Ie("",!0)])])}}},[["styles",[Sx]]]),tw=":host{display:block;width:100%}",ow="dashboard-plus-grid/dashboard-plus-grid/index.html",nw=fn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=No({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);ro("profileConfig",ue({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+ow}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),wo(d_,{sections:s},{"section-dashboard":vo(()=>[Me(yx,{onDashboardFilter:n})]),"section-grid":vo(()=>[Me(ew,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[tw]]]);Tb({"./affinity-block.js":{default:jb},"./doxa-region.js":{default:Gb}}),Pb();const rw=tp(nw,{configureApp(e){e.use(pp());const t=db();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",rw))})(); +`,"rd-shell-layout"),mt(()=>{const me=A.value&&A.value.getRootNode&&A.value.getRootNode().host;if(!me)return;const pe=ye=>me.setAttribute("data-page-scroll",ye?"true":"false");pe(fe(r)),ut(()=>fe(r),pe)}),(me,pe)=>(V(),J("div",{ref_key:"shell",ref:A,class:je(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(w),"rd-slim-facet":fe(L),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(_),"rd-rail-collapsed":fe(S),"rd-page-scroll":r.value}]),"data-row-count":fe(f),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Me(fe(wy)),Me(fe(ox)),N("div",sx,[(V(!0),J(Se,null,Ye(fe(l),ye=>(V(),J("div",{class:"kpi",key:ye.id},[N("span",{class:"n","data-kpi":ye.id},de(ye.kind==="count"&&fe(m)?"…":Y(ye)),9,ax),N("span",lx,de(ye.label),1),ye.delta?(V(),J("span",ix,"↓"+de(fe(_u)(ye.delta)),1)):Ie("",!0)]))),128))]),Tt(Me(fe(jy),null,null,512),[[Mt,fe(D)]]),Tt(N("div",cx,[Me(fe(R0)),fe(x)?Ie("",!0):(V(),J("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(_)?"Show filters":"Hide filters — grow the map",onClick:Ne},de(fe(_)?"▸":"◂"),9,ux)),fe(x)?Ie("",!0):(V(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe(S)?"Show charts":"Hide charts — grow the map",onClick:Ee},de(fe(S)?"◂":"▸"),9,dx))],512),[[Mt,fe(I)]]),Tt(N("div",fx,[Me(fe(av))],512),[[Mt,fe(H)]]),Tt(N("aside",px,[Me(fe(Xv)),Me(fe($v))],512),[[Mt,fe(Q)]]),Tt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(W),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:pe[0]||(pe[0]=(...ye)=>fe(se)&&fe(se)(...ye)),onKeydown:pe[1]||(pe[1]=ye=>fe(K)("facet",ye))},null,40,gx),[[Mt,!fe(x)&&!fe(_)]]),Tt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:pe[2]||(pe[2]=(...ye)=>fe(_e)&&fe(_e)(...ye)),onKeydown:pe[3]||(pe[3]=ye=>fe(K)("rail",ye))},null,40,hx),[[Mt,!fe(x)&&!fe(S)]]),Tt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(M):parseFloat(fe(B))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:pe[4]||(pe[4]=(...ye)=>fe(q)&&fe(q)(...ye)),onKeydown:pe[5]||(pe[5]=ye=>fe(K)("table",ye))},null,40,mx),[[Mt,!fe(x)&&!fe(g)]]),Tt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:pe[6]||(pe[6]=(...ye)=>fe(oe)&&fe(oe)(...ye)),onKeydown:pe[7]||(pe[7]=ye=>fe(K)("shell",ye))},null,40,bx),[[Mt,!fe(x)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:pe[8]||(pe[8]=(...ye)=>fe($)&&fe($)(...ye))},[(V(!0),J(Se,null,Ye(fe(p),ye=>(V(),J("button",{key:ye.k,class:je({on:fe(y)===ye.k}),"data-view-btn":"","data-view":ye.k},de(ye.l),11,_x))),128))]),ie.value?(V(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ke},[N("b",null,de(ie.value)+" selected",1),pe[9]||(pe[9]=N("span",{class:"sp"},null,-1)),pe[10]||(pe[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),pe[11]||(pe[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ie("",!0)],10,rx))}};function vx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function xx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function wx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));f.length&&(c=f)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function $x(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Sx=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",Ex={class:"pgg-root"},Ax={key:0,id:"filters",class:"filters"},Cx={key:0,class:"pgg-search"},Tx=["aria-expanded"],Lx={key:0,class:"filters__toggle-count"},Px={class:"filters__panel"},Nx={class:"filters__panel"},Ix=["data-active"],Fx={key:3,class:"filters__active"},Rx=["onClick"],Mx={class:"pgg-body"},Ox={key:0,class:"repel"},Dx={class:"font-size-sm"},jx={key:1},zx={id:"results",class:"grid uupgs-list"},Ux=["src","alt"],Bx={class:"uupg__header"},Gx=["innerHTML"],qx={key:0,class:"uupg__country"},Hx=["href"],Vx=["innerHTML"],Wx=["innerHTML"],Kx=["innerHTML"],Yx={key:1,class:"uupg__content"},Xx=["href"],Jx={key:0,class:"loading"},Zx={key:1,class:"pgg-empty pgg-failed",role:"status"},Qx={key:2,class:"pgg-empty"},ew=fn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=z=>!(z===!1||z==="false"||z==="0"||z===0),u=le(()=>c(o.showSearch)),f=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),A=ue([]),x=ue(0),w=ue(1),L=ue(!0),y=ue(!1),p=ue(!0),g=ue({}),_=ue(""),S=ue({}),$=le(()=>u.value?_.value:o.query||""),D=le(()=>{const z={},j=d=>d;return o.wagfRegion&&(z.wagf_region={value:o.wagfRegion,label:j(o.wagfRegion)}),o.wagfBlock&&(z.wagf_block={value:o.wagfBlock,label:j(o.wagfBlock)}),o.rop1&&(z.rop1={value:o.rop1,label:j(o.rop1)}),o.religion&&(z.religion={value:o.religion,label:j(o.religion)}),o.countryCode&&(z.country_code={value:o.countryCode,label:j(o.countryCode)}),o.primaryLanguage&&(z.primary_language={value:o.primaryLanguage,label:j(o.primaryLanguage)}),o.engagementStatus&&(z.engagement_status={value:o.engagementStatus,label:j(o.engagementStatus)}),o.cluster&&(z.imb_reg_of_people_2={value:o.cluster,label:j(o.cluster)}),o.peopleGroup&&(z.imb_reg_of_people_25={value:o.peopleGroup,label:j(o.peopleGroup)}),o.gospelAccess&&(z.imb_gsec={value:o.gospelAccess,label:j(o.gospelAccess)}),z}),I=le(()=>f.value?S.value:D.value),H=le(()=>Object.values(I.value||{}).filter(z=>z&&z.value!==""&&z.value!=null).length),Q=le(()=>Object.keys(I.value).length),se=le(()=>H.value>0||!!($.value||"").trim());function _e(z){return z.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(z,j=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>z(...h),j)}}const oe=q(()=>{L.value=!0,w.value=1,me()},500);function K(z){_.value=(z==null?void 0:z.value)??"",oe()}function W(){p.value=!p.value}function T(z){S.value={...S.value,[z.name]:{value:z.value,label:z.label}},w.value=1,me()}function B(z){M(z.name)}function M(z){const j={...S.value};delete j[z],S.value=j,w.value=1,me()}function P(){S.value={},w.value=1,me()}function Y(){if(S.value.exact)return M("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,me()}const ie=z=>String(z??"").toLowerCase().replace(/[\s_&-]+/g,"");function be(z,j){if(!z)return!1;const d=ie(j==null?void 0:j.value);return d?ie(z.value)===d||ie(z.label)===d:!1}function $e(z){let j=z;for(const[d,h]of Object.entries(I.value))d==="exact"?j=j:j=j.filter(F=>be(F[d],h));return j}function Ne(){const z=j=>{const d=new Map;for(const h of v.value){const F=h[j];if(!(F!=null&&F.value))continue;const U=d.get(F.value);U?U.count++:d.set(F.value,{label:F.label,count:1})}return Array.from(d.entries()).map(([h,{label:F,count:U}])=>({value:h,label:F,count:U})).sort((h,F)=>h.label.localeCompare(F.label))};g.value={wagf_region:z("wagf_region"),wagf_block:z("wagf_block"),rop1:z("rop1"),religion:z("religion")}}function Ee(){const z=Object.keys(g.value),j={};for(const d of z){const h={};for(const[ee,re]of Object.entries(I.value))ee!==d&&(h[ee]=re);const F=ke(h,v.value),U=new Map;for(const ee of F){const re=ee[d];re!=null&&re.value&&U.set(re.value,(U.get(re.value)??0)+1)}j[d]=(g.value[d]??[]).map(ee=>({...ee,count:U.get(ee.value)??0}))}g.value=j}function ke(z,j){let d=j;for(const[h,F]of Object.entries(z))h!=="exact"&&(d=d.filter(U=>be(U[h],F)));return d}function me(){v.value=v.value.map(U=>(U.matches=[],U.country_label="",U.rop1_label="",U));const j=Object.keys(I.value).length>0?$e(v.value):v.value,d=$.value;if(!d){A.value=j,x.value=A.value.length,L.value=!1,Ee(),b();return}const F=new kx(j,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:I.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);A.value=F.map(U=>{var re;const ee={...U.item};if(!U.matches)return ee;ee.matches=[];for(const O of U.matches){const E=O.key;if(!E)continue;let te="";if(String(E).includes(".")){const[ae,he]=String(E).split(".");te=(re=ee[ae])==null?void 0:re[he]}else te=ee[String(E)];if(te&&typeof te=="string"){let ae=0,he="";if(O.indices.forEach((ve,Be)=>{const qe=ve[0],st=ve[1],et=O.indices.length-1===Be;he+=_e(te.slice(ae,qe))+`${_e(te.slice(qe,st+1))}`+(et?_e(te.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))ee.matches.push({key:i.value.alternate_name??"Also known as",label:he});else if(String(E).includes(".")){const[ve]=String(E).split("."),Be={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};ve==="rop1"?ee.rop1_label=he:ve==="country_code"?ee.country_label=he:ve==="wagf_region"||ee.matches.push({key:Be[ve]??ve,label:he})}else ee[String(E)]=he}}return ee}),x.value=A.value.length,L.value=!1,Ee(),b()}const pe=ko();function ye(){var j,d;const z=((j=pe==null?void 0:pe.vnode)==null?void 0:j.el)||((d=pe==null?void 0:pe.proxy)==null?void 0:d.$el);try{const h=z&&z.getRootNode&&z.getRootNode();if(h&&h.host)return h.host}catch{}return z}function b(){const z={query:$.value,activeFilters:I.value,total:x.value,slugs:A.value.map(d=>d.slug)};n("groups-filtered",z);const j=ye();j&&typeof j.dispatchEvent=="function"&&j.dispatchEvent(new CustomEvent("groups-filtered",{detail:z,bubbles:!0,composed:!0}))}function C(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&A.value.length>0:x.value>w.value*o.perPage&&!L.value&&A.value.length>0}function k(){w.value=w.value+1}const G=le(()=>o.morePerPage>0?A.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):A.value.slice(0,w.value*o.perPage)),X=le(()=>C());async function ne(){const z=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;L.value=!0,y.value=!1;try{const j=await fetch(z);if(!j.ok)throw new Error(`HTTP ${j.status}`);const d=await j.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ne(),me()}catch(j){console.error("[people-groups-grid] fetch error:",j),y.value=!0,v.value=[],L.value=!1}}return ut(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,f.value],()=>{w.value=1,me()}),mt(ne),(z,j)=>{var d,h,F,U;return V(),J("div",Ex,[u.value||f.value?(V(),J("div",Ax,[u.value?(V(),J("div",Cx,[Me(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Ie("",!0),f.value?(V(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:W},[j[0]||(j[0]=N("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[N("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+de(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),H.value?(V(),J("span",Lx,de(H.value),1)):Ie("",!0),j[1]||(j[1]=N("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Tx)):Ie("",!0),f.value&&p.value?(V(),J(Se,{key:2},[N("div",Px,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=I.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=I.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((F=I.value.rop1)==null?void 0:F.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((U=I.value.religion)==null?void 0:U.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:B},null,8,["label","options","value","placeholder"])]),N("div",Nx,[N("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:Y},de(i.value.exact_filter||"Exact"),9,Ix)])],64)):Ie("",!0),f.value&&Q.value>0?(V(),J("div",Fx,[(V(!0),J(Se,null,Ye(I.value,(ee,re)=>(V(),J("span",{key:re,class:"filter-chip"},[nt(de(ee.label)+" ",1),N("button",{class:"filter-chip__remove",type:"button",onClick:O=>M(String(re))},"×",8,Rx)]))),128)),N("button",{class:"filters__clear-all",type:"button",onClick:P},de(i.value.clear_all||"Clear All"),1)])):Ie("",!0)])):Ie("",!0),N("div",Mx,[m.value||se.value?(V(),J("div",Ox,[N("div",Dx,[L.value?(V(),J("span",jx," ")):(V(),J(Se,{key:0},[nt(de(se.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ie("",!0),N("div",zx,[(V(!0),J(Se,null,Ye(G.value,ee=>(V(),J("div",{key:ee.slug,class:"card uupg__card"},[ee.image_url?(V(),J("img",{key:0,class:"uupg__image",src:ee.image_url,alt:ee.name},null,8,Ux)):Ie("",!0),N("div",Bx,[N("h3",{class:"uupg__name",innerHTML:ee.name},null,8,Gx),ee.country_code?(V(),J("p",qx,[N("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe($x)(ee.country_code.value,ee.country_code.label)}`},[N("span",{innerHTML:ee.country_label?ee.country_label:ee.country_code.label},null,8,Vx)],8,Hx),ee.rop1?(V(),J(Se,{key:0},[j[2]||(j[2]=nt(" (",-1)),N("span",{innerHTML:ee.rop1_label?ee.rop1_label:ee.rop1.label},null,8,Wx),j[3]||(j[3]=nt(")",-1))],64)):Ie("",!0)])):Ie("",!0),ee.matches?(V(!0),J(Se,{key:1},Ye(ee.matches,(re,O)=>(V(),J("p",{key:O,class:"uupg__match"},[N("strong",null,de(re.key),1),j[4]||(j[4]=nt(": ",-1)),N("span",{innerHTML:re.label},null,8,Kx)]))),128)):Ie("",!0)]),ee.location_description?(V(),J("p",Yx,de(ee.location_description),1)):Ie("",!0),N("a",{class:"uupg__more-button",href:`${l.value}${ee.slug}`},de(i.value.full_profile||"Full profile"),9,Xx)]))),128)),L.value?(V(),J("div",Jx,de(i.value.loading||"Loading…"),1)):y.value?(V(),J("div",Zx,de(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):G.value.length?Ie("",!0):(V(),J("div",Qx,de(i.value.no_results||"No people groups match this filter."),1))]),X.value?(V(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},de(i.value.load_more||"Load more"),1)):Ie("",!0)])])}}},[["styles",[Sx]]]),tw=":host{display:block;width:100%}",ow="dashboard-plus-grid/dashboard-plus-grid/index.html",nw=fn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=No({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);ro("profileConfig",ue({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+ow}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),wo(d_,{sections:s},{"section-dashboard":vo(()=>[Me(yx,{onDashboardFilter:n})]),"section-grid":vo(()=>[Me(ew,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[tw]]]);Tb({"./affinity-block.js":{default:jb},"./doxa-region.js":{default:Gb}}),Pb();const rw=tp(nw,{configureApp(e){e.use(pp());const t=db();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",rw))})(); diff --git a/public/doxa-maps/research-dashboard/research-dashboard.js b/public/doxa-maps/research-dashboard/research-dashboard.js index 3c3464fed..979f84599 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -13,7 +13,7 @@ **/const En=[];let $s=!1;function Qw(e,...t){if($s)return;$s=!0,Vt();const o=En.length?En[En.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=Hd();if(n)Ko(n,o,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${vl(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...qd(r)),console.warn(...s)}Wt(),$s=!1}function Hd(){let e=En[En.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 qd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Vd(o))}),t}function Vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Wd(e.props),s]:[r+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xi(e,t,o){return Ke(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Qe(t)?(t=xi(e,je(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=je(t),o?t:[`${e}=`,t])}function Ko(e,t,o,n){try{return n?e(...n):e()}catch(r){An(r,t,o)}}function Ot(e,t,o,n){if(Te(e)){const r=Ko(e,t,o,n);return r&&qa(r)&&r.catch(s=>{An(s,t,o)}),r}if(Se(e)){const r=[];for(let s=0;s>>1,r=bt[n],s=Cn(r);s=Cn(o)?bt.push(e):bt.splice(Yd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Xd(e){if(!Se(e))xo&&e.id===-1?xo.splice(Xo+1,0,e):e.flags&1||(Yo.push(e),e.flags|=1);else for(let t=0;tCn(o)-Cn(n));if(Yo.length=0,xo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Yt=0;Yt{n._d&&Pr(-1);const s=wr(t),a=lo.length;let i;try{i=e(...r)}finally{for(let l=lo.length;l>a;l--)Gs();wr(s),n._d&&Pr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Pt(e,t){if(ct===null)return e;const o=Rr(ct),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Te(t)?t.call(n&&n.proxy):t}}function Jd(){return!!(uo()||Do)}const Zd=Symbol.for("v-scx"),Qd=()=>Le(Zd);function ef(e,t){return Es(e,null,t)}function dt(e,t,o){return Es(e,t,o)}function Es(e,t,o=Ve){const{immediate:n,deep:r,flush:s,once:a}=o,i=ot({},o),l=t&&n||!t&&s!=="post";let c;if(en){if(s==="sync"){const x=Qd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ht,x.resume=Ht,x.pause=Ht,x}}const u=ft;i.call=(x,S,y)=>Ot(x,u,S,y);let p=!1;s==="post"?i.scheduler=x=>{vt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,S)=>{S?x():Ss(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const m=Gd(e,t,i);return en&&(c?c.push(m):l&&m()),m}function tf(e,t,o){const n=this.proxy,r=Ke(e)?e.includes(".")?Ti(n,e):()=>n[e]:e.bind(n,n);let s;Te(t)?s=t:(s=t.handler,o=t);const a=jn(this),i=Es(r,s.bind(n),o);return a(),i}function Ti(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Oo=e=>e&&(e.disabled||e.disabled===""),of=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,As=(e,t)=>{const o=e&&e.to;return Ke(o)?t?t(o):null:o},nf={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,i,l,c){const{mc:u,pc:p,pbc:m,o:{insert:x,querySelector:S,createText:y,createComment:v,parentNode:A}}=c,_=Oo(t.props);let{dynamicChildren:d}=t;const f=($,M,L)=>{$.shapeFlag&16&&u($.children,M,L,r,s,a,i,l)},g=($=t)=>{const M=Oo($.props),L=$.target=As($.props,S),j=Cs(L,$,y,x);L&&(a!=="svg"&&Pi(L)?a="svg":a!=="mathml"&&Ii(L)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(L),M||(f($,L,j),Tn($,!1)))},k=$=>{const M=()=>{if(ko.get($)===M){if(ko.delete($),Oo($.props)){const L=A($.el)||o;f($,L,$.anchor),Tn($,!0)}g($)}};ko.set($,M),vt(M,s)};if(e==null){const $=t.el=y(""),M=t.anchor=y("");if(x($,o,n),x(M,o,n),of(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,o,M),Tn(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,M=ko.get(e);if(M){M.flags|=8,ko.delete(e),k(t);return}t.targetStart=e.targetStart;const L=t.target=e.target,j=t.targetAnchor=e.targetAnchor,V=Oo(e.props),Q=V?o:L,he=V?$:j;if(a==="svg"||Pi(L)?a="svg":(a==="mathml"||Ii(L))&&(a="mathml"),d?(m(e.dynamicChildren,d,Q,r,s,a,i),Bs(e,t,!0)):l||p(e,t,Q,he,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=As(t.props,S);B&&(t.target=B,kr(t,B,null,c,0))}else V&&kr(t,L,j,c,1);Tn(t,_)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:m}=e,x=Oo(m),S=s||!x,y=ko.get(e);if(y&&(y.flags|=8,ko.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const o of e)if(o.type!==Xt){t=o;break}}return t}function Mi(e){if(!Er(e))return xr(e.type)&&e.children?af(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&&Te(o.default))return o.default()}}function Ls(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ls(xr(o.type)&&Mi(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 Ln(e,t){return Te(e)?ot({name:e.name},t,{setup:e}):e}function Ps(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ni(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const $r=new WeakMap;function Pn(e,t,o,n,r=!1){if(Se(e)){e.forEach((y,v)=>Pn(y,t&&(Se(t)?t[v]:t),o,n,r));return}if(Zo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Rr(n.component):n.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ve?i.refs={}:i.refs,p=i.setupState,m=je(p),x=p===Ve?Ga:y=>Ni(u,y)?!1:Be(m,y),S=(y,v)=>!(v&&Ni(u,v));if(c!=null&&c!==l){if(Ri(t),Ke(c))u[c]=null,x(c)&&(p[c]=null);else if(Qe(c)){const y=t;S(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Te(l))Ko(l,i,12,[a,u]);else{const y=Ke(l),v=Qe(l);if(y||v){const A=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:S()||!e.k?l.value:u[e.k];if(r)Se(_)&&ls(_,s);else if(Se(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];S(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(S(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{A(),$r.delete(e)};_.id=-1,$r.set(e,_),vt(_,o)}else Ri(e),A()}}}function Ri(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Fi=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function lf(e,t){if(Fi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Fi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zo=e=>!!e.type.__asyncLoader;function cf(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,x()),x=()=>{let S;return c||(S=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,A)=>{l(y,()=>v(m()),()=>A(y),p+1)});throw y}).then(y=>S!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Ln({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(S,y,v){const A=S.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!S.parentNode||A&&!S.isConnected||v()},f=s?()=>{const g=s(d,k=>lf(S,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const S=ft;if(Ps(S),u)return()=>Sr(u,S);const y=g=>{c=null,An(g,S,13,!n)};if(i&&S.suspense||en)return x().then(g=>()=>Sr(g,S)).catch(g=>(y(g),()=>n?Oe(n,{error:g}):null));const v=de(!1),A=de(),_=de(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{S.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!S.isUnmounted&&!v.value&&!A.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),A.value=g}},a)),x().then(()=>{S.isUnmounted||(v.value=!0,S.parent&&Er(S.parent.vnode)&&S.parent.update())}).catch(g=>{if(S.isUnmounted){c=null;return}y(g),A.value=g}),()=>{if(v.value&&u)return Sr(u,S);if(A.value&&n)return Oe(n,{error:A.value});if(o&&!_.value)return Sr(o,S)}}})}function Sr(e,t){const{ref:o,props:n,children:r,ce:s}=t.vnode,a=Oe(e,n,r);return a.ref=o,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function uf(e,t){Oi(e,"a",t)}function df(e,t){Oi(e,"da",t)}function Oi(e,t,o=ft){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&ff(n,t,o,r),r=r.parent}}function ff(e,t,o,n){const r=Ar(t,e,n,!0);Cr(()=>{ls(n[t],r)},o)}function Ar(e,t,o=ft,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Vt();const i=jn(o),l=Ot(t,o,e,a);return i(),Wt(),l});return n?r.unshift(s):r.push(s),s}}const io=e=>(t,o=ft)=>{(!en||e==="sp")&&Ar(e,(...n)=>t(...n),o)},Di=io("bm"),_t=io("m"),pf=io("bu"),gf=io("u"),Dt=io("bum"),Cr=io("um"),hf=io("sp"),mf=io("rtg"),bf=io("rtc");function _f(e,t=ft){Ar("ec",e,t)}const yf="components",ji=Symbol.for("v-ndc");function zi(e){return Ke(e)?vf(yf,e,!1)||e:e||ji}function vf(e,t,o=!0,n=!1){const r=ct||ft;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&n?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function tt(e,t,o,n){let r;const s=o,a=Se(e);if(a||Ke(e)){const i=a&&ro(e);let l=!1,c=!1;i&&(l=!Ct(e),c=so(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Jt(Ie,null,[Oe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=lo.length;ee();let l;try{const c=a&&Ui(a(o)),u=o.key||s||c&&c.key;l=Jt(Ie,{key:(u&&!Et(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=lo.length;u>i;u--)Gs();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Fn(t)?!(t.type===Xt||t.type===Ie&&!Ui(t.children)):!0)?e:null}const Ms=e=>e?ml(e)?Rr(e):Ms(e.parent):null,In=ot(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=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ss(e.update)}),$nextTick:e=>e.n||(e.n=Ro.bind(e.proxy)),$watch:e=>tf.bind(e)}),Ns=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Be(e,t),wf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ns(n,t))return a[t]=1,n[t];if(r!==Ve&&Be(r,t))return a[t]=2,r[t];if(Be(s,t))return a[t]=3,s[t];if(o!==Ve&&Be(o,t))return a[t]=4,o[t];Rs&&(a[t]=0)}}const c=In[t];let u,p;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ve&&Be(o,t))return a[t]=4,o[t];if(p=l.config.globalProperties,Be(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=o,!0):n!==Ve&&Be(n,t)?(n[t]=o,!0):Be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},i){let l;return!!(o[i]||e!==Ve&&i[0]!=="$"&&Be(e,i)||Ns(t,i)||Be(s,i)||Be(n,i)||Be(In,i)||Be(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Be(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Gi(e){return Se(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Rs=!0;function xf(e){const t=Vi(e),o=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&Hi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:x,updated:S,activated:y,deactivated:v,beforeDestroy:A,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:M,serverPrefetch:L,expose:j,inheritAttrs:V,components:Q,directives:he,filters:B}=t;if(c&&kf(c,n,null),a)for(const z in a){const P=a[z];Te(P)&&(n[z]=P.bind(o))}if(r){const z=r.call(o,o);Ue(z)&&(e.data=Mo(z))}if(Rs=!0,s)for(const z in s){const P=s[z],G=Te(P)?P.bind(o,o):Te(P.get)?P.get.bind(o,o):Ht,F=!Te(P)&&Te(P.set)?P.set.bind(o):Ht,I=re({get:G,set:F});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>I.value,set:q=>I.value=q})}if(i)for(const z in i)qi(i[z],n,o,z);if(l){const z=Te(l)?l.call(o):l;Reflect.ownKeys(z).forEach(P=>{ut(P,z[P])})}u&&Hi(u,e,"c");function H(z,P){Se(P)?P.forEach(G=>z(G.bind(o))):P&&z(P.bind(o))}if(H(Di,p),H(_t,m),H(pf,x),H(gf,S),H(uf,y),H(df,v),H(_f,M),H(bf,k),H(mf,$),H(Dt,_),H(Cr,f),H(hf,L),Se(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(P=>{Object.defineProperty(z,P,{get:()=>o[P],set:G=>o[P]=G,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ht&&(e.render=g),V!=null&&(e.inheritAttrs=V),Q&&(e.components=Q),he&&(e.directives=he),L&&Ps(e)}function kf(e,t,o=Ht){Se(e)&&(e=Fs(e));for(const n in e){const r=e[n];let s;Ue(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),Qe(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Hi(e,t,o){Ot(Se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function qi(e,t,o,n){let r=n.includes(".")?Ti(o,n):()=>o[n];if(Ke(e)){const s=t[e];Te(s)&&dt(r,s)}else if(Te(e))dt(r,e.bind(o));else if(Ue(e))if(Se(e))e.forEach(s=>qi(s,t,o,n));else{const s=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(s)&&dt(r,s,e)}}function Vi(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),Ue(t)&&s.set(t,l),l}function Tr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,o,!0),r&&r.forEach(a=>Tr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=$f[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const $f={data:Wi,props:Ki,emits:Ki,methods:Mn,computed:Mn,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:Mn,directives:Mn,watch:Ef,provide:Wi,inject:Sf};function Wi(e,t){return t?e?function(){return ot(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function Sf(e,t){return Mn(Fs(e),Fs(t))}function Fs(e){if(Se(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Lf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=o;const s=t.startsWith("update:"),a=s&&Tf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ke(u)?u.trim():u)),a.number&&(r=r.map(us)));let i,l=n[i=cs(t)]||n[i=cs(it(t))];!l&&s&&(l=n[i=cs(At(t))]),l&&Ot(l,e,6,r);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ot(c,e,6,r)}}const Pf=new WeakMap;function Xi(e,t,o=!1){const n=o?Pf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Te(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,ot(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ue(e)&&n.set(e,null),null):(Se(s)?s.forEach(l=>a[l]=null):ot(a,s),Ue(e)&&n.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Be(e,t[0].toLowerCase()+t.slice(1))||Be(e,At(t))||Be(e,t))}function ex(){}function Ji(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:x,ctx:S,inheritAttrs:y}=e,v=wr(e);let A,_;try{if(o.shapeFlag&4){const f=r||n,g=f;A=Zt(c.call(g,f,u,p,x,m,S)),_=i}else{const f=t;A=Zt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:If(i)}}catch(f){lo.length=0,An(f,e,1),A=Oe(Xt)}let d=A;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(or)&&(_=Mf(_,s)),d=Qo(d,_,!1,!0))}if(o.dirs&&(d=Qo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const f=xr(d.type)&&Mi(d)||d;Ls(f,o.transition)}return A=d,wr(v),A}const If=e=>{let t;for(const o in e)(o==="class"||o==="style"||tr(o))&&((t||(t={}))[o]=e[o]);return t},Mf=(e,t)=>{const o={};for(const n in e)(!or(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Zi(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),ol=e=>Object.getPrototypeOf(e)===el;function Ff(e,t,o,n=!1){const r={},s=tl();e.propsDefaults=Object.create(null),nl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:Nd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Of(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=je(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,x]=rl(p,t,!0);ot(a,m),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ue(e)&&n.set(e,qo),qo;if(Se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",js=e=>Se(e)?e.map(Zt):[Zt(e)],jf=(e,t,o)=>{if(t._n)return t;const n=Jo((...r)=>js(t(...r)),o);return n._c=!1,n},al=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ds(r))continue;const s=e[r];if(Te(s))t[r]=jf(r,s,n);else if(s!=null){const a=js(s);t[r]=()=>a}}},il=(e,t)=>{const o=js(t);e.slots.default=()=>o},ll=(e,t,o)=>{for(const n in t)(o||!Ds(n))&&(e[n]=t[n])},zf=(e,t,o)=>{const n=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(n,t,o),o&&Wa(n,"_",r,!0)):al(t,n)}else t&&il(e,t)},Bf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ve;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:ll(r,t,o):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Ds(i)&&a[i]==null&&delete r[i]},vt=Vf;function Uf(e){return Gf(e)}function Gf(e,t){const o=cr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:x=Ht,insertStaticContent:S}=e,y=(w,T,E,U=null,W=null,Z=null,ae=void 0,te=null,h=!!T.dynamicChildren)=>{if(w===T)return;w&&!On(w,T)&&(U=Ae(w),q(w,W,Z,!0),w=null),T.patchFlag===-2&&(h=!1,T.dynamicChildren=null);const{type:b,ref:D,shapeFlag:K}=T;switch(b){case Nn:v(w,T,E,U);break;case Xt:A(w,T,E,U);break;case Us:w==null&&_(T,E,U,ae);break;case Ie:Q(w,T,E,U,W,Z,ae,te,h);break;default:K&1?g(w,T,E,U,W,Z,ae,te,h):K&6?he(w,T,E,U,W,Z,ae,te,h):(K&64||K&128)&&b.process(w,T,E,U,W,Z,ae,te,h,ge)}D!=null&&W?Pn(D,w&&w.ref,Z,T||w,!T):D==null&&w&&w.ref!=null&&Pn(w.ref,null,Z,w,!0)},v=(w,T,E,U)=>{if(w==null)n(T.el=i(T.children),E,U);else{const W=T.el=w.el;T.children!==w.children&&c(W,T.children)}},A=(w,T,E,U)=>{w==null?n(T.el=l(T.children||""),E,U):T.el=w.el},_=(w,T,E,U)=>{[w.el,w.anchor]=S(w.children,T,E,U,w.el,w.anchor)},d=({el:w,anchor:T},E,U)=>{let W;for(;w&&w!==T;)W=m(w),n(w,E,U),w=W;n(T,E,U)},f=({el:w,anchor:T})=>{let E;for(;w&&w!==T;)E=m(w),r(w),w=E;r(T)},g=(w,T,E,U,W,Z,ae,te,h)=>{if(T.type==="svg"?ae="svg":T.type==="math"&&(ae="mathml"),w==null)k(T,E,U,W,Z,ae,te,h);else{const b=w.el&&w.el._isVueCE?w.el:null;try{b&&b._beginPatch(),L(w,T,W,Z,ae,te,h)}finally{b&&b._endPatch()}}},k=(w,T,E,U,W,Z,ae,te)=>{let h,b;const{props:D,shapeFlag:K,transition:ie,dirs:se}=w;if(h=w.el=a(w.type,Z,D&&D.is,D),K&8?u(h,w.children):K&16&&M(w.children,h,null,U,W,zs(w,Z),ae,te),se&&Fo(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const C in D)C!=="value"&&!_n(C)&&s(h,C,null,D[C],Z,U);"value"in D&&s(h,"value",null,D.value,Z),(b=D.onVnodeBeforeMount)&&Qt(b,U,w)}se&&Fo(w,null,U,"beforeMount");const O=Hf(W,ie);O&&ie.beforeEnter(h),n(h,T,E),((b=D&&D.onVnodeMounted)||O||se)&&vt(()=>{try{b&&Qt(b,U,w),O&&ie.enter(h),se&&Fo(w,null,U,"mounted")}finally{}},W)},$=(w,T,E,U,W)=>{if(E&&x(w,E),U)for(let Z=0;Z{for(let b=h;b{const te=T.el=w.el;let{patchFlag:h,dynamicChildren:b,dirs:D}=T;h|=w.patchFlag&16;const K=w.props||Ve,ie=T.props||Ve;let se;if(E&&jo(E,!1),(se=ie.onVnodeBeforeUpdate)&&Qt(se,E,T,w),D&&Fo(T,w,E,"beforeUpdate"),E&&jo(E,!0),b&&(!w.dynamicChildren||w.dynamicChildren.length!==b.length)&&(h=0,ae=!1,b=null),(K.innerHTML&&ie.innerHTML==null||K.textContent&&ie.textContent==null)&&u(te,""),b?j(w.dynamicChildren,b,te,E,U,zs(T,W),Z):ae||P(w,T,te,null,E,U,zs(T,W),Z,!1),h>0){if(h&16)V(te,K,ie,E,W);else if(h&2&&K.class!==ie.class&&s(te,"class",null,ie.class,W),h&4&&s(te,"style",K.style,ie.style,W),h&8){const O=T.dynamicProps;for(let C=0;C{se&&Qt(se,E,T,w),D&&Fo(T,w,E,"updated")},U)},j=(w,T,E,U,W,Z,ae)=>{for(let te=0;te{if(T!==E){if(T!==Ve)for(const Z in T)!_n(Z)&&!(Z in E)&&s(w,Z,T[Z],null,W,U);for(const Z in E){if(_n(Z))continue;const ae=E[Z],te=T[Z];ae!==te&&Z!=="value"&&s(w,Z,te,ae,W,U)}"value"in E&&s(w,"value",T.value,E.value,W)}},Q=(w,T,E,U,W,Z,ae,te,h)=>{const b=T.el=w?w.el:i(""),D=T.anchor=w?w.anchor:i("");let{patchFlag:K,dynamicChildren:ie,slotScopeIds:se}=T;se&&(te=te?te.concat(se):se),w==null?(n(b,E,U),n(D,E,U),M(T.children||[],E,D,W,Z,ae,te,h)):K>0&&K&64&&ie&&w.dynamicChildren&&w.dynamicChildren.length===ie.length?(j(w.dynamicChildren,ie,E,W,Z,ae,te),(T.key!=null||W&&T===W.subTree)&&Bs(w,T,!0)):P(w,T,E,D,W,Z,ae,te,h)},he=(w,T,E,U,W,Z,ae,te,h)=>{T.slotScopeIds=te,w==null?T.shapeFlag&512?W.ctx.activate(T,E,U,ae,h):B(T,E,U,W,Z,ae,h):X(w,T,h)},B=(w,T,E,U,W,Z,ae)=>{const te=w.component=Zf(w,U,W);if(Er(w)&&(te.ctx.renderer=ge),Qf(te,!1,ae),te.asyncDep){if(W&&W.registerDep(te,H,ae),!w.el){const h=te.subTree=Oe(Xt);A(null,h,T,E),w.placeholder=h.el}}else H(te,w,T,E,W,Z,ae)},X=(w,T,E)=>{const U=T.component=w.component;if(Nf(w,T,E))if(U.asyncDep&&!U.asyncResolved){z(U,T,E);return}else U.next=T,U.update();else T.el=w.el,U.vnode=T},H=(w,T,E,U,W,Z,ae)=>{const te=()=>{if(w.isMounted){let{next:K,bu:ie,u:se,parent:O,vnode:C}=w;{const qe=cl(w);if(qe){K&&(K.el=C.el,z(w,K,ae)),qe.asyncDep.then(()=>{vt(()=>{w.isUnmounted||b()},W)});return}}let J=K,oe;jo(w,!1),K?(K.el=C.el,z(w,K,ae)):K=C,ie&&lr(ie),(oe=K.props&&K.props.onVnodeBeforeUpdate)&&Qt(oe,O,K,C),jo(w,!0);const me=Ji(w),ke=w.subTree;w.subTree=me,y(ke,me,p(ke.el),Ae(ke),w,W,Z),K.el=me.el,J===null&&Rf(w,me.el),se&&vt(se,W),(oe=K.props&&K.props.onVnodeUpdated)&&vt(()=>Qt(oe,O,K,C),W)}else{let K;const{el:ie,props:se}=T,{bm:O,m:C,parent:J,root:oe,type:me}=w,ke=Zo(T);jo(w,!1),O&&lr(O),!ke&&(K=se&&se.onVnodeBeforeMount)&&Qt(K,J,T),jo(w,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const qe=w.subTree=Ji(w);y(null,qe,E,U,w,W,Z),T.el=qe.el}if(C&&vt(C,W),!ke&&(K=se&&se.onVnodeMounted)){const qe=T;vt(()=>Qt(K,J,qe),W)}(T.shapeFlag&256||J&&Zo(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&vt(w.a,W),w.isMounted=!0,T=E=U=null}};w.scope.on();const h=w.effect=new oi(te);w.scope.off();const b=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>Ss(D),jo(w,!0),b()},z=(w,T,E)=>{T.component=w;const U=w.vnode.props;w.vnode=T,w.next=null,Of(w,T.props,U,E),Bf(w,T.children,E),Vt(),Si(w),Wt()},P=(w,T,E,U,W,Z,ae,te,h=!1)=>{const b=w&&w.children,D=w?w.shapeFlag:0,K=T.children,{patchFlag:ie,shapeFlag:se}=T;if(ie>0){if(ie&128){F(b,K,E,U,W,Z,ae,te,h);return}else if(ie&256){G(b,K,E,U,W,Z,ae,te,h);return}}se&8?(D&16&&Me(b,W,Z),K!==b&&u(E,K)):D&16?se&16?F(b,K,E,U,W,Z,ae,te,h):Me(b,W,Z,!0):(D&8&&u(E,""),se&16&&M(K,E,U,W,Z,ae,te,h))},G=(w,T,E,U,W,Z,ae,te,h)=>{w=w||qo,T=T||qo;const b=w.length,D=T.length,K=Math.min(b,D);let ie;for(ie=0;ieD?Me(w,W,Z,!0,!1,K):M(T,E,U,W,Z,ae,te,h,K)},F=(w,T,E,U,W,Z,ae,te,h)=>{let b=0;const D=T.length;let K=w.length-1,ie=D-1;for(;b<=K&&b<=ie;){const se=w[b],O=T[b]=h?co(T[b]):Zt(T[b]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;b++}for(;b<=K&&b<=ie;){const se=w[K],O=T[ie]=h?co(T[ie]):Zt(T[ie]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;K--,ie--}if(b>K){if(b<=ie){const se=ie+1,O=seie)for(;b<=K;)q(w[b],W,Z,!0),b++;else{const se=b,O=b,C=new Map;for(b=O;b<=ie;b++){const et=T[b]=h?co(T[b]):Zt(T[b]);et.key!=null&&C.set(et.key,b)}let J,oe=0;const me=ie-O+1;let ke=!1,qe=0;const We=new Array(me);for(b=0;b=me){q(et,W,Z,!0);continue}let Nt;if(et.key!=null)Nt=C.get(et.key);else for(J=O;J<=ie;J++)if(We[J-O]===0&&On(et,T[J])){Nt=J;break}Nt===void 0?q(et,W,Z,!0):(We[Nt-O]=b+1,Nt>=qe?qe=Nt:ke=!0,y(et,T[Nt],E,null,W,Z,ae,te,h),oe++)}const kt=ke?qf(We):qo;for(J=kt.length-1,b=me-1;b>=0;b--){const et=O+b,Nt=T[et],Qn=T[et+1],er=et+1{const{el:Z,type:ae,transition:te,children:h,shapeFlag:b}=w;if(b&6){I(w.component.subTree,T,E,U);return}if(b&128){w.suspense.move(T,E,U);return}if(b&64){ae.move(w,T,E,ge);return}if(ae===Ie){n(Z,T,E);for(let K=0;Kte.enter(Z),W));else{const{leave:K,delayLeave:ie,afterLeave:se}=te,O=()=>{w.ctx.isUnmounted?r(Z):n(Z,T,E)},C=()=>{const J=Z._isLeaving||!!Z[Ts];Z._isLeaving&&Z[Ts](!0),te.persisted&&!J?O():K(Z,()=>{O(),se&&se()})};ie?ie(Z,O,C):C()}else n(Z,T,E)},q=(w,T,E,U=!1,W=!1)=>{const{type:Z,props:ae,ref:te,children:h,dynamicChildren:b,shapeFlag:D,patchFlag:K,dirs:ie,cacheIndex:se,memo:O}=w;if(K===-2&&(W=!1),te!=null&&(Vt(),Pn(te,null,E,w,!0),Wt()),se!=null&&(T.renderCache[se]=void 0),D&256){T.ctx.deactivate(w);return}const C=D&1&&ie,J=!Zo(w);let oe;if(J&&(oe=ae&&ae.onVnodeBeforeUnmount)&&Qt(oe,T,w),D&6)$e(w.component,E,U);else{if(D&128){w.suspense.unmount(E,U);return}C&&Fo(w,null,T,"beforeUnmount"),D&64?w.type.remove(w,T,E,ge,U):b&&!b.hasOnce&&(Z!==Ie||K>0&&K&64)?Me(b,T,E,!1,!0):(Z===Ie&&K&384||!W&&D&16)&&Me(h,T,E),U&&ce(w)}const me=O!=null&&se==null;(J&&(oe=ae&&ae.onVnodeUnmounted)||C||me)&&vt(()=>{oe&&Qt(oe,T,w),C&&Fo(w,null,T,"unmounted"),me&&(w.el=null)},E)},ce=w=>{const{type:T,el:E,anchor:U,transition:W}=w;if(T===Ie){be(E,U);return}if(T===Us){f(w);return}const Z=()=>{r(E),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:ae,delayLeave:te}=W,h=()=>ae(E,Z);te?te(w.el,Z,h):h()}else Z()},be=(w,T)=>{let E;for(;w!==T;)E=m(w),r(w),w=E;r(T)},$e=(w,T,E)=>{const{bum:U,scope:W,job:Z,subTree:ae,um:te,m:h,a:b}=w;ul(h),ul(b),U&&lr(U),W.stop(),Z&&(Z.flags|=8,q(ae,w,T,E)),te&&vt(te,T),vt(()=>{w.isUnmounted=!0},T)},Me=(w,T,E,U=!1,W=!1,Z=0)=>{for(let ae=Z;ae{if(w.shapeFlag&6)return Ae(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const T=m(w.anchor||w.el),E=T&&T[Li];return E?m(E):T};let xe=!1;const _e=(w,T,E)=>{let U;w==null?T._vnode&&(q(T._vnode,null,null,!0),U=T._vnode.component):y(T._vnode||null,w,T,null,null,null,E),T._vnode=w,xe||(xe=!0,Si(U),Ei(),xe=!1)},ge={p:y,um:q,m:I,r:ce,mt:B,mc:M,pc:P,pbc:j,n:Ae,o:e};return{render:_e,hydrate:void 0,createApp:Cf(_e)}}function zs({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 jo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Hf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bs(e,t,o=!1){const n=e.children,r=t.children;if(Se(n)&&Se(r))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Vf(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Xd(e)}const Ie=Symbol.for("v-fgt"),Nn=Symbol.for("v-txt"),Xt=Symbol.for("v-cmt"),Us=Symbol.for("v-stc"),lo=[];let Tt=null;function ee(e=!1){lo.push(Tt=e?null:[])}function Gs(){lo.pop(),Tt=lo[lo.length-1]||null}let Rn=1;function Pr(e,t=!1){Rn+=e,e<0&&Tt&&t&&(Tt.hasOnce=!0)}function pl(e){return e.dynamicChildren=Rn>0?Tt||qo:null,Gs(),Rn>0&&Tt&&Tt.push(e),e}function ne(e,t,o,n,r,s){return pl(R(e,t,o,n,r,s,!0))}function Jt(e,t,o,n,r){return pl(Oe(e,t,o,n,r,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function On(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ke(e)||Qe(e)||Te(e)?{i:ct,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,r=null,s=e===Ie?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Mr(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ke(o)?8:16),Rn>0&&!a&&Tt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Tt.push(l),l}const Oe=Wf;function Wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===ji)&&(e=Xt),Fn(e)){const i=Qo(e,t,!0);return o&&Mr(i,o),Rn>0&&!s&&Tt&&(i.shapeFlag&6?Tt[Tt.indexOf(e)]=i:Tt.push(i)),i.patchFlag=-2,i}if(sp(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!Ke(i)&&(t.class=De(i)),Ue(l)&&(br(l)&&!Se(l)&&(l=ot({},l)),t.style=ht(l))}const a=Ke(e)?1:fl(e)?128:xr(e)?64:Ue(e)?4:Te(e)?2:0;return R(e,t,o,n,r,a,s,!0)}function Kf(e){return e?br(e)||ol(e)?ot({},e):e:null}function Qo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Yf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?o&&s?Se(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(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!==Ie?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qo(e.ssContent),ssFallback:e.ssFallback&&Qo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ls(u,l.clone(u)),u}function nt(e=" ",t=0){return Oe(Nn,null,e,t)}function Ge(e="",t=!1){return t?(ee(),Jt(Xt,null,e)):Oe(Xt,null,e)}function Zt(e){return e==null||typeof e=="boolean"?Oe(Xt):Se(e)?Oe(Ie,null,e.slice()):Fn(e)?co(e):Oe(Nn,null,String(e))}function co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qo(e)}function Mr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Se(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!ol(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Mr(e,{default:t});return}t={default:t,_ctx:ct},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Yf(...e){const t={};for(let o=0;oft||ct;let Nr,Dn;{const e=cr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>ft=o),Dn=t("__VUE_SSR_SETTERS__",o=>en=o)}const jn=e=>{const t=ft;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},hl=()=>{ft&&ft.scope.off(),Nr(null)};function ml(e){return e.vnode.shapeFlag&4}let en=!1;function Qf(e,t=!1,o=!1){t&&Dn(t);const{props:n,children:r}=e.vnode,s=ml(e);Ff(e,n,s,t),zf(e,r,o||t);const a=s?ep(e,t):void 0;return t&&Dn(!1),a}function ep(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,wf);const{setup:n}=o;if(n){Vt();const r=e.setupContext=n.length>1?op(e):null,s=jn(e),a=Ko(n,e,0,[e.props,r]),i=qa(a);if(Wt(),s(),(i||e.sp)&&!Zo(e)&&Ps(e),i){if(a.then(hl,hl),t)return a.then(l=>{Dn(!0);try{bl(e,l,t)}finally{Dn(!1)}}).catch(l=>{An(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,o){const n=e.type;e.render||(e.render=n.render||Ht);{const r=jn(e);Vt();try{xf(e)}finally{Wt(),r()}}}const tp={get(e,t){return mt(e,"get",""),e[t]}};function op(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,tp),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($n(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in In)return In[o](e)},has(t,o){return o in t||o in In}})):e.proxy}const np=/(?:^|[-_])\w/g,rp=e=>e.replace(np,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,o=!1){let n=yl(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?rp(n):o?"App":"Anonymous"}function sp(e){return Te(e)&&"__vccOpts"in e}const re=(e,t)=>Bd(e,t,en);function wl(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ue(t)&&!Se(t)?Fn(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Fn(o)&&(o=[o]),Oe(e,t,o))}finally{Pr(1)}}const ap="3.5.42";/** +`],...Vd(o))}),t}function Vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Wd(e.props),s]:[r+s]}function Wd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xi(e,t,o){return Ke(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Qe(t)?(t=xi(e,je(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=je(t),o?t:[`${e}=`,t])}function Ko(e,t,o,n){try{return n?e(...n):e()}catch(r){An(r,t,o)}}function Ot(e,t,o,n){if(Te(e)){const r=Ko(e,t,o,n);return r&&qa(r)&&r.catch(s=>{An(s,t,o)}),r}if(Se(e)){const r=[];for(let s=0;s>>1,r=bt[n],s=Cn(r);s=Cn(o)?bt.push(e):bt.splice(Yd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Xd(e){if(!Se(e))xo&&e.id===-1?xo.splice(Xo+1,0,e):e.flags&1||(Yo.push(e),e.flags|=1);else for(let t=0;tCn(o)-Cn(n));if(Yo.length=0,xo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Yt=0;Yt{n._d&&Pr(-1);const s=wr(t),a=lo.length;let i;try{i=e(...r)}finally{for(let l=lo.length;l>a;l--)Gs();wr(s),n._d&&Pr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Pt(e,t){if(ct===null)return e;const o=Rr(ct),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Te(t)?t.call(n&&n.proxy):t}}function Jd(){return!!(uo()||Do)}const Zd=Symbol.for("v-scx"),Qd=()=>Le(Zd);function ef(e,t){return Es(e,null,t)}function dt(e,t,o){return Es(e,t,o)}function Es(e,t,o=Ve){const{immediate:n,deep:r,flush:s,once:a}=o,i=ot({},o),l=t&&n||!t&&s!=="post";let c;if(en){if(s==="sync"){const x=Qd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ht,x.resume=Ht,x.pause=Ht,x}}const u=ft;i.call=(x,S,y)=>Ot(x,u,S,y);let p=!1;s==="post"?i.scheduler=x=>{vt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,S)=>{S?x():Ss(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const m=Gd(e,t,i);return en&&(c?c.push(m):l&&m()),m}function tf(e,t,o){const n=this.proxy,r=Ke(e)?e.includes(".")?Ti(n,e):()=>n[e]:e.bind(n,n);let s;Te(t)?s=t:(s=t.handler,o=t);const a=jn(this),i=Es(r,s.bind(n),o);return a(),i}function Ti(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Oo=e=>e&&(e.disabled||e.disabled===""),of=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,As=(e,t)=>{const o=e&&e.to;return Ke(o)?t?t(o):null:o},nf={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,i,l,c){const{mc:u,pc:p,pbc:m,o:{insert:x,querySelector:S,createText:y,createComment:v,parentNode:A}}=c,_=Oo(t.props);let{dynamicChildren:d}=t;const f=($,M,L)=>{$.shapeFlag&16&&u($.children,M,L,r,s,a,i,l)},g=($=t)=>{const M=Oo($.props),L=$.target=As($.props,S),j=Cs(L,$,y,x);L&&(a!=="svg"&&Pi(L)?a="svg":a!=="mathml"&&Ii(L)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(L),M||(f($,L,j),Tn($,!1)))},k=$=>{const M=()=>{if(ko.get($)===M){if(ko.delete($),Oo($.props)){const L=A($.el)||o;f($,L,$.anchor),Tn($,!0)}g($)}};ko.set($,M),vt(M,s)};if(e==null){const $=t.el=y(""),M=t.anchor=y("");if(x($,o,n),x(M,o,n),of(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,o,M),Tn(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,M=ko.get(e);if(M){M.flags|=8,ko.delete(e),k(t);return}t.targetStart=e.targetStart;const L=t.target=e.target,j=t.targetAnchor=e.targetAnchor,V=Oo(e.props),Q=V?o:L,me=V?$:j;if(a==="svg"||Pi(L)?a="svg":(a==="mathml"||Ii(L))&&(a="mathml"),d?(m(e.dynamicChildren,d,Q,r,s,a,i),Bs(e,t,!0)):l||p(e,t,Q,me,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=As(t.props,S);B&&(t.target=B,kr(t,B,null,c,0))}else V&&kr(t,L,j,c,1);Tn(t,_)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:m}=e,x=Oo(m),S=s||!x,y=ko.get(e);if(y&&(y.flags|=8,ko.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const o of e)if(o.type!==Xt){t=o;break}}return t}function Mi(e){if(!Er(e))return xr(e.type)&&e.children?af(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&&Te(o.default))return o.default()}}function Ls(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ls(xr(o.type)&&Mi(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 Ln(e,t){return Te(e)?ot({name:e.name},t,{setup:e}):e}function Ps(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ni(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const $r=new WeakMap;function Pn(e,t,o,n,r=!1){if(Se(e)){e.forEach((y,v)=>Pn(y,t&&(Se(t)?t[v]:t),o,n,r));return}if(Zo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Pn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Rr(n.component):n.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ve?i.refs={}:i.refs,p=i.setupState,m=je(p),x=p===Ve?Ga:y=>Ni(u,y)?!1:Be(m,y),S=(y,v)=>!(v&&Ni(u,v));if(c!=null&&c!==l){if(Ri(t),Ke(c))u[c]=null,x(c)&&(p[c]=null);else if(Qe(c)){const y=t;S(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Te(l))Ko(l,i,12,[a,u]);else{const y=Ke(l),v=Qe(l);if(y||v){const A=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:S()||!e.k?l.value:u[e.k];if(r)Se(_)&&ls(_,s);else if(Se(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];S(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(S(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{A(),$r.delete(e)};_.id=-1,$r.set(e,_),vt(_,o)}else Ri(e),A()}}}function Ri(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Fi=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function lf(e,t){if(Fi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Fi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Zo=e=>!!e.type.__asyncLoader;function cf(e){Te(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,x()),x=()=>{let S;return c||(S=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,A)=>{l(y,()=>v(m()),()=>A(y),p+1)});throw y}).then(y=>S!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Ln({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(S,y,v){const A=S.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!S.parentNode||A&&!S.isConnected||v()},f=s?()=>{const g=s(d,k=>lf(S,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const S=ft;if(Ps(S),u)return()=>Sr(u,S);const y=g=>{c=null,An(g,S,13,!n)};if(i&&S.suspense||en)return x().then(g=>()=>Sr(g,S)).catch(g=>(y(g),()=>n?Oe(n,{error:g}):null));const v=de(!1),A=de(),_=de(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{S.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!S.isUnmounted&&!v.value&&!A.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),A.value=g}},a)),x().then(()=>{S.isUnmounted||(v.value=!0,S.parent&&Er(S.parent.vnode)&&S.parent.update())}).catch(g=>{if(S.isUnmounted){c=null;return}y(g),A.value=g}),()=>{if(v.value&&u)return Sr(u,S);if(A.value&&n)return Oe(n,{error:A.value});if(o&&!_.value)return Sr(o,S)}}})}function Sr(e,t){const{ref:o,props:n,children:r,ce:s}=t.vnode,a=Oe(e,n,r);return a.ref=o,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function uf(e,t){Oi(e,"a",t)}function df(e,t){Oi(e,"da",t)}function Oi(e,t,o=ft){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&ff(n,t,o,r),r=r.parent}}function ff(e,t,o,n){const r=Ar(t,e,n,!0);Cr(()=>{ls(n[t],r)},o)}function Ar(e,t,o=ft,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Vt();const i=jn(o),l=Ot(t,o,e,a);return i(),Wt(),l});return n?r.unshift(s):r.push(s),s}}const io=e=>(t,o=ft)=>{(!en||e==="sp")&&Ar(e,(...n)=>t(...n),o)},Di=io("bm"),_t=io("m"),pf=io("bu"),gf=io("u"),Dt=io("bum"),Cr=io("um"),hf=io("sp"),mf=io("rtg"),bf=io("rtc");function _f(e,t=ft){Ar("ec",e,t)}const yf="components",ji=Symbol.for("v-ndc");function zi(e){return Ke(e)?vf(yf,e,!1)||e:e||ji}function vf(e,t,o=!0,n=!1){const r=ct||ft;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&n?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function tt(e,t,o,n){let r;const s=o,a=Se(e);if(a||Ke(e)){const i=a&&ro(e);let l=!1,c=!1;i&&(l=!Ct(e),c=so(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Jt(Ie,null,[Oe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=lo.length;ee();let l;try{const c=a&&Ui(a(o)),u=o.key||s||c&&c.key;l=Jt(Ie,{key:(u&&!Et(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=lo.length;u>i;u--)Gs();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Fn(t)?!(t.type===Xt||t.type===Ie&&!Ui(t.children)):!0)?e:null}const Ms=e=>e?ml(e)?Rr(e):Ms(e.parent):null,In=ot(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=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ss(e.update)}),$nextTick:e=>e.n||(e.n=Ro.bind(e.proxy)),$watch:e=>tf.bind(e)}),Ns=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Be(e,t),wf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ns(n,t))return a[t]=1,n[t];if(r!==Ve&&Be(r,t))return a[t]=2,r[t];if(Be(s,t))return a[t]=3,s[t];if(o!==Ve&&Be(o,t))return a[t]=4,o[t];Rs&&(a[t]=0)}}const c=In[t];let u,p;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ve&&Be(o,t))return a[t]=4,o[t];if(p=l.config.globalProperties,Be(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=o,!0):n!==Ve&&Be(n,t)?(n[t]=o,!0):Be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},i){let l;return!!(o[i]||e!==Ve&&i[0]!=="$"&&Be(e,i)||Ns(t,i)||Be(s,i)||Be(n,i)||Be(In,i)||Be(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Be(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Gi(e){return Se(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Rs=!0;function xf(e){const t=Vi(e),o=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&Hi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:x,updated:S,activated:y,deactivated:v,beforeDestroy:A,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:M,serverPrefetch:L,expose:j,inheritAttrs:V,components:Q,directives:me,filters:B}=t;if(c&&kf(c,n,null),a)for(const z in a){const P=a[z];Te(P)&&(n[z]=P.bind(o))}if(r){const z=r.call(o,o);Ue(z)&&(e.data=Mo(z))}if(Rs=!0,s)for(const z in s){const P=s[z],G=Te(P)?P.bind(o,o):Te(P.get)?P.get.bind(o,o):Ht,F=!Te(P)&&Te(P.set)?P.set.bind(o):Ht,I=re({get:G,set:F});Object.defineProperty(n,z,{enumerable:!0,configurable:!0,get:()=>I.value,set:q=>I.value=q})}if(i)for(const z in i)qi(i[z],n,o,z);if(l){const z=Te(l)?l.call(o):l;Reflect.ownKeys(z).forEach(P=>{ut(P,z[P])})}u&&Hi(u,e,"c");function H(z,P){Se(P)?P.forEach(G=>z(G.bind(o))):P&&z(P.bind(o))}if(H(Di,p),H(_t,m),H(pf,x),H(gf,S),H(uf,y),H(df,v),H(_f,M),H(bf,k),H(mf,$),H(Dt,_),H(Cr,f),H(hf,L),Se(j))if(j.length){const z=e.exposed||(e.exposed={});j.forEach(P=>{Object.defineProperty(z,P,{get:()=>o[P],set:G=>o[P]=G,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ht&&(e.render=g),V!=null&&(e.inheritAttrs=V),Q&&(e.components=Q),me&&(e.directives=me),L&&Ps(e)}function kf(e,t,o=Ht){Se(e)&&(e=Fs(e));for(const n in e){const r=e[n];let s;Ue(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),Qe(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Hi(e,t,o){Ot(Se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function qi(e,t,o,n){let r=n.includes(".")?Ti(o,n):()=>o[n];if(Ke(e)){const s=t[e];Te(s)&&dt(r,s)}else if(Te(e))dt(r,e.bind(o));else if(Ue(e))if(Se(e))e.forEach(s=>qi(s,t,o,n));else{const s=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(s)&&dt(r,s,e)}}function Vi(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),Ue(t)&&s.set(t,l),l}function Tr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,o,!0),r&&r.forEach(a=>Tr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=$f[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const $f={data:Wi,props:Ki,emits:Ki,methods:Mn,computed:Mn,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:Mn,directives:Mn,watch:Ef,provide:Wi,inject:Sf};function Wi(e,t){return t?e?function(){return ot(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function Sf(e,t){return Mn(Fs(e),Fs(t))}function Fs(e){if(Se(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${At(t)}Modifiers`];function Lf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=o;const s=t.startsWith("update:"),a=s&&Tf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ke(u)?u.trim():u)),a.number&&(r=r.map(us)));let i,l=n[i=cs(t)]||n[i=cs(it(t))];!l&&s&&(l=n[i=cs(At(t))]),l&&Ot(l,e,6,r);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ot(c,e,6,r)}}const Pf=new WeakMap;function Xi(e,t,o=!1){const n=o?Pf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Te(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,ot(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ue(e)&&n.set(e,null),null):(Se(s)?s.forEach(l=>a[l]=null):ot(a,s),Ue(e)&&n.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Be(e,t[0].toLowerCase()+t.slice(1))||Be(e,At(t))||Be(e,t))}function ex(){}function Ji(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:x,ctx:S,inheritAttrs:y}=e,v=wr(e);let A,_;try{if(o.shapeFlag&4){const f=r||n,g=f;A=Zt(c.call(g,f,u,p,x,m,S)),_=i}else{const f=t;A=Zt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:If(i)}}catch(f){lo.length=0,An(f,e,1),A=Oe(Xt)}let d=A;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(or)&&(_=Mf(_,s)),d=Qo(d,_,!1,!0))}if(o.dirs&&(d=Qo(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const f=xr(d.type)&&Mi(d)||d;Ls(f,o.transition)}return A=d,wr(v),A}const If=e=>{let t;for(const o in e)(o==="class"||o==="style"||tr(o))&&((t||(t={}))[o]=e[o]);return t},Mf=(e,t)=>{const o={};for(const n in e)(!or(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Nf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?Zi(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),ol=e=>Object.getPrototypeOf(e)===el;function Ff(e,t,o,n=!1){const r={},s=tl();e.propsDefaults=Object.create(null),nl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:Nd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Of(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=je(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,x]=rl(p,t,!0);ot(a,m),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ue(e)&&n.set(e,qo),qo;if(Se(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",js=e=>Se(e)?e.map(Zt):[Zt(e)],jf=(e,t,o)=>{if(t._n)return t;const n=Jo((...r)=>js(t(...r)),o);return n._c=!1,n},al=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ds(r))continue;const s=e[r];if(Te(s))t[r]=jf(r,s,n);else if(s!=null){const a=js(s);t[r]=()=>a}}},il=(e,t)=>{const o=js(t);e.slots.default=()=>o},ll=(e,t,o)=>{for(const n in t)(o||!Ds(n))&&(e[n]=t[n])},zf=(e,t,o)=>{const n=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(n,t,o),o&&Wa(n,"_",r,!0)):al(t,n)}else t&&il(e,t)},Bf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ve;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:ll(r,t,o):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Ds(i)&&a[i]==null&&delete r[i]},vt=Vf;function Uf(e){return Gf(e)}function Gf(e,t){const o=cr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:x=Ht,insertStaticContent:S}=e,y=(w,T,E,U=null,W=null,Z=null,ae=void 0,te=null,h=!!T.dynamicChildren)=>{if(w===T)return;w&&!On(w,T)&&(U=Ae(w),q(w,W,Z,!0),w=null),T.patchFlag===-2&&(h=!1,T.dynamicChildren=null);const{type:b,ref:D,shapeFlag:K}=T;switch(b){case Nn:v(w,T,E,U);break;case Xt:A(w,T,E,U);break;case Us:w==null&&_(T,E,U,ae);break;case Ie:Q(w,T,E,U,W,Z,ae,te,h);break;default:K&1?g(w,T,E,U,W,Z,ae,te,h):K&6?me(w,T,E,U,W,Z,ae,te,h):(K&64||K&128)&&b.process(w,T,E,U,W,Z,ae,te,h,ge)}D!=null&&W?Pn(D,w&&w.ref,Z,T||w,!T):D==null&&w&&w.ref!=null&&Pn(w.ref,null,Z,w,!0)},v=(w,T,E,U)=>{if(w==null)n(T.el=i(T.children),E,U);else{const W=T.el=w.el;T.children!==w.children&&c(W,T.children)}},A=(w,T,E,U)=>{w==null?n(T.el=l(T.children||""),E,U):T.el=w.el},_=(w,T,E,U)=>{[w.el,w.anchor]=S(w.children,T,E,U,w.el,w.anchor)},d=({el:w,anchor:T},E,U)=>{let W;for(;w&&w!==T;)W=m(w),n(w,E,U),w=W;n(T,E,U)},f=({el:w,anchor:T})=>{let E;for(;w&&w!==T;)E=m(w),r(w),w=E;r(T)},g=(w,T,E,U,W,Z,ae,te,h)=>{if(T.type==="svg"?ae="svg":T.type==="math"&&(ae="mathml"),w==null)k(T,E,U,W,Z,ae,te,h);else{const b=w.el&&w.el._isVueCE?w.el:null;try{b&&b._beginPatch(),L(w,T,W,Z,ae,te,h)}finally{b&&b._endPatch()}}},k=(w,T,E,U,W,Z,ae,te)=>{let h,b;const{props:D,shapeFlag:K,transition:ie,dirs:se}=w;if(h=w.el=a(w.type,Z,D&&D.is,D),K&8?u(h,w.children):K&16&&M(w.children,h,null,U,W,zs(w,Z),ae,te),se&&Fo(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const C in D)C!=="value"&&!_n(C)&&s(h,C,null,D[C],Z,U);"value"in D&&s(h,"value",null,D.value,Z),(b=D.onVnodeBeforeMount)&&Qt(b,U,w)}se&&Fo(w,null,U,"beforeMount");const O=Hf(W,ie);O&&ie.beforeEnter(h),n(h,T,E),((b=D&&D.onVnodeMounted)||O||se)&&vt(()=>{try{b&&Qt(b,U,w),O&&ie.enter(h),se&&Fo(w,null,U,"mounted")}finally{}},W)},$=(w,T,E,U,W)=>{if(E&&x(w,E),U)for(let Z=0;Z{for(let b=h;b{const te=T.el=w.el;let{patchFlag:h,dynamicChildren:b,dirs:D}=T;h|=w.patchFlag&16;const K=w.props||Ve,ie=T.props||Ve;let se;if(E&&jo(E,!1),(se=ie.onVnodeBeforeUpdate)&&Qt(se,E,T,w),D&&Fo(T,w,E,"beforeUpdate"),E&&jo(E,!0),b&&(!w.dynamicChildren||w.dynamicChildren.length!==b.length)&&(h=0,ae=!1,b=null),(K.innerHTML&&ie.innerHTML==null||K.textContent&&ie.textContent==null)&&u(te,""),b?j(w.dynamicChildren,b,te,E,U,zs(T,W),Z):ae||P(w,T,te,null,E,U,zs(T,W),Z,!1),h>0){if(h&16)V(te,K,ie,E,W);else if(h&2&&K.class!==ie.class&&s(te,"class",null,ie.class,W),h&4&&s(te,"style",K.style,ie.style,W),h&8){const O=T.dynamicProps;for(let C=0;C{se&&Qt(se,E,T,w),D&&Fo(T,w,E,"updated")},U)},j=(w,T,E,U,W,Z,ae)=>{for(let te=0;te{if(T!==E){if(T!==Ve)for(const Z in T)!_n(Z)&&!(Z in E)&&s(w,Z,T[Z],null,W,U);for(const Z in E){if(_n(Z))continue;const ae=E[Z],te=T[Z];ae!==te&&Z!=="value"&&s(w,Z,te,ae,W,U)}"value"in E&&s(w,"value",T.value,E.value,W)}},Q=(w,T,E,U,W,Z,ae,te,h)=>{const b=T.el=w?w.el:i(""),D=T.anchor=w?w.anchor:i("");let{patchFlag:K,dynamicChildren:ie,slotScopeIds:se}=T;se&&(te=te?te.concat(se):se),w==null?(n(b,E,U),n(D,E,U),M(T.children||[],E,D,W,Z,ae,te,h)):K>0&&K&64&&ie&&w.dynamicChildren&&w.dynamicChildren.length===ie.length?(j(w.dynamicChildren,ie,E,W,Z,ae,te),(T.key!=null||W&&T===W.subTree)&&Bs(w,T,!0)):P(w,T,E,D,W,Z,ae,te,h)},me=(w,T,E,U,W,Z,ae,te,h)=>{T.slotScopeIds=te,w==null?T.shapeFlag&512?W.ctx.activate(T,E,U,ae,h):B(T,E,U,W,Z,ae,h):X(w,T,h)},B=(w,T,E,U,W,Z,ae)=>{const te=w.component=Zf(w,U,W);if(Er(w)&&(te.ctx.renderer=ge),Qf(te,!1,ae),te.asyncDep){if(W&&W.registerDep(te,H,ae),!w.el){const h=te.subTree=Oe(Xt);A(null,h,T,E),w.placeholder=h.el}}else H(te,w,T,E,W,Z,ae)},X=(w,T,E)=>{const U=T.component=w.component;if(Nf(w,T,E))if(U.asyncDep&&!U.asyncResolved){z(U,T,E);return}else U.next=T,U.update();else T.el=w.el,U.vnode=T},H=(w,T,E,U,W,Z,ae)=>{const te=()=>{if(w.isMounted){let{next:K,bu:ie,u:se,parent:O,vnode:C}=w;{const qe=cl(w);if(qe){K&&(K.el=C.el,z(w,K,ae)),qe.asyncDep.then(()=>{vt(()=>{w.isUnmounted||b()},W)});return}}let J=K,oe;jo(w,!1),K?(K.el=C.el,z(w,K,ae)):K=C,ie&&lr(ie),(oe=K.props&&K.props.onVnodeBeforeUpdate)&&Qt(oe,O,K,C),jo(w,!0);const be=Ji(w),ke=w.subTree;w.subTree=be,y(ke,be,p(ke.el),Ae(ke),w,W,Z),K.el=be.el,J===null&&Rf(w,be.el),se&&vt(se,W),(oe=K.props&&K.props.onVnodeUpdated)&&vt(()=>Qt(oe,O,K,C),W)}else{let K;const{el:ie,props:se}=T,{bm:O,m:C,parent:J,root:oe,type:be}=w,ke=Zo(T);jo(w,!1),O&&lr(O),!ke&&(K=se&&se.onVnodeBeforeMount)&&Qt(K,J,T),jo(w,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(be,w.parent?w.parent.type:void 0);const qe=w.subTree=Ji(w);y(null,qe,E,U,w,W,Z),T.el=qe.el}if(C&&vt(C,W),!ke&&(K=se&&se.onVnodeMounted)){const qe=T;vt(()=>Qt(K,J,qe),W)}(T.shapeFlag&256||J&&Zo(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&vt(w.a,W),w.isMounted=!0,T=E=U=null}};w.scope.on();const h=w.effect=new oi(te);w.scope.off();const b=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>Ss(D),jo(w,!0),b()},z=(w,T,E)=>{T.component=w;const U=w.vnode.props;w.vnode=T,w.next=null,Of(w,T.props,U,E),Bf(w,T.children,E),Vt(),Si(w),Wt()},P=(w,T,E,U,W,Z,ae,te,h=!1)=>{const b=w&&w.children,D=w?w.shapeFlag:0,K=T.children,{patchFlag:ie,shapeFlag:se}=T;if(ie>0){if(ie&128){F(b,K,E,U,W,Z,ae,te,h);return}else if(ie&256){G(b,K,E,U,W,Z,ae,te,h);return}}se&8?(D&16&&Me(b,W,Z),K!==b&&u(E,K)):D&16?se&16?F(b,K,E,U,W,Z,ae,te,h):Me(b,W,Z,!0):(D&8&&u(E,""),se&16&&M(K,E,U,W,Z,ae,te,h))},G=(w,T,E,U,W,Z,ae,te,h)=>{w=w||qo,T=T||qo;const b=w.length,D=T.length,K=Math.min(b,D);let ie;for(ie=0;ieD?Me(w,W,Z,!0,!1,K):M(T,E,U,W,Z,ae,te,h,K)},F=(w,T,E,U,W,Z,ae,te,h)=>{let b=0;const D=T.length;let K=w.length-1,ie=D-1;for(;b<=K&&b<=ie;){const se=w[b],O=T[b]=h?co(T[b]):Zt(T[b]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;b++}for(;b<=K&&b<=ie;){const se=w[K],O=T[ie]=h?co(T[ie]):Zt(T[ie]);if(On(se,O))y(se,O,E,null,W,Z,ae,te,h);else break;K--,ie--}if(b>K){if(b<=ie){const se=ie+1,O=seie)for(;b<=K;)q(w[b],W,Z,!0),b++;else{const se=b,O=b,C=new Map;for(b=O;b<=ie;b++){const et=T[b]=h?co(T[b]):Zt(T[b]);et.key!=null&&C.set(et.key,b)}let J,oe=0;const be=ie-O+1;let ke=!1,qe=0;const We=new Array(be);for(b=0;b=be){q(et,W,Z,!0);continue}let Nt;if(et.key!=null)Nt=C.get(et.key);else for(J=O;J<=ie;J++)if(We[J-O]===0&&On(et,T[J])){Nt=J;break}Nt===void 0?q(et,W,Z,!0):(We[Nt-O]=b+1,Nt>=qe?qe=Nt:ke=!0,y(et,T[Nt],E,null,W,Z,ae,te,h),oe++)}const kt=ke?qf(We):qo;for(J=kt.length-1,b=be-1;b>=0;b--){const et=O+b,Nt=T[et],Qn=T[et+1],er=et+1{const{el:Z,type:ae,transition:te,children:h,shapeFlag:b}=w;if(b&6){I(w.component.subTree,T,E,U);return}if(b&128){w.suspense.move(T,E,U);return}if(b&64){ae.move(w,T,E,ge);return}if(ae===Ie){n(Z,T,E);for(let K=0;Kte.enter(Z),W));else{const{leave:K,delayLeave:ie,afterLeave:se}=te,O=()=>{w.ctx.isUnmounted?r(Z):n(Z,T,E)},C=()=>{const J=Z._isLeaving||!!Z[Ts];Z._isLeaving&&Z[Ts](!0),te.persisted&&!J?O():K(Z,()=>{O(),se&&se()})};ie?ie(Z,O,C):C()}else n(Z,T,E)},q=(w,T,E,U=!1,W=!1)=>{const{type:Z,props:ae,ref:te,children:h,dynamicChildren:b,shapeFlag:D,patchFlag:K,dirs:ie,cacheIndex:se,memo:O}=w;if(K===-2&&(W=!1),te!=null&&(Vt(),Pn(te,null,E,w,!0),Wt()),se!=null&&(T.renderCache[se]=void 0),D&256){T.ctx.deactivate(w);return}const C=D&1&&ie,J=!Zo(w);let oe;if(J&&(oe=ae&&ae.onVnodeBeforeUnmount)&&Qt(oe,T,w),D&6)$e(w.component,E,U);else{if(D&128){w.suspense.unmount(E,U);return}C&&Fo(w,null,T,"beforeUnmount"),D&64?w.type.remove(w,T,E,ge,U):b&&!b.hasOnce&&(Z!==Ie||K>0&&K&64)?Me(b,T,E,!1,!0):(Z===Ie&&K&384||!W&&D&16)&&Me(h,T,E),U&&ce(w)}const be=O!=null&&se==null;(J&&(oe=ae&&ae.onVnodeUnmounted)||C||be)&&vt(()=>{oe&&Qt(oe,T,w),C&&Fo(w,null,T,"unmounted"),be&&(w.el=null)},E)},ce=w=>{const{type:T,el:E,anchor:U,transition:W}=w;if(T===Ie){he(E,U);return}if(T===Us){f(w);return}const Z=()=>{r(E),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:ae,delayLeave:te}=W,h=()=>ae(E,Z);te?te(w.el,Z,h):h()}else Z()},he=(w,T)=>{let E;for(;w!==T;)E=m(w),r(w),w=E;r(T)},$e=(w,T,E)=>{const{bum:U,scope:W,job:Z,subTree:ae,um:te,m:h,a:b}=w;ul(h),ul(b),U&&lr(U),W.stop(),Z&&(Z.flags|=8,q(ae,w,T,E)),te&&vt(te,T),vt(()=>{w.isUnmounted=!0},T)},Me=(w,T,E,U=!1,W=!1,Z=0)=>{for(let ae=Z;ae{if(w.shapeFlag&6)return Ae(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const T=m(w.anchor||w.el),E=T&&T[Li];return E?m(E):T};let xe=!1;const _e=(w,T,E)=>{let U;w==null?T._vnode&&(q(T._vnode,null,null,!0),U=T._vnode.component):y(T._vnode||null,w,T,null,null,null,E),T._vnode=w,xe||(xe=!0,Si(U),Ei(),xe=!1)},ge={p:y,um:q,m:I,r:ce,mt:B,mc:M,pc:P,pbc:j,n:Ae,o:e};return{render:_e,hydrate:void 0,createApp:Cf(_e)}}function zs({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 jo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Hf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bs(e,t,o=!1){const n=e.children,r=t.children;if(Se(n)&&Se(r))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Vf(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Xd(e)}const Ie=Symbol.for("v-fgt"),Nn=Symbol.for("v-txt"),Xt=Symbol.for("v-cmt"),Us=Symbol.for("v-stc"),lo=[];let Tt=null;function ee(e=!1){lo.push(Tt=e?null:[])}function Gs(){lo.pop(),Tt=lo[lo.length-1]||null}let Rn=1;function Pr(e,t=!1){Rn+=e,e<0&&Tt&&t&&(Tt.hasOnce=!0)}function pl(e){return e.dynamicChildren=Rn>0?Tt||qo:null,Gs(),Rn>0&&Tt&&Tt.push(e),e}function ne(e,t,o,n,r,s){return pl(R(e,t,o,n,r,s,!0))}function Jt(e,t,o,n,r){return pl(Oe(e,t,o,n,r,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function On(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ke(e)||Qe(e)||Te(e)?{i:ct,r:e,k:t,f:!!o}:e:null);function R(e,t=null,o=null,n=0,r=null,s=e===Ie?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Mr(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ke(o)?8:16),Rn>0&&!a&&Tt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Tt.push(l),l}const Oe=Wf;function Wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===ji)&&(e=Xt),Fn(e)){const i=Qo(e,t,!0);return o&&Mr(i,o),Rn>0&&!s&&Tt&&(i.shapeFlag&6?Tt[Tt.indexOf(e)]=i:Tt.push(i)),i.patchFlag=-2,i}if(sp(e)&&(e=e.__vccOpts),t){t=Kf(t);let{class:i,style:l}=t;i&&!Ke(i)&&(t.class=De(i)),Ue(l)&&(br(l)&&!Se(l)&&(l=ot({},l)),t.style=ht(l))}const a=Ke(e)?1:fl(e)?128:xr(e)?64:Ue(e)?4:Te(e)?2:0;return R(e,t,o,n,r,a,s,!0)}function Kf(e){return e?br(e)||ol(e)?ot({},e):e:null}function Qo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Yf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?o&&s?Se(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(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!==Ie?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qo(e.ssContent),ssFallback:e.ssFallback&&Qo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ls(u,l.clone(u)),u}function nt(e=" ",t=0){return Oe(Nn,null,e,t)}function Ge(e="",t=!1){return t?(ee(),Jt(Xt,null,e)):Oe(Xt,null,e)}function Zt(e){return e==null||typeof e=="boolean"?Oe(Xt):Se(e)?Oe(Ie,null,e.slice()):Fn(e)?co(e):Oe(Nn,null,String(e))}function co(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qo(e)}function Mr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Se(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!ol(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Mr(e,{default:t});return}t={default:t,_ctx:ct},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function Yf(...e){const t={};for(let o=0;oft||ct;let Nr,Dn;{const e=cr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>ft=o),Dn=t("__VUE_SSR_SETTERS__",o=>en=o)}const jn=e=>{const t=ft;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},hl=()=>{ft&&ft.scope.off(),Nr(null)};function ml(e){return e.vnode.shapeFlag&4}let en=!1;function Qf(e,t=!1,o=!1){t&&Dn(t);const{props:n,children:r}=e.vnode,s=ml(e);Ff(e,n,s,t),zf(e,r,o||t);const a=s?ep(e,t):void 0;return t&&Dn(!1),a}function ep(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,wf);const{setup:n}=o;if(n){Vt();const r=e.setupContext=n.length>1?op(e):null,s=jn(e),a=Ko(n,e,0,[e.props,r]),i=qa(a);if(Wt(),s(),(i||e.sp)&&!Zo(e)&&Ps(e),i){if(a.then(hl,hl),t)return a.then(l=>{Dn(!0);try{bl(e,l,t)}finally{Dn(!1)}}).catch(l=>{An(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,o){Te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ue(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,o){const n=e.type;e.render||(e.render=n.render||Ht);{const r=jn(e);Vt();try{xf(e)}finally{Wt(),r()}}}const tp={get(e,t){return mt(e,"get",""),e[t]}};function op(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,tp),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($n(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in In)return In[o](e)},has(t,o){return o in t||o in In}})):e.proxy}const np=/(?:^|[-_])\w/g,rp=e=>e.replace(np,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,o=!1){let n=yl(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?rp(n):o?"App":"Anonymous"}function sp(e){return Te(e)&&"__vccOpts"in e}const re=(e,t)=>Bd(e,t,en);function wl(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ue(t)&&!Se(t)?Fn(t)?Oe(e,null,[t]):Oe(e,t):Oe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Fn(o)&&(o=[o]),Oe(e,t,o))}finally{Pr(1)}}const ap="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ys(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Un;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Un||(Un={}));function jp(){const e=fs(!0),t=e.run(()=>de({}));let o=[],n=[];const r=$n({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,o,n=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ti()&&hd(r),r}function nn(e,...t){e.slice().forEach(o=>{o(...t)})}const zp=e=>e(),Ul=Symbol(),Xs=Symbol();function Js(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],r=e[o];Ys(r)&&Ys(n)&&e.hasOwnProperty(o)&&!Qe(n)&&!ro(n)?e[o]=Js(r,n):e[o]=n}return e}const Bp=Symbol();function Up(e){return!Ys(e)||!e.hasOwnProperty(Bp)}const{assign:$o}=Object;function Gp(e){return!!(Qe(e)&&e.effect)}function Hp(e,t,o,n){const{state:r,actions:s,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=r?r():{});const u=Od(o.state.value[e]);return $o(u,s,Object.keys(a||{}).reduce((p,m)=>(p[m]=$n(re(()=>{Br(o);const x=o._s.get(e);return a[m].call(x,x)})),p),{}))}return l=Gl(e,c,t,o,n,!0),l}function Gl(e,t,o={},n,r,s){let a;const i=$o({actions:{}},o),l={deep:!0};let c,u,p=[],m=[],x;const S=n.state.value[e];!s&&!S&&(n.state.value[e]={});let y;function v(M){let L;c=u=!1,typeof M=="function"?(M(n.state.value[e]),L={type:Un.patchFunction,storeId:e,events:x}):(Js(n.state.value[e],M),L={type:Un.patchObject,payload:M,storeId:e,events:x});const j=y=Symbol();Ro().then(()=>{y===j&&(c=!0)}),u=!0,nn(p,L,n.state.value[e])}const A=s?function(){const{state:L}=o,j=L?L():{};this.$patch(V=>{$o(V,j)})}:zl;function _(){a.stop(),p=[],m=[],n._s.delete(e)}const d=(M,L="")=>{if(Ul in M)return M[Xs]=L,M;const j=function(){Br(n);const V=Array.from(arguments),Q=[],he=[];function B(z){Q.push(z)}function X(z){he.push(z)}nn(m,{args:V,name:j[Xs],store:g,after:B,onError:X});let H;try{H=M.apply(this&&this.$id===e?this:g,V)}catch(z){throw nn(he,z),z}return H instanceof Promise?H.then(z=>(nn(Q,z),z)).catch(z=>(nn(he,z),Promise.reject(z))):(nn(Q,H),H)};return j[Ul]=!0,j[Xs]=L,j},f={_p:n,$id:e,$onAction:Bl.bind(null,m),$patch:v,$reset:A,$subscribe(M,L={}){const j=Bl(p,M,L.detached,()=>V()),V=a.run(()=>dt(()=>n.state.value[e],Q=>{(L.flush==="sync"?u:c)&&M({storeId:e,type:Un.direct,events:x},Q)},$o({},l,L)));return j},$dispose:_},g=Mo(f);n._s.set(e,g);const $=(n._a&&n._a.runWithContext||zp)(()=>n._e.run(()=>(a=fs()).run(()=>t({action:d}))));for(const M in $){const L=$[M];if(Qe(L)&&!Gp(L)||ro(L))s||(S&&Up(L)&&(Qe(L)?L.value=S[M]:Js(L,S[M])),n.state.value[e][M]=L);else if(typeof L=="function"){const j=d(L,M);$[M]=j,i.actions[M]=L}}return $o(g,$),$o(je(g),$),Object.defineProperty(g,"$state",{get:()=>n.state.value[e],set:M=>{v(L=>{$o(L,M)})}}),n._p.forEach(M=>{$o(g,a.run(()=>M({store:g,app:n._a,pinia:n,options:i})))}),S&&s&&o.hydrate&&o.hydrate(g.$state,S),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Zs(e,t,o){let n,r;const s=typeof t=="function";typeof e=="string"?(n=e,r=s?o:t):(r=e,n=e.id);function a(i,l){const c=Jd();return i=i||(c?Le(jl,null):null),i&&Br(i),i=Dl,i._s.has(n)||(s?Gl(n,t,r,i):Hp(n,r,i)),i._s.get(n)}return a.$id=n,a}const qp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Wp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={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:"اللغات"}},Yp={menuComingSoon:"القائمة قادمة قريباً"},Xp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Jp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Zp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Qp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},eg={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},tg={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"},og={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ng={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"}},rg={menuComingSoon:"Menü folgt in Kürze"},sg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},ag={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ig={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},lg={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"},cg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ug={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"},dg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},fg={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"}},pg={menuComingSoon:"Menu coming soon"},gg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},hg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},mg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},bg={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"}},_g={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"},yg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},vg={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"},wg={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."}},xg={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"}},kg={menuComingSoon:"Menú próximamente"},$g={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Sg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Eg={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"}},Ag={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"},Cg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Tg={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"},Lg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Pg={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"}},Ig={menuComingSoon:"Menu bientôt disponible"},Mg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Fg={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"}},Og={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"},Dg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},jg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},zg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Bg={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:"कुल"}},Ug={menuComingSoon:"मेनू शीघ्र आ रहा है"},Gg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Hg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Wg={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"},Kg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Yg={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"}},Xg={menuComingSoon:"Menu in arrivo"},Jg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Zg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Qg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},eh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},th={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"},oh={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."}},nh={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"}},rh={menuComingSoon:"Menu em breve"},sh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ah={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ih={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"}},lh={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"},ch={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},uh={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ă"},dh={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ă."}},fh={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"}},ph={menuComingSoon:"Meniu în curând"},gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},hh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},mh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},bh={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:"Поделиться и встроить"},yh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vh={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:"По евангельскому ресурсу"},kh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},$h={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:"Страна"},Eh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ah={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ch={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Th={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:"总计"}},Lh={menuComingSoon:"菜单即将推出"},Ph={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ih={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Mh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ys(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Un;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Un||(Un={}));function jp(){const e=fs(!0),t=e.run(()=>de({}));let o=[],n=[];const r=$n({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,o,n=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ti()&&hd(r),r}function nn(e,...t){e.slice().forEach(o=>{o(...t)})}const zp=e=>e(),Ul=Symbol(),Xs=Symbol();function Js(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],r=e[o];Ys(r)&&Ys(n)&&e.hasOwnProperty(o)&&!Qe(n)&&!ro(n)?e[o]=Js(r,n):e[o]=n}return e}const Bp=Symbol();function Up(e){return!Ys(e)||!e.hasOwnProperty(Bp)}const{assign:$o}=Object;function Gp(e){return!!(Qe(e)&&e.effect)}function Hp(e,t,o,n){const{state:r,actions:s,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=r?r():{});const u=Od(o.state.value[e]);return $o(u,s,Object.keys(a||{}).reduce((p,m)=>(p[m]=$n(re(()=>{Br(o);const x=o._s.get(e);return a[m].call(x,x)})),p),{}))}return l=Gl(e,c,t,o,n,!0),l}function Gl(e,t,o={},n,r,s){let a;const i=$o({actions:{}},o),l={deep:!0};let c,u,p=[],m=[],x;const S=n.state.value[e];!s&&!S&&(n.state.value[e]={});let y;function v(M){let L;c=u=!1,typeof M=="function"?(M(n.state.value[e]),L={type:Un.patchFunction,storeId:e,events:x}):(Js(n.state.value[e],M),L={type:Un.patchObject,payload:M,storeId:e,events:x});const j=y=Symbol();Ro().then(()=>{y===j&&(c=!0)}),u=!0,nn(p,L,n.state.value[e])}const A=s?function(){const{state:L}=o,j=L?L():{};this.$patch(V=>{$o(V,j)})}:zl;function _(){a.stop(),p=[],m=[],n._s.delete(e)}const d=(M,L="")=>{if(Ul in M)return M[Xs]=L,M;const j=function(){Br(n);const V=Array.from(arguments),Q=[],me=[];function B(z){Q.push(z)}function X(z){me.push(z)}nn(m,{args:V,name:j[Xs],store:g,after:B,onError:X});let H;try{H=M.apply(this&&this.$id===e?this:g,V)}catch(z){throw nn(me,z),z}return H instanceof Promise?H.then(z=>(nn(Q,z),z)).catch(z=>(nn(me,z),Promise.reject(z))):(nn(Q,H),H)};return j[Ul]=!0,j[Xs]=L,j},f={_p:n,$id:e,$onAction:Bl.bind(null,m),$patch:v,$reset:A,$subscribe(M,L={}){const j=Bl(p,M,L.detached,()=>V()),V=a.run(()=>dt(()=>n.state.value[e],Q=>{(L.flush==="sync"?u:c)&&M({storeId:e,type:Un.direct,events:x},Q)},$o({},l,L)));return j},$dispose:_},g=Mo(f);n._s.set(e,g);const $=(n._a&&n._a.runWithContext||zp)(()=>n._e.run(()=>(a=fs()).run(()=>t({action:d}))));for(const M in $){const L=$[M];if(Qe(L)&&!Gp(L)||ro(L))s||(S&&Up(L)&&(Qe(L)?L.value=S[M]:Js(L,S[M])),n.state.value[e][M]=L);else if(typeof L=="function"){const j=d(L,M);$[M]=j,i.actions[M]=L}}return $o(g,$),$o(je(g),$),Object.defineProperty(g,"$state",{get:()=>n.state.value[e],set:M=>{v(L=>{$o(L,M)})}}),n._p.forEach(M=>{$o(g,a.run(()=>M({store:g,app:n._a,pinia:n,options:i})))}),S&&s&&o.hydrate&&o.hydrate(g.$state,S),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Zs(e,t,o){let n,r;const s=typeof t=="function";typeof e=="string"?(n=e,r=s?o:t):(r=e,n=e.id);function a(i,l){const c=Jd();return i=i||(c?Le(jl,null):null),i&&Br(i),i=Dl,i._s.has(n)||(s?Gl(n,t,r,i):Hp(n,r,i)),i._s.get(n)}return a.$id=n,a}const qp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Wp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={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:"اللغات"}},Yp={menuComingSoon:"القائمة قادمة قريباً"},Xp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Jp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Zp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Qp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},eg={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},tg={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"},og={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ng={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"}},rg={menuComingSoon:"Menü folgt in Kürze"},sg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},ag={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ig={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},lg={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"},cg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ug={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"},dg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},fg={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"}},pg={menuComingSoon:"Menu coming soon"},gg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},hg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},mg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},bg={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"}},_g={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"},yg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},vg={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"},wg={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."}},xg={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"}},kg={menuComingSoon:"Menú próximamente"},$g={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Sg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Eg={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"}},Ag={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"},Cg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Tg={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"},Lg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Pg={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"}},Ig={menuComingSoon:"Menu bientôt disponible"},Mg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Rg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Fg={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"}},Og={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"},Dg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},jg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},zg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Bg={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:"कुल"}},Ug={menuComingSoon:"मेनू शीघ्र आ रहा है"},Gg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Hg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Wg={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"},Kg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Yg={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"}},Xg={menuComingSoon:"Menu in arrivo"},Jg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Zg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Qg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},eh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},th={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"},oh={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."}},nh={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"}},rh={menuComingSoon:"Menu em breve"},sh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ah={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ih={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"}},lh={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"},ch={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},uh={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ă"},dh={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ă."}},fh={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"}},ph={menuComingSoon:"Meniu în curând"},gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},hh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},mh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},bh={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:"Поделиться и встроить"},yh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},vh={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:"По евангельскому ресурсу"},kh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},$h={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:"Страна"},Eh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ah={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ch={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Th={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:"总计"}},Lh={menuComingSoon:"菜单即将推出"},Ph={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ih={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Mh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -31,16 +31,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function Hh(e,t,o){return{line:e,column:t,offset:o}}function Wr(e,t,o){return{start:e,end:t}}const qh=/\{([0-9a-zA-Z]+)\}/g;function Yl(e,...t){return t.length===1&&Vh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(qh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Xl=Object.assign,Jl=e=>typeof e=="string",Vh=e=>e!==null&&typeof e=="object";function Zl(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Qs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Wh={[Qs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Kh(e,t,...o){const n=Yl(Wh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ee={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},Yh={[Ee.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ee.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ee.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ee.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ee.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ee.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ee.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ee.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ee.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ee.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ee.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ee.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ee.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ee.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function rn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Yl((r||Yh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=n,i}function Xh(e){throw e}const go=" ",Jh="\r",wt=` -`,Zh="\u2028",Qh="\u2029";function em(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===Jh&&t[$+1]===wt,i=$=>t[$]===wt,l=$=>t[$]===Qh,c=$=>t[$]===Zh,u=$=>a($)||i($)||l($)||c($),p=()=>o,m=()=>n,x=()=>r,S=()=>s,y=$=>a($)||l($)||c($)?wt:t[$],v=()=>y(o),A=()=>y(o+s);function _(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function d(){return a(o+s)&&s++,s++,t[o+s]}function f(){o=0,n=1,r=1,s=0}function g($=0){s=$}function k(){const $=o+s;for(;$!==o;)_();s=0}return{index:p,line:m,column:x,peekOffset:S,charAt:y,currentChar:v,currentPeek:A,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const Ao=void 0,tm=".",Ql="'",om="tokenizer";function nm(e,t={}){const o=t.location!==!1,n=em(e),r=()=>n.index(),s=()=>Hh(n.line(),n.column(),n.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,b,D,...K){const ie=c();if(b.column+=D,b.offset+=D,u){const se=o?Wr(ie.startLoc,b):null,O=rn(h,se,{domain:om,args:K});u(O)}}function m(h,b,D){h.endLoc=s(),h.currentType=b;const K={type:b};return o&&(K.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(K.value=D),K}const x=h=>m(h,14);function S(h,b){return h.currentChar()===b?(h.next(),b):(p(Ee.EXPECTED_TOKEN,s(),0,b),"")}function y(h){let b="";for(;h.currentPeek()===go||h.currentPeek()===wt;)b+=h.currentPeek(),h.peek();return b}function v(h){const b=y(h);return h.skipToPeek(),b}function A(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function _(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=48&&b<=57}function d(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function f(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()==="-"?h.peek():h.currentPeek(),ie=_(K);return h.resetPeek(),ie}function g(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()===Ql;return h.resetPeek(),K}function k(h,b){const{currentType:D}=b;if(D!==8)return!1;y(h);const K=h.currentPeek()===".";return h.resetPeek(),K}function $(h,b){const{currentType:D}=b;if(D!==9)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function M(h,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;y(h);const K=h.currentPeek()===":";return h.resetPeek(),K}function L(h,b){const{currentType:D}=b;if(D!==10)return!1;const K=()=>{const se=h.currentPeek();return se==="{"?A(h.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===go||!se?!1:se===wt?(h.peek(),K()):Q(h,!1)},ie=K();return h.resetPeek(),ie}function j(h){y(h);const b=h.currentPeek()==="|";return h.resetPeek(),b}function V(h){const b=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function Q(h,b=!0){const D=(ie=!1,se="",O=!1)=>{const C=h.currentPeek();return C==="{"?se==="%"?!1:ie:C==="@"||!C?se==="%"?!0:ie:C==="%"?(h.peek(),D(ie,"%",!0)):C==="|"?se==="%"||O?!0:!(se===go||se===wt):C===go?(h.peek(),D(!0,go,O)):C===wt?(h.peek(),D(!0,wt,O)):!0},K=D();return b&&h.resetPeek(),K}function he(h,b){const D=h.currentChar();return D===Ao?Ao:b(D)?(h.next(),D):null}function B(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function X(h){return he(h,B)}function H(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function z(h){return he(h,H)}function P(h){const b=h.charCodeAt(0);return b>=48&&b<=57}function G(h){return he(h,P)}function F(h){const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function I(h){return he(h,F)}function q(h){let b="",D="";for(;b=G(h);)D+=b;return D}function ce(h){v(h);const b=h.currentChar();return b!=="%"&&p(Ee.EXPECTED_TOKEN,s(),0,b),h.next(),"%"}function be(h){let b="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Q(h))b+=D,h.next();else break;else if(D===go||D===wt)if(Q(h))b+=D,h.next();else{if(j(h))break;b+=D,h.next()}else b+=D,h.next()}return b}function $e(h){v(h);let b="",D="";for(;b=z(h);)D+=b;return h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Me(h){v(h);let b="";return h.currentChar()==="-"?(h.next(),b+=`-${q(h)}`):b+=q(h),h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b}function Ae(h){return h!==Ql&&h!==wt}function xe(h){v(h),S(h,"'");let b="",D="";for(;b=he(h,Ae);)b==="\\"?D+=_e(h):D+=b;const K=h.currentChar();return K===wt||K===Ao?(p(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===wt&&(h.next(),S(h,"'")),D):(S(h,"'"),D)}function _e(h){const b=h.currentChar();switch(b){case"\\":case"'":return h.next(),`\\${b}`;case"u":return ge(h,b,4);case"U":return ge(h,b,6);default:return p(Ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,b),""}}function ge(h,b,D){S(h,b);let K="";for(let ie=0;ie{const K=h.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===go?D:(D+=K,h.next(),b(D))};return b("")}function U(h){v(h);const b=S(h,"|");return v(h),b}function W(h,b){let D=null;switch(h.currentChar()){case"{":return b.braceNest>=1&&p(Ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=m(b,2,"{"),v(h),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(Ee.EMPTY_PLACEHOLDER,s(),0),h.next(),D=m(b,3,"}"),b.braceNest--,b.braceNest>0&&v(h),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=Z(h,b)||x(b),b.braceNest=0,D;default:{let ie=!0,se=!0,O=!0;if(j(h))return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b.braceNest=0,ae(h,b);if(ie=d(h,b))return D=m(b,5,$e(h)),v(h),D;if(se=f(h,b))return D=m(b,6,Me(h)),v(h),D;if(O=g(h,b))return D=m(b,7,xe(h)),v(h),D;if(!ie&&!se&&!O)return D=m(b,13,w(h)),p(Ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Z(h,b){const{currentType:D}=b;let K=null;const ie=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===wt||ie===go)&&p(Ee.INVALID_LINKED_FORMAT,s(),0),ie){case"@":return h.next(),K=m(b,8,"@"),b.inLinked=!0,K;case".":return v(h),h.next(),m(b,9,".");case":":return v(h),h.next(),m(b,10,":");default:return j(h)?(K=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,K):k(h,b)||M(h,b)?(v(h),Z(h,b)):$(h,b)?(v(h),m(b,12,T(h))):L(h,b)?(v(h),ie==="{"?W(h,b)||K:m(b,11,E(h))):(D===8&&p(Ee.INVALID_LINKED_FORMAT,s(),0),b.braceNest=0,b.inLinked=!1,ae(h,b))}}function ae(h,b){let D={type:14};if(b.braceNest>0)return W(h,b)||x(b);if(b.inLinked)return Z(h,b)||x(b);switch(h.currentChar()){case"{":return W(h,b)||x(b);case"}":return p(Ee.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),m(b,3,"}");case"@":return Z(h,b)||x(b);default:{if(j(h))return D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:se}=V(h);if(ie)return se?m(b,0,be(h)):m(b,4,ce(h));if(Q(h))return m(b,0,be(h));break}}return D}function te(){const{currentType:h,offset:b,startLoc:D,endLoc:K}=l;return l.lastType=h,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=K,l.offset=r(),l.startLoc=s(),n.currentChar()===Ao?m(l,14):ae(n,l)}return{nextToken:te,currentOffset:r,currentPosition:s,context:c}}const rm="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function am(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 im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const L=t?Wr(g,M):null,j=rn(f,L,{domain:rm,args:$});o(j)}}function s(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const L=t?Wr(g,M):null;n(Kh(f,L,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(5,k,$);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:M}=k,L=a(4,$,M);return L.key=f,g===!0&&(L.modulo=!0),d.nextToken(),i(L,d.currentOffset(),d.currentPosition()),L}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(9,k,$);return M.value=f.replace(sm,am),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function m(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(8,k,$);return f.type!==12?(r(d,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),M.value="",i(M,k,$),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Bt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function S(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=m(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=p(d,k.value||"");break;default:{r(d,Ee.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),M=a(7,$.offset,$.startLoc);return M.value="",i(M,$.offset,$.startLoc),g.key=M,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let M=null,L=null;do{const Q=M||d.nextToken();switch(M=null,Q.type){case 0:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(l(d,Q.value||""));break;case 6:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(c(d,Q.value||""));break;case 4:L=!0;break;case 5:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(u(d,Q.value||"",!!L)),L&&(s(d,Qs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Bt(Q)),L=null);break;case 7:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(p(d,Q.value||""));break;case 8:{const he=S(d);$.items.push(he.node),M=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const j=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,j,V),$}function v(d,f,g,k){const $=d.context();let M=k.items.length===0;const L=a(1,f,g);L.cases=[],L.cases.push(k);do{const j=y(d);M||(M=j.items.length===0),L.cases.push(j)}while($.currentType!==14);return M&&r(d,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(L,d.currentOffset(),d.currentPosition()),L}function A(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=nm(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=A(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function Bt(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 lm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function ec(e,t){for(let o=0;otc(o)),e}function tc(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;oa;function l(y,v){a.code+=y}function c(y,v=!0){const A=v?n:"";l(r?A+" ".repeat(y):A)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function m(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),an(e,t.key),t.modifier?(e.push(", "),an(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hm(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Jl(t.mode)?t.mode:"normal",n=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,Zh="\u2028",Qh="\u2029";function em(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===Jh&&t[$+1]===wt,i=$=>t[$]===wt,l=$=>t[$]===Qh,c=$=>t[$]===Zh,u=$=>a($)||i($)||l($)||c($),p=()=>o,m=()=>n,x=()=>r,S=()=>s,y=$=>a($)||l($)||c($)?wt:t[$],v=()=>y(o),A=()=>y(o+s);function _(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function d(){return a(o+s)&&s++,s++,t[o+s]}function f(){o=0,n=1,r=1,s=0}function g($=0){s=$}function k(){const $=o+s;for(;$!==o;)_();s=0}return{index:p,line:m,column:x,peekOffset:S,charAt:y,currentChar:v,currentPeek:A,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const Ao=void 0,tm=".",Ql="'",om="tokenizer";function nm(e,t={}){const o=t.location!==!1,n=em(e),r=()=>n.index(),s=()=>Hh(n.line(),n.column(),n.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,b,D,...K){const ie=c();if(b.column+=D,b.offset+=D,u){const se=o?Wr(ie.startLoc,b):null,O=rn(h,se,{domain:om,args:K});u(O)}}function m(h,b,D){h.endLoc=s(),h.currentType=b;const K={type:b};return o&&(K.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(K.value=D),K}const x=h=>m(h,14);function S(h,b){return h.currentChar()===b?(h.next(),b):(p(Ee.EXPECTED_TOKEN,s(),0,b),"")}function y(h){let b="";for(;h.currentPeek()===go||h.currentPeek()===wt;)b+=h.currentPeek(),h.peek();return b}function v(h){const b=y(h);return h.skipToPeek(),b}function A(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function _(h){if(h===Ao)return!1;const b=h.charCodeAt(0);return b>=48&&b<=57}function d(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function f(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()==="-"?h.peek():h.currentPeek(),ie=_(K);return h.resetPeek(),ie}function g(h,b){const{currentType:D}=b;if(D!==2)return!1;y(h);const K=h.currentPeek()===Ql;return h.resetPeek(),K}function k(h,b){const{currentType:D}=b;if(D!==8)return!1;y(h);const K=h.currentPeek()===".";return h.resetPeek(),K}function $(h,b){const{currentType:D}=b;if(D!==9)return!1;y(h);const K=A(h.currentPeek());return h.resetPeek(),K}function M(h,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;y(h);const K=h.currentPeek()===":";return h.resetPeek(),K}function L(h,b){const{currentType:D}=b;if(D!==10)return!1;const K=()=>{const se=h.currentPeek();return se==="{"?A(h.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===go||!se?!1:se===wt?(h.peek(),K()):Q(h,!1)},ie=K();return h.resetPeek(),ie}function j(h){y(h);const b=h.currentPeek()==="|";return h.resetPeek(),b}function V(h){const b=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function Q(h,b=!0){const D=(ie=!1,se="",O=!1)=>{const C=h.currentPeek();return C==="{"?se==="%"?!1:ie:C==="@"||!C?se==="%"?!0:ie:C==="%"?(h.peek(),D(ie,"%",!0)):C==="|"?se==="%"||O?!0:!(se===go||se===wt):C===go?(h.peek(),D(!0,go,O)):C===wt?(h.peek(),D(!0,wt,O)):!0},K=D();return b&&h.resetPeek(),K}function me(h,b){const D=h.currentChar();return D===Ao?Ao:b(D)?(h.next(),D):null}function B(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function X(h){return me(h,B)}function H(h){const b=h.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function z(h){return me(h,H)}function P(h){const b=h.charCodeAt(0);return b>=48&&b<=57}function G(h){return me(h,P)}function F(h){const b=h.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function I(h){return me(h,F)}function q(h){let b="",D="";for(;b=G(h);)D+=b;return D}function ce(h){v(h);const b=h.currentChar();return b!=="%"&&p(Ee.EXPECTED_TOKEN,s(),0,b),h.next(),"%"}function he(h){let b="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Q(h))b+=D,h.next();else break;else if(D===go||D===wt)if(Q(h))b+=D,h.next();else{if(j(h))break;b+=D,h.next()}else b+=D,h.next()}return b}function $e(h){v(h);let b="",D="";for(;b=z(h);)D+=b;return h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Me(h){v(h);let b="";return h.currentChar()==="-"?(h.next(),b+=`-${q(h)}`):b+=q(h),h.currentChar()===Ao&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b}function Ae(h){return h!==Ql&&h!==wt}function xe(h){v(h),S(h,"'");let b="",D="";for(;b=me(h,Ae);)b==="\\"?D+=_e(h):D+=b;const K=h.currentChar();return K===wt||K===Ao?(p(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===wt&&(h.next(),S(h,"'")),D):(S(h,"'"),D)}function _e(h){const b=h.currentChar();switch(b){case"\\":case"'":return h.next(),`\\${b}`;case"u":return ge(h,b,4);case"U":return ge(h,b,6);default:return p(Ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,b),""}}function ge(h,b,D){S(h,b);let K="";for(let ie=0;ie{const K=h.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===go?D:(D+=K,h.next(),b(D))};return b("")}function U(h){v(h);const b=S(h,"|");return v(h),b}function W(h,b){let D=null;switch(h.currentChar()){case"{":return b.braceNest>=1&&p(Ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=m(b,2,"{"),v(h),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(Ee.EMPTY_PLACEHOLDER,s(),0),h.next(),D=m(b,3,"}"),b.braceNest--,b.braceNest>0&&v(h),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=Z(h,b)||x(b),b.braceNest=0,D;default:{let ie=!0,se=!0,O=!0;if(j(h))return b.braceNest>0&&p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),b.braceNest=0,ae(h,b);if(ie=d(h,b))return D=m(b,5,$e(h)),v(h),D;if(se=f(h,b))return D=m(b,6,Me(h)),v(h),D;if(O=g(h,b))return D=m(b,7,xe(h)),v(h),D;if(!ie&&!se&&!O)return D=m(b,13,w(h)),p(Ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Z(h,b){const{currentType:D}=b;let K=null;const ie=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===wt||ie===go)&&p(Ee.INVALID_LINKED_FORMAT,s(),0),ie){case"@":return h.next(),K=m(b,8,"@"),b.inLinked=!0,K;case".":return v(h),h.next(),m(b,9,".");case":":return v(h),h.next(),m(b,10,":");default:return j(h)?(K=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,K):k(h,b)||M(h,b)?(v(h),Z(h,b)):$(h,b)?(v(h),m(b,12,T(h))):L(h,b)?(v(h),ie==="{"?W(h,b)||K:m(b,11,E(h))):(D===8&&p(Ee.INVALID_LINKED_FORMAT,s(),0),b.braceNest=0,b.inLinked=!1,ae(h,b))}}function ae(h,b){let D={type:14};if(b.braceNest>0)return W(h,b)||x(b);if(b.inLinked)return Z(h,b)||x(b);switch(h.currentChar()){case"{":return W(h,b)||x(b);case"}":return p(Ee.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),m(b,3,"}");case"@":return Z(h,b)||x(b);default:{if(j(h))return D=m(b,1,U(h)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:se}=V(h);if(ie)return se?m(b,0,he(h)):m(b,4,ce(h));if(Q(h))return m(b,0,he(h));break}}return D}function te(){const{currentType:h,offset:b,startLoc:D,endLoc:K}=l;return l.lastType=h,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=K,l.offset=r(),l.startLoc=s(),n.currentChar()===Ao?m(l,14):ae(n,l)}return{nextToken:te,currentOffset:r,currentPosition:s,context:c}}const rm="parser",sm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function am(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 im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const L=t?Wr(g,M):null,j=rn(f,L,{domain:rm,args:$});o(j)}}function s(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const L=t?Wr(g,M):null;n(Kh(f,L,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(5,k,$);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:M}=k,L=a(4,$,M);return L.key=f,g===!0&&(L.modulo=!0),d.nextToken(),i(L,d.currentOffset(),d.currentPosition()),L}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(9,k,$);return M.value=f.replace(sm,am),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function m(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(8,k,$);return f.type!==12?(r(d,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),M.value="",i(M,k,$),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Bt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function S(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=m(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(k)),g.key=p(d,k.value||"");break;default:{r(d,Ee.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),M=a(7,$.offset,$.startLoc);return M.value="",i(M,$.offset,$.startLoc),g.key=M,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let M=null,L=null;do{const Q=M||d.nextToken();switch(M=null,Q.type){case 0:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(l(d,Q.value||""));break;case 6:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(c(d,Q.value||""));break;case 4:L=!0;break;case 5:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(u(d,Q.value||"",!!L)),L&&(s(d,Qs.USE_MODULO_SYNTAX,f.lastStartLoc,0,Bt(Q)),L=null);break;case 7:Q.value==null&&r(d,Ee.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,Bt(Q)),$.items.push(p(d,Q.value||""));break;case 8:{const me=S(d);$.items.push(me.node),M=me.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const j=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,j,V),$}function v(d,f,g,k){const $=d.context();let M=k.items.length===0;const L=a(1,f,g);L.cases=[],L.cases.push(k);do{const j=y(d);M||(M=j.items.length===0),L.cases.push(j)}while($.currentType!==14);return M&&r(d,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(L,d.currentOffset(),d.currentPosition()),L}function A(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=nm(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=A(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function Bt(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 lm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function ec(e,t){for(let o=0;otc(o)),e}function tc(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;oa;function l(y,v){a.code+=y}function c(y,v=!0){const A=v?n:"";l(r?A+" ".repeat(y):A)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function m(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),an(e,t.key),t.modifier?(e.push(", "),an(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function hm(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Jl(t.mode)?t.mode:"normal",n=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],i=pm(e,{filename:n,breakLineCode:r,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${Zl(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),an(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 ym(e,t={}){const o=Xl({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,i=im(o).parse(e);return n?(s&&um(i),r&&sn(i),{ast:i,code:""}):(cm(i,o),_m(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function vm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function eo(e){return ze(e)&&ta(e)===0&&(zt(e,"b")||zt(e,"body"))}const oc=["b","body"];function wm(e){return Co(e,oc)}const nc=["c","cases"];function xm(e){return Co(e,nc,[])}const rc=["s","static"];function km(e){return Co(e,rc)}const sc=["i","items"];function $m(e){return Co(e,sc,[])}const ac=["t","type"];function ta(e){return Co(e,ac)}const ic=["v","value"];function Kr(e,t){const o=Co(e,ic);if(o!=null)return o;throw Gn(t)}const lc=["m","modifier"];function Sm(e){return Co(e,lc)}const cc=["k","key"];function Em(e){const t=Co(e,cc);if(t)return t;throw Gn(6)}function Co(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Pm(a),a===!1))return!1;m[1]()}};function x(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,i="\\"+S,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=Lm(s),p=To[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const dc=new Map;function Mm(e,t){return ze(e)?e[t]:null}function Nm(e,t){if(!ze(e))return null;let o=dc.get(t);if(o||(o=Im(t),o&&dc.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,Fm=e=>"",Om="text",Dm=e=>e.length===0?"":Gh(e),jm=Uh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function zm(e){const t=rt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(rt(e.named.count)||rt(e.named.n))?rt(e.named.count)?e.named.count:rt(e.named.n)?e.named.n:t:t}function Bm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Um(e={}){const t=e.locale,o=zm(e),n=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:fc,r=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?fc:void 0,s=A=>A[n(o,A.length,r)],a=e.list||[],i=A=>a[A],l=e.named||He();rt(e.pluralIndex)&&Bm(o,l);const c=A=>l[A];function u(A){const _=Xe(e.messages)?e.messages(A):ze(e.messages)?e.messages[A]:!1;return _||(e.parent?e.parent.message(A):Fm)}const p=A=>e.modifiers?e.modifiers[A]:Rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:Dm,x=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:jm,S=Pe(e.processor)&&fe(e.processor.type)?e.processor.type:Om,v={list:i,named:c,plural:s,linked:(A,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?ze(d)?(k=d.modifier||k,g=d.type||g):fe(d)&&(k=d||k):_.length===2&&(fe(d)&&(k=d||k),fe(f)&&(g=f||g));const $=u(A)(v),M=g==="vnode"&&Je($)&&k?$[0]:$;return k?p(k)(M,g):M},message:u,type:S,interpolate:x,normalize:m,values:pt(He(),a,l)};return v}let Hn=null;function Gm(e){Hn=e}function Hm(e,t,o){Hn&&Hn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const qm=Vm("function:translate");function Vm(e){return t=>Hn&&Hn.emit(e,t)}const Wm=Qs.__EXTEND_POINT__,zo=Hr(Wm),Km={FALLBACK_TO_TRANSLATE:zo(),CANNOT_FORMAT_NUMBER:zo(),FALLBACK_TO_NUMBER_FORMAT:zo(),CANNOT_FORMAT_DATE:zo(),FALLBACK_TO_DATE_FORMAT:zo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zo(),__EXTEND_POINT__:zo()},pc=Ee.__EXTEND_POINT__,Bo=Hr(pc),Ut={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:Bo(),INVALID_ISO_DATE_ARGUMENT:Bo(),NOT_SUPPORT_NON_STRING_MESSAGE:Bo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Bo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Bo(),NOT_SUPPORT_LOCALE_TYPE:Bo(),__EXTEND_POINT__:Bo()};function to(e){return rn(e,null,void 0)}function oa(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(fe(e))return e;if(Xe(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Bh(t))throw to(Ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw to(Ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw to(Ut.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,t,o){return[...new Set([o,...Je(t)?t:ze(t)?Object.keys(t):fe(t)?[t]:[o]])]}function hc(e,t,o){const n=fe(o)?o:ln,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Je(a);)a=mc(s,a,t);const i=Je(t)||!Pe(t)?t:t.default?t.default:null;a=fe(i)?[i]:i,Je(a)&&mc(s,a,!1),r.__localeChainCache.set(n,s)}return s}function mc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?_c(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function eb(e){wc=e}let xc;function tb(e){xc=e}let kc=null;const ob=e=>{kc=e},nb=()=>kc;let $c=null;const Sc=e=>{$c=e},rb=()=>$c;let Ec=0;function sb(e={}){const t=Xe(e.onWarn)?e.onWarn:Nh,o=fe(e.version)?e.version:Zm,n=fe(e.locale)||Xe(e.locale)?e.locale:ln,r=Xe(n)?ln:n,s=Je(e.fallbackLocale)||Pe(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:ra(r),i=Pe(e.datetimeFormats)?e.datetimeFormats:ra(r),l=Pe(e.numberFormats)?e.numberFormats:ra(r),c=pt(He(),e.modifiers,Qm()),u=e.pluralRules||He(),p=Xe(e.missing)?e.missing:null,m=Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,x=Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,y=!!e.unresolving,v=Xe(e.postTranslation)?e.postTranslation:null,A=Pe(e.processor)?e.processor:null,_=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Xe(e.messageCompiler)?e.messageCompiler:yc,g=Xe(e.messageResolver)?e.messageResolver:wc||Mm,k=Xe(e.localeFallbacker)?e.localeFallbacker:xc||Ym,$=ze(e.fallbackContext)?e.fallbackContext:void 0,M=e,L=ze(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,j=ze(M.__numberFormatters)?M.__numberFormatters:new Map,V=ze(M.__meta)?M.__meta:{};Ec++;const Q={version:o,cid:Ec,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:x,fallbackFormat:S,unresolving:y,postTranslation:v,processor:A,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Q.datetimeFormats=i,Q.numberFormats=l,Q.__datetimeFormatters=L,Q.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Hm(Q,o,V),Q}const ra=e=>({[e]:He()});function sa(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,o,t,r);return fe(i)?i:t}else return t}function qn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function ab(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nlb(o,e)}function lb(e,t){const o=wm(t);if(o==null)throw Gn(0);if(ta(o)===1){const s=xm(o);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,o)}function Ac(e,t){const o=km(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=$m(t).reduce((r,s)=>[...r,ia(e,s)],[]);return e.normalize(n)}}function ia(e,t){const o=ta(t);switch(o){case 3:return Kr(t,o);case 9:return Kr(t,o);case 4:{const n=t;if(zt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(zt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gn(o)}case 5:{const n=t;if(zt(n,"i")&&rt(n.i))return e.interpolate(e.list(n.i));if(zt(n,"index")&&rt(n.index))return e.interpolate(e.list(n.index));throw Gn(o)}case 6:{const n=t,r=Sm(n),s=Em(n);return e.linked(ia(e,s),r?ia(e,r):void 0,e.type)}case 7:return Kr(t,o);case 8:return Kr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Cc=e=>e;let cn=He();function Tc(e,t={}){let o=!1;const n=t.onError||Xh;return t.onError=r=>{o=!0,n(r)},{...ym(e,t),detectError:o}}const cb=(e,t)=>{if(!fe(e))throw to(Ut.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:cn[n]=i}};function ub(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=aa(s);return a?i:cn[n]=i}else{const o=e.cacheKey;if(o){const n=cn[o];return n||(cn[o]=aa(e))}else return aa(e)}}const Lc=()=>"",It=e=>Xe(e);function Pc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=la(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,p=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,S=fe(c.default)||Fe(c.default)?Fe(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",y=o||S!=="",v=oa(e,c);m&&db(c);let[A,_,d]=x?[l,v,i[v]||He()]:Ic(e,l,v,a,p,u),f=A,g=l;if(!x&&!(fe(f)||eo(f)||It(f))&&y&&(f=S,g=f),!x&&(!(fe(f)||eo(f)||It(f))||!fe(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},M=It(f)?f:Mc(e,l,_,f,g,$);if(k)return f;const L=gb(e,_,d,c),j=Um(L),V=fb(e,M,j);let Q=n?n(V,l):V;if(m&&fe(Q)&&(Q=jh(Q)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:fe(l)?l:It(f)?f.key:"",locale:_||(It(f)?f.locale:""),format:fe(f)?f:It(f)?f.source:"",message:Q};he.meta=pt({},e.__meta,nb()||{}),qm(he)}return Q}function db(e){Je(e.list)?e.list=e.list.map(t=>fe(t)?ql(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=ql(e.named[t]))})}function Ic(e,t,o,n,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=He(),m,x=null;const S="translate";for(let y=0;yn;return c.locale=o,c.key=t,c}const l=a(n,pb(e,o,r,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function fb(e,t,o){return t(o)}function la(...e){const[t,o,n]=e,r=He();if(!fe(t)&&!rt(t)&&!It(t)&&!eo(t))throw to(Ut.INVALID_ARGUMENT);const s=rt(t)?String(t):(It(t),t);return rt(o)?r.plural=o:fe(o)?r.default=o:Pe(o)&&!Gr(o)?r.named=o:Je(o)&&(r.list=o),rt(n)?r.plural=n:fe(n)?r.default=n:Pe(n)&&pt(r,n),[s,r]}function pb(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Rh(t,o,a)}}function gb(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:x=>{let S=a(o,x);if(S==null&&u){const[,,y]=Ic(u,x,t,i,l,c);S=a(y,x)}if(fe(S)||eo(S)){let y=!1;const A=Mc(e,x,t,S,x,()=>{y=!0});return y?Lc:A}else return It(S)?S:Lc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),rt(n.plural)&&(m.pluralIndex=n.plural),m}function Nc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ca(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.DateTimeFormat(S,p).format(c);let v={},A,_=null;const d="datetime format";for(let k=0;k{Rc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function Fc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ua(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.NumberFormat(S,p).format(c);let v={},A,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}vm();/*! + */function vm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function eo(e){return ze(e)&&ta(e)===0&&(zt(e,"b")||zt(e,"body"))}const oc=["b","body"];function wm(e){return Co(e,oc)}const nc=["c","cases"];function xm(e){return Co(e,nc,[])}const rc=["s","static"];function km(e){return Co(e,rc)}const sc=["i","items"];function $m(e){return Co(e,sc,[])}const ac=["t","type"];function ta(e){return Co(e,ac)}const ic=["v","value"];function Kr(e,t){const o=Co(e,ic);if(o!=null)return o;throw Gn(t)}const lc=["m","modifier"];function Sm(e){return Co(e,lc)}const cc=["k","key"];function Em(e){const t=Co(e,cc);if(t)return t;throw Gn(6)}function Co(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Pm(a),a===!1))return!1;m[1]()}};function x(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,i="\\"+S,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=Lm(s),p=To[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const dc=new Map;function Mm(e,t){return ze(e)?e[t]:null}function Nm(e,t){if(!ze(e))return null;let o=dc.get(t);if(o||(o=Im(t),o&&dc.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,Fm=e=>"",Om="text",Dm=e=>e.length===0?"":Gh(e),jm=Uh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function zm(e){const t=rt(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(rt(e.named.count)||rt(e.named.n))?rt(e.named.count)?e.named.count:rt(e.named.n)?e.named.n:t:t}function Bm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Um(e={}){const t=e.locale,o=zm(e),n=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:fc,r=ze(e.pluralRules)&&fe(t)&&Xe(e.pluralRules[t])?fc:void 0,s=A=>A[n(o,A.length,r)],a=e.list||[],i=A=>a[A],l=e.named||He();rt(e.pluralIndex)&&Bm(o,l);const c=A=>l[A];function u(A){const _=Xe(e.messages)?e.messages(A):ze(e.messages)?e.messages[A]:!1;return _||(e.parent?e.parent.message(A):Fm)}const p=A=>e.modifiers?e.modifiers[A]:Rm,m=Pe(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:Dm,x=Pe(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:jm,S=Pe(e.processor)&&fe(e.processor.type)?e.processor.type:Om,v={list:i,named:c,plural:s,linked:(A,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?ze(d)?(k=d.modifier||k,g=d.type||g):fe(d)&&(k=d||k):_.length===2&&(fe(d)&&(k=d||k),fe(f)&&(g=f||g));const $=u(A)(v),M=g==="vnode"&&Je($)&&k?$[0]:$;return k?p(k)(M,g):M},message:u,type:S,interpolate:x,normalize:m,values:pt(He(),a,l)};return v}let Hn=null;function Gm(e){Hn=e}function Hm(e,t,o){Hn&&Hn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const qm=Vm("function:translate");function Vm(e){return t=>Hn&&Hn.emit(e,t)}const Wm=Qs.__EXTEND_POINT__,zo=Hr(Wm),Km={FALLBACK_TO_TRANSLATE:zo(),CANNOT_FORMAT_NUMBER:zo(),FALLBACK_TO_NUMBER_FORMAT:zo(),CANNOT_FORMAT_DATE:zo(),FALLBACK_TO_DATE_FORMAT:zo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zo(),__EXTEND_POINT__:zo()},pc=Ee.__EXTEND_POINT__,Bo=Hr(pc),Ut={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:Bo(),INVALID_ISO_DATE_ARGUMENT:Bo(),NOT_SUPPORT_NON_STRING_MESSAGE:Bo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Bo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Bo(),NOT_SUPPORT_LOCALE_TYPE:Bo(),__EXTEND_POINT__:Bo()};function to(e){return rn(e,null,void 0)}function oa(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(fe(e))return e;if(Xe(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Bh(t))throw to(Ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw to(Ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw to(Ut.NOT_SUPPORT_LOCALE_TYPE)}function Ym(e,t,o){return[...new Set([o,...Je(t)?t:ze(t)?Object.keys(t):fe(t)?[t]:[o]])]}function hc(e,t,o){const n=fe(o)?o:ln,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Je(a);)a=mc(s,a,t);const i=Je(t)||!Pe(t)?t:t.default?t.default:null;a=fe(i)?[i]:i,Je(a)&&mc(s,a,!1),r.__localeChainCache.set(n,s)}return s}function mc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Qm(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&ze(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?_c(e):t==="vnode"&&ze(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function eb(e){wc=e}let xc;function tb(e){xc=e}let kc=null;const ob=e=>{kc=e},nb=()=>kc;let $c=null;const Sc=e=>{$c=e},rb=()=>$c;let Ec=0;function sb(e={}){const t=Xe(e.onWarn)?e.onWarn:Nh,o=fe(e.version)?e.version:Zm,n=fe(e.locale)||Xe(e.locale)?e.locale:ln,r=Xe(n)?ln:n,s=Je(e.fallbackLocale)||Pe(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Pe(e.messages)?e.messages:ra(r),i=Pe(e.datetimeFormats)?e.datetimeFormats:ra(r),l=Pe(e.numberFormats)?e.numberFormats:ra(r),c=pt(He(),e.modifiers,Qm()),u=e.pluralRules||He(),p=Xe(e.missing)?e.missing:null,m=Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,x=Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,y=!!e.unresolving,v=Xe(e.postTranslation)?e.postTranslation:null,A=Pe(e.processor)?e.processor:null,_=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Xe(e.messageCompiler)?e.messageCompiler:yc,g=Xe(e.messageResolver)?e.messageResolver:wc||Mm,k=Xe(e.localeFallbacker)?e.localeFallbacker:xc||Ym,$=ze(e.fallbackContext)?e.fallbackContext:void 0,M=e,L=ze(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,j=ze(M.__numberFormatters)?M.__numberFormatters:new Map,V=ze(M.__meta)?M.__meta:{};Ec++;const Q={version:o,cid:Ec,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:x,fallbackFormat:S,unresolving:y,postTranslation:v,processor:A,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Q.datetimeFormats=i,Q.numberFormats=l,Q.__datetimeFormatters=L,Q.__numberFormatters=j,__INTLIFY_PROD_DEVTOOLS__&&Hm(Q,o,V),Q}const ra=e=>({[e]:He()});function sa(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,o,t,r);return fe(i)?i:t}else return t}function qn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function ab(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nlb(o,e)}function lb(e,t){const o=wm(t);if(o==null)throw Gn(0);if(ta(o)===1){const s=xm(o);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,o)}function Ac(e,t){const o=km(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=$m(t).reduce((r,s)=>[...r,ia(e,s)],[]);return e.normalize(n)}}function ia(e,t){const o=ta(t);switch(o){case 3:return Kr(t,o);case 9:return Kr(t,o);case 4:{const n=t;if(zt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(zt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Gn(o)}case 5:{const n=t;if(zt(n,"i")&&rt(n.i))return e.interpolate(e.list(n.i));if(zt(n,"index")&&rt(n.index))return e.interpolate(e.list(n.index));throw Gn(o)}case 6:{const n=t,r=Sm(n),s=Em(n);return e.linked(ia(e,s),r?ia(e,r):void 0,e.type)}case 7:return Kr(t,o);case 8:return Kr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Cc=e=>e;let cn=He();function Tc(e,t={}){let o=!1;const n=t.onError||Xh;return t.onError=r=>{o=!0,n(r)},{...ym(e,t),detectError:o}}const cb=(e,t)=>{if(!fe(e))throw to(Ut.NOT_SUPPORT_NON_STRING_MESSAGE);{Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:cn[n]=i}};function ub(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Cc)(e),r=cn[n];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=aa(s);return a?i:cn[n]=i}else{const o=e.cacheKey;if(o){const n=cn[o];return n||(cn[o]=aa(e))}else return aa(e)}}const Lc=()=>"",It=e=>Xe(e);function Pc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=la(...t),u=Fe(c.missingWarn)?c.missingWarn:e.missingWarn,p=Fe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Fe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,S=fe(c.default)||Fe(c.default)?Fe(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",y=o||S!=="",v=oa(e,c);m&&db(c);let[A,_,d]=x?[l,v,i[v]||He()]:Ic(e,l,v,a,p,u),f=A,g=l;if(!x&&!(fe(f)||eo(f)||It(f))&&y&&(f=S,g=f),!x&&(!(fe(f)||eo(f)||It(f))||!fe(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},M=It(f)?f:Mc(e,l,_,f,g,$);if(k)return f;const L=gb(e,_,d,c),j=Um(L),V=fb(e,M,j);let Q=n?n(V,l):V;if(m&&fe(Q)&&(Q=jh(Q)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:fe(l)?l:It(f)?f.key:"",locale:_||(It(f)?f.locale:""),format:fe(f)?f:It(f)?f.source:"",message:Q};me.meta=pt({},e.__meta,nb()||{}),qm(me)}return Q}function db(e){Je(e.list)?e.list=e.list.map(t=>fe(t)?ql(t):t):ze(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=ql(e.named[t]))})}function Ic(e,t,o,n,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=He(),m,x=null;const S="translate";for(let y=0;yn;return c.locale=o,c.key=t,c}const l=a(n,pb(e,o,r,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function fb(e,t,o){return t(o)}function la(...e){const[t,o,n]=e,r=He();if(!fe(t)&&!rt(t)&&!It(t)&&!eo(t))throw to(Ut.INVALID_ARGUMENT);const s=rt(t)?String(t):(It(t),t);return rt(o)?r.plural=o:fe(o)?r.default=o:Pe(o)&&!Gr(o)?r.named=o:Je(o)&&(r.list=o),rt(n)?r.plural=n:fe(n)?r.default=n:Pe(n)&&pt(r,n),[s,r]}function pb(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Rh(t,o,a)}}function gb(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:x=>{let S=a(o,x);if(S==null&&u){const[,,y]=Ic(u,x,t,i,l,c);S=a(y,x)}if(fe(S)||eo(S)){let y=!1;const A=Mc(e,x,t,S,x,()=>{y=!0});return y?Lc:A}else return It(S)?S:Lc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),rt(n.plural)&&(m.pluralIndex=n.plural),m}function Nc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ca(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.DateTimeFormat(S,p).format(c);let v={},A,_=null;const d="datetime format";for(let k=0;k{Rc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function Fc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ua(...t),m=Fe(u.missingWarn)?u.missingWarn:e.missingWarn;Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,S=oa(e,u),y=a(e,r,S);if(!fe(l)||l==="")return new Intl.NumberFormat(S,p).format(c);let v={},A,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=o[l]:s[l]=o[l]}),fe(n)?s.locale=n:Pe(n)&&(a=n),Pe(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}vm();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const hb="9.14.5";function mb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(po().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(po().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1)}const bb=Km.__EXTEND_POINT__,ho=Hr(bb);ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho();const zc=Ut.__EXTEND_POINT__,$t=Hr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:$t(),MUST_BE_CALL_SETUP_TOP:$t(),NOT_INSTALLED:$t(),NOT_AVAILABLE_IN_LEGACY_MODE:$t(),REQUIRED_VALUE:$t(),INVALID_VALUE:$t(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:$t(),NOT_INSTALLED_WITH_PROVIDE:$t(),UNEXPECTED_ERROR:$t(),NOT_COMPATIBLE_LEGACY_VUE_I18N:$t(),BRIDGE_SUPPORT_VUE_2_ONLY:$t(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:$t(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:$t(),__EXTEND_POINT__:$t()};function lt(e,...t){return rn(e,null,void 0)}const da=So("__translateVNode"),fa=So("__datetimeParts"),pa=So("__numberParts"),Bc=So("__setPluralRules"),Uc=So("__injectWithOption"),ga=So("__dispose");function Vn(e){if(!ze(e)||eo(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))ze(e[t])&&Vn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||He(),Vr(c,a[l])):Vr(c,a)}else fe(i)&&Vr(JSON.parse(i),a)}),r==null&&s)for(const i in a)zt(a,i)&&Vn(a[i]);return a}function Gc(e){return e.type}function Hc(e,t,o){let n=ze(t.messages)?t.messages:He();"__i18nGlobal"in o&&(n=Xr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(ze(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ze(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function qc(e){return Oe(Nn,null,e,0)}const Vc="__INTLIFY_META__",Wc=()=>[],_b=()=>!1;let Kc=0;function Yc(e){return(t,o,n,r)=>e(o,n,uo()||void 0,r)}const yb=()=>{const e=uo();let t=null;return e&&(t=Gc(e)[Vc])?{[Vc]:t}:null};function ha(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Ur?de:Sn,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:fe(e.locale)?e.locale:ln),u=a(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,v=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,_=Xe(e.missing)?e.missing:null,d=Xe(e.missing)?Yc(e.missing):null,f=Xe(e.postTranslation)?e.postTranslation:null,g=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,L;L=(()=>{r&&Sc(null);const O={version:hb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:M,missing:d===null?void 0:d,missingWarn:S,fallbackWarn:y,fallbackFormat:A,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=x.value,O.__datetimeFormatters=Pe(L)?L.__datetimeFormatters:void 0,O.__numberFormatters=Pe(L)?L.__numberFormatters:void 0;const C=sb(O);return r&&Sc(C),C})(),qn(L,c.value,u.value);function V(){return[c.value,u.value,p.value,m.value,x.value]}const Q=re({get:()=>c.value,set:O=>{c.value=O,L.locale=c.value}}),he=re({get:()=>u.value,set:O=>{u.value=O,L.fallbackLocale=u.value,qn(L,c.value,O)}}),B=re(()=>p.value),X=re(()=>m.value),H=re(()=>x.value);function z(){return Xe(f)?f:null}function P(O){f=O,L.postTranslation=O}function G(){return _}function F(O){O!==null&&(d=Yc(O)),_=O,L.missing=d}const I=(O,C,J,oe,me,ke)=>{V();let qe;try{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=o?rb():void 0),qe=O(L)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=void 0)}if(J!=="translate exists"&&rt(qe)&&qe===Yr||J==="translate exists"&&!qe){const[We,kt]=C();return o&&v?oe(o):me(We)}else{if(ke(qe))return qe;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function q(...O){return I(C=>Reflect.apply(Pc,null,[C,...O]),()=>la(...O),"translate",C=>Reflect.apply(C.t,C,[...O]),C=>C,C=>fe(C))}function ce(...O){const[C,J,oe]=O;if(oe&&!ze(oe))throw lt(at.INVALID_ARGUMENT);return q(C,J,pt({resolvedMessage:!0},oe||{}))}function be(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>Reflect.apply(C.d,C,[...O]),()=>bc,C=>fe(C))}function $e(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>Reflect.apply(C.n,C,[...O]),()=>bc,C=>fe(C))}function Me(O){return O.map(C=>fe(C)||rt(C)||Fe(C)?qc(String(C)):C)}const xe={normalize:Me,interpolate:O=>O,type:"vnode"};function _e(...O){return I(C=>{let J;const oe=C;try{oe.processor=xe,J=Reflect.apply(Pc,null,[oe,...O])}finally{oe.processor=null}return J},()=>la(...O),"translate",C=>C[da](...O),C=>[qc(C)],C=>Je(C))}function ge(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>C[pa](...O),Wc,C=>fe(C)||Je(C))}function ye(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>C[fa](...O),Wc,C=>fe(C)||Je(C))}function w(O){M=O,L.pluralRules=M}function T(O,C){return I(()=>{if(!O)return!1;const J=fe(C)?C:c.value,oe=W(J),me=L.messageResolver(oe,O);return i?me!=null:eo(me)||It(me)||fe(me)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,C]),_b,J=>Fe(J))}function E(O){let C=null;const J=hc(L,u.value,c.value);for(let oe=0;oe{l&&(c.value=O,L.locale=O,qn(L,c.value,u.value))}),dt(o.fallbackLocale,O=>{l&&(u.value=O,L.fallbackLocale=O,qn(L,c.value,u.value))}));const se={id:Kc,locale:Q,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,qn(L,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:B,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(O){S=O,L.missingWarn=S},get fallbackWarn(){return y},set fallbackWarn(O){y=O,L.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return A},set fallbackFormat(O){A=O,L.fallbackFormat=A},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,L.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,L.escapeParameter=O},t:q,getLocaleMessage:W,setLocaleMessage:Z,mergeLocaleMessage:ae,getPostTranslationHandler:z,setPostTranslationHandler:P,getMissingHandler:G,setMissingHandler:F,[Bc]:w};return se.datetimeFormats=X,se.numberFormats=H,se.rt=ce,se.te=T,se.tm=U,se.d=be,se.n=$e,se.getDateTimeFormat=te,se.setDateTimeFormat=h,se.mergeDateTimeFormat=b,se.getNumberFormat=D,se.setNumberFormat=K,se.mergeNumberFormat=ie,se[Uc]=n,se[da]=_e,se[fa]=ye,se[pa]=ge,se}function vb(e){const t=fe(e.locale)?e.locale:ln,o=fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=Fe(e.silentTranslationWarn)||Eo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Fe(e.silentFallbackWarn)||Eo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,x=Fe(e.sync)?e.sync:!0;let S=e.messages;if(Pe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,L)=>{const j=M[L]||(M[L]={});return pt(j,k[L]),M},S||{})}const{__i18n:y,__root:v,__injectWithOption:A}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:f,datetimeFormats:_,numberFormats:d,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:A}}function ma(e={},t){{const o=ha(vb(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Fe(s)?!s:s},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Fe(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:Je(i)?u=i:Pe(i)&&(p=i),Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:rt(i)?c.plural=i:Je(i)?u=i:Pe(i)&&(p=i),fe(l)?c.locale=l:Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ba={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function wb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ie?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},He())}function Xc(e){return Ie}const Jc=Ln({name:"i18n-t",props:pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>rt(e)||!isNaN(e)}},ba),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||un({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(p=>p!=="_"),a=He();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const i=wb(t,s),l=r[da](e.keypath,i,a),c=pt(He(),n),u=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function xb(e){return Je(e)&&!fe(e[0])}function Zc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=He();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:ze(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((m,x)=>o.includes(x)?pt(He(),m,{[x]:e.format[x]}):m,He()));const l=n(e.value,a,i);let c=[a.key];Je(l)?c=l.map((m,x)=>{const S=r[m.type],y=S?S({[m.type]:m.value,index:x,parts:l}):[m.value];return xb(y)&&(y[0].key=`${m.type}-${x}`),y}):fe(l)&&(c=[l]);const u=pt(He(),s),p=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Ln({name:"i18n-n",props:pt({value:{type:Number,required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...n)=>o[pa](...n))}}),eu=Ln({name:"i18n-d",props:pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Rc,(...n)=>o[fa](...n))}});function kb(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 $b(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=kb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...ou(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=dt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...ou(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(fe(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function ou(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},i=n||{};return fe(o)&&(a.locale=o),rt(r)&&(a.plural=r),rt(s)&&(a.plural=s),[t,i,a]}function Sb(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",$b(t))}function Eb(e,t,o){return{beforeCreate(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=nu(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ma(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=nu(e,r);else{this.$i18n=ma({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Hc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function nu(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[Bc](t.pluralizationRules||e.pluralizationRules);const o=Xr(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 Ab=So("global-vue-i18n");function Cb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,i]=Tb(e,o),l=So("");function c(m){return s.get(m)||null}function u(m,x){s.set(m,x)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(x,...S){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,m),Pe(S[0])){const A=S[0];m.__composerExtend=A.__composerExtend,m.__vueI18nExtend=A.__vueI18nExtend}let y=null;!o&&n&&(y=Db(x,m.global)),__VUE_I18N_FULL_INSTALL__&&Sb(x,m,...S),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Eb(i,i.__composer,m));const v=x.unmount;x.unmount=()=>{y&&y(),m.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function un(e={}){const t=uo();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const o=Lb(t),n=Ib(o),r=Gc(t),s=Pb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Fb(t,s,n,e)}if(s==="global")return Hc(n,e,r),n;if(s==="parent"){let l=Mb(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=pt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ha(l),a.__composerExtend&&(i[ga]=a.__composerExtend(i)),Rb(a,t,i),a.__setInstance(t,i)}return i}function Tb(e,t,o){const n=fs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ma(e)):n.run(()=>ha(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[n,r]}}function Lb(e){{const t=Le(e.isCE?Ab:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Pb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Ib(e){return e.mode==="composition"?e.global:e.global.__composer}function Mb(e,t,o=!1){let n=null;const r=t.root;let s=Nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Uc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function Nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Rb(e,t,o){_t(()=>{},t),Cr(()=>{const n=o;e.__deleteInstance(t);const r=n[ga];r&&(r(),delete n[ga])},t)}function Fb(e,t,o,n={}){const r=t==="local",s=Sn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Fe(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!r||a?o.locale.value:fe(n.locale)?n.locale:ln),l=de(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Je(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Xr(i.value,n)),u=de(Pe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Pe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=r?o.missingWarn:Fe(n.missingWarn)||Eo(n.missingWarn)?n.missingWarn:!0,x=r?o.fallbackWarn:Fe(n.fallbackWarn)||Eo(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,v=Xe(n.missing)?n.missing:null,A=Xe(n.postTranslation)?n.postTranslation:null,_=r?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,f=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},g=n.pluralRules||r&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:E=>{s.value&&(s.value.locale.value=E),i.value=E}}),M=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:E=>{s.value&&(s.value.fallbackLocale.value=E),l.value=E}}),L=re(()=>s.value?s.value.messages.value:c.value),j=re(()=>u.value),V=re(()=>p.value);function Q(){return s.value?s.value.getPostTranslationHandler():A}function he(E){s.value&&s.value.setPostTranslationHandler(E)}function B(){return s.value?s.value.getMissingHandler():v}function X(E){s.value&&s.value.setMissingHandler(E)}function H(E){return k(),E()}function z(...E){return s.value?H(()=>Reflect.apply(s.value.t,null,[...E])):H(()=>"")}function P(...E){return s.value?Reflect.apply(s.value.rt,null,[...E]):""}function G(...E){return s.value?H(()=>Reflect.apply(s.value.d,null,[...E])):H(()=>"")}function F(...E){return s.value?H(()=>Reflect.apply(s.value.n,null,[...E])):H(()=>"")}function I(E){return s.value?s.value.tm(E):{}}function q(E,U){return s.value?s.value.te(E,U):!1}function ce(E){return s.value?s.value.getLocaleMessage(E):{}}function be(E,U){s.value&&(s.value.setLocaleMessage(E,U),c.value[E]=U)}function $e(E,U){s.value&&s.value.mergeLocaleMessage(E,U)}function Me(E){return s.value?s.value.getDateTimeFormat(E):{}}function Ae(E,U){s.value&&(s.value.setDateTimeFormat(E,U),u.value[E]=U)}function xe(E,U){s.value&&s.value.mergeDateTimeFormat(E,U)}function _e(E){return s.value?s.value.getNumberFormat(E):{}}function ge(E,U){s.value&&(s.value.setNumberFormat(E,U),p.value[E]=U)}function ye(E,U){s.value&&s.value.mergeNumberFormat(E,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:L,datetimeFormats:j,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(E){s.value&&(s.value.inheritLocale=E)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackRoot(){return s.value?s.value.fallbackRoot:S},set fallbackRoot(E){s.value&&(s.value.fallbackRoot=E)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(E){s.value&&(s.value.fallbackFormat=E)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(E){s.value&&(s.value.warnHtmlMessage=E)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(E){s.value&&(s.value.escapeParameter=E)},t:z,getPostTranslationHandler:Q,setPostTranslationHandler:he,getMissingHandler:B,setMissingHandler:X,rt:P,d:G,n:F,tm:I,te:q,getLocaleMessage:ce,setLocaleMessage:be,mergeLocaleMessage:$e,getDateTimeFormat:Me,setDateTimeFormat:Ae,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ge,mergeNumberFormat:ye};function T(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{E.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{E.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{E.mergeNumberFormat(U,p.value[U])}),E.escapeParameter=d,E.fallbackFormat=y,E.fallbackRoot=S,E.fallbackWarn=x,E.missingWarn=m,E.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):r&&T(E)}),w}const Ob=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Db(e,t){const o=Object.create(null);return Ob.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Qe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(mb(),__INTLIFY_JIT_COMPILATION__?vc(ub):vc(cb),eb(Nm),tb(hc),__INTLIFY_PROD_DEVTOOLS__){const e=po();e.__INTLIFY__=!0,Gm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const jb=Object.assign({"./locales/ar/aria.json":qp,"./locales/ar/buttons.json":Vp,"./locales/ar/detail.json":Wp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Yp,"./locales/ar/options.json":Xp,"./locales/ar/prayerLaps.json":Jp,"./locales/ar/search.json":Zp,"./locales/ar/tabs.json":Qp,"./locales/de/aria.json":eg,"./locales/de/buttons.json":tg,"./locales/de/detail.json":og,"./locales/de/legend.json":ng,"./locales/de/messages.json":rg,"./locales/de/options.json":sg,"./locales/de/prayerLaps.json":ag,"./locales/de/search.json":ig,"./locales/de/tabs.json":lg,"./locales/en/aria.json":cg,"./locales/en/buttons.json":ug,"./locales/en/detail.json":dg,"./locales/en/legend.json":fg,"./locales/en/messages.json":pg,"./locales/en/options.json":gg,"./locales/en/popup.json":hg,"./locales/en/prayerLaps.json":mg,"./locales/en/search.json":bg,"./locales/en/tabs.json":_g,"./locales/es/aria.json":yg,"./locales/es/buttons.json":vg,"./locales/es/detail.json":wg,"./locales/es/legend.json":xg,"./locales/es/messages.json":kg,"./locales/es/options.json":$g,"./locales/es/prayerLaps.json":Sg,"./locales/es/search.json":Eg,"./locales/es/tabs.json":Ag,"./locales/fr/aria.json":Cg,"./locales/fr/buttons.json":Tg,"./locales/fr/detail.json":Lg,"./locales/fr/legend.json":Pg,"./locales/fr/messages.json":Ig,"./locales/fr/options.json":Mg,"./locales/fr/popup.json":Ng,"./locales/fr/prayerLaps.json":Rg,"./locales/fr/search.json":Fg,"./locales/fr/tabs.json":Og,"./locales/hi/aria.json":Dg,"./locales/hi/buttons.json":jg,"./locales/hi/detail.json":zg,"./locales/hi/legend.json":Bg,"./locales/hi/messages.json":Ug,"./locales/hi/options.json":Gg,"./locales/hi/prayerLaps.json":Hg,"./locales/hi/search.json":qg,"./locales/it/aria.json":Vg,"./locales/it/buttons.json":Wg,"./locales/it/detail.json":Kg,"./locales/it/legend.json":Yg,"./locales/it/messages.json":Xg,"./locales/it/options.json":Jg,"./locales/it/prayerLaps.json":Zg,"./locales/it/search.json":Qg,"./locales/pt/aria.json":eh,"./locales/pt/buttons.json":th,"./locales/pt/detail.json":oh,"./locales/pt/legend.json":nh,"./locales/pt/messages.json":rh,"./locales/pt/options.json":sh,"./locales/pt/prayerLaps.json":ah,"./locales/pt/search.json":ih,"./locales/pt/tabs.json":lh,"./locales/ro/aria.json":ch,"./locales/ro/buttons.json":uh,"./locales/ro/detail.json":dh,"./locales/ro/legend.json":fh,"./locales/ro/messages.json":ph,"./locales/ro/options.json":gh,"./locales/ro/prayerLaps.json":hh,"./locales/ro/search.json":mh,"./locales/ru/aria.json":bh,"./locales/ru/buttons.json":_h,"./locales/ru/detail.json":yh,"./locales/ru/legend.json":vh,"./locales/ru/messages.json":wh,"./locales/ru/options.json":xh,"./locales/ru/prayerLaps.json":kh,"./locales/ru/search.json":$h,"./locales/ru/tabs.json":Sh,"./locales/zh/aria.json":Eh,"./locales/zh/buttons.json":Ah,"./locales/zh/detail.json":Ch,"./locales/zh/legend.json":Th,"./locales/zh/messages.json":Lh,"./locales/zh/options.json":Ph,"./locales/zh/prayerLaps.json":Ih,"./locales/zh/search.json":Mh}),Wn={};for(const[e,t]of Object.entries(jb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Wn[n]??(Wn[n]={}),Wn[n][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function zb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Bb(){return Cb({legacy:!1,globalInjection:!0,locale:zb(),fallbackLocale:"en",messages:Wn,missingWarn:!1,fallbackWarn:!1})}function Lt(e,t){const o=t||Ub(e);_t(()=>{var i;const n=uo();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Ub(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=o==null?void 0:o.value)==null?void 0:v.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=de(!1),a=de(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function x(v,A){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===A||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function S(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const A=v.getBoundingClientRect();if(!A.height)return;const _=Math.round(A.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const A=a.value;if(!A||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=A.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);A.style.setProperty("--pin-hint-attrib-clear",d+"px"),S()}return _t(()=>{var d,f,g;const v=uo(),A=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!A||typeof A.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=A.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Ro(()=>{const $=x(k,A),M=a.value;if($&&M&&M.parentElement!==$)try{$.appendChild(M),l=$}catch{}y(A),S();try{const L=a.value&&a.value.offsetParent||null;if(L&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>S()),u.observe(L)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Dt(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Lt(` + */const hb="9.14.5";function mb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(po().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(po().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(po().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(po().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(po().__INTLIFY_PROD_DEVTOOLS__=!1)}const bb=Km.__EXTEND_POINT__,ho=Hr(bb);ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho(),ho();const zc=Ut.__EXTEND_POINT__,$t=Hr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:$t(),MUST_BE_CALL_SETUP_TOP:$t(),NOT_INSTALLED:$t(),NOT_AVAILABLE_IN_LEGACY_MODE:$t(),REQUIRED_VALUE:$t(),INVALID_VALUE:$t(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:$t(),NOT_INSTALLED_WITH_PROVIDE:$t(),UNEXPECTED_ERROR:$t(),NOT_COMPATIBLE_LEGACY_VUE_I18N:$t(),BRIDGE_SUPPORT_VUE_2_ONLY:$t(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:$t(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:$t(),__EXTEND_POINT__:$t()};function lt(e,...t){return rn(e,null,void 0)}const da=So("__translateVNode"),fa=So("__datetimeParts"),pa=So("__numberParts"),Bc=So("__setPluralRules"),Uc=So("__injectWithOption"),ga=So("__dispose");function Vn(e){if(!ze(e)||eo(e))return e;for(const t in e)if(zt(e,t))if(!t.includes("."))ze(e[t])&&Vn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||He(),Vr(c,a[l])):Vr(c,a)}else fe(i)&&Vr(JSON.parse(i),a)}),r==null&&s)for(const i in a)zt(a,i)&&Vn(a[i]);return a}function Gc(e){return e.type}function Hc(e,t,o){let n=ze(t.messages)?t.messages:He();"__i18nGlobal"in o&&(n=Xr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(ze(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(ze(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function qc(e){return Oe(Nn,null,e,0)}const Vc="__INTLIFY_META__",Wc=()=>[],_b=()=>!1;let Kc=0;function Yc(e){return(t,o,n,r)=>e(o,n,uo()||void 0,r)}const yb=()=>{const e=uo();let t=null;return e&&(t=Gc(e)[Vc])?{[Vc]:t}:null};function ha(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Ur?de:Sn,i=!!e.translateExistCompatible;let l=Fe(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:fe(e.locale)?e.locale:ln),u=a(o&&l?o.fallbackLocale.value:fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),m=a(Pe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Pe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Fe(e.missingWarn)||Eo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:Fe(e.fallbackWarn)||Eo(e.fallbackWarn)?e.fallbackWarn:!0,v=o?o.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,A=!!e.fallbackFormat,_=Xe(e.missing)?e.missing:null,d=Xe(e.missing)?Yc(e.missing):null,f=Xe(e.postTranslation)?e.postTranslation:null,g=o?o.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=o?o.modifiers:Pe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,L;L=(()=>{r&&Sc(null);const O={version:hb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:M,missing:d===null?void 0:d,missingWarn:S,fallbackWarn:y,fallbackFormat:A,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=x.value,O.__datetimeFormatters=Pe(L)?L.__datetimeFormatters:void 0,O.__numberFormatters=Pe(L)?L.__numberFormatters:void 0;const C=sb(O);return r&&Sc(C),C})(),qn(L,c.value,u.value);function V(){return[c.value,u.value,p.value,m.value,x.value]}const Q=re({get:()=>c.value,set:O=>{c.value=O,L.locale=c.value}}),me=re({get:()=>u.value,set:O=>{u.value=O,L.fallbackLocale=u.value,qn(L,c.value,O)}}),B=re(()=>p.value),X=re(()=>m.value),H=re(()=>x.value);function z(){return Xe(f)?f:null}function P(O){f=O,L.postTranslation=O}function G(){return _}function F(O){O!==null&&(d=Yc(O)),_=O,L.missing=d}const I=(O,C,J,oe,be,ke)=>{V();let qe;try{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=o?rb():void 0),qe=O(L)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(L.fallbackContext=void 0)}if(J!=="translate exists"&&rt(qe)&&qe===Yr||J==="translate exists"&&!qe){const[We,kt]=C();return o&&v?oe(o):be(We)}else{if(ke(qe))return qe;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function q(...O){return I(C=>Reflect.apply(Pc,null,[C,...O]),()=>la(...O),"translate",C=>Reflect.apply(C.t,C,[...O]),C=>C,C=>fe(C))}function ce(...O){const[C,J,oe]=O;if(oe&&!ze(oe))throw lt(at.INVALID_ARGUMENT);return q(C,J,pt({resolvedMessage:!0},oe||{}))}function he(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>Reflect.apply(C.d,C,[...O]),()=>bc,C=>fe(C))}function $e(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>Reflect.apply(C.n,C,[...O]),()=>bc,C=>fe(C))}function Me(O){return O.map(C=>fe(C)||rt(C)||Fe(C)?qc(String(C)):C)}const xe={normalize:Me,interpolate:O=>O,type:"vnode"};function _e(...O){return I(C=>{let J;const oe=C;try{oe.processor=xe,J=Reflect.apply(Pc,null,[oe,...O])}finally{oe.processor=null}return J},()=>la(...O),"translate",C=>C[da](...O),C=>[qc(C)],C=>Je(C))}function ge(...O){return I(C=>Reflect.apply(Oc,null,[C,...O]),()=>ua(...O),"number format",C=>C[pa](...O),Wc,C=>fe(C)||Je(C))}function ye(...O){return I(C=>Reflect.apply(Nc,null,[C,...O]),()=>ca(...O),"datetime format",C=>C[fa](...O),Wc,C=>fe(C)||Je(C))}function w(O){M=O,L.pluralRules=M}function T(O,C){return I(()=>{if(!O)return!1;const J=fe(C)?C:c.value,oe=W(J),be=L.messageResolver(oe,O);return i?be!=null:eo(be)||It(be)||fe(be)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,C]),_b,J=>Fe(J))}function E(O){let C=null;const J=hc(L,u.value,c.value);for(let oe=0;oe{l&&(c.value=O,L.locale=O,qn(L,c.value,u.value))}),dt(o.fallbackLocale,O=>{l&&(u.value=O,L.fallbackLocale=O,qn(L,c.value,u.value))}));const se={id:Kc,locale:Q,fallbackLocale:me,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,qn(L,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:B,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(O){S=O,L.missingWarn=S},get fallbackWarn(){return y},set fallbackWarn(O){y=O,L.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return A},set fallbackFormat(O){A=O,L.fallbackFormat=A},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,L.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,L.escapeParameter=O},t:q,getLocaleMessage:W,setLocaleMessage:Z,mergeLocaleMessage:ae,getPostTranslationHandler:z,setPostTranslationHandler:P,getMissingHandler:G,setMissingHandler:F,[Bc]:w};return se.datetimeFormats=X,se.numberFormats=H,se.rt=ce,se.te=T,se.tm=U,se.d=he,se.n=$e,se.getDateTimeFormat=te,se.setDateTimeFormat=h,se.mergeDateTimeFormat=b,se.getNumberFormat=D,se.setNumberFormat=K,se.mergeNumberFormat=ie,se[Uc]=n,se[da]=_e,se[fa]=ye,se[pa]=ge,se}function vb(e){const t=fe(e.locale)?e.locale:ln,o=fe(e.fallbackLocale)||Je(e.fallbackLocale)||Pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Xe(e.missing)?e.missing:void 0,r=Fe(e.silentTranslationWarn)||Eo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Fe(e.silentFallbackWarn)||Eo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Fe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Pe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,x=Fe(e.sync)?e.sync:!0;let S=e.messages;if(Pe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,L)=>{const j=M[L]||(M[L]={});return pt(j,k[L]),M},S||{})}const{__i18n:y,__root:v,__injectWithOption:A}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:f,datetimeFormats:_,numberFormats:d,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:A}}function ma(e={},t){{const o=ha(vb(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},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(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Fe(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Fe(s)?!s:s},get silentFallbackWarn(){return Fe(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Fe(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:Je(i)?u=i:Pe(i)&&(p=i),Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!fe(a))throw lt(at.INVALID_ARGUMENT);const m=a;return fe(i)?c.locale=i:rt(i)?c.plural=i:Je(i)?u=i:Pe(i)&&(p=i),fe(l)?c.locale=l:Je(l)?u=l:Pe(l)&&(p=l),Reflect.apply(o.t,o,[m,u||p||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ba={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function wb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ie?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},He())}function Xc(e){return Ie}const Jc=Ln({name:"i18n-t",props:pt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>rt(e)||!isNaN(e)}},ba),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||un({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(p=>p!=="_"),a=He();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const i=wb(t,s),l=r[da](e.keypath,i,a),c=pt(He(),n),u=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function xb(e){return Je(e)&&!fe(e[0])}function Zc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=He();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:ze(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((m,x)=>o.includes(x)?pt(He(),m,{[x]:e.format[x]}):m,He()));const l=n(e.value,a,i);let c=[a.key];Je(l)?c=l.map((m,x)=>{const S=r[m.type],y=S?S({[m.type]:m.value,index:x,parts:l}):[m.value];return xb(y)&&(y[0].key=`${m.type}-${x}`),y}):fe(l)&&(c=[l]);const u=pt(He(),s),p=fe(e.tag)||ze(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Ln({name:"i18n-n",props:pt({value:{type:Number,required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...n)=>o[pa](...n))}}),eu=Ln({name:"i18n-d",props:pt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ba),setup(e,t){const o=e.i18n||un({useScope:e.scope,__useComponent:!0});return Zc(e,t,Rc,(...n)=>o[fa](...n))}});function kb(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 $b(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=kb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...ou(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=dt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...ou(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(fe(e))return{path:e};if(Pe(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function ou(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},i=n||{};return fe(o)&&(a.locale=o),rt(r)&&(a.plural=r),rt(s)&&(a.plural=s),[t,i,a]}function Sb(e,t,...o){const n=Pe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Fe(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",$b(t))}function Eb(e,t,o){return{beforeCreate(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=nu(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=ma(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=nu(e,r);else{this.$i18n=ma({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Hc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=uo();if(!n)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function nu(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[Bc](t.pluralizationRules||e.pluralizationRules);const o=Xr(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 Ab=So("global-vue-i18n");function Cb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Fe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Fe(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,i]=Tb(e,o),l=So("");function c(m){return s.get(m)||null}function u(m,x){s.set(m,x)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(x,...S){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,m),Pe(S[0])){const A=S[0];m.__composerExtend=A.__composerExtend,m.__vueI18nExtend=A.__vueI18nExtend}let y=null;!o&&n&&(y=Db(x,m.global)),__VUE_I18N_FULL_INSTALL__&&Sb(x,m,...S),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Eb(i,i.__composer,m));const v=x.unmount;x.unmount=()=>{y&&y(),m.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function un(e={}){const t=uo();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const o=Lb(t),n=Ib(o),r=Gc(t),s=Pb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Fb(t,s,n,e)}if(s==="global")return Hc(n,e,r),n;if(s==="parent"){let l=Mb(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=pt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=ha(l),a.__composerExtend&&(i[ga]=a.__composerExtend(i)),Rb(a,t,i),a.__setInstance(t,i)}return i}function Tb(e,t,o){const n=fs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ma(e)):n.run(()=>ha(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[n,r]}}function Lb(e){{const t=Le(e.isCE?Ab:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Pb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Ib(e){return e.mode==="composition"?e.global:e.global.__composer}function Mb(e,t,o=!1){let n=null;const r=t.root;let s=Nb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Uc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function Nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Rb(e,t,o){_t(()=>{},t),Cr(()=>{const n=o;e.__deleteInstance(t);const r=n[ga];r&&(r(),delete n[ga])},t)}function Fb(e,t,o,n={}){const r=t==="local",s=Sn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Fe(n.inheritLocale)?n.inheritLocale:!fe(n.locale),i=de(!r||a?o.locale.value:fe(n.locale)?n.locale:ln),l=de(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Je(n.fallbackLocale)||Pe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=de(Xr(i.value,n)),u=de(Pe(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=de(Pe(n.numberFormats)?n.numberFormats:{[i.value]:{}}),m=r?o.missingWarn:Fe(n.missingWarn)||Eo(n.missingWarn)?n.missingWarn:!0,x=r?o.fallbackWarn:Fe(n.fallbackWarn)||Eo(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Fe(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,v=Xe(n.missing)?n.missing:null,A=Xe(n.postTranslation)?n.postTranslation:null,_=r?o.warnHtmlMessage:Fe(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,f=r?o.modifiers:Pe(n.modifiers)?n.modifiers:{},g=n.pluralRules||r&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:E=>{s.value&&(s.value.locale.value=E),i.value=E}}),M=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:E=>{s.value&&(s.value.fallbackLocale.value=E),l.value=E}}),L=re(()=>s.value?s.value.messages.value:c.value),j=re(()=>u.value),V=re(()=>p.value);function Q(){return s.value?s.value.getPostTranslationHandler():A}function me(E){s.value&&s.value.setPostTranslationHandler(E)}function B(){return s.value?s.value.getMissingHandler():v}function X(E){s.value&&s.value.setMissingHandler(E)}function H(E){return k(),E()}function z(...E){return s.value?H(()=>Reflect.apply(s.value.t,null,[...E])):H(()=>"")}function P(...E){return s.value?Reflect.apply(s.value.rt,null,[...E]):""}function G(...E){return s.value?H(()=>Reflect.apply(s.value.d,null,[...E])):H(()=>"")}function F(...E){return s.value?H(()=>Reflect.apply(s.value.n,null,[...E])):H(()=>"")}function I(E){return s.value?s.value.tm(E):{}}function q(E,U){return s.value?s.value.te(E,U):!1}function ce(E){return s.value?s.value.getLocaleMessage(E):{}}function he(E,U){s.value&&(s.value.setLocaleMessage(E,U),c.value[E]=U)}function $e(E,U){s.value&&s.value.mergeLocaleMessage(E,U)}function Me(E){return s.value?s.value.getDateTimeFormat(E):{}}function Ae(E,U){s.value&&(s.value.setDateTimeFormat(E,U),u.value[E]=U)}function xe(E,U){s.value&&s.value.mergeDateTimeFormat(E,U)}function _e(E){return s.value?s.value.getNumberFormat(E):{}}function ge(E,U){s.value&&(s.value.setNumberFormat(E,U),p.value[E]=U)}function ye(E,U){s.value&&s.value.mergeNumberFormat(E,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:L,datetimeFormats:j,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(E){s.value&&(s.value.inheritLocale=E)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(E){s.value&&(s.value.missingWarn=E)},get fallbackRoot(){return s.value?s.value.fallbackRoot:S},set fallbackRoot(E){s.value&&(s.value.fallbackRoot=E)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(E){s.value&&(s.value.fallbackFormat=E)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(E){s.value&&(s.value.warnHtmlMessage=E)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(E){s.value&&(s.value.escapeParameter=E)},t:z,getPostTranslationHandler:Q,setPostTranslationHandler:me,getMissingHandler:B,setMissingHandler:X,rt:P,d:G,n:F,tm:I,te:q,getLocaleMessage:ce,setLocaleMessage:he,mergeLocaleMessage:$e,getDateTimeFormat:Me,setDateTimeFormat:Ae,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ge,mergeNumberFormat:ye};function T(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{E.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{E.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{E.mergeNumberFormat(U,p.value[U])}),E.escapeParameter=d,E.fallbackFormat=y,E.fallbackRoot=S,E.fallbackWarn=x,E.missingWarn=m,E.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):r&&T(E)}),w}const Ob=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Db(e,t){const o=Object.create(null);return Ob.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Qe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(mb(),__INTLIFY_JIT_COMPILATION__?vc(ub):vc(cb),eb(Nm),tb(hc),__INTLIFY_PROD_DEVTOOLS__){const e=po();e.__INTLIFY__=!0,Gm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const jb=Object.assign({"./locales/ar/aria.json":qp,"./locales/ar/buttons.json":Vp,"./locales/ar/detail.json":Wp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Yp,"./locales/ar/options.json":Xp,"./locales/ar/prayerLaps.json":Jp,"./locales/ar/search.json":Zp,"./locales/ar/tabs.json":Qp,"./locales/de/aria.json":eg,"./locales/de/buttons.json":tg,"./locales/de/detail.json":og,"./locales/de/legend.json":ng,"./locales/de/messages.json":rg,"./locales/de/options.json":sg,"./locales/de/prayerLaps.json":ag,"./locales/de/search.json":ig,"./locales/de/tabs.json":lg,"./locales/en/aria.json":cg,"./locales/en/buttons.json":ug,"./locales/en/detail.json":dg,"./locales/en/legend.json":fg,"./locales/en/messages.json":pg,"./locales/en/options.json":gg,"./locales/en/popup.json":hg,"./locales/en/prayerLaps.json":mg,"./locales/en/search.json":bg,"./locales/en/tabs.json":_g,"./locales/es/aria.json":yg,"./locales/es/buttons.json":vg,"./locales/es/detail.json":wg,"./locales/es/legend.json":xg,"./locales/es/messages.json":kg,"./locales/es/options.json":$g,"./locales/es/prayerLaps.json":Sg,"./locales/es/search.json":Eg,"./locales/es/tabs.json":Ag,"./locales/fr/aria.json":Cg,"./locales/fr/buttons.json":Tg,"./locales/fr/detail.json":Lg,"./locales/fr/legend.json":Pg,"./locales/fr/messages.json":Ig,"./locales/fr/options.json":Mg,"./locales/fr/popup.json":Ng,"./locales/fr/prayerLaps.json":Rg,"./locales/fr/search.json":Fg,"./locales/fr/tabs.json":Og,"./locales/hi/aria.json":Dg,"./locales/hi/buttons.json":jg,"./locales/hi/detail.json":zg,"./locales/hi/legend.json":Bg,"./locales/hi/messages.json":Ug,"./locales/hi/options.json":Gg,"./locales/hi/prayerLaps.json":Hg,"./locales/hi/search.json":qg,"./locales/it/aria.json":Vg,"./locales/it/buttons.json":Wg,"./locales/it/detail.json":Kg,"./locales/it/legend.json":Yg,"./locales/it/messages.json":Xg,"./locales/it/options.json":Jg,"./locales/it/prayerLaps.json":Zg,"./locales/it/search.json":Qg,"./locales/pt/aria.json":eh,"./locales/pt/buttons.json":th,"./locales/pt/detail.json":oh,"./locales/pt/legend.json":nh,"./locales/pt/messages.json":rh,"./locales/pt/options.json":sh,"./locales/pt/prayerLaps.json":ah,"./locales/pt/search.json":ih,"./locales/pt/tabs.json":lh,"./locales/ro/aria.json":ch,"./locales/ro/buttons.json":uh,"./locales/ro/detail.json":dh,"./locales/ro/legend.json":fh,"./locales/ro/messages.json":ph,"./locales/ro/options.json":gh,"./locales/ro/prayerLaps.json":hh,"./locales/ro/search.json":mh,"./locales/ru/aria.json":bh,"./locales/ru/buttons.json":_h,"./locales/ru/detail.json":yh,"./locales/ru/legend.json":vh,"./locales/ru/messages.json":wh,"./locales/ru/options.json":xh,"./locales/ru/prayerLaps.json":kh,"./locales/ru/search.json":$h,"./locales/ru/tabs.json":Sh,"./locales/zh/aria.json":Eh,"./locales/zh/buttons.json":Ah,"./locales/zh/detail.json":Ch,"./locales/zh/legend.json":Th,"./locales/zh/messages.json":Lh,"./locales/zh/options.json":Ph,"./locales/zh/prayerLaps.json":Ih,"./locales/zh/search.json":Mh}),Wn={};for(const[e,t]of Object.entries(jb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Wn[n]??(Wn[n]={}),Wn[n][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function zb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Bb(){return Cb({legacy:!1,globalInjection:!0,locale:zb(),fallbackLocale:"en",messages:Wn,missingWarn:!1,fallbackWarn:!1})}function Lt(e,t){const o=t||Ub(e);_t(()=>{var i;const n=uo();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function Ub(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=o==null?void 0:o.value)==null?void 0:v.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=de(!1),a=de(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function x(v,A){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===A||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function S(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const A=v.getBoundingClientRect();if(!A.height)return;const _=Math.round(A.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const A=a.value;if(!A||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=A.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);A.style.setProperty("--pin-hint-attrib-clear",d+"px"),S()}return _t(()=>{var d,f,g;const v=uo(),A=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!A||typeof A.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=A.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Ro(()=>{const $=x(k,A),M=a.value;if($&&M&&M.parentElement!==$)try{$.appendChild(M),l=$}catch{}y(A),S();try{const L=a.value&&a.value.offsetParent||null;if(L&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>S()),u.observe(L)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Dt(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Lt(` .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,11 +69,11 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,A)=>s.value?(ee(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:De(["pin-hint",{dark:n.value}]),role:"status"},[R("span",Gb,[A[0]||(A[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+pe(r.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Ge("",!0)}};let qb=0;const Vb=Zs("ui",{state:()=>({_storeInstanceId:++qb,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:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.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)}))}}}),Wb=Zs("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 r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,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()}}}),Kb=Zs("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]=$n({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]=$n({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}}}),Mt={_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}}},Yb=".profile-loader[data-v-931b414b]{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-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Xb={class:"profile-loader"},Jb={key:0,class:"profile-error"},Zb={key:1,class:"profile-error"},Qb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const o=e,n=Le("profileConfig",null),r=re(()=>{var k;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=n==null?void 0:n.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||Mt.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),m=Le("appI18n",null);ef(()=>{p.value&&m&&(m.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=m==null?void 0:m.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),S=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Le("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?cf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",S),ut("lang",x);const A=Vb(),_=Wb(),d=Kb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=A.setTheme)==null||f.call(A,g))}catch{}return ut("uiStore",A),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),ne("div",Xb,[r.value?v.value?(ee(),Jt(zi(v.value),{key:2})):(ee(),ne("div",Zb,[R("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),R("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),ne("div",Jb,[...k[0]||(k[0]=[R("p",null,[nt("⚠️ "),R("strong",null,"doxa-map"),nt(": missing or invalid "),R("code",null,"profile-config"),nt(" prop.")],-1),R("p",null,[nt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Jt(zi(ue(null)),{key:3})):Ge("",!0),v.value&&u.value?(ee(),Jt(Hb,{key:4})):Ge("",!0)]))}},[["styles",[Yb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",mo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},e_=mo,_a={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},t_=_a;function iu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mo.hasAdoption:mo.notAdopted}function ya({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],mo.hasAdoption,["==",t,1],mo.hasAdoption,mo.notAdopted]}const lu=ya,o_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:e_,ADOPTION_LABELS:t_,LABELS:_a,PALETTE:mo,PROPERTY_KEY:au,applyColor:ya,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:mo,colors:mo,labels:_a,getColor:iu,applyColor:ya,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",bo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},n_=bo,va={notEngaged:"Unengaged",hasEngagement:"Engaged"},r_=va;function uu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?bo.hasEngagement:bo.notEngaged}function wa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],bo.hasEngagement,["==",t,1],bo.hasEngagement,bo.notEngaged]}const du=wa,s_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:n_,ENGAGEMENT_LABELS:r_,LABELS:va,PALETTE:bo,PROPERTY_KEY:cu,applyColor:wa,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:bo,colors:bo,labels:va,getColor:uu,applyColor:wa,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),xa="languageFamily",a_="#000000",_o={"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"},i_=_o;function ka(e){return _o[e]||a_}const l_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(_o))t[e(o)]=o;return t})(),c_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return c_[o]||l_[o]||t}function fu(e){var t;return ka(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $a(){const e=["match",["get",xa]];return Object.entries(_o).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const pu=$a,u_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:i_,PALETTE:_o,PROPERTY_KEY:xa,applyColor:$a,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:xa,palette:_o,colors:_o,getColor:fu,applyColor:$a,buildColorExpression:pu,getLanguageFamilyColor:ka,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:ka,languageFamilyColors:_o},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Lo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},d_=Lo,Kn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},f_=Kn;function dn(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,o=Number(t)||0;return o>=Qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Sa(e){return Lo[dn(e)]}function hu(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;return t!==null&&t>0}function mu(e){return dn(e)==="fullPrayer"}function bu(e){return Sa(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Lo.fullPrayer,[">",t,0],Lo.hasPrayer,Lo.noPrayer]}const _u=es,p_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Kn,PALETTE:Lo,PRAYER_COLORS:d_,PRAYER_LABELS:f_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Lo,colors:Lo,labels:Kn,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:dn,getPrayerColor:Sa,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:Sa,getPrayerLevel:dn},Symbol.toStringTag,{value:"Module"})),yu="religion",Ea="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function vu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return St[Aa(t)]||Ea}function Ca(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,Ea]}const wu=Ca,g_=Object.assign({"./adoption.js":o_,"./engagement.js":s_,"./language-family.js":u_,"./prayer-progress.js":p_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:St,PROPERTY_KEY:yu,RELIGION_FAMILIES:Uo,applyColor:Ca,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:St,families:Uo,getColor:vu,applyColor:Ca,buildColorExpression:wu,fallback:Ea},getColor:vu,getReligionFamily:Aa},Symbol.toStringTag,{value:"Module"}))}),h_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),m_=e=>e.replace(/-/g,"_").toUpperCase(),yo={...{STATUS:"status",CUSTOM:"custom"}},Ta={};function xu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=h_(o);yo[m_(o)]=r,Ta[r]=n}}xu(g_);function b_(e){e&&xu(e)}function ts(e){return Ta[e]||Ta[yo.LANGUAGE_FAMILY]}const __="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function y_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(__,null,!0),!0}catch{return!1}}const ku="affinityBlock",fn="#95a5a6",pn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},La={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},gn=La;Object.entries(pn).reduce((e,[t,o])=>(e[o]=t,e),{});const v_=Object.entries(pn).reduce((e,[t,o])=>(e[o]=gn[t],e),{}),w_=pn;function $u(e){return pn[e]||"Unknown"}function Su(e){return gn[e]||fn}function x_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?gn[e]||fn:v_[e]||fn:fn}function k_(){return Object.entries(pn).map(([e,t])=>({code:e,name:t,color:gn[e]}))}function $_(e){return{code:e,name:pn[e]||"Unknown",color:gn[e]||fn}}function S_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Su(t)}function E_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(gn).forEach(([t,o])=>{e.push(t,o)}),e.push(fn),e}const A_={name:"Affinity Block",propertyKey:ku,palette:La,colors:La,names:w_,getColor:S_,applyColor:Eu,buildColorExpression:Eu,getName:E_,getAffinityBlockName:$u,getAffinityBlockColor:x_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:k_,getAffinityBlockData:$_};function C_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Pa),e}const P_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Ia,aliases:Pu,fallback:Pa,getColor:L_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:T_,getRegionColorBySlug:Lu},I_=Object.assign({"./research-dashboard.vue":()=>rd(()=>Promise.resolve().then(()=>Ww),void 0)});b_({"./affinity-block.js":{default:A_},"./doxa-region.js":{default:P_}}),y_();function M_(){return Cp(Qb,{configureApp(e){e.use(jp()),e.use(Bb()),e.provide("profileModules",I_)}})}const N_=M_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",N_));function R_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function F_(){const e=Mo({}),t=new Set,o=de(0),n=de(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=R_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){n.value=_==null?"":String(_),a("search",n.value)}function m(){o.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),m()}function S(){t.size&&(t.clear(),m())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&m(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&m(),d}function A(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:S,selectMany:y,deselectMany:v,setSelection:A}}function Ma(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function O_(e={}){const t=de(!1),o=de(null),n=Sn(new Map),r=Sn([]),s=de(null),a=de(0),i=e.source||Mt.activeSource;async function l(){var c,u,p,m;t.value=!0,o.value=null;try{const x=((c=Mt==null?void 0:Mt.sources)==null?void 0:c[i])||{},S=Ma(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),A=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${S}${y}?${v?`fields=${v}&`:""}lang=${A}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of g){const L=M&&(M.slug||M.id);L&&k.set(L,M)}n.value=k,r.value=g,a.value=k.size;const $=((m=x.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(x){o.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:l,sourceId:i}}const os=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Na({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var X,H,z;const g=s.source||Mt.activeSource,k=((X=Mt==null?void 0:Mt.sources)==null?void 0:X[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:os,M=((H=k.endpoints)==null?void 0:H.bulk)||"/api/people-groups/list",L=((z=k.queryParams)==null?void 0:z.lang)||"en",j=`${Ma()}${M}?fields=${$.join(",")}&lang=${L}`,V=await fetch(j,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Q=await V.json(),he=Array.isArray(Q)?Q:Q.posts||Q.data||Q.results||[],B=new Map;for(const P of he){const G=P&&(P.slug||P.id);G&&B.set(G,P)}return i=B,B})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(n);return g.length?(t.value||[]).filter(k=>g.every($=>{const M=r[$];return M?M(k)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function S(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(S),k=g.reduce((V,Q)=>(Object.keys(Q).forEach(he=>V.add(he)),V),new Set),$=[...os.filter(V=>k.has(V)),...[...k].filter(V=>!os.includes(V))],M=Object.entries(n).map(([V,Q])=>`${V}=${a?a(V,Q):Q}`).join(" | ")||"none",L=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Q=>y(V[Q])).join(",")),L].join(`\r +`,"pin-hint"),(v,A)=>s.value?(ee(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:De(["pin-hint",{dark:n.value}]),role:"status"},[R("span",Gb,[A[0]||(A[0]=R("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+pe(r.value)+" ",1),R("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):Ge("",!0)}};let qb=0;const Vb=Zs("ui",{state:()=>({_storeInstanceId:++qb,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:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.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)}))}}}),Wb=Zs("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 r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,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()}}}),Kb=Zs("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]=$n({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]=$n({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}}}),Mt={_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}}},Yb=".profile-loader[data-v-931b414b]{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-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Xb={class:"profile-loader"},Jb={key:0,class:"profile-error"},Zb={key:1,class:"profile-error"},Qb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const o=e,n=Le("profileConfig",null),r=re(()=>{var k;if(!o.profileConfig)return null;let g;try{g=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=n==null?void 0:n.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||Mt.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),m=Le("appI18n",null);ef(()=>{p.value&&m&&(m.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=m==null?void 0:m.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),S=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Le("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?cf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",S),ut("lang",x);const A=Vb(),_=Wb(),d=Kb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=A.setTheme)==null||f.call(A,g))}catch{}return ut("uiStore",A),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),ne("div",Xb,[r.value?v.value?(ee(),Jt(zi(v.value),{key:2})):(ee(),ne("div",Zb,[R("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),R("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),ne("div",Jb,[...k[0]||(k[0]=[R("p",null,[nt("⚠️ "),R("strong",null,"doxa-map"),nt(": missing or invalid "),R("code",null,"profile-config"),nt(" prop.")],-1),R("p",null,[nt("Example: "),R("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Jt(zi(ue(null)),{key:3})):Ge("",!0),v.value&&u.value?(ee(),Jt(Hb,{key:4})):Ge("",!0)]))}},[["styles",[Yb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",mo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},e_=mo,_a={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},t_=_a;function iu(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mo.hasAdoption:mo.notAdopted}function ya({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],mo.hasAdoption,["==",t,1],mo.hasAdoption,mo.notAdopted]}const lu=ya,o_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:e_,ADOPTION_LABELS:t_,LABELS:_a,PALETTE:mo,PROPERTY_KEY:au,applyColor:ya,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:mo,colors:mo,labels:_a,getColor:iu,applyColor:ya,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",bo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},n_=bo,va={notEngaged:"Unengaged",hasEngagement:"Engaged"},r_=va;function uu(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?bo.hasEngagement:bo.notEngaged}function wa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],bo.hasEngagement,["==",t,1],bo.hasEngagement,bo.notEngaged]}const du=wa,s_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:n_,ENGAGEMENT_LABELS:r_,LABELS:va,PALETTE:bo,PROPERTY_KEY:cu,applyColor:wa,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:bo,colors:bo,labels:va,getColor:uu,applyColor:wa,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),xa="languageFamily",a_="#000000",_o={"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"},i_=_o;function ka(e){return _o[e]||a_}const l_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(_o))t[e(o)]=o;return t})(),c_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return c_[o]||l_[o]||t}function fu(e){var t;return ka(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function $a(){const e=["match",["get",xa]];return Object.entries(_o).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const pu=$a,u_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:i_,PALETTE:_o,PROPERTY_KEY:xa,applyColor:$a,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:xa,palette:_o,colors:_o,getColor:fu,applyColor:$a,buildColorExpression:pu,getLanguageFamilyColor:ka,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:ka,languageFamilyColors:_o},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Lo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},d_=Lo,Kn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},f_=Kn;function dn(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,o=Number(t)||0;return o>=Qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function Sa(e){return Lo[dn(e)]}function hu(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;return t!==null&&t>0}function mu(e){return dn(e)==="fullPrayer"}function bu(e){return Sa(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Lo.fullPrayer,[">",t,0],Lo.hasPrayer,Lo.noPrayer]}const _u=es,p_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Kn,PALETTE:Lo,PRAYER_COLORS:d_,PRAYER_LABELS:f_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Lo,colors:Lo,labels:Kn,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:dn,getPrayerColor:Sa,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:Sa,getPrayerLevel:dn},Symbol.toStringTag,{value:"Module"})),yu="religion",Ea="#94a3b8",Uo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Aa(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Uo[t]?t:"U"}function vu(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return St[Aa(t)]||Ea}function Ca(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,Ea]}const wu=Ca,g_=Object.assign({"./adoption.js":o_,"./engagement.js":s_,"./language-family.js":u_,"./prayer-progress.js":p_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:St,PROPERTY_KEY:yu,RELIGION_FAMILIES:Uo,applyColor:Ca,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:St,families:Uo,getColor:vu,applyColor:Ca,buildColorExpression:wu,fallback:Ea},getColor:vu,getReligionFamily:Aa},Symbol.toStringTag,{value:"Module"}))}),h_=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),m_=e=>e.replace(/-/g,"_").toUpperCase(),yo={...{STATUS:"status",CUSTOM:"custom"}},Ta={};function xu(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=h_(o);yo[m_(o)]=r,Ta[r]=n}}xu(g_);function b_(e){e&&xu(e)}function ts(e){return Ta[e]||Ta[yo.LANGUAGE_FAMILY]}const __="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function y_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(__,null,!0),!0}catch{return!1}}const ku="affinityBlock",fn="#95a5a6",pn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},La={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},gn=La;Object.entries(pn).reduce((e,[t,o])=>(e[o]=t,e),{});const v_=Object.entries(pn).reduce((e,[t,o])=>(e[o]=gn[t],e),{}),w_=pn;function $u(e){return pn[e]||"Unknown"}function Su(e){return gn[e]||fn}function x_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?gn[e]||fn:v_[e]||fn:fn}function k_(){return Object.entries(pn).map(([e,t])=>({code:e,name:t,color:gn[e]}))}function $_(e){return{code:e,name:pn[e]||"Unknown",color:gn[e]||fn}}function S_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Su(t)}function E_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(gn).forEach(([t,o])=>{e.push(t,o)}),e.push(fn),e}const A_={name:"Affinity Block",propertyKey:ku,palette:La,colors:La,names:w_,getColor:S_,applyColor:Eu,buildColorExpression:Eu,getName:E_,getAffinityBlockName:$u,getAffinityBlockColor:x_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:k_,getAffinityBlockData:$_};function C_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Pa),e}const P_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Ia,aliases:Pu,fallback:Pa,getColor:L_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:T_,getRegionColorBySlug:Lu},I_=Object.assign({"./research-dashboard.vue":()=>rd(()=>Promise.resolve().then(()=>Ww),void 0)});b_({"./affinity-block.js":{default:A_},"./doxa-region.js":{default:P_}}),y_();function M_(){return Cp(Qb,{configureApp(e){e.use(jp()),e.use(Bb()),e.provide("profileModules",I_)}})}const N_=M_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",N_));function R_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function F_(){const e=Mo({}),t=new Set,o=de(0),n=de(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=R_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){n.value=_==null?"":String(_),a("search",n.value)}function m(){o.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),m()}function S(){t.size&&(t.clear(),m())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&m(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&m(),d}function A(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:S,selectMany:y,deselectMany:v,setSelection:A}}function Ma(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function O_(e={}){const t=de(!1),o=de(null),n=Sn(new Map),r=Sn([]),s=de(null),a=de(0),i=e.source||Mt.activeSource;async function l(){var c,u,p,m;t.value=!0,o.value=null;try{const x=((c=Mt==null?void 0:Mt.sources)==null?void 0:c[i])||{},S=Ma(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),A=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${S}${y}?${v?`fields=${v}&`:""}lang=${A}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of g){const L=M&&(M.slug||M.id);L&&k.set(L,M)}n.value=k,r.value=g,a.value=k.size;const $=((m=x.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(x){o.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:l,sourceId:i}}const os=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Na({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var X,H,z;const g=s.source||Mt.activeSource,k=((X=Mt==null?void 0:Mt.sources)==null?void 0:X[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:os,M=((H=k.endpoints)==null?void 0:H.bulk)||"/api/people-groups/list",L=((z=k.queryParams)==null?void 0:z.lang)||"en",j=`${Ma()}${M}?fields=${$.join(",")}&lang=${L}`,V=await fetch(j,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Q=await V.json(),me=Array.isArray(Q)?Q:Q.posts||Q.data||Q.results||[],B=new Map;for(const P of me){const G=P&&(P.slug||P.id);G&&B.set(G,P)}return i=B,B})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(n);return g.length?(t.value||[]).filter(k=>g.every($=>{const M=r[$];return M?M(k)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function S(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(S),k=g.reduce((V,Q)=>(Object.keys(Q).forEach(me=>V.add(me)),V),new Set),$=[...os.filter(V=>k.has(V)),...[...k].filter(V=>!os.includes(V))],M=Object.entries(n).map(([V,Q])=>`${V}=${a?a(V,Q):Q}`).join(" | ")||"none",L=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Q=>y(V[Q])).join(",")),L].join(`\r `)}const A={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const g=v(),k=p().length,$=(g.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=g)}catch{}let M=!1,L=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(g).catch(()=>{}),M=!0)}catch{}try{const j=new Blob([g],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(j),Q=document.createElement("a");Q.href=V,Q.download="research-dashboard.csv",Q.style.display="none",document.body.appendChild(Q),Q.click(),L=!0,setTimeout(()=>{try{URL.revokeObjectURL(V),Q.remove()}catch{}},200)}catch{}Object.assign(A,{rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:M,downloaded:L,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:m,lastExport:A,prefetchExportFields:f,EXPORT_FIELDS:os}}const D_="#6b7280";function j_(){const e=ts(yo.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function z_(e,t){const o=j_();return e&&o[e]?o[e]:D_}function B_(e){return(e==null?void 0:e.properties)||e||{}}function Ra(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function U_(e){var t;return String(e.affinityBlock||Ra((t=e._raw)==null?void 0:t.rop1)||"").trim()}function G_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function H_(e){var t;return String(e.cluster||Ra((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function q_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function V_(e){var t;return String(e.peopleGroup||Ra((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function W_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function K_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function Y_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function X_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function J_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function Z_(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=B_(i),c=U_(l),u=G_(l)||c||"— Unknown —",p=H_(l),m=q_(l)||p||"— Unknown —",x=V_(l),S=W_(l)||x||"— Unknown —",y=K_(l),v=Y_(l)||y,A=X_(l),_=J_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=A,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=A,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:S,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=A,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:A})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=z_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:o(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:l,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((S,y)=>y.pop-S.pop||S.country.localeCompare(y.country));for(const S of m.instances)x.children.push({id:`pgic:${S.id}`,label:`${S.country?`${S.name}, ${S.country}`:S.name} (PGIC)`,color:l,count:1,pop:S.pop,filter:["==",["get","uniqueId"],S.id],children:[]});p.children.push(x)}p.children.sort((m,x)=>x.count-m.count||x.pop-m.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:n,highlight:r}}function Yn(e,t,o){const n=re(()=>{const l=t&&o&&t.sources&&t.sources[o];return l&&l.features||[]}),{aggregated:r}=Z_(n),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,p=new Map,m=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&m.set(v.code,v.label);for(const A of v.peopleGroups.values())A.code&&x.set(A.code,A.label)}}const S={};return l&&(S[l]=p),c&&(S[c]=m),u&&(S[u]=x),S});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Mu{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=Mt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),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 o=[],n=[];let r="",s=!1,a=[],i=!0;for(let l=0;l0){if(a.push(r.trim()),r="",i)n.push(...a),i=!1;else if(a.length>1){const p={};n.forEach((m,x)=>{p[m]=a[x]||""}),o.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};n.forEach((c,u)=>{l[c]=a[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=Ma(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${o}${n}?${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 ${o} 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 o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(n,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),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 Mu;const Nu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Ru=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xn(e){const t=Nu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function Q_(e,t,o,n,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:n[s.field],p=new Set;t.forEach(m=>{const x=u?u(m):m[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function ey(e){const t=de(null),o=de(!1),n=de(!1),r=de(!1),s=de("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=de(!1),c=de(!1),u=de(!1);_t(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;o.value=v<760,n.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Dt(()=>i&&i.disconnect());function p(v){const A=v.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!o.value||s.value==="facets"),x=re(()=>!o.value||s.value==="map"),S=re(()=>!o.value||s.value==="table"),y=re(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:m,showMap:x,showTable:S,showCharts:y}}function ty(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}dt(()=>({...e.filterSet}),t,{deep:!0}),_t(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function oy(e){var y;const t=F_();t.configureHierarchy(e);const o=O_(e.data),n=Nu(e.facets,v=>v.get),r=Jn(t,Xn(e)),s=re(()=>{var d;const v=o.rows.value||[],A=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!_?v:v.filter(f=>A.every(g=>{const k=n[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>Q_(e.kpis,s.value,o.rows.value||[],n,e)),i=ey(t);ty(t);const l=o.sourceId||Mt.activeSource,c=((y=Mt.sources)==null?void 0:y[l])||{},u=new Mu,p=re(()=>{const v=o.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yn(e,m,l),S=Na({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",o),ut("dashboardConfig",e),ut("dataStore",m),ut("searchSourceId",l),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:i}}const ny={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},ry={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Fu=32,Ou=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),ns=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function sy(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ny,...e.defaults||{}},i={...ry,...e.clamps||{}},l=de(a.facetW),c=de(a.railW),u=de(a.tableH),p=de(a.mapH),m=de(a.shellH),x=de(!1),S=de(!1),y=de(!1),v=()=>!!ue(n),A=()=>!!ue(r);function _(){const F=t&&t.value;if(!F)return m.value;const I=F.querySelector('[data-region="map"]'),q=F.querySelector('[data-region="table"]');if(!I||!q)return m.value;const ce=I.getBoundingClientRect().height+q.getBoundingClientRect().height;return ce>0?Math.round(ce):m.value}function d(){const F=t&&t.value;F&&(x.value&&(F.style.setProperty("--facet-w",l.value+"px"),F.style.setProperty("--rail-w",c.value+"px"),F.style.setProperty("--table-h",u.value)),S.value&&F.style.setProperty("--rd-map-h",p.value+"px"),y.value&&F.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const F=t&&t.value;F&&(F.style.removeProperty("--facet-w"),F.style.removeProperty("--rail-w"),F.style.removeProperty("--table-h"),F.style.removeProperty("--rd-map-h"),F.style.removeProperty("--rd-shell-h"))}function g(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:p.value,shellH:m.value}))}catch{}}function k(){try{const F=localStorage.getItem(s);if(!F)return!1;const I=JSON.parse(F);return Number.isFinite(I.facetW)&&(l.value=xt(I.facetW,i.facetW)),Number.isFinite(I.railW)&&(c.value=xt(I.railW,i.railW)),I.tableH!=null&&(u.value=xt(ns(I.tableH,ns(a.tableH,34)),i.tableH)+"%"),x.value=!0,Number.isFinite(I.shellH)&&(m.value=xt(I.shellH,i.shellH),y.value=!0),Number.isFinite(I.mapH)&&(p.value=xt(I.mapH,i.mapH),S.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,p.value=a.mapH,m.value=a.shellH,x.value=!1,S.value=!1,y.value=!1,f()}const M=de(!1);function L(){if(M.value)return;M.value=!0;const F=t&&t.value;if(F&&F.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function j(){if(!M.value)return;M.value=!1;const F=t&&t.value;if(F&&F.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function V(F,I){if(v())return;const q=t&&t.value;if(!q)return;I.preventDefault();const ce=q.getBoundingClientRect(),be=I.clientX,$e=l.value,Me=c.value,Ae=I.currentTarget,xe=F==="table"&&A(),_e=F==="shell"&&A();let ge=0,ye=i.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),h=te?te.getBoundingClientRect():null;ge=h?h.top:I.clientY-p.value,ye=Math.max(i.mapH[0],m.value-(Fu+Ou))}const w=I.clientY,T=_e?_():m.value;try{Ae&&Ae.setPointerCapture&&Ae.setPointerCapture(I.pointerId)}catch{}L();let E=0,U=null;function W(){if(E=0,!U)return;const te=U;if(U=null,F==="facet")l.value=Math.round(xt($e+(te.clientX-be),i.facetW)),x.value=!0;else if(F==="rail")c.value=Math.round(xt(Me-(te.clientX-be),i.railW)),x.value=!0;else if(xe)p.value=Math.round(xt(te.clientY-ge,[i.mapH[0],ye])),S.value=!0;else if(F==="table"){const h=(ce.bottom-te.clientY)/ce.height*100;u.value=Math.round(xt(h,i.tableH))+"%",x.value=!0}else _e&&(m.value=Math.round(xt(T+(te.clientY-w),i.shellH)),y.value=!0);d()}function Z(te){U={clientX:te.clientX,clientY:te.clientY},E||(E=requestAnimationFrame(W))}function ae(te){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),W();try{Ae&&Ae.releasePointerCapture&&Ae.releasePointerCapture(te.pointerId)}catch{}g(),j()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const Q=F=>V("facet",F),he=F=>V("rail",F),B=F=>V("table",F),X=F=>V("shell",F),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function z(F,I,q){if(!v()){if(F==="facet")l.value=q?I<0?i.facetW[0]:i.facetW[1]:Math.round(xt(l.value+I*H.facet,i.facetW)),x.value=!0;else if(F==="rail")c.value=q?I<0?i.railW[1]:i.railW[0]:Math.round(xt(c.value-I*H.rail,i.railW)),x.value=!0;else if(F==="table"&&A()){const ce=Math.max(i.mapH[0],m.value-(Fu+Ou));p.value=q?I<0?i.mapH[0]:ce:Math.round(xt(p.value+I*H.mapH,[i.mapH[0],ce])),S.value=!0}else if(F==="table"){const ce=q?I<0?i.tableH[0]:i.tableH[1]:xt(ns(u.value,ns(a.tableH,34))-I*H.table/4,i.tableH);u.value=Math.round(ce)+"%",x.value=!0}else F==="shell"&&A()&&(m.value=q?I<0?i.shellH[0]:i.shellH[1]:Math.round(xt(m.value+I*H.shellH,i.shellH)),y.value=!0);d(),g()}}function P(F,I){const q=I.key;let ce=0;if(F==="table"||F==="shell"?q==="ArrowUp"?ce=-1:q==="ArrowDown"&&(ce=1):q==="ArrowLeft"?ce=-1:q==="ArrowRight"&&(ce=1),ce){I.preventDefault(),z(F,ce);return}(q==="Home"||q==="End")&&(I.preventDefault(),z(F,q==="Home"?-1:1,!0))}let G=null;return _t(()=>{k()&&d(),o&&typeof o.on=="function"&&(G=o.on("resetLayout",$))}),Dt(()=>{try{G&&G()}catch{}try{j()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:p,shellH:m,customized:x,resizing:M,startFacetResize:Q,startRailResize:he,startTableResize:B,startShellResize:X,startResize:V,reset:$,applyVars:d,stepResize:z,onResizeKeydown:P}}const ay=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",iy=["value","placeholder","aria-label"],Du=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=re(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const i=a.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(a,i)=>(ee(),ne("div",{class:"search-box",style:ht(r.value)},[i[0]||(i[0]=R("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[R("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),R("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,iy)],4))}},[["styles",[ay]]]),ly=Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href,Fa=e=>String(e||"").trim().replace(/\/+$/,"");function cy(){try{const t=String(ly||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function uy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Fa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Fa(o)}return Fa(cy()||"")}function dy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=uy(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const fy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Lt(` +`&&l++,r||a.length>0){if(a.push(r.trim()),r="",i)n.push(...a),i=!1;else if(a.length>1){const p={};n.forEach((m,x)=>{p[m]=a[x]||""}),o.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};n.forEach((c,u)=>{l[c]=a[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=Ma(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${o}${n}?${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 ${o} 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 o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(n,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),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 Mu;const Nu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Ru=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xn(e){const t=Nu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function Q_(e,t,o,n,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:n[s.field],p=new Set;t.forEach(m=>{const x=u?u(m):m[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function ey(e){const t=de(null),o=de(!1),n=de(!1),r=de(!1),s=de("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=de(!1),c=de(!1),u=de(!1);_t(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;o.value=v<760,n.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Dt(()=>i&&i.disconnect());function p(v){const A=v.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!o.value||s.value==="facets"),x=re(()=>!o.value||s.value==="map"),S=re(()=>!o.value||s.value==="table"),y=re(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:m,showMap:x,showTable:S,showCharts:y}}function ty(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}dt(()=>({...e.filterSet}),t,{deep:!0}),_t(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function oy(e){var y;const t=F_();t.configureHierarchy(e);const o=O_(e.data),n=Nu(e.facets,v=>v.get),r=Jn(t,Xn(e)),s=re(()=>{var d;const v=o.rows.value||[],A=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!_?v:v.filter(f=>A.every(g=>{const k=n[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>Q_(e.kpis,s.value,o.rows.value||[],n,e)),i=ey(t);ty(t);const l=o.sourceId||Mt.activeSource,c=((y=Mt.sources)==null?void 0:y[l])||{},u=new Mu,p=re(()=>{const v=o.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yn(e,m,l),S=Na({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",o),ut("dashboardConfig",e),ut("dataStore",m),ut("searchSourceId",l),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:S,responsive:i}}const ny={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720},ry={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Fu=32,Ou=120,xt=(e,[t,o])=>Math.min(o,Math.max(t,e)),ns=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function sy(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ny,...e.defaults||{}},i={...ry,...e.clamps||{}},l=de(a.facetW),c=de(a.railW),u=de(a.tableH),p=de(a.mapH),m=de(a.shellH),x=de(!1),S=de(!1),y=de(!1),v=()=>!!ue(n),A=()=>!!ue(r);function _(){const F=t&&t.value;if(!F)return m.value;const I=parseFloat(getComputedStyle(F).getPropertyValue("--rd-shell-h"));if(Number.isFinite(I)&&I>0)return Math.round(I);const q=F.querySelector('[data-region="map"]'),ce=F.querySelector('[data-region="table"]');if(!q||!ce)return m.value;const he=q.getBoundingClientRect().height+ce.getBoundingClientRect().height;return he>0?Math.round(he):m.value}function d(){const F=t&&t.value;F&&(x.value&&(F.style.setProperty("--facet-w",l.value+"px"),F.style.setProperty("--rail-w",c.value+"px"),F.style.setProperty("--table-h",u.value)),S.value&&F.style.setProperty("--rd-map-h",p.value+"px"),y.value&&F.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const F=t&&t.value;F&&(F.style.removeProperty("--facet-w"),F.style.removeProperty("--rail-w"),F.style.removeProperty("--table-h"),F.style.removeProperty("--rd-map-h"),F.style.removeProperty("--rd-shell-h"))}function g(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:p.value,shellH:m.value}))}catch{}}function k(){try{const F=localStorage.getItem(s);if(!F)return!1;const I=JSON.parse(F);return Number.isFinite(I.facetW)&&(l.value=xt(I.facetW,i.facetW)),Number.isFinite(I.railW)&&(c.value=xt(I.railW,i.railW)),I.tableH!=null&&(u.value=xt(ns(I.tableH,ns(a.tableH,34)),i.tableH)+"%"),x.value=!0,Number.isFinite(I.shellH)&&(m.value=xt(I.shellH,i.shellH),y.value=!0),Number.isFinite(I.mapH)&&(p.value=xt(I.mapH,i.mapH),S.value=!0),!0}catch{return!1}}function $(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,p.value=a.mapH,m.value=a.shellH,x.value=!1,S.value=!1,y.value=!1,f()}const M=de(!1);function L(){if(M.value)return;M.value=!0;const F=t&&t.value;if(F&&F.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function j(){if(!M.value)return;M.value=!1;const F=t&&t.value;if(F&&F.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function V(F,I){if(v())return;const q=t&&t.value;if(!q)return;I.preventDefault();const ce=q.getBoundingClientRect(),he=I.clientX,$e=l.value,Me=c.value,Ae=I.currentTarget,xe=F==="table"&&A(),_e=F==="shell"&&A();let ge=0,ye=i.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),h=te?te.getBoundingClientRect():null;ge=h?h.top:I.clientY-p.value,ye=Math.max(i.mapH[0],m.value-(Fu+Ou))}const w=I.clientY,T=_e?_():m.value;try{Ae&&Ae.setPointerCapture&&Ae.setPointerCapture(I.pointerId)}catch{}L();let E=0,U=null;function W(){if(E=0,!U)return;const te=U;if(U=null,F==="facet")l.value=Math.round(xt($e+(te.clientX-he),i.facetW)),x.value=!0;else if(F==="rail")c.value=Math.round(xt(Me-(te.clientX-he),i.railW)),x.value=!0;else if(xe)p.value=Math.round(xt(te.clientY-ge,[i.mapH[0],ye])),S.value=!0;else if(F==="table"){const h=(ce.bottom-te.clientY)/ce.height*100;u.value=Math.round(xt(h,i.tableH))+"%",x.value=!0}else _e&&(m.value=Math.round(xt(T+(te.clientY-w),i.shellH)),y.value=!0);d()}function Z(te){U={clientX:te.clientX,clientY:te.clientY},E||(E=requestAnimationFrame(W))}function ae(te){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),W();try{Ae&&Ae.releasePointerCapture&&Ae.releasePointerCapture(te.pointerId)}catch{}g(),j()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const Q=F=>V("facet",F),me=F=>V("rail",F),B=F=>V("table",F),X=F=>V("shell",F),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function z(F,I,q){if(!v()){if(F==="facet")l.value=q?I<0?i.facetW[0]:i.facetW[1]:Math.round(xt(l.value+I*H.facet,i.facetW)),x.value=!0;else if(F==="rail")c.value=q?I<0?i.railW[1]:i.railW[0]:Math.round(xt(c.value-I*H.rail,i.railW)),x.value=!0;else if(F==="table"&&A()){const ce=Math.max(i.mapH[0],m.value-(Fu+Ou));p.value=q?I<0?i.mapH[0]:ce:Math.round(xt(p.value+I*H.mapH,[i.mapH[0],ce])),S.value=!0}else if(F==="table"){const ce=q?I<0?i.tableH[0]:i.tableH[1]:xt(ns(u.value,ns(a.tableH,34))-I*H.table/4,i.tableH);u.value=Math.round(ce)+"%",x.value=!0}else F==="shell"&&A()&&(m.value=q?I<0?i.shellH[0]:i.shellH[1]:Math.round(xt(m.value+I*H.shellH,i.shellH)),y.value=!0);d(),g()}}function P(F,I){const q=I.key;let ce=0;if(F==="table"||F==="shell"?q==="ArrowUp"?ce=-1:q==="ArrowDown"&&(ce=1):q==="ArrowLeft"?ce=-1:q==="ArrowRight"&&(ce=1),ce){I.preventDefault(),z(F,ce);return}(q==="Home"||q==="End")&&(I.preventDefault(),z(F,q==="Home"?-1:1,!0))}let G=null;return _t(()=>{k()&&d(),o&&typeof o.on=="function"&&(G=o.on("resetLayout",$))}),Dt(()=>{try{G&&G()}catch{}try{j()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:p,shellH:m,customized:x,resizing:M,startFacetResize:Q,startRailResize:me,startTableResize:B,startShellResize:X,startResize:V,reset:$,applyVars:d,stepResize:z,onResizeKeydown:P}}const ay=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",iy=["value","placeholder","aria-label"],Du=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=re(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const i=a.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(a,i)=>(ee(),ne("div",{class:"search-box",style:ht(r.value)},[i[0]||(i[0]=R("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[R("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),R("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,iy)],4))}},[["styles",[ay]]]),ly=Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("research-dashboard.js",document.baseURI).href,Fa=e=>String(e||"").trim().replace(/\/+$/,"");function cy(){try{const t=String(ly||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function uy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Fa(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Fa(o)}return Fa(cy()||"")}function dy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=uy(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const fy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Lt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -315,8 +315,7 @@ color:#a0aab8; word-break:break-all; white-space:pre-wrap; - max-height:90px; - overflow-y:auto; + height:auto; -webkit-user-select:all; user-select:all; } @@ -366,7 +365,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=un(),r=e,s=de(null),a=de(!1),i=de(null),l=de(null),c=de("link"),u=de(!1),p=de(!1),m=de("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Le("profileConfig",null),y=re(()=>dy({embedPath:r.embedPath,profileConfig:ue(S)||null})),v=re(()=>{const j=x[m.value].height;return''});function A(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(j){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(j),!0}catch{}try{const V=document.createElement("textarea");V.value=j,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Q=document.execCommand("copy");return document.body.removeChild(V),Q}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Le("mapToolbar",null),$=de(null);ut("mapToolbar",k||{el:$});const M=!k;function L(j){if(s.value=j||null,!M||!j){j||($.value=null);return}const V=j.offsetParent||j.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=j}return(j,V)=>(ee(),ne("div",{ref:L,class:"share-wrap","data-share-root":""},[Oe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ue(t)("buttons.share"),onClick:A},{default:Jo(()=>[...V[2]||(V[2]=[R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[R("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),R("polyline",{points:"16 6 12 2 8 6"}),R("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Oe(_y,{open:a.value,title:ue(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Jo(()=>[R("div",{ref_key:"popoverEl",ref:i,class:De(["share-pop",{light:!e.isDark}])},[R("ul",yy,[(ee(!0),ne(Ie,null,tt(ue(o)("buttons.shareSteps"),(Q,he)=>(ee(),ne("li",{key:he},pe(ue(n)(Q)),1))),128))]),R("div",vy,[R("button",{class:De(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Q=>c.value="link")},"Embed link",2),R("button",{class:De(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Q=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),ne("div",wy,[R("div",xy,[R("div",ky,pe(y.value),1)]),R("button",{class:De(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),ne("svg",Sy,[...V[4]||(V[4]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",$y,[...V[3]||(V[3]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):Ge("",!0),c.value==="embed"?(ee(),ne("div",Ey,[V[7]||(V[7]=R("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),R("div",Ay,[(ee(),ne(Ie,null,tt(x,(Q,he)=>R("button",{key:he,class:De(["share-size-pill",{active:m.value===he}]),onClick:B=>m.value=he},pe(Q.label),11,Cy)),64))]),R("div",Ty,pe(v.value),1),R("button",{class:De(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),ne("svg",Py,[...V[6]||(V[6]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",Ly,[...V[5]||(V[5]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(p.value?"Copied!":"Copy Code"),1)],2)])):Ge("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},vo="#c4c8c0",Ze=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,My=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function rs(e,t){const o=ts(e);return o&&o.propertyKey===t?o:null}function Ny(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(i=>t[i]===o);if(r)return r;let s=null,a=0;for(const i of n){const l=t[i];l&&o.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(o)?Aa(o):"U")}function ja(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Ry(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),i=o&&o(s);if(!a||!i)continue;n.has(a)||n.set(a,new Map);const l=n.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of n){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?zu("wagf_region",i):vo)}return r}function Fy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*o,c=e.reduce((p,m)=>p+m.value,0)||1;let u=-Math.PI/2;return e.map((p,m)=>{const x=u,S=u+p.value/c*Math.PI*2;u=S;const y=S-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,A=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(S,i)} L${v(S,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:A,pct:Math.round(p.value/c*100),color:ju(n,p.key,r)}})}function Oy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:ju(t,r.key,o)}))}function ju(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return zu(e,t)}function zu(e,t){if(t==null||t===""||t==="Other")return vo;if(e==="religion"||e==="religion_family"){const o=rs(yo.RELIGION,"religion"),n=o&&o.palette||St,r=o&&o.families||Uo;return n[Ny(t,r)]||vo}if(e==="wagf_region"){const o=rs(yo.DOXA_REGION,"doxaRegion");if(!o)return vo;const n=o.slugColors&&o.slugColors[My(t)];return n||o.aliases&&o.aliases[t]||vo}if(e==="affinity_bloc"){const o=rs(yo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||vo}if(e==="language_family"){const o=rs(yo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||vo}return vo}const Dy={class:"rd-left"},jy={class:"rd-brand"},zy={class:"rd-ttl"},By={class:"rd-filter-search","data-filter-search":""},Uy={key:0,class:"rd-search","data-search":""},Gy=["data-slug"],Hy={class:"nm"},qy={class:"sub"},Vy={key:1,class:"rd-empty"},Wy=["onKeydown"],Ky="research-dashboard/research-dashboard/index.html",Yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=re(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=re(()=>{var d;return((d=o==null?void 0:o.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=n.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){o==null||o.setSearch((d==null?void 0:d.value)??"")}const c=de(""),u=de(!1),p=de(0),m=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!o||(d.slug&&(o.toggleSelect(d.slug),o.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function S(){u.value=!0,p.value=0}function y(d){if(!m.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%m.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+m.value.length)%m.value.length):d.key==="Enter"?(d.preventDefault(),x(m.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===g);k&&x(k)}const A=de(null);function _(d){A.value&&!A.value.contains(d.target)&&(u.value=!1)}return _t(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Dt(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Lt(` +`,"share-button");const{t,tm:o,rt:n}=un(),r=e,s=de(null),a=de(!1),i=de(null),l=de(null),c=de("link"),u=de(!1),p=de(!1),m=de("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=Le("profileConfig",null),y=re(()=>dy({embedPath:r.embedPath,profileConfig:ue(S)||null})),v=re(()=>{const j=x[m.value].height;return''});function A(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(j){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(j),!0}catch{}try{const V=document.createElement("textarea");V.value=j,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Q=document.execCommand("copy");return document.body.removeChild(V),Q}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Le("mapToolbar",null),$=de(null);ut("mapToolbar",k||{el:$});const M=!k;function L(j){if(s.value=j||null,!M||!j){j||($.value=null);return}const V=j.offsetParent||j.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=j}return(j,V)=>(ee(),ne("div",{ref:L,class:"share-wrap","data-share-root":""},[Oe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ue(t)("buttons.share"),onClick:A},{default:Jo(()=>[...V[2]||(V[2]=[R("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[R("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),R("polyline",{points:"16 6 12 2 8 6"}),R("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Oe(_y,{open:a.value,title:ue(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Jo(()=>[R("div",{ref_key:"popoverEl",ref:i,class:De(["share-pop",{light:!e.isDark}])},[R("ul",yy,[(ee(!0),ne(Ie,null,tt(ue(o)("buttons.shareSteps"),(Q,me)=>(ee(),ne("li",{key:me},pe(ue(n)(Q)),1))),128))]),R("div",vy,[R("button",{class:De(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Q=>c.value="link")},"Embed link",2),R("button",{class:De(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Q=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),ne("div",wy,[R("div",xy,[R("div",ky,pe(y.value),1)]),R("button",{class:De(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),ne("svg",Sy,[...V[4]||(V[4]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",$y,[...V[3]||(V[3]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):Ge("",!0),c.value==="embed"?(ee(),ne("div",Ey,[V[7]||(V[7]=R("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),R("div",Ay,[(ee(),ne(Ie,null,tt(x,(Q,me)=>R("button",{key:me,class:De(["share-size-pill",{active:m.value===me}]),onClick:B=>m.value=me},pe(Q.label),11,Cy)),64))]),R("div",Ty,pe(v.value),1),R("button",{class:De(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),ne("svg",Py,[...V[6]||(V[6]=[R("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",Ly,[...V[5]||(V[5]=[R("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),R("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+pe(p.value?"Copied!":"Copy Code"),1)],2)])):Ge("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},vo="#c4c8c0",Ze=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,My=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function rs(e,t){const o=ts(e);return o&&o.propertyKey===t?o:null}function Ny(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(i=>t[i]===o);if(r)return r;let s=null,a=0;for(const i of n){const l=t[i];l&&o.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(o)?Aa(o):"U")}function ja(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Ry(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),i=o&&o(s);if(!a||!i)continue;n.has(a)||n.set(a,new Map);const l=n.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of n){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?zu("wagf_region",i):vo)}return r}function Fy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*o,c=e.reduce((p,m)=>p+m.value,0)||1;let u=-Math.PI/2;return e.map((p,m)=>{const x=u,S=u+p.value/c*Math.PI*2;u=S;const y=S-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,A=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(S,i)} L${v(S,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:A,pct:Math.round(p.value/c*100),color:ju(n,p.key,r)}})}function Oy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:ju(t,r.key,o)}))}function ju(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return zu(e,t)}function zu(e,t){if(t==null||t===""||t==="Other")return vo;if(e==="religion"||e==="religion_family"){const o=rs(yo.RELIGION,"religion"),n=o&&o.palette||St,r=o&&o.families||Uo;return n[Ny(t,r)]||vo}if(e==="wagf_region"){const o=rs(yo.DOXA_REGION,"doxaRegion");if(!o)return vo;const n=o.slugColors&&o.slugColors[My(t)];return n||o.aliases&&o.aliases[t]||vo}if(e==="affinity_bloc"){const o=rs(yo.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||vo}if(e==="language_family"){const o=rs(yo.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||vo}return vo}const Dy={class:"rd-left"},jy={class:"rd-brand"},zy={class:"rd-ttl"},By={class:"rd-filter-search","data-filter-search":""},Uy={key:0,class:"rd-search","data-search":""},Gy=["data-slug"],Hy={class:"nm"},qy={class:"sub"},Vy={key:1,class:"rd-empty"},Wy=["onKeydown"],Ky="research-dashboard/research-dashboard/index.html",Yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=re(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=re(()=>{var d;return((d=o==null?void 0:o.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=n.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){o==null||o.setSearch((d==null?void 0:d.value)??"")}const c=de(""),u=de(!1),p=de(0),m=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!o||(d.slug&&(o.toggleSelect(d.slug),o.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function S(){u.value=!0,p.value=0}function y(d){if(!m.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%m.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+m.value.length)%m.value.length):d.key==="Enter"?(d.preventDefault(),x(m.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===g);k&&x(k)}const A=de(null);function _(d){A.value&&!A.value.contains(d.target)&&(u.value=!1)}return _t(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Dt(()=>{var d,f;try{(f=(d=A.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Lt(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -408,7 +407,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(d,f)=>(ee(),ne("header",{ref_key:"rootEl",ref:A,class:"rd-topbar","data-region":"topbar"},[R("div",Dy,[R("span",jy,[R("span",zy,[nt(pe(ue(n).title||"Research Dashboard"),1),f[1]||(f[1]=R("span",{class:"dot"},".",-1))])])]),R("div",By,[Oe(Du,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=R("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),ne("div",Uy,[f[2]||(f[2]=R("span",{class:"ic"},"⌕",-1)),Pt(R("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:S,onFocus:S,onKeydown:y},null,544),[[Pp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[m.value.length?(ee(!0),ne(Ie,{key:0},tt(m.value,(g,k)=>(ee(),ne("div",{key:g.slug,class:De(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[R("span",Hy,pe(g.name),1),R("span",qy,pe(ue(Ze)(g.country_code))+" · "+pe(ue(Ze)(g.religion)),1)],10,Gy))),128)):(ee(),ne("div",Vy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):Ge("",!0)])):Ge("",!0),R("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(on(s,["prevent"]),["enter"]),zr(on(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Wy),Oe(Iy,{"embed-path":Ky})],512))}},Po="#c4c8c0";function Xy(e,t){const o=ts(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Jy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Zy(){const e=re(()=>{const o=ts(yo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Po;if(o==="people"){const a=Xy(yo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Po}if(o==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Jy(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Po}return o==="language"?_o[s||r]||Po:o==="religion"&&St[s]||Po}return{colorFor:t,NEUTRAL:Po}}const Qy={class:"rd-facets","data-region":"facets"},ev={class:"fr-head"},tv={class:"fr-scope","data-scope-count":""},ov=["data-facet-section"],nv=["onClick"],rv={class:"fr-rows"},sv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],av=["data-expand","data-expand-value","aria-expanded","aria-label"],iv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},lv={class:"fr-lbl"},cv={class:"fr-bar"},uv={class:"fr-cnt"},dv={key:3,class:"fr-donly","aria-hidden":"true"},fv={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(n.facets||{}).map(([P,G])=>[P,G.get])),l=new Set(Object.entries(n.facets||{}).filter(([,P])=>P&&P.dashboardOnly).map(([P])=>P)),c=Jn(o,Xn(n));function u(P){var q,ce;const G=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],F=Object.keys(a).filter(be=>!P.includes(be)),I=!!(((ce=o==null?void 0:o.searchTerm)==null?void 0:ce.value)||"").trim();return!F.length&&!I?G:G.filter(be=>F.every($e=>{const Me=i[$e];return Me?Me(be)===a[$e]:!0})&&c(be))}const p=new Set(["people","place","language","religion"]),m=Mo(Object.fromEntries((n.facetRail||[]).map(P=>[P.id,p.has(P.id)])));function x(P){m[P]=!m[P]}const S=Mo({}),y=(P,G)=>P+":"+G;function v(P,G){const F=y(P,G);S[F]=!A(P,G)}function A(P,G){const F=y(P,G);return F in S?S[F]:a[P]===G}function _(P,G,F){const I=P.reduce((q,ce)=>Math.max(q,ce.value),0)||1;return P.map(q=>({facet:G,value:q.key,label:q.key,count:q.value,frac:q.value/I,level:F,other:!!q.other,active:!q.other&&a[G]===q.key,dashboardOnly:l.has(G)}))}const d=new Map;function f(P,G,F){if(F)return d.set(P,G.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),G;const I=d.get(P);if(!I)return G;const q=xe=>xe.facet+":"+xe.value,ce=new Set(G.map(q));if(!I.filter(xe=>!ce.has(q(xe))).length)return G;const $e=new Map;let Me="";for(const xe of I){const _e=q(xe);if(ce.has(_e)){Me=_e;continue}$e.has(Me)||$e.set(Me,[]),$e.get(Me).push({...xe,zero:!0})}const Ae=[];for(const xe of $e.get("")||[])Ae.push(xe);for(let xe=0;xe_e.level;)Ae.push(G[++xe]);for(const ye of ge)Ae.push(ye)}}return Ae}function g(P,G){return _(ja(u([P]),i[P],G??24),P,0)}function k(P,G){const F=[],I=(q,ce)=>{const be=P[q],$e=(G&&G[q])??(q===P.length-1?40:30);let Me=u(P.slice(q));ce.length&&(Me=Me.filter(xe=>ce.every(([_e,ge])=>{const ye=i[_e];return ye?ye(xe)===ge:!0})));const Ae=_(ja(Me,i[be],$e),be,q);for(const xe of Ae)xe.hasChildren=!xe.other&&q{var F;const P=new Map,G=n.facets&&n.facets.religion_family;if(!G||!G.famKey)return P;for(const I of((F=t==null?void 0:t.rows)==null?void 0:F.value)||[]){const q=G.get(I);q&&!P.has(q)&&P.set(q,G.famKey(I))}return P}),Q=re(()=>{var P;return!Object.keys(a).length&&!(((P=o==null?void 0:o.searchTerm)==null?void 0:P.value)||"").trim()}),he=re(()=>(n.facetRail||[]).map(P=>{let G=P.drill?k(P.drill,P.topN):g(P.facet,P.topN);if(G=f(P.id,G,Q.value),P.tree==="affinity"){const F=M.value;G=G.map(I=>I.other?I:{...I,label:F[I.facet]&&F[I.facet].get(I.value)||I.label})}return G=j(G,P.axis,V.value),{id:P.id,title:P.title,axis:P.axis,rows:$(G)}})),B=re(()=>{var F;const P=((F=t==null?void 0:t.rows)==null?void 0:F.value)||[],G=Object.keys(a);return G.length?P.filter(I=>G.every(q=>{const ce=i[q];return ce?ce(I)===a[q]:!0})).length:P.length});function X(P){const G=P.target;if(!G||!G.closest)return;const F=G.closest("[data-expand]");if(F){const be=F.getAttribute("data-expand"),$e=F.getAttribute("data-expand-value");be&&$e!=null&&(P.stopPropagation(),v(be,$e));return}const I=G.closest("[data-facet]");if(!I||!o)return;const q=I.getAttribute("data-facet"),ce=I.getAttribute("data-value");!q||!ce||o.setFilter(q,a[q]===ce?null:ce)}function H(P){if(P.key!=="Enter"&&P.key!==" "&&P.key!=="Spacebar")return;const G=P.target&&P.target.closest?P.target.closest("[data-facet]"):null;if(!G||!o)return;P.preventDefault();const F=G.getAttribute("data-facet"),I=G.getAttribute("data-value");!F||!I||o.setFilter(F,a[F]===I?null:I)}const z=de(null);return _t(()=>{o&&o.on("mapFocus",({value:P}={})=>{if(!P||!z.value)return;const F=[...z.value.querySelectorAll(".fr-row")].find(I=>I.textContent&&I.textContent.includes(P));F&&(z.value.scrollTop=Math.max(0,F.offsetTop-8))})}),Lt(` +`,"rd-topbar"),(d,f)=>(ee(),ne("header",{ref_key:"rootEl",ref:A,class:"rd-topbar","data-region":"topbar"},[R("div",Dy,[R("span",jy,[R("span",zy,[nt(pe(ue(n).title||"Research Dashboard"),1),f[1]||(f[1]=R("span",{class:"dot"},".",-1))])])]),R("div",By,[Oe(Du,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=R("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),ne("div",Uy,[f[2]||(f[2]=R("span",{class:"ic"},"⌕",-1)),Pt(R("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:S,onFocus:S,onKeydown:y},null,544),[[Pp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[m.value.length?(ee(!0),ne(Ie,{key:0},tt(m.value,(g,k)=>(ee(),ne("div",{key:g.slug,class:De(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[R("span",Hy,pe(g.name),1),R("span",qy,pe(ue(Ze)(g.country_code))+" · "+pe(ue(Ze)(g.religion)),1)],10,Gy))),128)):(ee(),ne("div",Vy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):Ge("",!0)])):Ge("",!0),R("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(on(s,["prevent"]),["enter"]),zr(on(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Wy),Oe(Iy,{"embed-path":Ky})],512))}},Po="#c4c8c0";function Xy(e,t){const o=ts(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Jy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Zy(){const e=re(()=>{const o=ts(yo.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Po;if(o==="people"){const a=Xy(yo.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Po}if(o==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Jy(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Po}return o==="language"?_o[s||r]||Po:o==="religion"&&St[s]||Po}return{colorFor:t,NEUTRAL:Po}}const Qy={class:"rd-facets","data-region":"facets"},ev={class:"fr-head"},tv={class:"fr-scope","data-scope-count":""},ov=["data-facet-section"],nv=["onClick"],rv={class:"fr-rows"},sv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],av=["data-expand","data-expand-value","aria-expanded","aria-label"],iv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},lv={class:"fr-lbl"},cv={class:"fr-bar"},uv={class:"fr-cnt"},dv={key:3,class:"fr-donly","aria-hidden":"true"},fv={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(n.facets||{}).map(([P,G])=>[P,G.get])),l=new Set(Object.entries(n.facets||{}).filter(([,P])=>P&&P.dashboardOnly).map(([P])=>P)),c=Jn(o,Xn(n));function u(P){var q,ce;const G=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],F=Object.keys(a).filter(he=>!P.includes(he)),I=!!(((ce=o==null?void 0:o.searchTerm)==null?void 0:ce.value)||"").trim();return!F.length&&!I?G:G.filter(he=>F.every($e=>{const Me=i[$e];return Me?Me(he)===a[$e]:!0})&&c(he))}const p=new Set(["people","place","language","religion"]),m=Mo(Object.fromEntries((n.facetRail||[]).map(P=>[P.id,p.has(P.id)])));function x(P){m[P]=!m[P]}const S=Mo({}),y=(P,G)=>P+":"+G;function v(P,G){const F=y(P,G);S[F]=!A(P,G)}function A(P,G){const F=y(P,G);return F in S?S[F]:a[P]===G}function _(P,G,F){const I=P.reduce((q,ce)=>Math.max(q,ce.value),0)||1;return P.map(q=>({facet:G,value:q.key,label:q.key,count:q.value,frac:q.value/I,level:F,other:!!q.other,active:!q.other&&a[G]===q.key,dashboardOnly:l.has(G)}))}const d=new Map;function f(P,G,F){if(F)return d.set(P,G.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),G;const I=d.get(P);if(!I)return G;const q=xe=>xe.facet+":"+xe.value,ce=new Set(G.map(q));if(!I.filter(xe=>!ce.has(q(xe))).length)return G;const $e=new Map;let Me="";for(const xe of I){const _e=q(xe);if(ce.has(_e)){Me=_e;continue}$e.has(Me)||$e.set(Me,[]),$e.get(Me).push({...xe,zero:!0})}const Ae=[];for(const xe of $e.get("")||[])Ae.push(xe);for(let xe=0;xe_e.level;)Ae.push(G[++xe]);for(const ye of ge)Ae.push(ye)}}return Ae}function g(P,G){return _(ja(u([P]),i[P],G??24),P,0)}function k(P,G){const F=[],I=(q,ce)=>{const he=P[q],$e=(G&&G[q])??(q===P.length-1?40:30);let Me=u(P.slice(q));ce.length&&(Me=Me.filter(xe=>ce.every(([_e,ge])=>{const ye=i[_e];return ye?ye(xe)===ge:!0})));const Ae=_(ja(Me,i[he],$e),he,q);for(const xe of Ae)xe.hasChildren=!xe.other&&q{var F;const P=new Map,G=n.facets&&n.facets.religion_family;if(!G||!G.famKey)return P;for(const I of((F=t==null?void 0:t.rows)==null?void 0:F.value)||[]){const q=G.get(I);q&&!P.has(q)&&P.set(q,G.famKey(I))}return P}),Q=re(()=>{var P;return!Object.keys(a).length&&!(((P=o==null?void 0:o.searchTerm)==null?void 0:P.value)||"").trim()}),me=re(()=>(n.facetRail||[]).map(P=>{let G=P.drill?k(P.drill,P.topN):g(P.facet,P.topN);if(G=f(P.id,G,Q.value),P.tree==="affinity"){const F=M.value;G=G.map(I=>I.other?I:{...I,label:F[I.facet]&&F[I.facet].get(I.value)||I.label})}return G=j(G,P.axis,V.value),{id:P.id,title:P.title,axis:P.axis,rows:$(G)}})),B=re(()=>{var F;const P=((F=t==null?void 0:t.rows)==null?void 0:F.value)||[],G=Object.keys(a);return G.length?P.filter(I=>G.every(q=>{const ce=i[q];return ce?ce(I)===a[q]:!0})).length:P.length});function X(P){const G=P.target;if(!G||!G.closest)return;const F=G.closest("[data-expand]");if(F){const he=F.getAttribute("data-expand"),$e=F.getAttribute("data-expand-value");he&&$e!=null&&(P.stopPropagation(),v(he,$e));return}const I=G.closest("[data-facet]");if(!I||!o)return;const q=I.getAttribute("data-facet"),ce=I.getAttribute("data-value");!q||!ce||o.setFilter(q,a[q]===ce?null:ce)}function H(P){if(P.key!=="Enter"&&P.key!==" "&&P.key!=="Spacebar")return;const G=P.target&&P.target.closest?P.target.closest("[data-facet]"):null;if(!G||!o)return;P.preventDefault();const F=G.getAttribute("data-facet"),I=G.getAttribute("data-value");!F||!I||o.setFilter(F,a[F]===I?null:I)}const z=de(null);return _t(()=>{o&&o.on("mapFocus",({value:P}={})=>{if(!P||!z.value)return;const F=[...z.value.querySelectorAll(".fr-row")].find(I=>I.textContent&&I.textContent.includes(P));F&&(z.value.scrollTop=Math.max(0,F.offsetTop-8))})}),Lt(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -483,7 +482,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(P,G)=>(ee(),ne("aside",Qy,[R("div",ev,[G[1]||(G[1]=R("div",{class:"fr-title"},"Tree Legend",-1)),R("div",tv,[R("b",null,pe(B.value.toLocaleString("en-US")),1),G[0]||(G[0]=nt(" groups in scope",-1))])]),R("div",{class:"fr-body",ref_key:"railEl",ref:z,onClick:X,onKeydown:H},[(ee(!0),ne(Ie,null,tt(he.value,F=>(ee(),ne("div",{key:F.id,class:"fr-sec","data-facet-section":F.id},[R("div",{class:De(["fr-sech",{closed:!m[F.id]}]),onClick:on(I=>x(F.id),["stop"])},[R("span",null,pe(F.title),1),G[2]||(G[2]=R("span",{class:"chev"},"▾",-1))],10,nv),Pt(R("div",rv,[(ee(!0),ne(Ie,null,tt(F.rows,I=>(ee(),ne("div",{key:I.facet+":"+I.value,class:De(["fr-row",["l"+I.level,{on:I.active,other:I.other,zero:I.zero,inert:I.other||I.zero,"dash-only":I.dashboardOnly}]]),"data-facet":I.other||I.zero?null:I.facet,"data-value":I.other||I.zero?null:I.value,tabindex:I.other||I.zero?null:0,role:I.other||I.zero?null:"button","aria-pressed":I.other||I.zero?null:I.active?"true":"false","aria-label":I.other||I.zero?null:(I.active?"Remove filter ":"Filter by ")+I.label+", "+I.count.toLocaleString("en-US")+" groups"+(I.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:I.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+I.label:null},[(ee(!0),ne(Ie,null,tt(I.trunks,(q,ce)=>(ee(),ne("span",{key:"tr"+ce,class:De(["fr-trunk","fr-trunk-"+q])},null,2))),128)),I.hasChildren?(ee(),ne("button",{key:0,type:"button",class:De(["fr-caret-btn",{open:I.expanded}]),"data-expand":I.facet,"data-expand-value":I.value,"aria-expanded":I.expanded?"true":"false","aria-label":(I.expanded?"Collapse ":"Expand ")+I.label},[...G[3]||(G[3]=[R("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,av)):(ee(),ne("span",iv)),I.swatch?(ee(),ne("span",{key:2,class:"fr-sw",style:ht({background:I.swatch}),"aria-hidden":"true"},null,4)):Ge("",!0),R("span",lv,pe(I.label),1),R("span",cv,[R("i",{style:ht({width:Math.max(4,I.frac*100)+"%"})},null,4)]),R("span",uv,pe(I.count.toLocaleString("en-US")),1),I.dashboardOnly?(ee(),ne("span",dv,"◐")):Ge("",!0)],10,sv))),128))],512),[[jt,m[F.id]]])],8,ov))),128))],544)]))}},pv=["data-sel-count"],gv=["data-collapsed"],hv=["title","aria-expanded"],mv={class:"ct","data-table-count":""},bv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},_v=["aria-pressed"],yv=["aria-pressed"],vv={key:2,class:"rd-toast","data-export-toast":""},wv=["aria-busy","title","onKeydown"],xv={key:0,class:"rd-csv-n"},kv=["data-sort-by","aria-rowcount"],$v={class:"rd-thead",role:"row"},Sv=["title"],Ev=["checked","aria-label"],Av=["title","aria-sort","data-col","onClick"],Cv={class:"ind"},Tv=["data-slug","aria-selected","aria-rowindex"],Lv={class:"rd-td chk",role:"gridcell"},Pv=["checked","aria-label"],Iv={class:"rd-foot",role:"row"},Zn=26,Mv={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=C=>{if(typeof C=="number")return C;const J=parseFloat(String(C??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=C=>C==null?"":Number(C).toLocaleString("en-US"),a=re(()=>n.columns||[]);function i(C){const J=Number(C&&C.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(n.facets||{}).map(([C,J])=>[C,J.get])),c=re(()=>{var C;return((C=t==null?void 0:t.rows)==null?void 0:C.value)||[]}),u=(o==null?void 0:o.filterSet)||{},p=o==null?void 0:o.selectionSet;function m(C,J,oe){const me=l[J];if(!me)return!0;const ke=me(C);return Array.isArray(oe)?oe.includes(ke):ke===oe}const x=Jn(o,Xn(n)),S=re(()=>{var oe;const C=Object.keys(u),J=!!(((oe=o==null?void 0:o.searchTerm)==null?void 0:oe.value)||"").trim();return!C.length&&!J?c.value:c.value.filter(me=>C.every(ke=>m(me,ke,u[ke]))&&x(me))}),y=de([]);function v(C,J){const oe=!!(J&&J.shiftKey),me=y.value.findIndex(ke=>ke.key===C.key);if(me<0)y.value=(oe?[...y.value]:[]).concat({key:C.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ke=[...y.value];ke[me]={key:C.key,dir:"desc"},y.value=ke}else y.value=oe?y.value.filter(ke=>ke.key!==C.key):[]}function A(C){const J=y.value.find(oe=>oe.key===C.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const C=y.value;if(!C.length)return S.value;const J=C.map(oe=>({col:a.value.find(me=>me.key===oe.key),dir:oe.dir==="asc"?1:-1}));return S.value.slice().sort((oe,me)=>{for(const{col:ke,dir:qe}of J){let We=ke.get(oe),kt=ke.get(me);if((We==null||We==="")&&(We=ke.type==="num"?-1/0:""),(kt==null||kt==="")&&(kt=ke.type==="num"?-1/0:""),Wekt)return 1*qe}return 0})}),d=de(!1),f=de(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,M=re(()=>{let C=_.value;if(d.value&&($(),C=C.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],oe=[];for(const me of C)(p&&p.has(me.slug)?J:oe).push(me);C=J.concat(oe)}return C}),L=de(0),j=de(360),V=de(null);let Q=null;function he(C){L.value=C.target.scrollTop}const B=re(()=>Math.max(0,Math.floor(L.value/Zn)-6)),X=re(()=>Math.ceil(j.value/Zn)+12),H=re(()=>M.value.slice(B.value,B.value+X.value)),z=re(()=>B.value*Zn),P=re(()=>Math.max(0,(M.value.length-(B.value+H.value.length))*Zn));_t(()=>{V.value&&(j.value=V.value.clientHeight||360,Q=new ResizeObserver(()=>{j.value=V.value.clientHeight||j.value}),Q.observe(V.value)),o&&o.on("toggleTable",C=>{W.value=!!C}),o&&o.on("focusRow",({slug:C}={})=>{if(!C||!V.value)return;const J=M.value.findIndex(oe=>oe.slug===C);J>=0&&(V.value.scrollTop=Math.max(0,J*Zn-j.value/2))})}),Dt(()=>{Q&&Q.disconnect(),clearTimeout(ie)});const G=re(()=>($(),p?p.size:0)),F=C=>!!(p&&p.has(C.slug)),I=re(()=>$()),q=de(null),ce=de("select");let be=new Set;function $e(C,J){q.value=C,ce.value=J,be=new Set(p)}function Me(C,J){const oe=M.value,me=oe.findIndex(et=>et.slug===C),ke=oe.findIndex(et=>et.slug===J);if(me<0||ke<0)return[];const[qe,We]=me<=ke?[me,ke]:[ke,me],kt=[];for(let et=qe;et<=We;et++)kt.push(oe[et].slug);return kt}function Ae(C,J){if(!o||!C)return;const oe=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&q.value){const ke=Me(q.value,C);if(!ke.length)return;if(oe){const qe=new Set(be);if(ce.value==="deselect")for(const We of ke)qe.delete(We);else for(const We of ke)qe.add(We);o.setSelection(qe)}else o.setSelection(ke);return}if(oe){const ke=!p.has(C);$e(C,ke?"select":"deselect"),o.toggleSelect(C),be=new Set(p);return}$e(C,"select"),o.setSelection([C]),be=new Set(p)}function xe(C){const J=C.target;if(!J||!J.closest)return;const oe=J.closest(".rd-row");if(!oe||!o)return;const me=oe.getAttribute("data-slug");if(me){if(J.closest(".rd-td.chk")){if(C.shiftKey||C.ctrlKey||C.metaKey){Ae(me,C);return}$e(me,p.has(me)?"deselect":"select"),o.toggleSelect(me),be=new Set(p);return}Ae(me,C)}}function _e(C){C.shiftKey&&C.target&&C.target.closest&&C.target.closest(".rd-row")&&C.preventDefault()}const ge=re(()=>{$();const C=S.value;if(!C.length)return!1;for(const J of C)if(!p.has(J.slug))return!1;return!0}),ye=re(()=>{if($(),ge.value)return!1;for(const C of S.value)if(p.has(C.slug))return!0;return!1});function w(){if(!o)return;const C=S.value.map(J=>J.slug);ge.value?o.deselectMany(C):o.selectMany(C),q.value=null,be=new Set(p)}function T(){o&&o.clearSelection(),q.value=null,be=new Set}const E=de(null);function U(C){E.value=C||null}dt([ye,E],()=>{E.value&&(E.value.indeterminate=ye.value)},{immediate:!0}),dt([y,()=>S.value.length,d,f],()=>{q.value=null}),dt(G,C=>{C||(d.value=!1)});const W=de(!1);function Z(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const ae=re(()=>S.value.reduce((C,J)=>C+(r(J.population)||0),0)),te=re(()=>S.value.length),{labelFor:h}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),b=t&&o?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:l,dataOpts:n.data,labelFor:h}):null,D=de(""),K=de(!1);let ie=null;async function se(){if(!(!b||K.value)){K.value=!0;try{const C=await b.exportCsvAsync(),J=C.downloaded?"exported":C.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(C.rows)} rows × ${C.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{K.value=!1,clearTimeout(ie),ie=setTimeout(()=>{D.value=""},3200)}}}function O(){b&&b.prefetchExportFields()}return Lt(` +`,"rd-facetrail"),(P,G)=>(ee(),ne("aside",Qy,[R("div",ev,[G[1]||(G[1]=R("div",{class:"fr-title"},"Tree Legend",-1)),R("div",tv,[R("b",null,pe(B.value.toLocaleString("en-US")),1),G[0]||(G[0]=nt(" groups in scope",-1))])]),R("div",{class:"fr-body",ref_key:"railEl",ref:z,onClick:X,onKeydown:H},[(ee(!0),ne(Ie,null,tt(me.value,F=>(ee(),ne("div",{key:F.id,class:"fr-sec","data-facet-section":F.id},[R("div",{class:De(["fr-sech",{closed:!m[F.id]}]),onClick:on(I=>x(F.id),["stop"])},[R("span",null,pe(F.title),1),G[2]||(G[2]=R("span",{class:"chev"},"▾",-1))],10,nv),Pt(R("div",rv,[(ee(!0),ne(Ie,null,tt(F.rows,I=>(ee(),ne("div",{key:I.facet+":"+I.value,class:De(["fr-row",["l"+I.level,{on:I.active,other:I.other,zero:I.zero,inert:I.other||I.zero,"dash-only":I.dashboardOnly}]]),"data-facet":I.other||I.zero?null:I.facet,"data-value":I.other||I.zero?null:I.value,tabindex:I.other||I.zero?null:0,role:I.other||I.zero?null:"button","aria-pressed":I.other||I.zero?null:I.active?"true":"false","aria-label":I.other||I.zero?null:(I.active?"Remove filter ":"Filter by ")+I.label+", "+I.count.toLocaleString("en-US")+" groups"+(I.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:I.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+I.label:null},[(ee(!0),ne(Ie,null,tt(I.trunks,(q,ce)=>(ee(),ne("span",{key:"tr"+ce,class:De(["fr-trunk","fr-trunk-"+q])},null,2))),128)),I.hasChildren?(ee(),ne("button",{key:0,type:"button",class:De(["fr-caret-btn",{open:I.expanded}]),"data-expand":I.facet,"data-expand-value":I.value,"aria-expanded":I.expanded?"true":"false","aria-label":(I.expanded?"Collapse ":"Expand ")+I.label},[...G[3]||(G[3]=[R("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,av)):(ee(),ne("span",iv)),I.swatch?(ee(),ne("span",{key:2,class:"fr-sw",style:ht({background:I.swatch}),"aria-hidden":"true"},null,4)):Ge("",!0),R("span",lv,pe(I.label),1),R("span",cv,[R("i",{style:ht({width:Math.max(4,I.frac*100)+"%"})},null,4)]),R("span",uv,pe(I.count.toLocaleString("en-US")),1),I.dashboardOnly?(ee(),ne("span",dv,"◐")):Ge("",!0)],10,sv))),128))],512),[[jt,m[F.id]]])],8,ov))),128))],544)]))}},pv=["data-sel-count"],gv=["data-collapsed"],hv=["title","aria-expanded"],mv={class:"ct","data-table-count":""},bv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},_v=["aria-pressed"],yv=["aria-pressed"],vv={key:2,class:"rd-toast","data-export-toast":""},wv=["aria-busy","title","onKeydown"],xv={key:0,class:"rd-csv-n"},kv=["data-sort-by","aria-rowcount"],$v={class:"rd-thead",role:"row"},Sv=["title"],Ev=["checked","aria-label"],Av=["title","aria-sort","data-col","onClick"],Cv={class:"ind"},Tv=["data-slug","aria-selected","aria-rowindex"],Lv={class:"rd-td chk",role:"gridcell"},Pv=["checked","aria-label"],Iv={class:"rd-foot",role:"row"},Zn=26,Mv={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=C=>{if(typeof C=="number")return C;const J=parseFloat(String(C??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=C=>C==null?"":Number(C).toLocaleString("en-US"),a=re(()=>n.columns||[]);function i(C){const J=Number(C&&C.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(n.facets||{}).map(([C,J])=>[C,J.get])),c=re(()=>{var C;return((C=t==null?void 0:t.rows)==null?void 0:C.value)||[]}),u=(o==null?void 0:o.filterSet)||{},p=o==null?void 0:o.selectionSet;function m(C,J,oe){const be=l[J];if(!be)return!0;const ke=be(C);return Array.isArray(oe)?oe.includes(ke):ke===oe}const x=Jn(o,Xn(n)),S=re(()=>{var oe;const C=Object.keys(u),J=!!(((oe=o==null?void 0:o.searchTerm)==null?void 0:oe.value)||"").trim();return!C.length&&!J?c.value:c.value.filter(be=>C.every(ke=>m(be,ke,u[ke]))&&x(be))}),y=de([]);function v(C,J){const oe=!!(J&&J.shiftKey),be=y.value.findIndex(ke=>ke.key===C.key);if(be<0)y.value=(oe?[...y.value]:[]).concat({key:C.key,dir:"asc"});else if(y.value[be].dir==="asc"){const ke=[...y.value];ke[be]={key:C.key,dir:"desc"},y.value=ke}else y.value=oe?y.value.filter(ke=>ke.key!==C.key):[]}function A(C){const J=y.value.find(oe=>oe.key===C.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const C=y.value;if(!C.length)return S.value;const J=C.map(oe=>({col:a.value.find(be=>be.key===oe.key),dir:oe.dir==="asc"?1:-1}));return S.value.slice().sort((oe,be)=>{for(const{col:ke,dir:qe}of J){let We=ke.get(oe),kt=ke.get(be);if((We==null||We==="")&&(We=ke.type==="num"?-1/0:""),(kt==null||kt==="")&&(kt=ke.type==="num"?-1/0:""),Wekt)return 1*qe}return 0})}),d=de(!1),f=de(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,M=re(()=>{let C=_.value;if(d.value&&($(),C=C.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],oe=[];for(const be of C)(p&&p.has(be.slug)?J:oe).push(be);C=J.concat(oe)}return C}),L=de(0),j=de(360),V=de(null);let Q=null;function me(C){L.value=C.target.scrollTop}const B=re(()=>Math.max(0,Math.floor(L.value/Zn)-6)),X=re(()=>Math.ceil(j.value/Zn)+12),H=re(()=>M.value.slice(B.value,B.value+X.value)),z=re(()=>B.value*Zn),P=re(()=>Math.max(0,(M.value.length-(B.value+H.value.length))*Zn));_t(()=>{V.value&&(j.value=V.value.clientHeight||360,Q=new ResizeObserver(()=>{j.value=V.value.clientHeight||j.value}),Q.observe(V.value)),o&&o.on("toggleTable",C=>{W.value=!!C}),o&&o.on("focusRow",({slug:C}={})=>{if(!C||!V.value)return;const J=M.value.findIndex(oe=>oe.slug===C);J>=0&&(V.value.scrollTop=Math.max(0,J*Zn-j.value/2))})}),Dt(()=>{Q&&Q.disconnect(),clearTimeout(ie)});const G=re(()=>($(),p?p.size:0)),F=C=>!!(p&&p.has(C.slug)),I=re(()=>$()),q=de(null),ce=de("select");let he=new Set;function $e(C,J){q.value=C,ce.value=J,he=new Set(p)}function Me(C,J){const oe=M.value,be=oe.findIndex(et=>et.slug===C),ke=oe.findIndex(et=>et.slug===J);if(be<0||ke<0)return[];const[qe,We]=be<=ke?[be,ke]:[ke,be],kt=[];for(let et=qe;et<=We;et++)kt.push(oe[et].slug);return kt}function Ae(C,J){if(!o||!C)return;const oe=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&q.value){const ke=Me(q.value,C);if(!ke.length)return;if(oe){const qe=new Set(he);if(ce.value==="deselect")for(const We of ke)qe.delete(We);else for(const We of ke)qe.add(We);o.setSelection(qe)}else o.setSelection(ke);return}if(oe){const ke=!p.has(C);$e(C,ke?"select":"deselect"),o.toggleSelect(C),he=new Set(p);return}$e(C,"select"),o.setSelection([C]),he=new Set(p)}function xe(C){const J=C.target;if(!J||!J.closest)return;const oe=J.closest(".rd-row");if(!oe||!o)return;const be=oe.getAttribute("data-slug");if(be){if(J.closest(".rd-td.chk")){if(C.shiftKey||C.ctrlKey||C.metaKey){Ae(be,C);return}$e(be,p.has(be)?"deselect":"select"),o.toggleSelect(be),he=new Set(p);return}Ae(be,C)}}function _e(C){C.shiftKey&&C.target&&C.target.closest&&C.target.closest(".rd-row")&&C.preventDefault()}const ge=re(()=>{$();const C=S.value;if(!C.length)return!1;for(const J of C)if(!p.has(J.slug))return!1;return!0}),ye=re(()=>{if($(),ge.value)return!1;for(const C of S.value)if(p.has(C.slug))return!0;return!1});function w(){if(!o)return;const C=S.value.map(J=>J.slug);ge.value?o.deselectMany(C):o.selectMany(C),q.value=null,he=new Set(p)}function T(){o&&o.clearSelection(),q.value=null,he=new Set}const E=de(null);function U(C){E.value=C||null}dt([ye,E],()=>{E.value&&(E.value.indeterminate=ye.value)},{immediate:!0}),dt([y,()=>S.value.length,d,f],()=>{q.value=null}),dt(G,C=>{C||(d.value=!1)});const W=de(!1);function Z(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const ae=re(()=>S.value.reduce((C,J)=>C+(r(J.population)||0),0)),te=re(()=>S.value.length),{labelFor:h}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),b=t&&o?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:l,dataOpts:n.data,labelFor:h}):null,D=de(""),K=de(!1);let ie=null;async function se(){if(!(!b||K.value)){K.value=!0;try{const C=await b.exportCsvAsync(),J=C.downloaded?"exported":C.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(C.rows)} rows × ${C.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{K.value=!1,clearTimeout(ie),ie=setTimeout(()=>{D.value=""},3200)}}}function O(){b&&b.prefetchExportFields()}return Lt(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -531,7 +530,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(C,J)=>(ee(),ne("div",{class:"rd-table-wrap","data-sel-count":G.value},[R("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[R("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:Z},pe(W.value?"▴":"▾"),9,hv),J[0]||(J[0]=R("span",{class:"ttl"},"People Groups",-1)),R("span",mv,pe(s(te.value))+" "+pe(te.value===1?"group":"groups"),1),G.value?(ee(),ne("span",bv,[R("span",null,pe(s(G.value))+" selected",1),R("button",{title:"Clear selection","aria-label":"Clear selection",onClick:T},"✕")])):Ge("",!0),G.value?(ee(),ne(Ie,{key:1},[R("button",{class:De(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,_v),R("button",{class:De(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,yv)],64)):Ge("",!0),J[1]||(J[1]=R("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),ne("span",vv,pe(D.value),1)):Ge("",!0),R("span",{class:De(["rd-csv",{busy:K.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":K.value?"true":"false",title:G.value?`Export the ${G.value} selected people groups — all fields`:`Export these ${s(te.value)} people groups — all fields`,onClick:se,onMouseenter:O,onFocus:O,onKeydown:[zr(on(se,["prevent"]),["enter"]),zr(on(se,["prevent"]),["space"])]},[nt(pe(K.value?"…":"↓")+" Export CSV",1),G.value?(ee(),ne("span",xv,pe(G.value),1)):Ge("",!0)],42,wv)],8,gv),Pt(R("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(oe=>oe.key+":"+oe.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:he,onClick:xe,onMousedown:_e},[R("div",$v,[R("div",{class:"rd-th chk",style:{cursor:"pointer"},title:ge.value?"Deselect all "+s(te.value):"Select all "+s(te.value),onClick:w},[R("input",{type:"checkbox",checked:ge.value,ref:U,"aria-label":ge.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Ev)],8,Sv),(ee(!0),ne(Ie,null,tt(a.value,oe=>(ee(),ne("div",{key:oe.key,class:De(["rd-th",{num:oe.type==="num"}]),style:ht(i(oe)),title:`Sort this table by ${oe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":A(oe),"data-col":oe.key,onClick:me=>v(oe,me)},[nt(pe(oe.label),1),R("span",Cv,pe(A(oe)==="ascending"?"▲":A(oe)==="descending"?"▼":""),1)],14,Av))),128))]),R("div",{style:ht({height:z.value+"px"})},null,4),(ee(!0),ne(Ie,null,tt(H.value,(oe,me)=>(ee(),ne("div",{key:oe.slug,class:De(["rd-row",{sel:I.value>=0&&F(oe)}]),role:"row","data-slug":oe.slug,"aria-selected":F(oe)?"true":"false","aria-rowindex":B.value+me+2},[R("div",Lv,[R("input",{type:"checkbox",class:"rd-rowchk",checked:F(oe),"aria-label":"Select "+oe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Pv)]),(ee(!0),ne(Ie,null,tt(a.value,ke=>(ee(),ne("div",{key:ke.key,class:De(["rd-td",{num:ke.type==="num"}]),style:ht(i(ke)),role:"gridcell"},pe(ke.type==="num"?s(ke.get(oe)):ke.get(oe)),7))),128))],10,Tv))),128)),R("div",{style:ht({height:P.value+"px"})},null,4)],40,kv),[[jt,!W.value]]),Pt(R("div",Iv,[J[2]||(J[2]=R("div",{class:"rd-td chk"},null,-1)),(ee(!0),ne(Ie,null,tt(a.value,(oe,me)=>(ee(),ne("div",{key:"f-"+oe.key,class:De(["rd-td",{num:oe.type==="num"}]),style:ht(i(oe))},[me===0?(ee(),ne(Ie,{key:0},[nt("Σ "+pe(s(te.value))+" groups",1)],64)):oe.key==="population"?(ee(),ne(Ie,{key:1},[nt(pe(s(ae.value)),1)],64)):Ge("",!0)],6))),128))],512),[[jt,!W.value]])],8,pv))}},Nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Rv=["aria-selected","disabled","title","data-tab","onClick"],Fv=["data-chart"],Ov={class:"rd-ct"},Dv={class:"rd-donutwrap"},jv=["aria-label"],zv=["d","fill","data-facet","data-key"],Bv={class:"rd-legend"},Uv=["data-facet","data-key","title"],Gv={class:"rd-lt"},Hv=["data-chart"],qv={class:"rd-ct"},Vv={class:"rd-bars"},Wv=["data-facet","data-key"],Kv={class:"rd-bl"},Yv={class:"rd-bt"},Xv={class:"rd-bv"},Jv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=de("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,A])=>[v,A.get])),l=Jn(r,Xn(s));function c(v){var f,g;const A=((f=n==null?void 0:n.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?A:A.filter(k=>_.every($=>{const M=i[$];return M?M(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,A=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!A?null:Ry(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],v,A)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const A=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ze(k[v.facet])),_=ja(c([v.facet]),A,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Oy(_,v.facet,d):Fy(_,132,.58,v.facet,d)}})),m=(v,A)=>a[v]===A,x=v=>a[v]!=null;function S(v,A){!A||A==="Other"||!r||r.setFilter(v,a[v]===A?null:A)}function y(v){const A=v.target&&v.target.closest&&v.target.closest("[data-facet]");A&&S(A.getAttribute("data-facet"),A.getAttribute("data-key"))}return Lt(` +`,"rd-datatable"),(C,J)=>(ee(),ne("div",{class:"rd-table-wrap","data-sel-count":G.value},[R("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[R("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:Z},pe(W.value?"▴":"▾"),9,hv),J[0]||(J[0]=R("span",{class:"ttl"},"People Groups",-1)),R("span",mv,pe(s(te.value))+" "+pe(te.value===1?"group":"groups"),1),G.value?(ee(),ne("span",bv,[R("span",null,pe(s(G.value))+" selected",1),R("button",{title:"Clear selection","aria-label":"Clear selection",onClick:T},"✕")])):Ge("",!0),G.value?(ee(),ne(Ie,{key:1},[R("button",{class:De(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,_v),R("button",{class:De(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,yv)],64)):Ge("",!0),J[1]||(J[1]=R("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),ne("span",vv,pe(D.value),1)):Ge("",!0),R("span",{class:De(["rd-csv",{busy:K.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":K.value?"true":"false",title:G.value?`Export the ${G.value} selected people groups — all fields`:`Export these ${s(te.value)} people groups — all fields`,onClick:se,onMouseenter:O,onFocus:O,onKeydown:[zr(on(se,["prevent"]),["enter"]),zr(on(se,["prevent"]),["space"])]},[nt(pe(K.value?"…":"↓")+" Export CSV",1),G.value?(ee(),ne("span",xv,pe(G.value),1)):Ge("",!0)],42,wv)],8,gv),Pt(R("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(oe=>oe.key+":"+oe.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:me,onClick:xe,onMousedown:_e},[R("div",$v,[R("div",{class:"rd-th chk",style:{cursor:"pointer"},title:ge.value?"Deselect all "+s(te.value):"Select all "+s(te.value),onClick:w},[R("input",{type:"checkbox",checked:ge.value,ref:U,"aria-label":ge.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Ev)],8,Sv),(ee(!0),ne(Ie,null,tt(a.value,oe=>(ee(),ne("div",{key:oe.key,class:De(["rd-th",{num:oe.type==="num"}]),style:ht(i(oe)),title:`Sort this table by ${oe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":A(oe),"data-col":oe.key,onClick:be=>v(oe,be)},[nt(pe(oe.label),1),R("span",Cv,pe(A(oe)==="ascending"?"▲":A(oe)==="descending"?"▼":""),1)],14,Av))),128))]),R("div",{style:ht({height:z.value+"px"})},null,4),(ee(!0),ne(Ie,null,tt(H.value,(oe,be)=>(ee(),ne("div",{key:oe.slug,class:De(["rd-row",{sel:I.value>=0&&F(oe)}]),role:"row","data-slug":oe.slug,"aria-selected":F(oe)?"true":"false","aria-rowindex":B.value+be+2},[R("div",Lv,[R("input",{type:"checkbox",class:"rd-rowchk",checked:F(oe),"aria-label":"Select "+oe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Pv)]),(ee(!0),ne(Ie,null,tt(a.value,ke=>(ee(),ne("div",{key:ke.key,class:De(["rd-td",{num:ke.type==="num"}]),style:ht(i(ke)),role:"gridcell"},pe(ke.type==="num"?s(ke.get(oe)):ke.get(oe)),7))),128))],10,Tv))),128)),R("div",{style:ht({height:P.value+"px"})},null,4)],40,kv),[[jt,!W.value]]),Pt(R("div",Iv,[J[2]||(J[2]=R("div",{class:"rd-td chk"},null,-1)),(ee(!0),ne(Ie,null,tt(a.value,(oe,be)=>(ee(),ne("div",{key:"f-"+oe.key,class:De(["rd-td",{num:oe.type==="num"}]),style:ht(i(oe))},[be===0?(ee(),ne(Ie,{key:0},[nt("Σ "+pe(s(te.value))+" groups",1)],64)):oe.key==="population"?(ee(),ne(Ie,{key:1},[nt(pe(s(ae.value)),1)],64)):Ge("",!0)],6))),128))],512),[[jt,!W.value]])],8,pv))}},Nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Rv=["aria-selected","disabled","title","data-tab","onClick"],Fv=["data-chart"],Ov={class:"rd-ct"},Dv={class:"rd-donutwrap"},jv=["aria-label"],zv=["d","fill","data-facet","data-key"],Bv={class:"rd-legend"},Uv=["data-facet","data-key","title"],Gv={class:"rd-lt"},Hv=["data-chart"],qv={class:"rd-ct"},Vv={class:"rd-bars"},Wv=["data-facet","data-key"],Kv={class:"rd-bl"},Yv={class:"rd-bt"},Xv={class:"rd-bv"},Jv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=de("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,A])=>[v,A.get])),l=Jn(r,Xn(s));function c(v){var f,g;const A=((f=n==null?void 0:n.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?A:A.filter(k=>_.every($=>{const M=i[$];return M?M(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,A=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!A?null:Ry(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],v,A)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const A=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ze(k[v.facet])),_=ja(c([v.facet]),A,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Oy(_,v.facet,d):Fy(_,132,.58,v.facet,d)}})),m=(v,A)=>a[v]===A,x=v=>a[v]!=null;function S(v,A){!A||A==="Other"||!r||r.setFilter(v,a[v]===A?null:A)}function y(v){const A=v.target&&v.target.closest&&v.target.closest("[data-facet]");A&&S(A.getAttribute("data-facet"),A.getAttribute("data-key"))}return Lt(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -619,7 +618,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(f,g)=>(ee(),ne("section",Zv,[R("div",Qv,[g[0]||(g[0]=R("span",null,"Detail",-1)),c.value?(ee(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Ge("",!0)]),c.value?(ee(),ne(Ie,{key:1},[R("div",t0,[p.value?(ee(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,o0)):(ee(),ne("div",n0,"No photo")),R("div",null,[R("div",r0,pe(c.value.name||"—"),1),R("div",s0,pe(ue(Ze)(c.value.country_code)||"—")+" · "+pe(ue(Ze)(c.value.religion)||"—"),1)])]),R("div",a0,[S.value?(ee(),ne("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),R("span",null,pe(v.value),1)],8,i0)):Ge("",!0),y.value?(ee(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:A.value,"data-detail-moreinfo":""},[g[2]||(g[2]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),R("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("span",null,pe(A.value),1)],8,l0)):Ge("",!0)]),R("div",c0,[R("div",u0,[g[3]||(g[3]=R("span",{class:"k"},"Language",-1)),R("span",d0,[nt(pe(ue(Ze)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),ne("span",f0," ("+pe(c.value.imb_language_family)+")",1)):Ge("",!0)])]),R("div",p0,[g[4]||(g[4]=R("span",{class:"k"},"Population",-1)),R("span",g0,pe(u(c.value.population)),1)]),R("div",h0,[g[5]||(g[5]=R("span",{class:"k"},"People praying",-1)),R("span",m0,pe(u(c.value.people_praying)),1)]),R("div",b0,[g[6]||(g[6]=R("span",{class:"k"},"People committed",-1)),R("span",_0,pe(u(c.value.people_committed)),1)]),R("div",y0,[g[7]||(g[7]=R("span",{class:"k"},"Adopted by churches",-1)),R("span",v0,pe(u(c.value.adopted_by_churches)),1)]),R("div",w0,[g[8]||(g[8]=R("span",{class:"k"},"Engagement",-1)),R("span",x0,pe(ue(Ze)(c.value.engagement_status)||"—"),1)])]),R("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),ne("div",e0,"Select a people group to see detail"))]))}},$0="rgba(120, 128, 134, 0.28)",Bu="36px",Uu=()=>{};function S0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Uu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Uu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${$0} ${Bu}, transparent ${Bu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>n.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of n)l.has(_)||a(_)},m=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>m(),S=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const A=[];for(const _ of n){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),A.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of A)d();for(const d of n)a(d)}}const E0=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/dark",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/dark",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/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function A0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=E0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const hn={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 Gu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const C0=hn.mapbox.css,T0="https://tiles.openfreemap.org/styles/liberty";function za(e){var o;const t=((o=hn[e])==null?void 0:o.global)||hn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function L0(e){const t=hn[e]||hn.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(za(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function P0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(i=>setTimeout(i,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function I0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:T0}const M0=85.0511,Hu=-2,N0=0,R0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function F0(e,t,o,n){if(!e||e<=0||!t||t<=0)return N0;const r=Math.log2(e/512),s=qu(n)-qu(M0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Hu,Math.min(i,(o??18)-1))}function O0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:x=R0,maxBounds:S=void 0}){const y=Sn(null),v=de(!1);let A=null,_=null,d=null;const f=r==="maplibre";async function g(){var G;const M=A0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await L0(r);const L=za(r);if(!L){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){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 P0(e.value,f?hn.maplibre.css:C0),await new Promise(F=>requestAnimationFrame(F));const j=e.value,V=j.clientWidth,Q=j.clientHeight;if(V===0||Q===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Q}). Map will be invisible. Check that parent elements have CSS sizing.`);let F=j.parentElement,I=0;for(;F&&I<5;)F=F.parentElement,I++}const he=t;f||(L.accessToken=he);const B=()=>typeof window<"u"&&window.innerWidth>=1024,X=(F,I)=>{if(!B())return Hu;const q=F0(F,I,l,x);return typeof i=="number"?Math.max(i,q):q},H=X(j.clientWidth,j.clientHeight);if(f){y.value=new L.Map({container:e.value,style:I0(M),center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const F=typeof n=="function"?n():n;y.value=new L.Map({accessToken:he,container:e.value,style:M,...F?{config:F}:{},center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let F=!1;y.value.on("error",I=>{var be,$e;const q=((be=I==null?void 0:I.error)==null?void 0:be.status)??(I==null?void 0:I.status),ce=String((($e=I==null?void 0:I.error)==null?void 0:$e.url)||(I==null?void 0:I.sourceId)||"");q!==401&&q!==403||F||(F=!0,console.error(`[doxa-maps] Mapbox returned ${q} 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.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=S0(((G=e.value)==null?void 0:G.parentElement)||null,{enabled:m});let z=H,P=null;A=()=>{const F=y.value;if(!F)return;const I=X(j.clientWidth,j.clientHeight);I!==z&&(z=I,F.setMinZoom(I)),F.getZoom(){P=null;const q=y.value;if(!q)return;const ce=X(j.clientWidth,j.clientHeight);if(q.getZoom(){P&&(clearTimeout(P),P=null)},y.value.on("resize",A),typeof window<"u"&&(window.addEventListener("resize",A),window.addEventListener("orientationchange",A)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var F;(F=y.value)==null||F.resize(),y.value&&y.value.setMinZoom(X(j.clientWidth,j.clientHeight)),v.value=!0})})}function k(){if(y.value){if(A&&(y.value.off("resize",A),typeof window<"u"&&(window.removeEventListener("resize",A),window.removeEventListener("orientationchange",A)),A=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const D0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function j0(e){return D0[e]||null}const mn={center:[20,10],zoom:1.8};function z0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(mn==null?void 0:mn.center)||[20,10],defaultZoom:a=mn==null?void 0:mn.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(B,X,H={x:150,y:0}){const z=t();if(!z)return B;try{const P=z.getCanvas(),G=P.width,F=P.height,I=z.project(B),q=window.devicePixelRatio||1,ce=(H.x||0)*q,be=(H.y||0)*q,$e={x:I.x-ce,y:I.y-be},Me=z.unproject($e);return[Me.lng,Me.lat]}catch{return B}}function c(B,X=[]){const H=t();if(!H)return;let z=null,P=5;const G=X.filter(I=>I.languageFamily===B);if(G.length>0){let I=1/0,q=-1/0,ce=1/0,be=-1/0;if(G.forEach($e=>{$e.longitude&&$e.latitude&&(I=Math.min(I,$e.longitude),q=Math.max(q,$e.longitude),ce=Math.min(ce,$e.latitude),be=Math.max(be,$e.latitude))}),I!==1/0){z=[(I+q)/2,(ce+be)/2];const $e=q-I,Me=be-ce,Ae=Math.max($e,Me);Ae>50?P=2:Ae>20?P=3:Ae>10?P=4:Ae>5?P=5:P=6}}if(!z)return;const F=l(z);H.flyTo({center:F,zoom:P,...i})}function u(B){const X=t();if(!X)return;let H=null,z=4;const P=j0(B);if(P)H=P.center,z=P.zoom||4;else if(r!=null&&r.features){const F=r.features.find(I=>{var q,ce;return((q=I.properties)==null?void 0:q.region)===B||((ce=I.properties)==null?void 0:ce.name)===B});F&&(H=p(F))}if(!H)return;const G=l(H);X.flyTo({center:G,zoom:z,...i})}function p(B){if(!B||!B.geometry)return null;const{type:X,coordinates:H}=B.geometry;let z=[];if(X==="Polygon"?z=H[0]||[]:X==="MultiPolygon"&&H.forEach(F=>{z=z.concat(F[0]||[])}),z.length===0)return null;let P=0,G=0;return z.forEach(F=>{P+=F[0],G+=F[1]}),[P/z.length,G/z.length]}function m(B,X={}){const H=t();if(!H)return;const z={center:B,...i,...X};H.flyTo(z)}function x(B,X){const H=t();if(!H||(B==null?void 0:B.longitude)==null||(B==null?void 0:B.latitude)==null)return;const z=X??Math.min(H.getZoom()+2,8);m([B.longitude,B.latitude],{zoom:z})}function S(B,X={top:40,right:40,bottom:40,left:40},H={}){const z=t();if(!z||!B)return;const P=H.maxZoom??4,G=H.duration??900;z.fitBounds(B,{padding:X,maxZoom:P,duration:G,...i,...H})}function y(){const B=t();B&&B.flyTo({center:s,zoom:a,...i})}const v=80,A=800,_=5,d=5,f=110,g=1.2;function k(B){const X=B.filter(Number.isFinite).slice().sort((w,T)=>w-T),H=X.length;if(!H)return null;let z=-1,P=0;for(let w=0;wz&&(z=E,P=w)}const G=(P+1)%H,F=new Array(H);for(let w=0;w0&&T((w+180)%360+360)%360-180,Me=$e(ce),Ae=24,xe=360/Ae,_e=new Array(Ae).fill(0);for(const w of X){let T=Math.floor(((w+180)%360+360)%360/xe);T>=Ae&&(T=Ae-1),_e[T]++}let ge=0;for(let w=1;w_e[ge]&&(ge=w);return{center:$e(-180+(ge+.5)*xe),minLng:Me,maxLng:Me+(be-ce),span:be-ce}}function $(B){try{const X=B.getContainer&&B.getContainer().clientWidth||0,H=X>0?Math.log2(X/512):g,z=typeof B.getMinZoom=="function"?B.getMinZoom():H;return Math.max(z,H)}catch{return g}}function M(B,X,H,z){B.easeTo({center:[X,(H+z)/2],zoom:$(B),duration:A,essential:!0})}function L(B,X,H){if(H>f)return!0;try{const z=typeof B.cameraForBounds=="function"?B.cameraForBounds(X,{padding:v,maxZoom:_}):null;return z==null?!0:typeof z.zoom=="number"&&z.zoom<=$(B)+.05}catch{return!1}}function j(B,X){if(!Array.isArray(B))return B;switch(B[0]){case"get":return X==null?void 0:X[B[1]];case"literal":return B[1];case"has":return X!=null&&B[1]in X;case"!has":return X==null||!(B[1]in X);case"!":return!j(B[1],X);case"coalesce":{for(let z=1;z2){const G=Number(j(B[2],X));return Number.isFinite(G)?G:0}return NaN}case"to-string":{const z=j(B[1],X);return z==null?"":String(z)}case"to-boolean":return!!j(B[1],X);case"slice":{const z=j(B[1],X),P=j(B[2],X),G=B.length>3?j(B[3],X):void 0;return typeof z!="string"?"":G!=null?z.slice(P,G):z.slice(P)}default:return B}}function V(B,X){if(B===!0)return!0;if(B===!1)return!1;if(!Array.isArray(B))return!!B;const H=B[0];if(H==="all"){for(let z=1;z"||H===">="||H==="<"||H==="<="){const z=typeof B[1]=="string"?X==null?void 0:X[B[1]]:j(B[1],X),P=j(B[2],X);switch(H){case"==":return z===P||z==null&&P==null;case"!=":return!(z===P||z==null&&P==null);case">":return z>P;case">=":return z>=P;case"<":return z{const U=(E==null?void 0:E.properties)||{};return U.region===w||U.name===w||U.id===w});if(T){const E=[];let U=1/0,W=-1/0;const Z=te=>{for(const h of te)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(E.push(h[0]),h[1]W&&(W=h[1]))};(_e=T.geometry)!=null&&_e.coordinates&&Z(T.geometry.coordinates);const ae=k(E);if(ae&&Number.isFinite(U)){const te=[[ae.minLng,U],[ae.maxLng,W]];L(H,te,ae.span)?M(H,ae.center,U,W):H.fitBounds(te,{padding:v,maxZoom:_,duration:A,essential:!0});return}}}const z=X.sourceId??"language-families";if(!H.getSource(z))return;const P=X.matchExpr??B.filter;if(!P)return;const G=Q(H,z);if(!G.length)return;const F=[];let I=1/0,q=-1/0,ce=0,be=0,$e=0;const Me=new Set;for(const ye of G){const w=ye==null?void 0:ye.properties;if(!V(P,w))continue;const T=w==null?void 0:w.uniqueId;if(T!=null){if(Me.has(T))continue;Me.add(T)}const E=(ge=ye.geometry)==null?void 0:ge.coordinates;if(!Array.isArray(E)||E.length<2)continue;const U=E[0],W=E[1];!Number.isFinite(U)||!Number.isFinite(W)||(ce===0&&(be=U,$e=W),F.push(U),Wq&&(q=W),ce++)}if(ce===0)return;if(ce===1){H.flyTo({center:[be,$e],zoom:d,duration:A,essential:!0});return}const Ae=k(F)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Ae.minLng,I],[Ae.maxLng,q]];if(L(H,xe,Ae.span)){M(H,Ae.center,I,q);return}try{H.fitBounds(xe,{padding:v,maxZoom:_,duration:A,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:x,fitBounds:S,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const B0=150,U0=1200,G0=70,H0=5.5,q0=6,Vu=.01,V0=110,W0=1.45;function K0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function Y0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function X0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const i of e){io&&(o=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:o,span:s}}function J0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=Y0(t.get(l));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=X0(o);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=J0(e.selectionSet,o&&o());if(!c)return;const u=K0()?0:U0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:q0,duration:u,essential:!0});return}if(c.span>V0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:W0,duration:u,essential:!0});return}n.fitBounds(c.bounds,G0,{maxZoom:H0,duration:u,essential:!0})}catch{}}const i=dt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,B0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Q0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=de(null);return ut("mapToolbar",{el:t}),Lt(` +`,"rd-detaildrawer"),(f,g)=>(ee(),ne("section",Zv,[R("div",Qv,[g[0]||(g[0]=R("span",null,"Detail",-1)),c.value?(ee(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Ge("",!0)]),c.value?(ee(),ne(Ie,{key:1},[R("div",t0,[p.value?(ee(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,o0)):(ee(),ne("div",n0,"No photo")),R("div",null,[R("div",r0,pe(c.value.name||"—"),1),R("div",s0,pe(ue(Ze)(c.value.country_code)||"—")+" · "+pe(ue(Ze)(c.value.religion)||"—"),1)])]),R("div",a0,[S.value?(ee(),ne("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),R("span",null,pe(v.value),1)],8,i0)):Ge("",!0),y.value?(ee(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:A.value,"data-detail-moreinfo":""},[g[2]||(g[2]=R("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[R("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),R("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),R("span",null,pe(A.value),1)],8,l0)):Ge("",!0)]),R("div",c0,[R("div",u0,[g[3]||(g[3]=R("span",{class:"k"},"Language",-1)),R("span",d0,[nt(pe(ue(Ze)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),ne("span",f0," ("+pe(c.value.imb_language_family)+")",1)):Ge("",!0)])]),R("div",p0,[g[4]||(g[4]=R("span",{class:"k"},"Population",-1)),R("span",g0,pe(u(c.value.population)),1)]),R("div",h0,[g[5]||(g[5]=R("span",{class:"k"},"People praying",-1)),R("span",m0,pe(u(c.value.people_praying)),1)]),R("div",b0,[g[6]||(g[6]=R("span",{class:"k"},"People committed",-1)),R("span",_0,pe(u(c.value.people_committed)),1)]),R("div",y0,[g[7]||(g[7]=R("span",{class:"k"},"Adopted by churches",-1)),R("span",v0,pe(u(c.value.adopted_by_churches)),1)]),R("div",w0,[g[8]||(g[8]=R("span",{class:"k"},"Engagement",-1)),R("span",x0,pe(ue(Ze)(c.value.engagement_status)||"—"),1)])]),R("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),ne("div",e0,"Select a people group to see detail"))]))}},$0="rgba(120, 128, 134, 0.28)",Bu="36px",Uu=()=>{};function S0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Uu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Uu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${$0} ${Bu}, transparent ${Bu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>n.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of n)l.has(_)||a(_)},m=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>m(),S=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||m()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const A=[];for(const _ of n){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),A.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of A)d();for(const d of n)a(d)}}const E0=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/dark",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/dark",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/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function A0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=E0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const hn={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 Gu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const C0=hn.mapbox.css,T0="https://tiles.openfreemap.org/styles/liberty";function za(e){var o;const t=((o=hn[e])==null?void 0:o.global)||hn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function L0(e){const t=hn[e]||hn.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(za(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function P0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(i=>setTimeout(i,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function I0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:T0}const M0=85.0511,Hu=-2,N0=0,R0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function F0(e,t,o,n){if(!e||e<=0||!t||t<=0)return N0;const r=Math.log2(e/512),s=qu(n)-qu(M0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Hu,Math.min(i,(o??18)-1))}function O0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:x=R0,maxBounds:S=void 0}){const y=Sn(null),v=de(!1);let A=null,_=null,d=null;const f=r==="maplibre";async function g(){var G;const M=A0(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await L0(r);const L=za(r);if(!L){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){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 P0(e.value,f?hn.maplibre.css:C0),await new Promise(F=>requestAnimationFrame(F));const j=e.value,V=j.clientWidth,Q=j.clientHeight;if(V===0||Q===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Q}). Map will be invisible. Check that parent elements have CSS sizing.`);let F=j.parentElement,I=0;for(;F&&I<5;)F=F.parentElement,I++}const me=t;f||(L.accessToken=me);const B=()=>typeof window<"u"&&window.innerWidth>=1024,X=(F,I)=>{if(!B())return Hu;const q=F0(F,I,l,x);return typeof i=="number"?Math.max(i,q):q},H=X(j.clientWidth,j.clientHeight);if(f){y.value=new L.Map({container:e.value,style:I0(M),center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const F=typeof n=="function"?n():n;y.value=new L.Map({accessToken:me,container:e.value,style:M,...F?{config:F}:{},center:s,zoom:a,minZoom:H,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...S?{maxBounds:S}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Gu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let F=!1;y.value.on("error",I=>{var he,$e;const q=((he=I==null?void 0:I.error)==null?void 0:he.status)??(I==null?void 0:I.status),ce=String((($e=I==null?void 0:I.error)==null?void 0:$e.url)||(I==null?void 0:I.sourceId)||"");q!==401&&q!==403||F||(F=!0,console.error(`[doxa-maps] Mapbox returned ${q} 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.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=S0(((G=e.value)==null?void 0:G.parentElement)||null,{enabled:m});let z=H,P=null;A=()=>{const F=y.value;if(!F)return;const I=X(j.clientWidth,j.clientHeight);I!==z&&(z=I,F.setMinZoom(I)),F.getZoom(){P=null;const q=y.value;if(!q)return;const ce=X(j.clientWidth,j.clientHeight);if(q.getZoom(){P&&(clearTimeout(P),P=null)},y.value.on("resize",A),typeof window<"u"&&(window.addEventListener("resize",A),window.addEventListener("orientationchange",A)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var F;(F=y.value)==null||F.resize(),y.value&&y.value.setMinZoom(X(j.clientWidth,j.clientHeight)),v.value=!0})})}function k(){if(y.value){if(A&&(y.value.off("resize",A),typeof window<"u"&&(window.removeEventListener("resize",A),window.removeEventListener("orientationchange",A)),A=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const D0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function j0(e){return D0[e]||null}const mn={center:[20,10],zoom:1.8};function z0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(mn==null?void 0:mn.center)||[20,10],defaultZoom:a=mn==null?void 0:mn.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(B,X,H={x:150,y:0}){const z=t();if(!z)return B;try{const P=z.getCanvas(),G=P.width,F=P.height,I=z.project(B),q=window.devicePixelRatio||1,ce=(H.x||0)*q,he=(H.y||0)*q,$e={x:I.x-ce,y:I.y-he},Me=z.unproject($e);return[Me.lng,Me.lat]}catch{return B}}function c(B,X=[]){const H=t();if(!H)return;let z=null,P=5;const G=X.filter(I=>I.languageFamily===B);if(G.length>0){let I=1/0,q=-1/0,ce=1/0,he=-1/0;if(G.forEach($e=>{$e.longitude&&$e.latitude&&(I=Math.min(I,$e.longitude),q=Math.max(q,$e.longitude),ce=Math.min(ce,$e.latitude),he=Math.max(he,$e.latitude))}),I!==1/0){z=[(I+q)/2,(ce+he)/2];const $e=q-I,Me=he-ce,Ae=Math.max($e,Me);Ae>50?P=2:Ae>20?P=3:Ae>10?P=4:Ae>5?P=5:P=6}}if(!z)return;const F=l(z);H.flyTo({center:F,zoom:P,...i})}function u(B){const X=t();if(!X)return;let H=null,z=4;const P=j0(B);if(P)H=P.center,z=P.zoom||4;else if(r!=null&&r.features){const F=r.features.find(I=>{var q,ce;return((q=I.properties)==null?void 0:q.region)===B||((ce=I.properties)==null?void 0:ce.name)===B});F&&(H=p(F))}if(!H)return;const G=l(H);X.flyTo({center:G,zoom:z,...i})}function p(B){if(!B||!B.geometry)return null;const{type:X,coordinates:H}=B.geometry;let z=[];if(X==="Polygon"?z=H[0]||[]:X==="MultiPolygon"&&H.forEach(F=>{z=z.concat(F[0]||[])}),z.length===0)return null;let P=0,G=0;return z.forEach(F=>{P+=F[0],G+=F[1]}),[P/z.length,G/z.length]}function m(B,X={}){const H=t();if(!H)return;const z={center:B,...i,...X};H.flyTo(z)}function x(B,X){const H=t();if(!H||(B==null?void 0:B.longitude)==null||(B==null?void 0:B.latitude)==null)return;const z=X??Math.min(H.getZoom()+2,8);m([B.longitude,B.latitude],{zoom:z})}function S(B,X={top:40,right:40,bottom:40,left:40},H={}){const z=t();if(!z||!B)return;const P=H.maxZoom??4,G=H.duration??900;z.fitBounds(B,{padding:X,maxZoom:P,duration:G,...i,...H})}function y(){const B=t();B&&B.flyTo({center:s,zoom:a,...i})}const v=80,A=800,_=5,d=5,f=110,g=1.2;function k(B){const X=B.filter(Number.isFinite).slice().sort((w,T)=>w-T),H=X.length;if(!H)return null;let z=-1,P=0;for(let w=0;wz&&(z=E,P=w)}const G=(P+1)%H,F=new Array(H);for(let w=0;w0&&T((w+180)%360+360)%360-180,Me=$e(ce),Ae=24,xe=360/Ae,_e=new Array(Ae).fill(0);for(const w of X){let T=Math.floor(((w+180)%360+360)%360/xe);T>=Ae&&(T=Ae-1),_e[T]++}let ge=0;for(let w=1;w_e[ge]&&(ge=w);return{center:$e(-180+(ge+.5)*xe),minLng:Me,maxLng:Me+(he-ce),span:he-ce}}function $(B){try{const X=B.getContainer&&B.getContainer().clientWidth||0,H=X>0?Math.log2(X/512):g,z=typeof B.getMinZoom=="function"?B.getMinZoom():H;return Math.max(z,H)}catch{return g}}function M(B,X,H,z){B.easeTo({center:[X,(H+z)/2],zoom:$(B),duration:A,essential:!0})}function L(B,X,H){if(H>f)return!0;try{const z=typeof B.cameraForBounds=="function"?B.cameraForBounds(X,{padding:v,maxZoom:_}):null;return z==null?!0:typeof z.zoom=="number"&&z.zoom<=$(B)+.05}catch{return!1}}function j(B,X){if(!Array.isArray(B))return B;switch(B[0]){case"get":return X==null?void 0:X[B[1]];case"literal":return B[1];case"has":return X!=null&&B[1]in X;case"!has":return X==null||!(B[1]in X);case"!":return!j(B[1],X);case"coalesce":{for(let z=1;z2){const G=Number(j(B[2],X));return Number.isFinite(G)?G:0}return NaN}case"to-string":{const z=j(B[1],X);return z==null?"":String(z)}case"to-boolean":return!!j(B[1],X);case"slice":{const z=j(B[1],X),P=j(B[2],X),G=B.length>3?j(B[3],X):void 0;return typeof z!="string"?"":G!=null?z.slice(P,G):z.slice(P)}default:return B}}function V(B,X){if(B===!0)return!0;if(B===!1)return!1;if(!Array.isArray(B))return!!B;const H=B[0];if(H==="all"){for(let z=1;z"||H===">="||H==="<"||H==="<="){const z=typeof B[1]=="string"?X==null?void 0:X[B[1]]:j(B[1],X),P=j(B[2],X);switch(H){case"==":return z===P||z==null&&P==null;case"!=":return!(z===P||z==null&&P==null);case">":return z>P;case">=":return z>=P;case"<":return z{const U=(E==null?void 0:E.properties)||{};return U.region===w||U.name===w||U.id===w});if(T){const E=[];let U=1/0,W=-1/0;const Z=te=>{for(const h of te)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(E.push(h[0]),h[1]W&&(W=h[1]))};(_e=T.geometry)!=null&&_e.coordinates&&Z(T.geometry.coordinates);const ae=k(E);if(ae&&Number.isFinite(U)){const te=[[ae.minLng,U],[ae.maxLng,W]];L(H,te,ae.span)?M(H,ae.center,U,W):H.fitBounds(te,{padding:v,maxZoom:_,duration:A,essential:!0});return}}}const z=X.sourceId??"language-families";if(!H.getSource(z))return;const P=X.matchExpr??B.filter;if(!P)return;const G=Q(H,z);if(!G.length)return;const F=[];let I=1/0,q=-1/0,ce=0,he=0,$e=0;const Me=new Set;for(const ye of G){const w=ye==null?void 0:ye.properties;if(!V(P,w))continue;const T=w==null?void 0:w.uniqueId;if(T!=null){if(Me.has(T))continue;Me.add(T)}const E=(ge=ye.geometry)==null?void 0:ge.coordinates;if(!Array.isArray(E)||E.length<2)continue;const U=E[0],W=E[1];!Number.isFinite(U)||!Number.isFinite(W)||(ce===0&&(he=U,$e=W),F.push(U),Wq&&(q=W),ce++)}if(ce===0)return;if(ce===1){H.flyTo({center:[he,$e],zoom:d,duration:A,essential:!0});return}const Ae=k(F)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Ae.minLng,I],[Ae.maxLng,q]];if(L(H,xe,Ae.span)){M(H,Ae.center,I,q);return}try{H.fitBounds(xe,{padding:v,maxZoom:_,duration:A,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:x,fitBounds:S,resetView:y,zoomToLegendRow:me,calculateRegionCenterFromPolygon:p}}const B0=150,U0=1200,G0=70,H0=5.5,q0=6,Vu=.01,V0=110,W0=1.45;function K0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function Y0(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function X0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const i of e){io&&(o=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:o,span:s}}function J0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=Y0(t.get(l));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=X0(o);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=J0(e.selectionSet,o&&o());if(!c)return;const u=K0()?0:U0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:q0,duration:u,essential:!0});return}if(c.span>V0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:W0,duration:u,essential:!0});return}n.fitBounds(c.bounds,G0,{maxZoom:H0,duration:u,essential:!0})}catch{}}const i=dt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,B0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Q0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=de(null);return ut("mapToolbar",{el:t}),Lt(` .map-toolbar { position: absolute; top: 6px; @@ -636,7 +635,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(ee(),ne("div",{ref_key:"toolbarEl",ref:t,class:De(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Is(o.$slots,"default")],2))}},ew={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomIn"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},tw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomOut"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},ow=["data-projection"],nw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Wu=2,rw="#f2f3f0",Ku=.78,sw="prayer_level",aw=.1,iw=12,lw={__name:"DashboardMapPanel",setup(e){var er,Xu,Ju,Zu,Qu,ed,td,od,nd;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",de("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([N,Y])=>[N,Y.get])),i=Jn(o,Xn(r)),l=re(()=>{var ve,Ce;const N=((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[],Y=Object.keys(s),le=!!(((Ce=o==null?void 0:o.searchTerm)==null?void 0:Ce.value)||"").trim();return!Y.length&&!le?N:N.filter(Ne=>Y.every(Re=>{const we=a[Re];return we?we(Ne)===s[Re]:!0})&&i(Ne))}),c=((er=r.map)==null?void 0:er.geoFacet)||"country_code",u=((Ju=(Xu=r.facets)==null?void 0:Xu[c])==null?void 0:Ju.geoIso)||(N=>{const Y=N[c];return Y&&Y.value?Y.value:null}),p=a[c]||(N=>Ze(N[c])),m=re(()=>{var Y;const N=new Map;for(const le of((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]){const ve=u(le);ve&&N.set(ve,p(le)||ve)}return N}),x=re(()=>{const N=new Map;for(const Y of l.value){const le=u(Y);le&&N.set(le,(N.get(le)||0)+1)}return N}),S=de(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:A,initializeMap:_,destroy:d}=O0({containerRef:S,accessToken:ue(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Zu=r.map)!=null&&Zu.mapStyle||r.mapStyle?{style:((Qu=r.map)==null?void 0:Qu.mapStyle)||r.mapStyle}:{}}),f=z0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Z0({bus:o,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var N;return(N=t==null?void 0:t.rowStore)==null?void 0:N.value},isEnabled:()=>A.value});let k=!1,$=null,M=null,L=null,j=0,V=!1;function Q(){V||j||(j=requestAnimationFrame(()=>{j=0;const N=v.value;if(N&&typeof N.resize=="function")try{N.resize()}catch{}}))}function he(N){const Y=!!N;if(Y!==V){if(V=Y,V){j&&(cancelAnimationFrame(j),j=0);return}Q(),setTimeout(Q,180)}}const B=(()=>{var Y;const N={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return N[(Y=r.map)==null?void 0:Y.colorRamp]||N["heartbeat-red"]})(),X={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function H(N,Y){return Number.isFinite(Y)?Y-1<=N?`${N}`:`${N}–${Y-1}`:`${N}+ · heartbeat zone`}function z(N){const le=X.binThresholds.map(ve=>ve/X.heartbeatThreshold).map(ve=>Math.max(Wu,Math.round(ve*N)));return P(le,N)}function P(N,Y){const le=[];for(const ve of N){const Ce=Math.max(ve,le.length?le[le.length-1]+1:Wu);CeRe>0).sort((Re,we)=>Re-we);if(le.length<8)return null;const ve=Re=>le[Math.min(le.length-1,Math.max(0,Math.floor(Re*le.length)))],Ce=ve(1-Y)+1,Ne=[.25,.5,.75].map(Re=>ve(Re));return{threshold:Ce,edges:P(Ne,Ce)}}function F(N){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const Y=r.map||{};let le=Number(Y.heartbeatThreshold)>0?Number(Y.heartbeatThreshold):X.heartbeatThreshold,ve=null;if(Y.heartbeatMode==="quantile"){const we=G(N||[],Number(Y.heartbeatQuantile)>0?Number(Y.heartbeatQuantile):X.quantile);we&&(le=we.threshold,ve=we.edges)}ve||(ve=Array.isArray(Y.binThresholds)&&Y.binThresholds.length?[...new Set(Y.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-gt):Number(Y.heartbeatThreshold)>0?z(le):X.binThresholds);const Ce=[...ve,le,1/0].slice(0,B.length);for(;Ce.length{const Gt={upTo:we,c:B[gt],l:H(Ne,we)};return Ne=we,Gt})}const I=re(()=>F([...x.value.values()])),q=((ed=r.map)==null?void 0:ed.noDataColor)||"#f3f3f1";function ce(N){if(!N)return q;const Y=I.value;for(const le of Y)if(N{const Re=parseInt(le.slice(Ne*2,Ne*2+2),16),we=parseInt(ve.slice(Ne*2,Ne*2+2),16);return Math.round(Ku*Re+(1-Ku)*we)};return"#"+[0,1,2].map(Ne=>Ce(Ne).toString(16).padStart(2,"0")).join("")}const $e=re(()=>I.value.map(N=>({c:be(N.c),l:N.l}))),Me=((td=r.map)==null?void 0:td.selectedColor)||"#1a237e";function Ae(){const N=x.value,Y=[],le=[];N.forEach((Re,we)=>{Y.push(we,ce(Re)),le.push(we)});const ve=Y.length?["match",["get","iso_3166_1_alpha_3"],...Y,q]:q,Ne=Object.keys(s).length>0&&le.length?["match",["get","iso_3166_1_alpha_3"],...le.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:ve,fillOpacity:Ne}}function xe(){return Object.prototype.hasOwnProperty.call(s,sw)}const _e=((od=r.map)==null?void 0:od.pinColor)||"#ef6c00",ge=((nd=r.map)==null?void 0:nd.pinStrokeColor)||"#ffffff";function ye(){return xe()?es({colorSource:"properties"}):_e}function w(){const N=v.value;if(!N||!N.getLayer("rd-choropleth"))return;const{fillColor:Y,fillOpacity:le}=Ae();N.setPaintProperty("rd-choropleth","fill-color",Y),N.setPaintProperty("rd-choropleth","fill-opacity",le);const ve=N.getSource("rd-bubbles");ve&&ve.setData(E()),N.getLayer("rd-bubble-layer")&&N.setPaintProperty("rd-bubble-layer","circle-color",ye())}function T(N){const Y=N==null?void 0:N.people_praying,le=Y&&typeof Y=="object"?Y.value:Y;return Number(le)||0}function E(){return{type:"FeatureCollection",features:l.value.filter(N=>Number(N.latitude)&&Number(N.longitude)).map(N=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(N.longitude),Number(N.latitude)]},properties:{pop:Number(N.population)||0,slug:N.slug||"",name:N.name||"",peoplePraying:T(N)}}))}}function U(){var le;const N=o==null?void 0:o.selectionSet,Y=((le=t==null?void 0:t.rows)==null?void 0:le.value)||[];return!N||!N.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Y.filter(ve=>N.has(ve.slug)&&Number(ve.latitude)&&Number(ve.longitude)).map(ve=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ve.longitude),Number(ve.latitude)]},properties:{slug:ve.slug||"",name:ve.name||""}}))}}function W(){const N=v.value;if(!N)return;const Y=N.getSource("rd-bubble-selected");Y&&Y.setData(U())}function Z(){var ve;const N=v.value;if(!N||k)return;k=!0,N.getSource("rd-countries")||N.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Y,fillOpacity:le}=Ae();N.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Y,"fill-opacity":le,"fill-outline-color":((ve=r.map)==null?void 0:ve.outlineColor)||"#6d766e"}}),N.addSource("rd-bubbles",{type:"geojson",data:E()}),N.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":ge,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),N.addSource("rd-bubble-selected",{type:"geojson",data:U()}),N.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Me,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Me,"circle-stroke-opacity":.95}}),N.on("click","rd-choropleth",ae),N.on("click","rd-bubble-layer",te),N.on("mouseenter","rd-choropleth",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-choropleth",()=>{N.getCanvas().style.cursor=""}),N.on("mouseenter","rd-bubble-layer",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-bubble-layer",()=>{N.getCanvas().style.cursor=""});try{window.__rdashMap=N,window.__rdashClickAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return we&&we[0]?(ae({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(te({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}me(),o&&o.on("select",W),W(),o&&o.on("focusRow",({slug:Ce}={})=>{var we;if(!Ce)return;const Ne=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(gt=>gt.slug===Ce),Re=v.value;if(Re&&Ne&&Number(Ne.latitude)&&Number(Ne.longitude))try{Re.flyTo({center:[Number(Ne.longitude),Number(Ne.latitude)],zoom:5.5,duration:1200})}catch{}})}function ae(N){const Y=v.value;if(Y&&N.point){const Ne=Y.queryRenderedFeatures([[N.point.x-5,N.point.y-5],[N.point.x+5,N.point.y+5]],{layers:["rd-bubble-layer"]});if(Ne&&Ne.length)return}const le=N.features&&N.features[0];if(!le||!o)return;const ve=le.properties&&le.properties.iso_3166_1_alpha_3,Ce=m.value.get(ve);Ce&&(o.setFilter(c,s[c]===Ce?null:Ce),o.emit("mapFocus",{facet:c,value:Ce}))}function te(N){const Y=N.features&&N.features[0];if(!Y||!o)return;const le=Y.properties&&Y.properties.slug;le&&(o.toggleSelect(le),o.emit("focusRow",{slug:le,name:Y.properties&&Y.properties.name}))}function h(N){var le;let Y=N&&N.parentNode;for(;Y;){if(Y.nodeType===1){const ve=getComputedStyle(Y);if(/auto|scroll/.test(ve.overflowY)&&Y.scrollHeight>Y.clientHeight+4)return Y}if(Y=Y.parentElement||((le=Y.parentNode)==null?void 0:le.host)||(Y.parentNode!==Y?Y.parentNode:null),Y&&Y.nodeType===9)break}return null}function b(N){if(!(!N||!N.scrollZoom))try{N.scrollZoom.enable()}catch{}}_t(async()=>{await _();const N=v.value;if(!N)return;N.isStyleLoaded()?Z():N.on("load",Z),b(N);const Y=()=>b(N);let le=null;try{le=new ResizeObserver(Y);const ve=N.getContainer&&N.getContainer()||null;ve&&le.observe(ve);const Ce=ve?h(ve):null;Ce&&le.observe(Ce),document.body&&le.observe(document.body)}catch{}window.addEventListener("resize",Y),Dt(()=>{try{le&&le.disconnect()}catch{}window.removeEventListener("resize",Y)}),N.on("zoom",ie),N.on("zoomend",ie),N.on("resize",ie),ie(),N.on("idle",()=>{!k&&N.isStyleLoaded()&&Z()}),typeof ResizeObserver<"u"&&S.value&&($=new ResizeObserver(Q),$.observe(S.value)),J(),N.on("idle",J),N.on("resize",J),o&&typeof o.on=="function"&&(M=o.on("toggleTable",()=>{Q(),setTimeout(Q,280)}),L=o.on("layoutResizing",he))}),Dt(()=>{try{g&&g()}catch{}g=null;try{M&&M()}catch{}M=null;try{L&&L()}catch{}if(L=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}C=null,j&&(cancelAnimationFrame(j),j=0);try{const N=v.value;N&&(N.off("zoom",ie),N.off("zoomend",ie),N.off("resize",ie),N.off("idle",J),N.off("resize",J))}catch{}try{d&&d()}catch{}}),dt([l,A],w);const D=de(!0),K=de(!0);function ie(){const N=v.value;if(!N)return;const Y=N.getZoom();D.value=YN.getMinZoom()+.01}const se=de(null);let O=null,C=null;function J(){var ve;const N=se.value;if(!N)return;let Y=0;try{const Ce=(ve=N.getRootNode)==null?void 0:ve.call(N),Ne=Ce&&Ce.querySelector?Ce.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Ne){const Re=Ne.getBoundingClientRect(),we=N.getBoundingClientRect();if(Y=Math.max(Re.height||0,we.bottom-Re.top),C!==Ne&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}C=Ne,O=new ResizeObserver(J),O.observe(Ne)}}}catch{}const le=Math.min(Math.max(Math.ceil(Y)||20,20),72);N.style.setProperty("--rd-attrib-clear",le+"px")}const oe=de("globe");function me(){const N=v.value;if(N)try{N.setProjection(oe.value)}catch{}}function ke(){oe.value=oe.value==="globe"?"mercator":"globe",me()}function qe(N){const Y=Number(N.longitude),le=Number(N.latitude);return!Number.isFinite(Y)||!Number.isFinite(le)||Y===0&&le===0||le<-90||le>90||Y<-180||Y>180?null:[Y,le]}function We(N,Y){if(!N.length)return NaN;const le=Math.min(N.length-1,Math.max(0,Math.round(Y*(N.length-1))));return N[le]}function kt(N){const Y=N.slice().sort((we,gt)=>we-gt),le=Y.length;if(le<2)return Y;let ve=-1,Ce=0;for(let we=0;weve&&(ve=Gt,Ce=we)}const Ne=(Ce+1)%le,Re=new Array(le);for(let we=0;we0&>Go[1]).sort((Go,as)=>Go-as),ve=kt(Y.map(Go=>Go[0])),Ce=Y.length>=iw?aw:0,Ne=We(le,Ce),Re=We(le,1-Ce),we=We(ve,Ce),gt=We(ve,1-Ce),Gt=[We(ve,.5),We(le,.5)];return!(gt>we)||!(Re>Ne)?{bounds:[[Gt[0],Gt[1]],[Gt[0],Gt[1]]],center:Gt}:{bounds:[[we,Ne],[gt,Re]],center:Gt}}function Nt(){const N=v.value;if(!N)return;if(!Object.keys(s).length){try{N.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Y=et(l.value);if(Y)try{N.fitBounds(Y.bounds,{padding:70,duration:1200,maxZoom:5.5}),N.setCenter(Y.center)}catch{}}let Qn=null;return dt(()=>JSON.stringify(s),()=>{clearTimeout(Qn),Qn=setTimeout(Nt,260)}),Lt(` +`,"map-toolbar"),(o,n)=>(ee(),ne("div",{ref_key:"toolbarEl",ref:t,class:De(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Is(o.$slots,"default")],2))}},ew={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomIn"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},tw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=un(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(ee(),Jt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:ue(t)("buttons.zoomOut"),onClick:n},{default:Jo(()=>[...s[0]||(s[0]=[R("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},ow=["data-projection"],nw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Wu=2,rw="#f2f3f0",Ku=.78,sw="prayer_level",aw=.1,iw=12,lw={__name:"DashboardMapPanel",setup(e){var er,Xu,Ju,Zu,Qu,ed,td,od,nd;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",de("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([N,Y])=>[N,Y.get])),i=Jn(o,Xn(r)),l=re(()=>{var ve,Ce;const N=((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[],Y=Object.keys(s),le=!!(((Ce=o==null?void 0:o.searchTerm)==null?void 0:Ce.value)||"").trim();return!Y.length&&!le?N:N.filter(Ne=>Y.every(Re=>{const we=a[Re];return we?we(Ne)===s[Re]:!0})&&i(Ne))}),c=((er=r.map)==null?void 0:er.geoFacet)||"country_code",u=((Ju=(Xu=r.facets)==null?void 0:Xu[c])==null?void 0:Ju.geoIso)||(N=>{const Y=N[c];return Y&&Y.value?Y.value:null}),p=a[c]||(N=>Ze(N[c])),m=re(()=>{var Y;const N=new Map;for(const le of((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]){const ve=u(le);ve&&N.set(ve,p(le)||ve)}return N}),x=re(()=>{const N=new Map;for(const Y of l.value){const le=u(Y);le&&N.set(le,(N.get(le)||0)+1)}return N}),S=de(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:A,initializeMap:_,destroy:d}=O0({containerRef:S,accessToken:ue(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Zu=r.map)!=null&&Zu.mapStyle||r.mapStyle?{style:((Qu=r.map)==null?void 0:Qu.mapStyle)||r.mapStyle}:{}}),f=z0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Z0({bus:o,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var N;return(N=t==null?void 0:t.rowStore)==null?void 0:N.value},isEnabled:()=>A.value});let k=!1,$=null,M=null,L=null,j=0,V=!1;function Q(){V||j||(j=requestAnimationFrame(()=>{j=0;const N=v.value;if(N&&typeof N.resize=="function")try{N.resize()}catch{}}))}function me(N){const Y=!!N;if(Y!==V){if(V=Y,V){j&&(cancelAnimationFrame(j),j=0);return}Q(),setTimeout(Q,180)}}const B=(()=>{var Y;const N={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return N[(Y=r.map)==null?void 0:Y.colorRamp]||N["heartbeat-red"]})(),X={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function H(N,Y){return Number.isFinite(Y)?Y-1<=N?`${N}`:`${N}–${Y-1}`:`${N}+ · heartbeat zone`}function z(N){const le=X.binThresholds.map(ve=>ve/X.heartbeatThreshold).map(ve=>Math.max(Wu,Math.round(ve*N)));return P(le,N)}function P(N,Y){const le=[];for(const ve of N){const Ce=Math.max(ve,le.length?le[le.length-1]+1:Wu);CeRe>0).sort((Re,we)=>Re-we);if(le.length<8)return null;const ve=Re=>le[Math.min(le.length-1,Math.max(0,Math.floor(Re*le.length)))],Ce=ve(1-Y)+1,Ne=[.25,.5,.75].map(Re=>ve(Re));return{threshold:Ce,edges:P(Ne,Ce)}}function F(N){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const Y=r.map||{};let le=Number(Y.heartbeatThreshold)>0?Number(Y.heartbeatThreshold):X.heartbeatThreshold,ve=null;if(Y.heartbeatMode==="quantile"){const we=G(N||[],Number(Y.heartbeatQuantile)>0?Number(Y.heartbeatQuantile):X.quantile);we&&(le=we.threshold,ve=we.edges)}ve||(ve=Array.isArray(Y.binThresholds)&&Y.binThresholds.length?[...new Set(Y.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-gt):Number(Y.heartbeatThreshold)>0?z(le):X.binThresholds);const Ce=[...ve,le,1/0].slice(0,B.length);for(;Ce.length{const Gt={upTo:we,c:B[gt],l:H(Ne,we)};return Ne=we,Gt})}const I=re(()=>F([...x.value.values()])),q=((ed=r.map)==null?void 0:ed.noDataColor)||"#f3f3f1";function ce(N){if(!N)return q;const Y=I.value;for(const le of Y)if(N{const Re=parseInt(le.slice(Ne*2,Ne*2+2),16),we=parseInt(ve.slice(Ne*2,Ne*2+2),16);return Math.round(Ku*Re+(1-Ku)*we)};return"#"+[0,1,2].map(Ne=>Ce(Ne).toString(16).padStart(2,"0")).join("")}const $e=re(()=>I.value.map(N=>({c:he(N.c),l:N.l}))),Me=((td=r.map)==null?void 0:td.selectedColor)||"#1a237e";function Ae(){const N=x.value,Y=[],le=[];N.forEach((Re,we)=>{Y.push(we,ce(Re)),le.push(we)});const ve=Y.length?["match",["get","iso_3166_1_alpha_3"],...Y,q]:q,Ne=Object.keys(s).length>0&&le.length?["match",["get","iso_3166_1_alpha_3"],...le.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:ve,fillOpacity:Ne}}function xe(){return Object.prototype.hasOwnProperty.call(s,sw)}const _e=((od=r.map)==null?void 0:od.pinColor)||"#ef6c00",ge=((nd=r.map)==null?void 0:nd.pinStrokeColor)||"#ffffff";function ye(){return xe()?es({colorSource:"properties"}):_e}function w(){const N=v.value;if(!N||!N.getLayer("rd-choropleth"))return;const{fillColor:Y,fillOpacity:le}=Ae();N.setPaintProperty("rd-choropleth","fill-color",Y),N.setPaintProperty("rd-choropleth","fill-opacity",le);const ve=N.getSource("rd-bubbles");ve&&ve.setData(E()),N.getLayer("rd-bubble-layer")&&N.setPaintProperty("rd-bubble-layer","circle-color",ye())}function T(N){const Y=N==null?void 0:N.people_praying,le=Y&&typeof Y=="object"?Y.value:Y;return Number(le)||0}function E(){return{type:"FeatureCollection",features:l.value.filter(N=>Number(N.latitude)&&Number(N.longitude)).map(N=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(N.longitude),Number(N.latitude)]},properties:{pop:Number(N.population)||0,slug:N.slug||"",name:N.name||"",peoplePraying:T(N)}}))}}function U(){var le;const N=o==null?void 0:o.selectionSet,Y=((le=t==null?void 0:t.rows)==null?void 0:le.value)||[];return!N||!N.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Y.filter(ve=>N.has(ve.slug)&&Number(ve.latitude)&&Number(ve.longitude)).map(ve=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ve.longitude),Number(ve.latitude)]},properties:{slug:ve.slug||"",name:ve.name||""}}))}}function W(){const N=v.value;if(!N)return;const Y=N.getSource("rd-bubble-selected");Y&&Y.setData(U())}function Z(){var ve;const N=v.value;if(!N||k)return;k=!0,N.getSource("rd-countries")||N.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Y,fillOpacity:le}=Ae();N.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Y,"fill-opacity":le,"fill-outline-color":((ve=r.map)==null?void 0:ve.outlineColor)||"#6d766e"}}),N.addSource("rd-bubbles",{type:"geojson",data:E()}),N.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ye(),"circle-opacity":1,"circle-stroke-color":ge,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),N.addSource("rd-bubble-selected",{type:"geojson",data:U()}),N.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Me,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Me,"circle-stroke-opacity":.95}}),N.on("click","rd-choropleth",ae),N.on("click","rd-bubble-layer",te),N.on("mouseenter","rd-choropleth",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-choropleth",()=>{N.getCanvas().style.cursor=""}),N.on("mouseenter","rd-bubble-layer",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-bubble-layer",()=>{N.getCanvas().style.cursor=""});try{window.__rdashMap=N,window.__rdashClickAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return we&&we[0]?(ae({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Ce,Ne)=>{const Re=N.project([Ce,Ne]),we=N.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(te({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}be(),o&&o.on("select",W),W(),o&&o.on("focusRow",({slug:Ce}={})=>{var we;if(!Ce)return;const Ne=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(gt=>gt.slug===Ce),Re=v.value;if(Re&&Ne&&Number(Ne.latitude)&&Number(Ne.longitude))try{Re.flyTo({center:[Number(Ne.longitude),Number(Ne.latitude)],zoom:5.5,duration:1200})}catch{}})}function ae(N){const Y=v.value;if(Y&&N.point){const Ne=Y.queryRenderedFeatures([[N.point.x-5,N.point.y-5],[N.point.x+5,N.point.y+5]],{layers:["rd-bubble-layer"]});if(Ne&&Ne.length)return}const le=N.features&&N.features[0];if(!le||!o)return;const ve=le.properties&&le.properties.iso_3166_1_alpha_3,Ce=m.value.get(ve);Ce&&(o.setFilter(c,s[c]===Ce?null:Ce),o.emit("mapFocus",{facet:c,value:Ce}))}function te(N){const Y=N.features&&N.features[0];if(!Y||!o)return;const le=Y.properties&&Y.properties.slug;le&&(o.toggleSelect(le),o.emit("focusRow",{slug:le,name:Y.properties&&Y.properties.name}))}function h(N){var le;let Y=N&&N.parentNode;for(;Y;){if(Y.nodeType===1){const ve=getComputedStyle(Y);if(/auto|scroll/.test(ve.overflowY)&&Y.scrollHeight>Y.clientHeight+4)return Y}if(Y=Y.parentElement||((le=Y.parentNode)==null?void 0:le.host)||(Y.parentNode!==Y?Y.parentNode:null),Y&&Y.nodeType===9)break}return null}function b(N){if(!(!N||!N.scrollZoom))try{N.scrollZoom.enable()}catch{}}_t(async()=>{await _();const N=v.value;if(!N)return;N.isStyleLoaded()?Z():N.on("load",Z),b(N);const Y=()=>b(N);let le=null;try{le=new ResizeObserver(Y);const ve=N.getContainer&&N.getContainer()||null;ve&&le.observe(ve);const Ce=ve?h(ve):null;Ce&&le.observe(Ce),document.body&&le.observe(document.body)}catch{}window.addEventListener("resize",Y),Dt(()=>{try{le&&le.disconnect()}catch{}window.removeEventListener("resize",Y)}),N.on("zoom",ie),N.on("zoomend",ie),N.on("resize",ie),ie(),N.on("idle",()=>{!k&&N.isStyleLoaded()&&Z()}),typeof ResizeObserver<"u"&&S.value&&($=new ResizeObserver(Q),$.observe(S.value)),J(),N.on("idle",J),N.on("resize",J),o&&typeof o.on=="function"&&(M=o.on("toggleTable",()=>{Q(),setTimeout(Q,280)}),L=o.on("layoutResizing",me))}),Dt(()=>{try{g&&g()}catch{}g=null;try{M&&M()}catch{}M=null;try{L&&L()}catch{}if(L=null,$){try{$.disconnect()}catch{}$=null}if(O){try{O.disconnect()}catch{}O=null}C=null,j&&(cancelAnimationFrame(j),j=0);try{const N=v.value;N&&(N.off("zoom",ie),N.off("zoomend",ie),N.off("resize",ie),N.off("idle",J),N.off("resize",J))}catch{}try{d&&d()}catch{}}),dt([l,A],w);const D=de(!0),K=de(!0);function ie(){const N=v.value;if(!N)return;const Y=N.getZoom();D.value=YN.getMinZoom()+.01}const se=de(null);let O=null,C=null;function J(){var ve;const N=se.value;if(!N)return;let Y=0;try{const Ce=(ve=N.getRootNode)==null?void 0:ve.call(N),Ne=Ce&&Ce.querySelector?Ce.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Ne){const Re=Ne.getBoundingClientRect(),we=N.getBoundingClientRect();if(Y=Math.max(Re.height||0,we.bottom-Re.top),C!==Ne&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}C=Ne,O=new ResizeObserver(J),O.observe(Ne)}}}catch{}const le=Math.min(Math.max(Math.ceil(Y)||20,20),72);N.style.setProperty("--rd-attrib-clear",le+"px")}const oe=de("globe");function be(){const N=v.value;if(N)try{N.setProjection(oe.value)}catch{}}function ke(){oe.value=oe.value==="globe"?"mercator":"globe",be()}function qe(N){const Y=Number(N.longitude),le=Number(N.latitude);return!Number.isFinite(Y)||!Number.isFinite(le)||Y===0&&le===0||le<-90||le>90||Y<-180||Y>180?null:[Y,le]}function We(N,Y){if(!N.length)return NaN;const le=Math.min(N.length-1,Math.max(0,Math.round(Y*(N.length-1))));return N[le]}function kt(N){const Y=N.slice().sort((we,gt)=>we-gt),le=Y.length;if(le<2)return Y;let ve=-1,Ce=0;for(let we=0;weve&&(ve=Gt,Ce=we)}const Ne=(Ce+1)%le,Re=new Array(le);for(let we=0;we0&>Go[1]).sort((Go,as)=>Go-as),ve=kt(Y.map(Go=>Go[0])),Ce=Y.length>=iw?aw:0,Ne=We(le,Ce),Re=We(le,1-Ce),we=We(ve,Ce),gt=We(ve,1-Ce),Gt=[We(ve,.5),We(le,.5)];return!(gt>we)||!(Re>Ne)?{bounds:[[Gt[0],Gt[1]],[Gt[0],Gt[1]]],center:Gt}:{bounds:[[we,Ne],[gt,Re]],center:Gt}}function Nt(){const N=v.value;if(!N)return;if(!Object.keys(s).length){try{N.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Y=et(l.value);if(Y)try{N.fitBounds(Y.bounds,{padding:70,duration:1200,maxZoom:5.5}),N.setCenter(Y.center)}catch{}}let Qn=null;return dt(()=>JSON.stringify(s),()=>{clearTimeout(Qn),Qn=setTimeout(Nt,260)}),Lt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -667,11 +666,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(N,Y)=>(ee(),ne("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":oe.value},[R("div",{ref_key:"mapContainer",ref:S,class:"rd-mapc","data-map-canvas":""},null,512),Y[1]||(Y[1]=R("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Y[2]||(Y[2]=R("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Oe(Q0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Jo(()=>[Oe(ew,{map:ue(v),disabled:!D.value},null,8,["map","disabled"]),Oe(tw,{map:ue(v),disabled:!K.value},null,8,["map","disabled"])]),_:1}),R("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ke},pe(oe.value==="globe"?"🌐 Globe":"▭ Flat"),1),Y[3]||(Y[3]=R("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),R("div",nw,[Y[0]||(Y[0]=R("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),ne(Ie,null,tt($e.value,le=>(ee(),ne("div",{key:le.l,class:"lg-row"},[R("span",{class:"lg-sw",style:ht({background:le.c})},null,4),R("span",null,pe(le.l),1)]))),128))])],8,ow))}},cw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",uw=["data-active","aria-expanded"],dw={class:"filter-dropdown__label"},fw=["value","placeholder"],pw={class:"filter-dropdown__options"},gw={key:0,class:"filter-dropdown__no-options"},hw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],mw={class:"filter-dropdown__count"},bw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=de(!1),s=de(""),a=de(-1),i=de(null),l=de(null),c=de(null),u=de({});function p(L){const j=L.ownerDocument,V=j.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(L.parentElement||L.getRootNode().body||j.body).appendChild(V);const he=V.getBoundingClientRect();return V.remove(),{x:he.left,y:he.top}}function m(){const L=c.value;if(!L)return;const j=L.getBoundingClientRect(),V=window.innerWidth,Q=window.innerHeight,he=320,B=4,X=8,H=Math.round(Math.min(j.width,V-X*2)),z=j.right>X&&j.leftV-X?P=Math.round(Math.max(j.right-H,X)):P=Math.round(Math.max(j.left,X)):P=Math.round(Math.min(Math.max(j.left,X),V-H-X));const G=Q-j.bottom,F=G<180&&j.top>G,I=p(L),q=Math.round(P-I.x);u.value=F?{top:"auto",bottom:`${Math.round(Q-j.top+B+I.y)}px`,left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(he,j.top-B-X))}px`}:{top:`${Math.round(j.bottom+B-I.y)}px`,bottom:"auto",left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(he,G-B-X))}px`}}function x(){r.value&&m()}const S=re(()=>{if(!s.value)return o.options;const L=s.value.toLowerCase();return o.options.filter(j=>j.label.toLowerCase().includes(L))}),y=re(()=>o.options.find(L=>L.value===o.value));function v(L){var V;const j=((V=L.composedPath)==null?void 0:V.call(L))??[];i.value&&!j.includes(i.value)&&d()}function A(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Ro(()=>{var L;m(),(L=l.value)==null||L.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(L){s.value=L.target.value,a.value=-1}function g(L){const j=S.value;switch(L.key){case"ArrowDown":L.preventDefault(),a.value=Math.min(a.value+1,j.length-1),k();break;case"ArrowUp":L.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{L.preventDefault();const V=j[a.value];V&&$(V);break}case"Escape":L.preventDefault(),d();break}}function k(){Ro(()=>{var j;const L=(j=i.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");L==null||L.scrollIntoView({block:"nearest"})})}function $(L){n("filter-change",{name:o.name,value:L.value,label:L.label,type:L.type}),d()}function M(){n("filter-clear",{name:o.name}),d()}return Dt(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(L,j)=>(ee(),ne("div",{ref_key:"rootRef",ref:i,class:De(["filter-dropdown",{"is-open":r.value}])},[R("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:A},[R("span",dw,[y.value?(ee(),ne(Ie,{key:0},[nt(pe(e.label)+": ",1),R("strong",null,pe(y.value.label),1)],64)):(ee(),ne(Ie,{key:1},[nt(pe(e.label),1)],64))]),j[0]||(j[0]=R("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,uw),r.value?(ee(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ht(u.value)},[R("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,fw),e.value?(ee(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Ge("",!0),R("div",pw,[S.value.length===0?(ee(),ne("div",gw,"No options found")):(ee(!0),ne(Ie,{key:1},tt(S.value,(V,Q)=>(ee(),ne("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Q===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:he=>$(V),onMouseenter:he=>a.value=Q},[R("span",null,pe(V.label),1),R("span",mw,pe(V.count),1)],40,hw))),128))])],4)):Ge("",!0)],2))}},[["styles",[cw]]]),_w=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",yw={class:"sfh"},vw={key:0,class:"sfh__search-row"},ww=["aria-expanded"],xw=["aria-label"],kw=["data-active","onClick"],$w={class:"sfh__chip-strip"},Sw={class:"sfh__sel-label"},Ew=["aria-label","onClick"],Aw={key:1,class:"sfh__sel-world"},Cw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(o.showSearch)),a=re(()=>r(o.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),l=de(o.startExpanded||!o.collapsible);function c(){l.value=!l.value}const u=re(()=>!o.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const _=[];for(const d of o.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of o.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function m(_){const d=(_==null?void 0:_.value)??"";n("update:search",d),n("search",{value:d})}function x(_){n("filter-change",_)}function S(_){n("filter-clear",_)}function y(_){n("toggle",{name:_.name,active:!_.active})}function v(_){n("remove-filter",{name:_})}function A(){n("clear-all")}return(_,d)=>(ee(),ne("div",yw,[s.value?(ee(),ne("div",vw,[Oe(Du,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=R("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ww)):Ge("",!0)])):Ge("",!0),a.value&&u.value?(ee(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),ne(Ie,null,tt(e.filters,f=>(ee(),Jt(bw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:S},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),ne(Ie,null,tt(e.toggles,f=>(ee(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},pe(f.label),9,kw))),128))],8,xw)):Ge("",!0),a.value?(ee(),ne("div",{key:2,class:De(["sfh__chips",{"is-empty":!p.value.length}])},[R("div",$w,[R("span",Sw,pe(i.value.selected||"Selected"),1),p.value.length?(ee(),ne(Ie,{key:0},[(ee(!0),ne(Ie,null,tt(p.value,f=>(ee(),ne("span",{key:f.name,class:"sfh__chip"},[nt(pe(f.label)+" ",1),R("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,Ew)]))),128)),R("button",{class:"sfh__clear",type:"button",onClick:A},pe(i.value.clear_all),1)],64)):(ee(),ne("span",Aw,pe(i.value.world||"World"),1))])],2)):Ge("",!0)]))}},[["styles",[_w]]]),Tw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},ss="prayer_level",Lw={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=re(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,L=M&&typeof M=="object"?M.value:M;return Kn[dn({peoplePraying:L??null})]}},i=re(()=>({[ss]:a,...n.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,M])=>[$,M.get]))),c=re(()=>n.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[ss,...$.filter(M=>M!==ss)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,M){const L=Object.keys($);return L.length?M.filter(j=>L.every(V=>{const Q=l.value[V];return Q?Q(j)===$[V]:!0})):M}function x($){var he;const M=l.value[$];if(!M)return[];const L=(he=i.value[$])==null?void 0:he.optionLabel,j={};for(const[B,X]of Object.entries(s))B!==$&&(j[B]=X);const V=m(j,r.value),Q=new Map;for(const B of V){const X=M(B);if(X==null||X==="")continue;const H=Q.get(X);H?H.count+=1:Q.set(X,{label:L&&L(B)||X,count:1})}return Array.from(Q.entries()).map(([B,{label:X,count:H}])=>({value:B,label:X,count:H})).sort((B,X)=>String(B.label).localeCompare(String(X.label)))}const S=re(()=>u.value.map($=>{var M;return{name:$,label:((M=i.value[$])==null?void 0:M.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var L;const M=s[$];return{name:$,label:`${((L=i.value[$])==null?void 0:L.label)||$}: ${$===ss?M:y($,M)}`}})),A=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Lt(` +`,"rd-mappanel"),(N,Y)=>(ee(),ne("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":oe.value},[R("div",{ref_key:"mapContainer",ref:S,class:"rd-mapc","data-map-canvas":""},null,512),Y[1]||(Y[1]=R("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Y[2]||(Y[2]=R("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Oe(Q0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Jo(()=>[Oe(ew,{map:ue(v),disabled:!D.value},null,8,["map","disabled"]),Oe(tw,{map:ue(v),disabled:!K.value},null,8,["map","disabled"])]),_:1}),R("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ke},pe(oe.value==="globe"?"🌐 Globe":"▭ Flat"),1),Y[3]||(Y[3]=R("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),R("div",nw,[Y[0]||(Y[0]=R("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),ne(Ie,null,tt($e.value,le=>(ee(),ne("div",{key:le.l,class:"lg-row"},[R("span",{class:"lg-sw",style:ht({background:le.c})},null,4),R("span",null,pe(le.l),1)]))),128))])],8,ow))}},cw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",uw=["data-active","aria-expanded"],dw={class:"filter-dropdown__label"},fw=["value","placeholder"],pw={class:"filter-dropdown__options"},gw={key:0,class:"filter-dropdown__no-options"},hw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],mw={class:"filter-dropdown__count"},bw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=de(!1),s=de(""),a=de(-1),i=de(null),l=de(null),c=de(null),u=de({});function p(L){const j=L.ownerDocument,V=j.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(L.parentElement||L.getRootNode().body||j.body).appendChild(V);const me=V.getBoundingClientRect();return V.remove(),{x:me.left,y:me.top}}function m(){const L=c.value;if(!L)return;const j=L.getBoundingClientRect(),V=window.innerWidth,Q=window.innerHeight,me=320,B=4,X=8,H=Math.round(Math.min(j.width,V-X*2)),z=j.right>X&&j.leftV-X?P=Math.round(Math.max(j.right-H,X)):P=Math.round(Math.max(j.left,X)):P=Math.round(Math.min(Math.max(j.left,X),V-H-X));const G=Q-j.bottom,F=G<180&&j.top>G,I=p(L),q=Math.round(P-I.x);u.value=F?{top:"auto",bottom:`${Math.round(Q-j.top+B+I.y)}px`,left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,j.top-B-X))}px`}:{top:`${Math.round(j.bottom+B-I.y)}px`,bottom:"auto",left:`${q}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,G-B-X))}px`}}function x(){r.value&&m()}const S=re(()=>{if(!s.value)return o.options;const L=s.value.toLowerCase();return o.options.filter(j=>j.label.toLowerCase().includes(L))}),y=re(()=>o.options.find(L=>L.value===o.value));function v(L){var V;const j=((V=L.composedPath)==null?void 0:V.call(L))??[];i.value&&!j.includes(i.value)&&d()}function A(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Ro(()=>{var L;m(),(L=l.value)==null||L.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(L){s.value=L.target.value,a.value=-1}function g(L){const j=S.value;switch(L.key){case"ArrowDown":L.preventDefault(),a.value=Math.min(a.value+1,j.length-1),k();break;case"ArrowUp":L.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{L.preventDefault();const V=j[a.value];V&&$(V);break}case"Escape":L.preventDefault(),d();break}}function k(){Ro(()=>{var j;const L=(j=i.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");L==null||L.scrollIntoView({block:"nearest"})})}function $(L){n("filter-change",{name:o.name,value:L.value,label:L.label,type:L.type}),d()}function M(){n("filter-clear",{name:o.name}),d()}return Dt(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(L,j)=>(ee(),ne("div",{ref_key:"rootRef",ref:i,class:De(["filter-dropdown",{"is-open":r.value}])},[R("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:A},[R("span",dw,[y.value?(ee(),ne(Ie,{key:0},[nt(pe(e.label)+": ",1),R("strong",null,pe(y.value.label),1)],64)):(ee(),ne(Ie,{key:1},[nt(pe(e.label),1)],64))]),j[0]||(j[0]=R("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,uw),r.value?(ee(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ht(u.value)},[R("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,fw),e.value?(ee(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Ge("",!0),R("div",pw,[S.value.length===0?(ee(),ne("div",gw,"No options found")):(ee(!0),ne(Ie,{key:1},tt(S.value,(V,Q)=>(ee(),ne("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Q===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:me=>$(V),onMouseenter:me=>a.value=Q},[R("span",null,pe(V.label),1),R("span",mw,pe(V.count),1)],40,hw))),128))])],4)):Ge("",!0)],2))}},[["styles",[cw]]]),_w=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",yw={class:"sfh"},vw={key:0,class:"sfh__search-row"},ww=["aria-expanded"],xw=["aria-label"],kw=["data-active","onClick"],$w={class:"sfh__chip-strip"},Sw={class:"sfh__sel-label"},Ew=["aria-label","onClick"],Aw={key:1,class:"sfh__sel-world"},Cw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(o.showSearch)),a=re(()=>r(o.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),l=de(o.startExpanded||!o.collapsible);function c(){l.value=!l.value}const u=re(()=>!o.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const _=[];for(const d of o.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of o.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function m(_){const d=(_==null?void 0:_.value)??"";n("update:search",d),n("search",{value:d})}function x(_){n("filter-change",_)}function S(_){n("filter-clear",_)}function y(_){n("toggle",{name:_.name,active:!_.active})}function v(_){n("remove-filter",{name:_})}function A(){n("clear-all")}return(_,d)=>(ee(),ne("div",yw,[s.value?(ee(),ne("div",vw,[Oe(Du,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=R("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[R("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ww)):Ge("",!0)])):Ge("",!0),a.value&&u.value?(ee(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),ne(Ie,null,tt(e.filters,f=>(ee(),Jt(bw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:S},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),ne(Ie,null,tt(e.toggles,f=>(ee(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},pe(f.label),9,kw))),128))],8,xw)):Ge("",!0),a.value?(ee(),ne("div",{key:2,class:De(["sfh__chips",{"is-empty":!p.value.length}])},[R("div",$w,[R("span",Sw,pe(i.value.selected||"Selected"),1),p.value.length?(ee(),ne(Ie,{key:0},[(ee(!0),ne(Ie,null,tt(p.value,f=>(ee(),ne("span",{key:f.name,class:"sfh__chip"},[nt(pe(f.label)+" ",1),R("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,Ew)]))),128)),R("button",{class:"sfh__clear",type:"button",onClick:A},pe(i.value.clear_all),1)],64)):(ee(),ne("span",Aw,pe(i.value.world||"World"),1))])],2)):Ge("",!0)]))}},[["styles",[_w]]]),Tw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},ss="prayer_level",Lw={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=re(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,L=M&&typeof M=="object"?M.value:M;return Kn[dn({peoplePraying:L??null})]}},i=re(()=>({[ss]:a,...n.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,M])=>[$,M.get]))),c=re(()=>n.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[ss,...$.filter(M=>M!==ss)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,M){const L=Object.keys($);return L.length?M.filter(j=>L.every(V=>{const Q=l.value[V];return Q?Q(j)===$[V]:!0})):M}function x($){var me;const M=l.value[$];if(!M)return[];const L=(me=i.value[$])==null?void 0:me.optionLabel,j={};for(const[B,X]of Object.entries(s))B!==$&&(j[B]=X);const V=m(j,r.value),Q=new Map;for(const B of V){const X=M(B);if(X==null||X==="")continue;const H=Q.get(X);H?H.count+=1:Q.set(X,{label:L&&L(B)||X,count:1})}return Array.from(Q.entries()).map(([B,{label:X,count:H}])=>({value:B,label:X,count:H})).sort((B,X)=>String(B.label).localeCompare(String(X.label)))}const S=re(()=>u.value.map($=>{var M;return{name:$,label:((M=i.value[$])==null?void 0:M.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yn(n,Le("dataStore",null),Le("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var L;const M=s[$];return{name:$,label:`${((L=i.value[$])==null?void 0:L.label)||$}: ${$===ss?M:y($,M)}`}})),A=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Lt(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,M)=>(ee(),ne("div",Tw,[Oe(Cw,{search:A.value,filters:S.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Pw={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"},Yu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Kn[dn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Ze(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Ze(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ze(e.wagf_block)},country_code:{label:"Country",get:e=>Ze(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ze(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Ze(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Ze(e.imb_language_family);if(t)return Zr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Pw[o];return n?Zr(n):""}},primary_language:{label:"Language",get:e=>Ze(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ze(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ze(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ze(e.engagement_status))||/unengaged/i.test(Ze(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ze(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ze(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ze(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ze(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Yu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Yu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ze(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Iw=["data-row-count","data-loading","data-error","data-narrow"],Mw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Nw=["data-kpi"],Rw={class:"l"},Fw={key:0,class:"d","data-kpi-delta":""},Ow={class:"rd-cell-map","data-region":"map"},Dw=["title"],jw=["title"],zw={class:"rd-cell-table","data-region":"table"},Bw={class:"rd-rail","data-region":"rail"},Uw=["aria-valuenow"],Gw=["aria-valuenow"],Hw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],qw=["aria-valuenow"],Vw=["data-view"],Ww=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",de(null)),n=re(()=>{const _e=ue(o);if(!_e||typeof _e!="object")return Ua;const ge={...Ua,..._e};return _e.map&&typeof _e.map=="object"&&(ge.map={...Ua.map,..._e.map}),ge}),r=re(()=>{var _e;return((_e=ue(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=oy(n.value),u=t;dt(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ge})=>u("dashboard-filter",{filterSet:_e,searchTerm:ge}),{deep:!0});const p=a.total,m=a.loading,x=a.error,{shell:S,isNarrow:y,slimRail:v,slimFacet:A,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:M,showMap:L,showTable:j,showCharts:V}=c,{startFacetResize:Q,startRailResize:he,startTableResize:B,startShellResize:X,onResizeKeydown:H,facetW:z,railW:P,tableH:G,mapH:F,shellH:I}=sy({shellRef:S,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Ru(_e.value)}const ce=re(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function be(){l.exportCsvAsync()}function $e(){s.clearSelection()}function Me(){s.emit("toggleFacet",!g.value)}function Ae(){s.emit("toggleRail",!k.value)}function xe(_e){const ge=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ge&&(ge.hasAttribute("data-bar-export")?be():$e())}return Lt(` +`,"rd-research-filters"),($,M)=>(ee(),ne("div",Tw,[Oe(Cw,{search:A.value,filters:S.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Pw={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"},Yu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Kn[dn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Ze(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Uo[o]?Uo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Uo[o]?o:""}},wagf_region:{label:"Region",get:e=>Ze(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ze(e.wagf_block)},country_code:{label:"Country",get:e=>Ze(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ze(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Ze(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Ze(e.imb_language_family);if(t)return Zr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Pw[o];return n?Zr(n):""}},primary_language:{label:"Language",get:e=>Ze(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ze(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ze(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ze(e.engagement_status))||/unengaged/i.test(Ze(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ze(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ze(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ze(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ze(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Yu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Yu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ze(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Iw=["data-row-count","data-loading","data-error","data-narrow"],Mw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Nw=["data-kpi"],Rw={class:"l"},Fw={key:0,class:"d","data-kpi-delta":""},Ow={class:"rd-cell-map","data-region":"map"},Dw=["title"],jw=["title"],zw={class:"rd-cell-table","data-region":"table"},Bw={class:"rd-rail","data-region":"rail"},Uw=["aria-valuenow"],Gw=["aria-valuenow"],Hw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],qw=["aria-valuenow"],Vw=["data-view"],Ww=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",de(null)),n=re(()=>{const _e=ue(o);if(!_e||typeof _e!="object")return Ua;const ge={...Ua,..._e};return _e.map&&typeof _e.map=="object"&&(ge.map={...Ua.map,..._e.map}),ge}),r=re(()=>{var _e;return((_e=ue(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=oy(n.value),u=t;dt(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ge})=>u("dashboard-filter",{filterSet:_e,searchTerm:ge}),{deep:!0});const p=a.total,m=a.loading,x=a.error,{shell:S,isNarrow:y,slimRail:v,slimFacet:A,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:M,showMap:L,showTable:j,showCharts:V}=c,{startFacetResize:Q,startRailResize:me,startTableResize:B,startShellResize:X,onResizeKeydown:H,facetW:z,railW:P,tableH:G,mapH:F,shellH:I}=sy({shellRef:S,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Ru(_e.value)}const ce=re(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function he(){l.exportCsvAsync()}function $e(){s.clearSelection()}function Me(){s.emit("toggleFacet",!g.value)}function Ae(){s.emit("toggleRail",!k.value)}function xe(_e){const ge=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ge&&(ge.hasAttribute("data-bar-export")?he():$e())}return Lt(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -772,4 +771,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ge=ye=>_e.setAttribute("data-page-scroll",ye?"true":"false");ge(ue(r)),dt(()=>ue(r),ge)}),(_e,ge)=>(ee(),ne("div",{ref_key:"shell",ref:S,class:De(["rd-shell",{"rd-narrow":ue(y),"rd-slim-rail":ue(v),"rd-slim-facet":ue(A),"rd-table-collapsed":ue(f),"rd-facet-collapsed":ue(g),"rd-rail-collapsed":ue(k),"rd-page-scroll":r.value}]),"data-row-count":ue(p),"data-loading":ue(m)?"1":"0","data-error":ue(x)||"","data-narrow":ue(y)?"1":"0"},[Oe(ue(Yy)),Oe(ue(Lw)),R("div",Mw,[(ee(!0),ne(Ie,null,tt(ue(i),ye=>(ee(),ne("div",{class:"kpi",key:ye.id},[R("span",{class:"n","data-kpi":ye.id},pe(ye.kind==="count"&&ue(m)?"…":q(ye)),9,Nw),R("span",Rw,pe(ye.label),1),ye.delta?(ee(),ne("span",Fw,"↓"+pe(ue(Ru)(ye.delta)),1)):Ge("",!0)]))),128))]),Pt(Oe(ue(fv),null,null,512),[[jt,ue(M)]]),Pt(R("div",Ow,[Oe(ue(lw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ue(g)?"Show filters":"Hide filters — grow the map",onClick:Me},pe(ue(g)?"▸":"◂"),9,Dw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ue(k)?"Show charts":"Hide charts — grow the map",onClick:Ae},pe(ue(k)?"◂":"▸"),9,jw))],512),[[jt,ue(L)]]),Pt(R("div",zw,[Oe(ue(Mv))],512),[[jt,ue(j)]]),Pt(R("aside",Bw,[Oe(ue(k0)),Oe(ue(Jv))],512),[[jt,ue(V)]]),Pt(R("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ue(z),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ge[0]||(ge[0]=(...ye)=>ue(Q)&&ue(Q)(...ye)),onKeydown:ge[1]||(ge[1]=ye=>ue(H)("facet",ye))},null,40,Uw),[[jt,!ue(y)&&!ue(g)]]),Pt(R("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ue(P),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ge[2]||(ge[2]=(...ye)=>ue(he)&&ue(he)(...ye)),onKeydown:ge[3]||(ge[3]=ye=>ue(H)("rail",ye))},null,40,Gw),[[jt,!ue(y)&&!ue(k)]]),Pt(R("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ue(F):parseFloat(ue(G))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ge[4]||(ge[4]=(...ye)=>ue(B)&&ue(B)(...ye)),onKeydown:ge[5]||(ge[5]=ye=>ue(H)("table",ye))},null,40,Hw),[[jt,!ue(y)&&!ue(f)]]),Pt(R("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ue(I),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ge[6]||(ge[6]=(...ye)=>ue(X)&&ue(X)(...ye)),onKeydown:ge[7]||(ge[7]=ye=>ue(H)("shell",ye))},null,40,qw),[[jt,!ue(y)&&r.value]]),R("div",{class:"rd-seg","data-segmented":"",onClick:ge[8]||(ge[8]=(...ye)=>ue($)&&ue($)(...ye))},[(ee(!0),ne(Ie,null,tt(ue(d),ye=>(ee(),ne("button",{key:ye.k,class:De({on:ue(_)===ye.k}),"data-view-btn":"","data-view":ye.k},pe(ye.l),11,Vw))),128))]),ce.value?(ee(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[R("b",null,pe(ce.value)+" selected",1),ge[9]||(ge[9]=R("span",{class:"sp"},null,-1)),ge[10]||(ge[10]=R("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ge[11]||(ge[11]=R("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ge("",!0)],10,Iw))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ge=ye=>_e.setAttribute("data-page-scroll",ye?"true":"false");ge(ue(r)),dt(()=>ue(r),ge)}),(_e,ge)=>(ee(),ne("div",{ref_key:"shell",ref:S,class:De(["rd-shell",{"rd-narrow":ue(y),"rd-slim-rail":ue(v),"rd-slim-facet":ue(A),"rd-table-collapsed":ue(f),"rd-facet-collapsed":ue(g),"rd-rail-collapsed":ue(k),"rd-page-scroll":r.value}]),"data-row-count":ue(p),"data-loading":ue(m)?"1":"0","data-error":ue(x)||"","data-narrow":ue(y)?"1":"0"},[Oe(ue(Yy)),Oe(ue(Lw)),R("div",Mw,[(ee(!0),ne(Ie,null,tt(ue(i),ye=>(ee(),ne("div",{class:"kpi",key:ye.id},[R("span",{class:"n","data-kpi":ye.id},pe(ye.kind==="count"&&ue(m)?"…":q(ye)),9,Nw),R("span",Rw,pe(ye.label),1),ye.delta?(ee(),ne("span",Fw,"↓"+pe(ue(Ru)(ye.delta)),1)):Ge("",!0)]))),128))]),Pt(Oe(ue(fv),null,null,512),[[jt,ue(M)]]),Pt(R("div",Ow,[Oe(ue(lw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ue(g)?"Show filters":"Hide filters — grow the map",onClick:Me},pe(ue(g)?"▸":"◂"),9,Dw)),ue(y)?Ge("",!0):(ee(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ue(k)?"Show charts":"Hide charts — grow the map",onClick:Ae},pe(ue(k)?"◂":"▸"),9,jw))],512),[[jt,ue(L)]]),Pt(R("div",zw,[Oe(ue(Mv))],512),[[jt,ue(j)]]),Pt(R("aside",Bw,[Oe(ue(k0)),Oe(ue(Jv))],512),[[jt,ue(V)]]),Pt(R("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ue(z),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ge[0]||(ge[0]=(...ye)=>ue(Q)&&ue(Q)(...ye)),onKeydown:ge[1]||(ge[1]=ye=>ue(H)("facet",ye))},null,40,Uw),[[jt,!ue(y)&&!ue(g)]]),Pt(R("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ue(P),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ge[2]||(ge[2]=(...ye)=>ue(me)&&ue(me)(...ye)),onKeydown:ge[3]||(ge[3]=ye=>ue(H)("rail",ye))},null,40,Gw),[[jt,!ue(y)&&!ue(k)]]),Pt(R("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ue(F):parseFloat(ue(G))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ge[4]||(ge[4]=(...ye)=>ue(B)&&ue(B)(...ye)),onKeydown:ge[5]||(ge[5]=ye=>ue(H)("table",ye))},null,40,Hw),[[jt,!ue(y)&&!ue(f)]]),Pt(R("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ue(I),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ge[6]||(ge[6]=(...ye)=>ue(X)&&ue(X)(...ye)),onKeydown:ge[7]||(ge[7]=ye=>ue(H)("shell",ye))},null,40,qw),[[jt,!ue(y)&&r.value]]),R("div",{class:"rd-seg","data-segmented":"",onClick:ge[8]||(ge[8]=(...ye)=>ue($)&&ue($)(...ye))},[(ee(!0),ne(Ie,null,tt(ue(d),ye=>(ee(),ne("button",{key:ye.k,class:De({on:ue(_)===ye.k}),"data-view-btn":"","data-view":ye.k},pe(ye.l),11,Vw))),128))]),ce.value?(ee(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[R("b",null,pe(ce.value)+" selected",1),ge[9]||(ge[9]=R("span",{class:"sp"},null,-1)),ge[10]||(ge[10]=R("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ge[11]||(ge[11]=R("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ge("",!0)],10,Iw))}}},Symbol.toStringTag,{value:"Module"}))})();