From 5d87bd9db1d3bf3fbbb0081e5063ea51a7086573 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 18:10:35 +0000 Subject: [PATCH] Poster print options: two per line, clear of the blue hover outline The fieldset is anchored bottom:-26px and grows UPWARD as content wraps, so at one-button-per-line (three lines tall) its top reached into the image -- which is where the blue hover outline lives. Widened the row from 82% to 96% so two labels share a line. Measured on all three poster cards at 1440x900: 2 button lines, height 50px, top 3px BELOW the image bottom, zero overlap with the outline. Includes the tree regeneration so every leaf's SRI matches its bundle (a scoped BUNDLE= build alone leaves leaves stale -- check:sri PASS 45/45). --- .../my-upg-100-list/poster-wall.vue | 12 +++- .../dashboard-plus-grid.js | 66 +++++++++--------- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 20 +++--- .../my-upg-100-list/my-upg-100-list.js | 4 +- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../doxa-maps/plugin-studio/plugin-studio.js | 16 ++--- .../plugin-studio/plugin-studio/index.html | 2 +- .../plugin-studio/studio/index.html | 2 +- .../research-dashboard/research-dashboard.js | 68 ++++++++++--------- .../research-dashboard/index.html | 2 +- 15 files changed, 108 insertions(+), 96 deletions(-) diff --git a/plugin-designs/my-upg-100-list/poster-wall.vue b/plugin-designs/my-upg-100-list/poster-wall.vue index 48eca0fd2..66b565cd6 100644 --- a/plugin-designs/my-upg-100-list/poster-wall.vue +++ b/plugin-designs/my-upg-100-list/poster-wall.vue @@ -617,9 +617,17 @@ useShadowStyles( // top border grazes the card edge — "slightly overlapping the white edge" as asked. The negative // offset is kept (rather than moving the row into flow) because the tape-header at top:-11px uses // the same overhang idiom, and the 26px row gap noted at :542 was sized for this pairing. + // ★ TWO BUTTONS PER LINE, NEVER THREE LINES (Driver, 2026-09-23, second pass on this row): + // "nothing should overlap that blue outline... it shouldn't have one option per line, because + // that's 3 lines of height — increase the width of the print options slightly so you can fit two + // per line." The mechanism that made 3 lines overlap the outline: this fieldset is anchored + // bottom:-26px and GROWS UPWARD as content wraps, so every extra line pushes its top further into + // the image — and the blue hover outline lives on the image (.img.is-clickable:hover, line ~661). + // At width:82% the three labels fell one per line; 96% lets two share a line, so the box stays + // two lines tall and its top stays below the artwork. Same overhang idiom, wider row. '.pfs{position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);' + - 'width:82%;margin:0;padding:0 4px 3px;border:1px solid rgba(0,0,0,.14);' + - 'border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:2px 4px;' + + 'width:96%;margin:0;padding:0 3px 3px;border:1px solid rgba(0,0,0,.14);' + + 'border-radius:2px;background:#fff;display:flex;flex-wrap:wrap;gap:1px 2px;' + 'justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.10)}' + '.is-dark .pfs{background:#132019;border-color:rgba(110,231,183,.24)}' + '.pfs > legend{margin:0 auto;padding:0 5px;font-size:8px;text-transform:uppercase;' + 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 b02e0edab..80262eb07 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=[],Ut=()=>{},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)},Du=Object.prototype.hasOwnProperty,Ge=(e,t)=>Du.call(e,t),Ae=Array.isArray,_o=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Te=e=>typeof e=="function",Je=e=>typeof e=="string",Pt=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",Fa=e=>(He(e)||Te(e))&&Te(e.then)&&Te(e.catch),Ra=Object.prototype.toString,hn=e=>Ra.call(e),ju=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))},zu=/-\w/g,vt=rr(e=>e.replace(zu,t=>t.slice(1).toUpperCase())),Uu=/\B([A-Z])/g,$t=rr(e=>e.replace(Uu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),ts=rr(e=>e?`on${Ma(e)}`:""),Bt=(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(Ae(e)){const t={};for(let o=0;o{if(o){const n=o.split(Gu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function je(e){let t="";if(Je(e))t=e;else if(Ae(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ce=e=>Je(e)?e:e==null?"":Ae(e)||He(e)&&(e.toString===Ra||!Te(e.toString))?Ba(e)?ce(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))}:Pt(t)?ns(t):He(t)&&!Ae(t)&&!nr(t)?String(t):t,ns=(e,t="")=>{var o;return Pt(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]",Pe=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)||Pe(e))&&Pe(e.then)&&Pe(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,xt=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),ue=e=>Je(e)?e:e==null?"":Ce(e)||He(e)&&(e.toString===Ra||!Pe(e.toString))?Ba(e)?ue(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),Yu(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=Nt;Ke=e,Nt=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Bt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ke=o,Nt=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 Yu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Nt=!0;const Za=[];function Gt(){Za.push(Nt),Nt=!1}function qt(){const e=Za.pop();Nt=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 Xu{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||!Nt||Ke===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ke)o=this.activeLink=new Xu(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 ft(e,t,o){if(Nt&&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=Ae(e),c=i&&es(o);if(i&&o==="length"){const u=Number(n);a.forEach((d,m)=>{(m==="length"||m===vn||!Pt(m)&&m>=u)&&l(d)})}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:(ft(t,"iterate",vn),At(e)?t:t.map(It))}function ir(e){return ft(e=ze(e),"iterate",vn),e}function Ht(e,t){return oo(e)?Vo(Io(e)?It(t):t):It(t)}const Ju={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Ho(this).concat(...e.map(t=>Ae(t)?Ho(t):t))},entries(){return fs(this,"entries",e=>(e[1]=Ht(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=>Ht(this,n)),arguments)},find(e,t){return to(this,"find",e,t,o=>Ht(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=>Ht(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=>Ht(this,e))}};function fs(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!At(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const Zu=Array.prototype;function to(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!At(e),i=a[t];if(i!==Zu[t]){const d=i.apply(e,s);return l?It(d):d}let c=o;a!==e&&(l?c=function(d,m){return o.call(this,Ht(e,d),m,e)}:o.length>2&&(c=function(d,m){return o.call(this,d,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&&!At(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,d){return l&&(l=!1,c=Ht(e,c)),o.call(this,c,Ht(e,u),d,e)}):o.length>3&&(a=function(c,u,d){return o.call(this,c,u,d,e)}));const i=r[t](a,...n);return l?Ht(e,i):i}function ps(e,t,o){const n=ze(e);ft(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=[]){Gt(),ss();const n=ze(e)[t].apply(e,o);return as(),qt(),n}const Qu=Zr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Pt));function ed(e){Pt(e)||(e=String(e));const t=ze(this);return ft(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=Ae(t);if(!r){let i;if(a&&(i=Ju[o]))return i;if(o==="hasOwnProperty")return ed}const l=Reflect.get(t,o,at(t)?t:n);if((Pt(o)?ol.has(o):Qu(o))||(r||ft(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=Ae(t)&&es(o);if(!this._isShallow){const c=oo(s);if(!At(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 sd(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:It;return!t&&ft(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:d,done:m}=c.next();return m?{value:d,done:m}:{value:l?[u(d[0]),u(d[1])]:u(d),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ad(e,t){const o={get(r){const s=this.__v_raw,a=ze(s),l=ze(r);e||(Bt(r,l)&&ft(a,"get",r),ft(a,"get",l));const{has:i}=cr(a),c=t?gs:e?Vo:It;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&&ft(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Bt(r,l)&&ft(a,"has",r),ft(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:It;return!e&&ft(i,"iterate",Po),l.forEach((u,d)=>r.call(s,c(u),c(d),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&&!At(r)&&!oo(r)?l:r;return a.has.call(s,i)||Bt(r,i)&&a.has.call(s,r)||Bt(l,i)&&a.has.call(s,l)||(s.add(i),eo(s,"add",i,i)),this},set(r,s){!t&&!At(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?Bt(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]=sd(r,e,t)}),o}function dr(e,t){const o=ad(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 ld={get:dr(!1,!1)},id={get:dr(!1,!0)},cd={get:dr(!0,!1)},ud={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function dd(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,td,ld,al)}function fd(e){return fr(e,!1,nd,id,ll)}function hs(e){return fr(e,!0,od,cd,il)}function nw(e){return fr(e,!0,rd,ud,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=dd(ju(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 At(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 It=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 pd(e,t)}class pd{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:It(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||At(t)||oo(t);t=n?t:ze(t),Bt(t,o)&&(this._rawValue=t,this._value=n?t:It(t),this.dep.trigger())}}function pe(e){return at(e)?e.value:e}const gd={get:(e,t,o)=>t==="__v_raw"?e:pe(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,gd)}class hd{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 md(e,t,o=!1){let n,r;return Te(e)?n=e:(n=e.get,r=e.set),new hd(n,r,o)}const pr={},gr=new WeakMap;let Fo;function bd(e,t=!1,o=Fo){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function _d(e,t,o=We){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:At(g)||r===!1||r===0?no(g,1):no(g);let u,d,m,v,T=!1,x=!1;if(at(e)?(d=()=>e.value,T=At(e)):Io(e)?(d=()=>c(e),T=!0):Ae(e)?(x=!0,T=e.some(g=>Io(g)||At(g)),d=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Te(g))return i?i(g,2):g()})):Te(e)?t?d=i?()=>i(e,2):e:d=()=>{if(m){Gt();try{m()}finally{qt()}}const g=Fo;Fo=u;try{return i?i(e,3,[v]):e(v)}finally{Fo=g}}:d=Ut,t&&r){const g=d,_=r===!0?1/0:r;d=()=>no(g(),_)}const w=Ku(),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||T||(x?_.some((S,$)=>Bt(S,y[$])):Bt(_,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(d),u.scheduler=a?()=>a(p,!1):p,v=g=>bd(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(Ae(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 ft(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((d,m)=>{(m==="length"||m===vn||!Nt(m)&&m>=u)&&l(d)})}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:(ft(t,"iterate",vn),Ct(e)?t:t.map(Ft))}function ir(e){return ft(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 d=i.apply(e,s);return l?Ft(d):d}let c=o;a!==e&&(l?c=function(d,m){return o.call(this,Vt(e,d),m,e)}:o.length>2&&(c=function(d,m){return o.call(this,d,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,d){return l&&(l=!1,c=Vt(e,c)),o.call(this,c,Vt(e,u),d,e)}):o.length>3&&(a=function(c,u,d){return o.call(this,c,u,d,e)}));const i=r[t](a,...n);return l?Vt(e,i):i}function ps(e,t,o){const n=ze(e);ft(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 ft(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||ft(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&&ft(s,"iterate",i?ds:Po),tt(Object.create(c),{next(){const{value:d,done:m}=c.next();return m?{value:d,done:m}:{value:l?[u(d[0]),u(d[1])]:u(d),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)&&ft(a,"get",r),ft(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&&ft(ze(r),"iterate",Po),r.size},has(r){const s=this.__v_raw,a=ze(s),l=ze(r);return e||(Gt(r,l)&&ft(a,"has",r),ft(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&&ft(i,"iterate",Po),l.forEach((u,d)=>r.call(s,c(u),c(d),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 ce(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 de(e){return at(e)?e.value:e}const md={get:(e,t,o)=>t==="__v_raw"?e:de(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 Pe(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,d,m,v,C=!1,x=!1;if(at(e)?(d=()=>e.value,C=Ct(e)):Io(e)?(d=()=>c(e),C=!0):Ce(e)?(x=!0,C=e.some(g=>Io(g)||Ct(g)),d=()=>e.map(g=>{if(at(g))return g.value;if(Io(g))return c(g);if(Pe(g))return i?i(g,2):g()})):Pe(e)?t?d=i?()=>i(e,2):e:d=()=>{if(m){qt();try{m()}finally{Ht()}}const g=Fo;Fo=u;try{return i?i(e,3,[v]):e(v)}finally{Fo=g}}:d=Bt,t&&r){const g=d,y=r===!0?1/0:r;d=()=>no(g(),y)}const w=Xu(),L=()=>{u.stop(),w&&w.active&&Qr(w.effects,u)};if(s&&t){const g=t;t=(...y)=>{const S=g(...y);return L(),S}}let _=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const y=u.run();if(g||r||C||(x?y.some((S,$)=>Gt(S,_[$])):Gt(y,_))){m&&m();const S=Fo;Fo=u;try{const $=[y,_===pr?void 0:x&&_[0]===pr?[]:_,v];_=y,i?i(t,3,$):t(...$)}finally{Fo=S}}}else u.run()};return l&&l(p),u=new Va(d),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 y of g)y();gr.delete(u)}},t?n?p(!0):_=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 rw(e,...t){if(bs)return;bs=!0,Gt();const o=kn.length?kn[kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=yd();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(` +**/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(` -`,...vd(r)),console.warn(...s)}qt(),bs=!1}function yd(){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 vd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...xd(o))}),t}function xd({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,...wd(e.props),s]:[r+s]}function wd(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,">"]):Te(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(Te(e)){const r=Wo(e,t,o,n);return r&&Fa(r)&&r.catch(s=>{hr(s,t,o)}),r}if(Ae(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice($d(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function Sd(e){if(!Ae(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(Vt=0;Vt{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 Rt(e,t){if(pt===null)return e;const o=Cr(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Te(t)?t.call(n&&n.proxy):t}}const Ed=Symbol.for("v-scx"),Ad=()=>Re(Ed);function gt(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=Ad();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Ut,v.resume=Ut,v.pause=Ut,v}}const u=_t;l.call=(v,T,x)=>Ft(v,u,T,x);let d=!1;s==="post"?l.scheduler=v=>{bt(v,u&&u.suspense)}:s!=="sync"&&(d=!0,l.scheduler=(v,T)=>{T?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),d&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=_d(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Cd(e,t,o){const n=this.proxy,r=Je(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Te(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===""),Td=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},Ld={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:d,pbc:m,o:{insert:v,querySelector:T,createText:x,createComment:w,parentNode:L}}=c,y=Mo(t.props);let{dynamicChildren:p}=t;const g=($,O,N)=>{$.shapeFlag&16&&u($.children,O,N,r,s,a,l,i)},_=($=t)=>{const O=Mo($.props),N=$.target=ys($.props,T),V=vs(N,$,x,v);N&&(a!=="svg"&&kl(N)?a="svg":a!=="mathml"&&$l(N)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(N),O||(g($,N,V),En($,!1)))},S=$=>{const O=()=>{if(xo.get($)===O){if(xo.delete($),Mo($.props)){const N=L($.el)||o;g($,N,$.anchor),En($,!0)}_($)}};xo.set($,O),bt(O,s)};if(e==null){const $=t.el=x(""),O=t.anchor=x("");if(v($,o,n),v(O,o,n),Td(t.props)||s&&s.pendingBranch){S(t);return}y&&(g(t,o,O),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,O=xo.get(e);if(O){O.flags|=8,xo.delete(e),S(t);return}t.targetStart=e.targetStart;const N=t.target=e.target,V=t.targetAnchor=e.targetAnchor,ee=Mo(e.props),re=ee?o:N,be=ee?$:V;if(a==="svg"||kl(N)?a="svg":(a==="mathml"||$l(N))&&(a="mathml"),p?(m(e.dynamicChildren,p,re,r,s,a,l),Is(e,t,!0)):i||d(e,t,re,be,r,s,a,l,!1),y)ee?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,T);q&&(t.target=q,yr(t,q,null,c,0))}else ee&&yr(t,N,V,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:d,props:m}=e,v=Mo(m),T=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),d&&(r(c),r(u)),s&&r(i),!x&&(v||d)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Kt){t=o;break}}return t}function Sl(e){if(!ks(e))return _r(e.type)&&e.children?Id(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 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 Te(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(Ae(e)){e.forEach((x,w)=>Cn(x,t&&(Ae(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,d=l.setupState,m=ze(d),v=d===We?Na:x=>Al(u,x)?!1:Ge(m,x),T=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(d[c]=null);else if(at(c)){const x=t;T(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Te(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)?d[i]:u[i]:T()||!e.k?i.value:u[e.k];if(r)Ae(y)&&Qr(y,s);else if(Ae(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(d[i]=u[i]);else{const p=[s];T(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(d[i]=a)):w&&(T(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),bt(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 Fd(e,t){Tl(e,"a",t)}function Rd(e,t){Tl(e,"da",t)}function Tl(e,t,o=_t){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)&&Md(n,t,o,r),r=r.parent}}function Md(e,t,o,n){const r=xr(t,e,n,!0);$s(()=>{Qr(n[t],r)},o)}function xr(e,t,o=_t,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Gt();const l=Mn(o),i=Ft(t,o,e,a);return l(),qt(),i});return n?r.unshift(s):r.push(s),s}}const so=e=>(t,o=_t)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),xt=so("m"),Od=so("bu"),Dd=so("u"),Wt=so("bum"),$s=so("um"),jd=so("sp"),zd=so("rtg"),Ud=so("rtc");function Bd(e,t=_t){xr("ec",e,t)}const Gd=Symbol.for("v-ndc");function Ye(e,t,o,n){let r;const s=o,a=Ae(e);if(a||Je(e)){const l=a&&Io(e);let i=!1,c=!1;l&&(i=!At(e),c=oo(e),e=ir(e)),r=new Array(e.length);for(let u=0,d=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),W(),wo($e,null,[Me("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=ao.length;W();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=wo($e,{key:(u&&!Pt(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===Kt||t.type===$e&&!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=>Cd.bind(e)}),Es=(e,t)=>e!==We&&!e.__isScriptSetup&&Ge(e,t),qd={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,d;if(c)return t==="$attrs"&&ft(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(d=i.config.globalProperties,Ge(d,t))return d[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 Ae(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let As=!0;function Hd(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:d,mounted:m,beforeUpdate:v,updated:T,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:S,renderTriggered:$,errorCaptured:O,serverPrefetch:N,expose:V,inheritAttrs:ee,components:re,directives:be,filters:q}=t;if(c&&Vd(c,n,null),a)for(const j in a){const A=a[j];Te(A)&&(n[j]=A.bind(o))}if(r){const j=r.call(o,o);He(j)&&(e.data=No(j))}if(As=!0,s)for(const j in s){const A=s[j],z=Te(A)?A.bind(o,o):Te(A.get)?A.get.bind(o,o):Ut,te=!Te(A)&&Te(A.set)?A.set.bind(o):Ut,D=le({get:z,set:te});Object.defineProperty(n,j,{enumerable:!0,configurable:!0,get:()=>D.value,set:oe=>D.value=oe})}if(l)for(const j in l)Fl(l[j],n,o,j);if(i){const j=Te(i)?i.call(o):i;Reflect.ownKeys(j).forEach(A=>{ro(A,j[A])})}u&&Il(u,e,"c");function R(j,A){Ae(A)?A.forEach(z=>j(z.bind(o))):A&&j(A.bind(o))}if(R(Ll,d),R(xt,m),R(Od,v),R(Dd,T),R(Fd,x),R(Rd,w),R(Bd,O),R(Ud,S),R(zd,$),R(Wt,y),R($s,g),R(jd,N),Ae(V))if(V.length){const j=e.exposed||(e.exposed={});V.forEach(A=>{Object.defineProperty(j,A,{get:()=>o[A],set:z=>o[A]=z,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===Ut&&(e.render=_),ee!=null&&(e.inheritAttrs=ee),re&&(e.components=re),be&&(e.directives=be),N&&El(e)}function Vd(e,t,o=Ut){Ae(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){Ft(Ae(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];Te(s)&>(r,s)}else if(Te(e))gt(r,e.bind(o));else if(He(e))if(Ae(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Te(e.handler)?e.handler.bind(o):t[e.handler];Te(s)&>(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=Wd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Wd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:mt,created:mt,beforeMount:mt,mounted:mt,beforeUpdate:mt,updated:mt,beforeDestroy:mt,beforeUnmount:mt,destroyed:mt,unmounted:mt,activated:mt,deactivated:mt,errorCaptured:mt,serverPrefetch:mt,components:Ln,directives:Ln,watch:Yd,provide:Ml,inject:Kd};function Ml(e,t){return t?e?function(){return tt(Te(e)?e.call(this,this):e,Te(t)?t.call(this,this):t)}:t:e}function Kd(e,t){return Ln(Cs(e),Cs(t))}function Cs(e){if(Ae(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${vt(t)}Modifiers`]||e[`${$t(t)}Modifiers`];function Qd(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||We;let r=o;const s=t.startsWith("update:"),a=s&&Zd(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(vt(t))];!i&&s&&(i=n[l=ts($t(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 ef=new WeakMap;function jl(e,t,o=!1){const n=o?ef:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Te(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):(Ae(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,$t(t))||Ge(e,t))}function sw(){}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:d,data:m,setupState:v,ctx:T,inheritAttrs:x}=e,w=br(e);let L,y;try{if(o.shapeFlag&4){const g=r||n,_=g;L=Yt(c.call(_,g,u,d,v,m,T)),y=l}else{const g=t;L=Yt(g.length>1?g(d,{attrs:l,slots:a,emit:i}):g(d,null)),y=t.props?l:tf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Kt)}let p=L;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=of(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 tf=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},of=(e,t)=>{const o={};for(const n in e)(!tr(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: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 d=0;dObject.create(Gl),Hl=e=>Object.getPrototypeOf(e)===Gl;function sf(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:fd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function af(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 d=0;d{i=!0;const[m,v]=Wl(d,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(Ae(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ps=e=>Ae(e)?e.map(Yt):[Yt(e)],cf=(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(Te(s))t[r]=cf(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])},uf=(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)},df=(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]},bt=mf;function ff(e){return pf(e)}function pf(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:d,nextSibling:m,setScopeId:v=Ut,insertStaticContent:T}=e,x=(b,C,k,H=null,K=null,ne=null,G=void 0,U=null,f=!!C.dynamicChildren)=>{if(b===C)return;b&&!Fn(b,C)&&(H=ge(b),oe(b,K,ne,!0),b=null),C.patchFlag===-2&&(f=!1,C.dynamicChildren=null);const{type:h,ref:I,shapeFlag:B}=C;switch(h){case Pn:w(b,C,k,H);break;case Kt:L(b,C,k,H);break;case Fs:b==null&&y(C,k,H,G);break;case $e:re(b,C,k,H,K,ne,G,U,f);break;default:B&1?_(b,C,k,H,K,ne,G,U,f):B&6?be(b,C,k,H,K,ne,G,U,f):(B&64||B&128)&&h.process(b,C,k,H,K,ne,G,U,f,Ne)}I!=null&&K?Cn(I,b&&b.ref,ne,C||b,!C):I==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,C,k,H)=>{if(b==null)n(C.el=l(C.children),k,H);else{const K=C.el=b.el;C.children!==b.children&&c(K,C.children)}},L=(b,C,k,H)=>{b==null?n(C.el=i(C.children||""),k,H):C.el=b.el},y=(b,C,k,H)=>{[b.el,b.anchor]=T(b.children,C,k,H,b.el,b.anchor)},p=({el:b,anchor:C},k,H)=>{let K;for(;b&&b!==C;)K=m(b),n(b,k,H),b=K;n(C,k,H)},g=({el:b,anchor:C})=>{let k;for(;b&&b!==C;)k=m(b),r(b),b=k;r(C)},_=(b,C,k,H,K,ne,G,U,f)=>{if(C.type==="svg"?G="svg":C.type==="math"&&(G="mathml"),b==null)S(C,k,H,K,ne,G,U,f);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),N(b,C,K,ne,G,U,f)}finally{h&&h._endPatch()}}},S=(b,C,k,H,K,ne,G,U)=>{let f,h;const{props:I,shapeFlag:B,transition:Z,dirs:se}=b;if(f=b.el=a(b.type,ne,I&&I.is,I),B&8?u(f,b.children):B&16&&O(b.children,f,null,H,K,Ns(b,ne),G,U),se&&Ro(b,null,H,"created"),$(f,b,b.scopeId,G,H),I){for(const E in I)E!=="value"&&!mn(E)&&s(f,E,null,I[E],ne,H);"value"in I&&s(f,"value",null,I.value,ne),(h=I.onVnodeBeforeMount)&&Xt(h,H,b)}se&&Ro(b,null,H,"beforeMount");const M=gf(K,Z);M&&Z.beforeEnter(f),n(f,C,k),((h=I&&I.onVnodeMounted)||M||se)&&bt(()=>{try{h&&Xt(h,H,b),M&&Z.enter(f),se&&Ro(b,null,H,"mounted")}finally{}},K)},$=(b,C,k,H,K)=>{if(k&&v(b,k),H)for(let ne=0;ne{for(let h=f;h{const U=C.el=b.el;let{patchFlag:f,dynamicChildren:h,dirs:I}=C;f|=b.patchFlag&16;const B=b.props||We,Z=C.props||We;let se;if(k&&Do(k,!1),(se=Z.onVnodeBeforeUpdate)&&Xt(se,k,C,b),I&&Ro(C,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(f=0,G=!1,h=null),(B.innerHTML&&Z.innerHTML==null||B.textContent&&Z.textContent==null)&&u(U,""),h?V(b.dynamicChildren,h,U,k,H,Ns(C,K),ne):G||A(b,C,U,null,k,H,Ns(C,K),ne,!1),f>0){if(f&16)ee(U,B,Z,k,K);else if(f&2&&B.class!==Z.class&&s(U,"class",null,Z.class,K),f&4&&s(U,"style",B.style,Z.style,K),f&8){const M=C.dynamicProps;for(let E=0;E{se&&Xt(se,k,C,b),I&&Ro(C,b,k,"updated")},H)},V=(b,C,k,H,K,ne,G)=>{for(let U=0;U{if(C!==k){if(C!==We)for(const ne in C)!mn(ne)&&!(ne in k)&&s(b,ne,C[ne],null,K,H);for(const ne in k){if(mn(ne))continue;const G=k[ne],U=C[ne];G!==U&&ne!=="value"&&s(b,ne,U,G,K,H)}"value"in k&&s(b,"value",C.value,k.value,K)}},re=(b,C,k,H,K,ne,G,U,f)=>{const h=C.el=b?b.el:l(""),I=C.anchor=b?b.anchor:l("");let{patchFlag:B,dynamicChildren:Z,slotScopeIds:se}=C;se&&(U=U?U.concat(se):se),b==null?(n(h,k,H),n(I,k,H),O(C.children||[],k,I,K,ne,G,U,f)):B>0&&B&64&&Z&&b.dynamicChildren&&b.dynamicChildren.length===Z.length?(V(b.dynamicChildren,Z,k,K,ne,G,U),(C.key!=null||K&&C===K.subTree)&&Is(b,C,!0)):A(b,C,k,I,K,ne,G,U,f)},be=(b,C,k,H,K,ne,G,U,f)=>{C.slotScopeIds=U,b==null?C.shapeFlag&512?K.ctx.activate(C,k,H,G,f):q(C,k,H,K,ne,G,f):J(b,C,f)},q=(b,C,k,H,K,ne,G)=>{const U=b.component=wf(b,H,K);if(ks(b)&&(U.ctx.renderer=Ne),kf(U,!1,G),U.asyncDep){if(K&&K.registerDep(U,R,G),!b.el){const f=U.subTree=Me(Kt);L(null,f,C,k),b.placeholder=f.el}}else R(U,b,C,k,K,ne,G)},J=(b,C,k)=>{const H=C.component=b.component;if(nf(b,C,k))if(H.asyncDep&&!H.asyncResolved){j(H,C,k);return}else H.next=C,H.update();else C.el=b.el,H.vnode=C},R=(b,C,k,H,K,ne,G)=>{const U=()=>{if(b.isMounted){let{next:B,bu:Z,u:se,parent:M,vnode:E}=b;{const Be=Zl(b);if(Be){B&&(B.el=E.el,j(b,B,G)),Be.asyncDep.then(()=>{bt(()=>{b.isUnmounted||h()},K)});return}}let Q=B,ae;Do(b,!1),B?(B.el=E.el,j(b,B,G)):B=E,Z&&sr(Z),(ae=B.props&&B.props.onVnodeBeforeUpdate)&&Xt(ae,M,B,E),Do(b,!0);const me=zl(b),ve=b.subTree;b.subTree=me,x(ve,me,d(ve.el),ge(ve),b,K,ne),B.el=me.el,Q===null&&rf(b,me.el),se&&bt(se,K),(ae=B.props&&B.props.onVnodeUpdated)&&bt(()=>Xt(ae,M,B,E),K)}else{let B;const{el:Z,props:se}=C,{bm:M,m:E,parent:Q,root:ae,type:me}=b,ve=Xo(C);Do(b,!1),M&&sr(M),!ve&&(B=se&&se.onVnodeBeforeMount)&&Xt(B,Q,C),Do(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(me,b.parent?b.parent.type:void 0);const Be=b.subTree=zl(b);x(null,Be,k,H,b,K,ne),C.el=Be.el}if(E&&bt(E,K),!ve&&(B=se&&se.onVnodeMounted)){const Be=C;bt(()=>Xt(B,Q,Be),K)}(C.shapeFlag&256||Q&&Xo(Q.vnode)&&Q.vnode.shapeFlag&256)&&b.a&&bt(b.a,K),b.isMounted=!0,C=k=H=null}};b.scope.on();const f=b.effect=new Va(U);b.scope.off();const h=b.update=f.run.bind(f),I=b.job=f.runIfDirty.bind(f);I.i=b,I.id=b.uid,f.scheduler=()=>_s(I),Do(b,!0),h()},j=(b,C,k)=>{C.component=b;const H=b.vnode.props;b.vnode=C,b.next=null,af(b,C.props,H,k),df(b,C.children,k),Gt(),ml(b),qt()},A=(b,C,k,H,K,ne,G,U,f=!1)=>{const h=b&&b.children,I=b?b.shapeFlag:0,B=C.children,{patchFlag:Z,shapeFlag:se}=C;if(Z>0){if(Z&128){te(h,B,k,H,K,ne,G,U,f);return}else if(Z&256){z(h,B,k,H,K,ne,G,U,f);return}}se&8?(I&16&&Se(h,K,ne),B!==h&&u(k,B)):I&16?se&16?te(h,B,k,H,K,ne,G,U,f):Se(h,K,ne,!0):(I&8&&u(k,""),se&16&&O(B,k,H,K,ne,G,U,f))},z=(b,C,k,H,K,ne,G,U,f)=>{b=b||qo,C=C||qo;const h=b.length,I=C.length,B=Math.min(h,I);let Z;for(Z=0;ZI?Se(b,K,ne,!0,!1,B):O(C,k,H,K,ne,G,U,f,B)},te=(b,C,k,H,K,ne,G,U,f)=>{let h=0;const I=C.length;let B=b.length-1,Z=I-1;for(;h<=B&&h<=Z;){const se=b[h],M=C[h]=f?lo(C[h]):Yt(C[h]);if(Fn(se,M))x(se,M,k,null,K,ne,G,U,f);else break;h++}for(;h<=B&&h<=Z;){const se=b[B],M=C[Z]=f?lo(C[Z]):Yt(C[Z]);if(Fn(se,M))x(se,M,k,null,K,ne,G,U,f);else break;B--,Z--}if(h>B){if(h<=Z){const se=Z+1,M=seZ)for(;h<=B;)oe(b[h],K,ne,!0),h++;else{const se=h,M=h,E=new Map;for(h=M;h<=Z;h++){const et=C[h]=f?lo(C[h]):Yt(C[h]);et.key!=null&&E.set(et.key,h)}let Q,ae=0;const me=Z-M+1;let ve=!1,Be=0;const qe=new Array(me);for(h=0;h=me){oe(et,K,ne,!0);continue}let Lt;if(et.key!=null)Lt=E.get(et.key);else for(Q=M;Q<=Z;Q++)if(qe[Q-M]===0&&Fn(et,C[Q])){Lt=Q;break}Lt===void 0?oe(et,K,ne,!0):(qe[Lt-M]=h+1,Lt>=Be?Be=Lt:ve=!0,x(et,C[Lt],k,null,K,ne,G,U,f),ae++)}const st=ve?hf(qe):qo;for(Q=st.length-1,h=me-1;h>=0;h--){const et=M+h,Lt=C[et],Zn=C[et+1],Qn=et+1{const{el:ne,type:G,transition:U,children:f,shapeFlag:h}=b;if(h&6){D(b.component.subTree,C,k,H);return}if(h&128){b.suspense.move(C,k,H);return}if(h&64){G.move(b,C,k,Ne);return}if(G===$e){n(ne,C,k);for(let B=0;BU.enter(ne),K));else{const{leave:B,delayLeave:Z,afterLeave:se}=U,M=()=>{b.ctx.isUnmounted?r(ne):n(ne,C,k)},E=()=>{const Q=ne._isLeaving||!!ne[xs];ne._isLeaving&&ne[xs](!0),U.persisted&&!Q?M():B(ne,()=>{M(),se&&se()})};Z?Z(ne,M,E):E()}else n(ne,C,k)},oe=(b,C,k,H=!1,K=!1)=>{const{type:ne,props:G,ref:U,children:f,dynamicChildren:h,shapeFlag:I,patchFlag:B,dirs:Z,cacheIndex:se,memo:M}=b;if(B===-2&&(K=!1),U!=null&&(Gt(),Cn(U,null,k,b,!0),qt()),se!=null&&(C.renderCache[se]=void 0),I&256){C.ctx.deactivate(b);return}const E=I&1&&Z,Q=!Xo(b);let ae;if(Q&&(ae=G&&G.onVnodeBeforeUnmount)&&Xt(ae,C,b),I&6)ke(b.component,k,H);else{if(I&128){b.suspense.unmount(k,H);return}E&&Ro(b,null,C,"beforeUnmount"),I&64?b.type.remove(b,C,k,Ne,H):h&&!h.hasOnce&&(ne!==$e||B>0&&B&64)?Se(h,C,k,!1,!0):(ne===$e&&B&384||!K&&I&16)&&Se(f,C,k),H&&fe(b)}const me=M!=null&&se==null;(Q&&(ae=G&&G.onVnodeUnmounted)||E||me)&&bt(()=>{ae&&Xt(ae,C,b),E&&Ro(b,null,C,"unmounted"),me&&(b.el=null)},k)},fe=b=>{const{type:C,el:k,anchor:H,transition:K}=b;if(C===$e){_e(k,H);return}if(C===Fs){g(b);return}const ne=()=>{r(k),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(b.shapeFlag&1&&K&&!K.persisted){const{leave:G,delayLeave:U}=K,f=()=>G(k,ne);U?U(b.el,ne,f):f()}else ne()},_e=(b,C)=>{let k;for(;b!==C;)k=m(b),r(b),b=k;r(C)},ke=(b,C,k)=>{const{bum:H,scope:K,job:ne,subTree:G,um:U,m:f,a:h}=b;Ql(f),Ql(h),H&&sr(H),K.stop(),ne&&(ne.flags|=8,oe(G,b,C,k)),U&&bt(U,C),bt(()=>{b.isUnmounted=!0},C)},Se=(b,C,k,H=!1,K=!1,ne=0)=>{for(let G=ne;G{if(b.shapeFlag&6)return ge(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 de=!1;const ye=(b,C,k)=>{let H;b==null?C._vnode&&(oe(C._vnode,null,null,!0),H=C._vnode.component):x(C._vnode||null,b,C,null,null,null,k),C._vnode=b,de||(de=!0,ml(H),bl(),de=!1)},Ne={p:x,um:oe,m:D,r:fe,mt:q,mc:O,pc:A,pbc:V,n:ge,o:e};return{render:ye,hydrate:void 0,createApp:Jd(ye)}}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 gf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,o=!1){const n=e.children,r=t.children;if(Ae(n)&&Ae(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 mf(e,t){t&&t.pendingBranch?Ae(e)?t.effects.push(...e):t.effects.push(e):Sd(e)}const $e=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),Fs=Symbol.for("v-stc"),ao=[];let St=null;function W(e=!1){ao.push(St=e?null:[])}function Rs(){ao.pop(),St=ao[ao.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&St&&t&&(St.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?St||qo:null,Rs(),Nn>0&&St&&St.push(e),e}function Y(e,t,o,n,r,s){return oi(P(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)||Te(e)?{i:pt,r:e,k:t,f:!!o}:e:null);function P(e,t=null,o=null,n=0,r=null,s=e===$e?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:pt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Je(o)?8:16),Nn>0&&!a&&St&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&St.push(i),i}const Me=bf;function bf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Gd)&&(e=Kt),In(e)){const l=Zo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&St&&(l.shapeFlag&6?St[St.indexOf(e)]=l:St.push(l)),l.patchFlag=-2,l}if(Lf(e)&&(e=e.__vccOpts),t){t=_f(t);let{class:l,style:i}=t;l&&!Je(l)&&(t.class=je(l)),He(i)&&(ms(i)&&!Ae(i)&&(i=tt({},i)),t.style=it(i))}const a=Je(e)?1:ti(e)?128:_r(e)?64:He(e)?4:Te(e)?2:0;return P(e,t,o,n,r,a,s,!0)}function _f(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?yf(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?Ae(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!==$e?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 Pe(e="",t=!1){return t?(W(),wo(Kt,null,e)):Me(Kt,null,e)}function Yt(e){return e==null||typeof e=="boolean"?Me(Kt):Ae(e)?Me($e,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(Ae(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=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Te(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:pt},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;o_t||pt;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=>_t=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=_t;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{_t&&_t.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function kf(e,t=!1,o=!1){t&&Rn(t);const{props:n,children:r}=e.vnode,s=si(e);sf(e,n,s,t),uf(e,r,o||t);const a=s?$f(e,t):void 0;return t&&Rn(!1),a}function $f(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,qd);const{setup:n}=o;if(n){Gt();const r=e.setupContext=n.length>1?Ef(e):null,s=Mn(e),a=Wo(n,e,0,[e.props,r]),l=Fa(a);if(qt(),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){Te(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||Ut);{const r=Mn(e);Gt();try{Hd(e)}finally{qt(),r()}}}const Sf={get(e,t){return ft(e,"get",""),e[t]}};function Ef(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Sf),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 Af=/(?:^|[-_])\w/g,Cf=e=>e.replace(Af,t=>t.toUpperCase()).replace(/[-_]/g,"");function Tf(e,t=!0){return Te(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Tf(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?Cf(n):o?"App":"Anonymous"}function Lf(e){return Te(e)&&"__vccOpts"in e}const le=(e,t)=>md(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?He(t)&&!Ae(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 Pf="3.5.42";/** +`,...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,">"]):Pe(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(Pe(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(pt===null)return e;const o=Cr(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Pe(t)?t.call(n&&n.proxy):t}}const Cd=Symbol.for("v-scx"),Td=()=>Re(Cd);function gt(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=_t;l.call=(v,C,x)=>Rt(v,u,C,x);let d=!1;s==="post"?l.scheduler=v=>{bt(v,u&&u.suspense)}:s!=="sync"&&(d=!0,l.scheduler=(v,C)=>{C?v():_s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),d&&(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;Pe(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:d,pbc:m,o:{insert:v,querySelector:C,createText:x,createComment:w,parentNode:L}}=c,_=Mo(t.props);let{dynamicChildren:p}=t;const g=($,D,I)=>{$.shapeFlag&16&&u($.children,D,I,r,s,a,l,i)},y=($=t)=>{const D=Mo($.props),I=$.target=ys($.props,C),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)}y($)}};xo.set($,D),bt(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}_&&(g(t,o,D),En(t,!0)),y()}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,ne=Mo(e.props),se=ne?o:I,be=ne?$: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||d(e,t,se,be,r,s,a,l,!1),_)ne?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,C);q&&(t.target=q,yr(t,q,null,c,0))}else ne&&yr(t,I,H,c,1);En(t,_)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:d,props:m}=e,v=Mo(m),C=s||!v,x=xo.get(e);if(x&&(x.flags|=8,xo.delete(e)),d&&(r(c),r(u)),s&&r(i),!x&&(v||d)&&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&&Pe(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 Pe(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,d=l.setupState,m=ze(d),v=d===We?Na:x=>Al(u,x)?!1:Ge(m,x),C=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Je(c))u[c]=null,v(c)&&(d[c]=null);else if(at(c)){const x=t;C(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Pe(i))Wo(i,l,12,[a,u]);else{const x=Je(i),w=at(i);if(x||w){const L=()=>{if(e.f){const _=x?v(i)?d[i]:u[i]:C()||!e.k?i.value:u[e.k];if(r)Ce(_)&&Qr(_,s);else if(Ce(_))_.includes(s)||_.push(s);else if(x)u[i]=[s],v(i)&&(d[i]=u[i]);else{const p=[s];C(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(d[i]=a)):w&&(C(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{L(),vr.delete(e)};_.id=-1,vr.set(e,_),bt(_,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=_t){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=_t,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=_t)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=so("bm"),wt=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=_t){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,d=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,d;if(c)return t==="$attrs"&&ft(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(d=i.config.globalProperties,Ge(d,t))return d[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:d,mounted:m,beforeUpdate:v,updated:C,activated:x,deactivated:w,beforeDestroy:L,beforeUnmount:_,destroyed:p,unmounted:g,render:y,renderTracked:S,renderTriggered:$,errorCaptured:D,serverPrefetch:I,expose:H,inheritAttrs:ne,components:se,directives:be,filters:q}=t;if(c&&Kd(c,n,null),a)for(const K in a){const T=a[K];Pe(T)&&(n[K]=T.bind(o))}if(r){const K=r.call(o,o);He(K)&&(e.data=No(K))}if(As=!0,s)for(const K in s){const T=s[K],P=Pe(T)?T.bind(o,o):Pe(T.get)?T.get.bind(o,o):Bt,B=!Pe(T)&&Pe(T.set)?T.set.bind(o):Bt,F=le({get:P,set:B});Object.defineProperty(n,K,{enumerable:!0,configurable:!0,get:()=>F.value,set:X=>F.value=X})}if(l)for(const K in l)Fl(l[K],n,o,K);if(i){const K=Pe(i)?i.call(o):i;Reflect.ownKeys(K).forEach(T=>{ro(T,K[T])})}u&&Il(u,e,"c");function Y(K,T){Ce(T)?T.forEach(P=>K(P.bind(o))):T&&K(T.bind(o))}if(Y(Ll,d),Y(wt,m),Y(jd,v),Y(zd,C),Y(Md,x),Y(Od,w),Y(qd,D),Y(Gd,S),Y(Bd,$),Y(Kt,_),Y($s,g),Y(Ud,I),Ce(H))if(H.length){const K=e.exposed||(e.exposed={});H.forEach(T=>{Object.defineProperty(K,T,{get:()=>o[T],set:P=>o[T]=P,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===Bt&&(e.render=y),ne!=null&&(e.inheritAttrs=ne),se&&(e.components=se),be&&(e.directives=be),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];Pe(s)&>(r,s)}else if(Pe(e))gt(r,e.bind(o));else if(He(e))if(Ce(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Pe(e.handler)?e.handler.bind(o):t[e.handler];Pe(s)&>(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:mt,created:mt,beforeMount:mt,mounted:mt,beforeUpdate:mt,updated:mt,beforeDestroy:mt,beforeUnmount:mt,destroyed:mt,unmounted:mt,activated:mt,deactivated:mt,errorCaptured:mt,serverPrefetch:mt,components:Ln,directives:Ln,watch:Jd,provide:Ml,inject:Xd};function Ml(e,t){return t?e?function(){return tt(Pe(e)?e.call(this,this):e,Pe(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[`${xt(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(xt(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(!Pe(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:d,data:m,setupState:v,ctx:C,inheritAttrs:x}=e,w=br(e);let L,_;try{if(o.shapeFlag&4){const g=r||n,y=g;L=Xt(c.call(y,g,u,d,v,m,C)),_=l}else{const g=t;L=Xt(g.length>1?g(d,{attrs:l,slots:a,emit:i}):g(d,null)),_=t.props?l:nf(l)}}catch(g){ao.length=0,hr(g,e,1),L=Me(Yt)}let p=L;if(_&&x!==!1){const g=Object.keys(_),{shapeFlag:y}=p;g.length&&y&7&&(s&&g.some(tr)&&(_=rf(_,s)),p=Zo(p,_,!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 d=0;dObject.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 d=0;d{i=!0;const[m,v]=Wl(d,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(Pe(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]},bt=_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:d,nextSibling:m,setScopeId:v=Bt,insertStaticContent:C}=e,x=(b,A,k,G=null,W=null,J=null,j=void 0,z=null,f=!!A.dynamicChildren)=>{if(b===A)return;b&&!Fn(b,A)&&(G=Te(b),X(b,W,J,!0),b=null),A.patchFlag===-2&&(f=!1,A.dynamicChildren=null);const{type:h,ref:R,shapeFlag:U}=A;switch(h){case Pn:w(b,A,k,G);break;case Yt:L(b,A,k,G);break;case Fs:b==null&&_(A,k,G,j);break;case Se:se(b,A,k,G,W,J,j,z,f);break;default:U&1?y(b,A,k,G,W,J,j,z,f):U&6?be(b,A,k,G,W,J,j,z,f):(U&64||U&128)&&h.process(b,A,k,G,W,J,j,z,f,pe)}R!=null&&W?Cn(R,b&&b.ref,J,A||b,!A):R==null&&b&&b.ref!=null&&Cn(b.ref,null,J,b,!0)},w=(b,A,k,G)=>{if(b==null)n(A.el=l(A.children),k,G);else{const W=A.el=b.el;A.children!==b.children&&c(W,A.children)}},L=(b,A,k,G)=>{b==null?n(A.el=i(A.children||""),k,G):A.el=b.el},_=(b,A,k,G)=>{[b.el,b.anchor]=C(b.children,A,k,G,b.el,b.anchor)},p=({el:b,anchor:A},k,G)=>{let W;for(;b&&b!==A;)W=m(b),n(b,k,G),b=W;n(A,k,G)},g=({el:b,anchor:A})=>{let k;for(;b&&b!==A;)k=m(b),r(b),b=k;r(A)},y=(b,A,k,G,W,J,j,z,f)=>{if(A.type==="svg"?j="svg":A.type==="math"&&(j="mathml"),b==null)S(A,k,G,W,J,j,z,f);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),I(b,A,W,J,j,z,f)}finally{h&&h._endPatch()}}},S=(b,A,k,G,W,J,j,z)=>{let f,h;const{props:R,shapeFlag:U,transition:te,dirs:re}=b;if(f=b.el=a(b.type,J,R&&R.is,R),U&8?u(f,b.children):U&16&&D(b.children,f,null,G,W,Ns(b,J),j,z),re&&Ro(b,null,G,"created"),$(f,b,b.scopeId,j,G),R){for(const E in R)E!=="value"&&!mn(E)&&s(f,E,null,R[E],J,G);"value"in R&&s(f,"value",null,R.value,J),(h=R.onVnodeBeforeMount)&&Jt(h,G,b)}re&&Ro(b,null,G,"beforeMount");const O=mf(W,te);O&&te.beforeEnter(f),n(f,A,k),((h=R&&R.onVnodeMounted)||O||re)&&bt(()=>{try{h&&Jt(h,G,b),O&&te.enter(f),re&&Ro(b,null,G,"mounted")}finally{}},W)},$=(b,A,k,G,W)=>{if(k&&v(b,k),G)for(let J=0;J{for(let h=f;h{const z=A.el=b.el;let{patchFlag:f,dynamicChildren:h,dirs:R}=A;f|=b.patchFlag&16;const U=b.props||We,te=A.props||We;let re;if(k&&Do(k,!1),(re=te.onVnodeBeforeUpdate)&&Jt(re,k,A,b),R&&Ro(A,b,k,"beforeUpdate"),k&&Do(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(f=0,j=!1,h=null),(U.innerHTML&&te.innerHTML==null||U.textContent&&te.textContent==null)&&u(z,""),h?H(b.dynamicChildren,h,z,k,G,Ns(A,W),J):j||T(b,A,z,null,k,G,Ns(A,W),J,!1),f>0){if(f&16)ne(z,U,te,k,W);else if(f&2&&U.class!==te.class&&s(z,"class",null,te.class,W),f&4&&s(z,"style",U.style,te.style,W),f&8){const O=A.dynamicProps;for(let E=0;E{re&&Jt(re,k,A,b),R&&Ro(A,b,k,"updated")},G)},H=(b,A,k,G,W,J,j)=>{for(let z=0;z{if(A!==k){if(A!==We)for(const J in A)!mn(J)&&!(J in k)&&s(b,J,A[J],null,W,G);for(const J in k){if(mn(J))continue;const j=k[J],z=A[J];j!==z&&J!=="value"&&s(b,J,z,j,W,G)}"value"in k&&s(b,"value",A.value,k.value,W)}},se=(b,A,k,G,W,J,j,z,f)=>{const h=A.el=b?b.el:l(""),R=A.anchor=b?b.anchor:l("");let{patchFlag:U,dynamicChildren:te,slotScopeIds:re}=A;re&&(z=z?z.concat(re):re),b==null?(n(h,k,G),n(R,k,G),D(A.children||[],k,R,W,J,j,z,f)):U>0&&U&64&&te&&b.dynamicChildren&&b.dynamicChildren.length===te.length?(H(b.dynamicChildren,te,k,W,J,j,z),(A.key!=null||W&&A===W.subTree)&&Is(b,A,!0)):T(b,A,k,R,W,J,j,z,f)},be=(b,A,k,G,W,J,j,z,f)=>{A.slotScopeIds=z,b==null?A.shapeFlag&512?W.ctx.activate(A,k,G,j,f):q(A,k,G,W,J,j,f):ee(b,A,f)},q=(b,A,k,G,W,J,j)=>{const z=b.component=$f(b,G,W);if(ks(b)&&(z.ctx.renderer=pe),Sf(z,!1,j),z.asyncDep){if(W&&W.registerDep(z,Y,j),!b.el){const f=z.subTree=Me(Yt);L(null,f,A,k),b.placeholder=f.el}}else Y(z,b,A,k,W,J,j)},ee=(b,A,k)=>{const G=A.component=b.component;if(sf(b,A,k))if(G.asyncDep&&!G.asyncResolved){K(G,A,k);return}else G.next=A,G.update();else A.el=b.el,G.vnode=A},Y=(b,A,k,G,W,J,j)=>{const z=()=>{if(b.isMounted){let{next:U,bu:te,u:re,parent:O,vnode:E}=b;{const Be=Zl(b);if(Be){U&&(U.el=E.el,K(b,U,j)),Be.asyncDep.then(()=>{bt(()=>{b.isUnmounted||h()},W)});return}}let oe=U,ae;Do(b,!1),U?(U.el=E.el,K(b,U,j)):U=E,te&&sr(te),(ae=U.props&&U.props.onVnodeBeforeUpdate)&&Jt(ae,O,U,E),Do(b,!0);const he=zl(b),ye=b.subTree;b.subTree=he,x(ye,he,d(ye.el),Te(ye),b,W,J),U.el=he.el,oe===null&&af(b,he.el),re&&bt(re,W),(ae=U.props&&U.props.onVnodeUpdated)&&bt(()=>Jt(ae,O,U,E),W)}else{let U;const{el:te,props:re}=A,{bm:O,m:E,parent:oe,root:ae,type:he}=b,ye=Xo(A);Do(b,!1),O&&sr(O),!ye&&(U=re&&re.onVnodeBeforeMount)&&Jt(U,oe,A),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,W,J),A.el=Be.el}if(E&&bt(E,W),!ye&&(U=re&&re.onVnodeMounted)){const Be=A;bt(()=>Jt(U,oe,Be),W)}(A.shapeFlag&256||oe&&Xo(oe.vnode)&&oe.vnode.shapeFlag&256)&&b.a&&bt(b.a,W),b.isMounted=!0,A=k=G=null}};b.scope.on();const f=b.effect=new Va(z);b.scope.off();const h=b.update=f.run.bind(f),R=b.job=f.runIfDirty.bind(f);R.i=b,R.id=b.uid,f.scheduler=()=>_s(R),Do(b,!0),h()},K=(b,A,k)=>{A.component=b;const G=b.vnode.props;b.vnode=A,b.next=null,cf(b,A.props,G,k),pf(b,A.children,k),qt(),ml(b),Ht()},T=(b,A,k,G,W,J,j,z,f=!1)=>{const h=b&&b.children,R=b?b.shapeFlag:0,U=A.children,{patchFlag:te,shapeFlag:re}=A;if(te>0){if(te&128){B(h,U,k,G,W,J,j,z,f);return}else if(te&256){P(h,U,k,G,W,J,j,z,f);return}}re&8?(R&16&&Ee(h,W,J),U!==h&&u(k,U)):R&16?re&16?B(h,U,k,G,W,J,j,z,f):Ee(h,W,J,!0):(R&8&&u(k,""),re&16&&D(U,k,G,W,J,j,z,f))},P=(b,A,k,G,W,J,j,z,f)=>{b=b||qo,A=A||qo;const h=b.length,R=A.length,U=Math.min(h,R);let te;for(te=0;teR?Ee(b,W,J,!0,!1,U):D(A,k,G,W,J,j,z,f,U)},B=(b,A,k,G,W,J,j,z,f)=>{let h=0;const R=A.length;let U=b.length-1,te=R-1;for(;h<=U&&h<=te;){const re=b[h],O=A[h]=f?lo(A[h]):Xt(A[h]);if(Fn(re,O))x(re,O,k,null,W,J,j,z,f);else break;h++}for(;h<=U&&h<=te;){const re=b[U],O=A[te]=f?lo(A[te]):Xt(A[te]);if(Fn(re,O))x(re,O,k,null,W,J,j,z,f);else break;U--,te--}if(h>U){if(h<=te){const re=te+1,O=rete)for(;h<=U;)X(b[h],W,J,!0),h++;else{const re=h,O=h,E=new Map;for(h=O;h<=te;h++){const et=A[h]=f?lo(A[h]):Xt(A[h]);et.key!=null&&E.set(et.key,h)}let oe,ae=0;const he=te-O+1;let ye=!1,Be=0;const qe=new Array(he);for(h=0;h=he){X(et,W,J,!0);continue}let Pt;if(et.key!=null)Pt=E.get(et.key);else for(oe=O;oe<=te;oe++)if(qe[oe-O]===0&&Fn(et,A[oe])){Pt=oe;break}Pt===void 0?X(et,W,J,!0):(qe[Pt-O]=h+1,Pt>=Be?Be=Pt:ye=!0,x(et,A[Pt],k,null,W,J,j,z,f),ae++)}const st=ye?bf(qe):qo;for(oe=st.length-1,h=he-1;h>=0;h--){const et=O+h,Pt=A[et],Zn=A[et+1],Qn=et+1{const{el:J,type:j,transition:z,children:f,shapeFlag:h}=b;if(h&6){F(b.component.subTree,A,k,G);return}if(h&128){b.suspense.move(A,k,G);return}if(h&64){j.move(b,A,k,pe);return}if(j===Se){n(J,A,k);for(let U=0;Uz.enter(J),W));else{const{leave:U,delayLeave:te,afterLeave:re}=z,O=()=>{b.ctx.isUnmounted?r(J):n(J,A,k)},E=()=>{const oe=J._isLeaving||!!J[xs];J._isLeaving&&J[xs](!0),z.persisted&&!oe?O():U(J,()=>{O(),re&&re()})};te?te(J,O,E):E()}else n(J,A,k)},X=(b,A,k,G=!1,W=!1)=>{const{type:J,props:j,ref:z,children:f,dynamicChildren:h,shapeFlag:R,patchFlag:U,dirs:te,cacheIndex:re,memo:O}=b;if(U===-2&&(W=!1),z!=null&&(qt(),Cn(z,null,k,b,!0),Ht()),re!=null&&(A.renderCache[re]=void 0),R&256){A.ctx.deactivate(b);return}const E=R&1&&te,oe=!Xo(b);let ae;if(oe&&(ae=j&&j.onVnodeBeforeUnmount)&&Jt(ae,A,b),R&6)$e(b.component,k,G);else{if(R&128){b.suspense.unmount(k,G);return}E&&Ro(b,null,A,"beforeUnmount"),R&64?b.type.remove(b,A,k,pe,G):h&&!h.hasOnce&&(J!==Se||U>0&&U&64)?Ee(h,A,k,!1,!0):(J===Se&&U&384||!W&&R&16)&&Ee(f,A,k),G&&fe(b)}const he=O!=null&&re==null;(oe&&(ae=j&&j.onVnodeUnmounted)||E||he)&&bt(()=>{ae&&Jt(ae,A,b),E&&Ro(b,null,A,"unmounted"),he&&(b.el=null)},k)},fe=b=>{const{type:A,el:k,anchor:G,transition:W}=b;if(A===Se){_e(k,G);return}if(A===Fs){g(b);return}const J=()=>{r(k),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(b.shapeFlag&1&&W&&!W.persisted){const{leave:j,delayLeave:z}=W,f=()=>j(k,J);z?z(b.el,J,f):f()}else J()},_e=(b,A)=>{let k;for(;b!==A;)k=m(b),r(b),b=k;r(A)},$e=(b,A,k)=>{const{bum:G,scope:W,job:J,subTree:j,um:z,m:f,a:h}=b;Ql(f),Ql(h),G&&sr(G),W.stop(),J&&(J.flags|=8,X(j,b,A,k)),z&&bt(z,A),bt(()=>{b.isUnmounted=!0},A)},Ee=(b,A,k,G=!1,W=!1,J=0)=>{for(let j=J;j{if(b.shapeFlag&6)return Te(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const A=m(b.anchor||b.el),k=A&&A[wl];return k?m(k):A};let ke=!1;const me=(b,A,k)=>{let G;b==null?A._vnode&&(X(A._vnode,null,null,!0),G=A._vnode.component):x(A._vnode||null,b,A,null,null,null,k),A._vnode=b,ke||(ke=!0,ml(G),bl(),ke=!1)},pe={p:x,um:X,m:F,r:fe,mt:q,mc:D,pc:T,pbc:H,n:Te,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 Z(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)||Pe(e)?{i:pt,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:pt};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:Pe(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=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Pe(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:pt},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;o_t||pt;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=>_t=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=_t;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{_t&&_t.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){Pe(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 ft(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 Pe(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 Pe(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,Nf="http://www.w3.org/2000/svg",If="http://www.w3.org/1998/Math/MathML",io=typeof document<"u"?document:null,fi=io&&io.createElement("template"),Ff={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(Nf,e):t==="mathml"?io.createElementNS(If,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]}},Rf=Symbol("_vtc");function Mf(e,t,o){const n=e[Rf];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"),Jt={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 Of=Symbol(""),Df=/(?:^|;)\s*display\s*:/;function jf(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?Uf(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[Of];a&&(o+=";"+a),n.cssText=o,s=Df.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(Ae(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=zf(e,t);Lr.test(o)?e.setProperty($t(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Os={};function zf(e,t){const o=Os[t];if(o)return o;let n=vt(t);if(n!=="filter"&&n in e)return Os[t]=n;n=Ma(n);for(let r=0;rDs||(Wf.then(()=>Ds=0),Ds=Date.now());function Yf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ae(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,Xf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Mf(e,n,a):t==="style"?jf(e,o,n):er(t)?tr(t)||Gf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jf(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&&(Zf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Je(n)))?bi(e,vt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Jf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Te(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 Zf(e,t){const o=e._def.props;if(!o)return!1;const n=vt(t);return Array.isArray(o)?o.some(r=>vt(r)===n):Object.keys(o).some(r=>vt(r)===n)}const vi={};function Qf(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 ep=typeof HTMLElement<"u"?HTMLElement:class{};class js extends ep{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&&!Ae(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)))[vt(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:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=Ae(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(vt))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=vt(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($t(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute($t(t),o+""):o||this.removeAttribute($t(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),lp(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),$t(s)!==s&&r($t(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 Ae(t)?o=>sr(t,o):t};function tp(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 op={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",tp),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)}},np=["ctrl","shift","alt","meta"],rp={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)=>np.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=$t(r.key);if(t.some(a=>a===s||sp[a]===s))return e(r)})},ap=tt({patchProp:Xf},Ff);let ki;function $i(){return ki||(ki=ff(ap))}const lp=(...e)=>{$i().render(...e)},Si=(...e)=>{const t=$i().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=cp(n);if(!r)return;const s=t._component;!Te(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,ip(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function ip(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cp(e){return Je(e)?document.querySelector(e):e}/*! +**/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=xt(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,xt(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)&&Pe(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=xt(t);return Array.isArray(o)?o.some(r=>xt(r)===n):Object.keys(o).some(r=>xt(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)))[xt(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:()=>de(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(xt))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=xt(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;!Pe(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 up=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function dp(){const e=Ha(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(up,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 fp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},pp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},hp={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:"اللغات"}},mp={menuComingSoon:"القائمة قادمة قريباً"},bp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},_p={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},yp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},vp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},xp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},wp={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"},kp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},$p={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"}},Sp={menuComingSoon:"Menü folgt in Kürze"},Ep={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ap={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Cp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Tp={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"},Lp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Pp={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"},Np={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Ip={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"}},Fp={menuComingSoon:"Menu coming soon"},Rp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Mp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Op={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Dp={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"}},jp={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"},zp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Up={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"},Bp={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."}},Gp={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"}},qp={menuComingSoon:"Menú próximamente"},Hp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Vp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Wp={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"}},Kp={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"},Yp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Xp={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"},Jp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Zp={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"}},Qp={menuComingSoon:"Menu bientôt disponible"},eg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},tg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},og={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},ng={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"}},rg={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"},sg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ag={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},lg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},ig={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:"कुल"}},cg={menuComingSoon:"मेनू शीघ्र आ रहा है"},ug={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},dg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},fg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},pg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},gg={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"},hg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},mg={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"}},bg={menuComingSoon:"Menu in arrivo"},_g={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},yg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},vg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},xg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},wg={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"},kg={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."}},$g={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"}},Sg={menuComingSoon:"Menu em breve"},Eg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Ag={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Cg={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"}},Tg={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"},Lg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Pg={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ă"},Ng={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ă."}},Ig={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"}},Fg={menuComingSoon:"Meniu în curând"},Rg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Mg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Og={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},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:"Описание недоступно."}},Ug={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:"Языки"}},Bg={menuComingSoon:"Меню скоро появится"},Gg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},qg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Hg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Vg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Wg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Kg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Yg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Xg={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:"总计"}},Jg={menuComingSoon:"菜单即将推出"},Zg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Qg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},eh={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(()=>ce({}));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 th(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),oh=(e,t,o)=>nh({l:e,k:t,s:o}),nh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),rh=e=>Pi(e)==="[object Date]",So=e=>Pi(e)==="[object RegExp]",Rr=e=>Le(e)&&Object.keys(e).length===0,ut=Object.assign,sh=Object.create,Ve=(e=null)=>sh(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 ah(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 lh=Object.prototype.hasOwnProperty;function Mt(e,t){return lh.call(e,t)}const Ze=Array.isArray,Xe=e=>typeof e=="function",he=e=>typeof e=="string",De=e=>typeof e=="boolean",Ue=e=>e!==null&&typeof e=="object",ih=e=>Ue(e)&&Xe(e.then)&&Xe(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Le=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},ch=e=>e==null?"":Ze(e)||Le(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function uh(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=>Ne(e)&&Object.keys(e).length===0,ut=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),Ne=e=>{if(!Ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},dh=e=>e==null?"":Ze(e)||Ne(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 dh(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const fh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&ph(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(fh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Fi=e=>typeof e=="string",ph=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},gh={[Us.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function hh(e,t,...o){const n=Ni(gh[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},mh={[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 tn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||mh)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function bh(e){throw e}const uo=" ",_h="\r",yt=` -`,yh="\u2028",vh="\u2029";function xh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===_h&&t[$+1]===yt,l=$=>t[$]===yt,i=$=>t[$]===vh,c=$=>t[$]===yh,u=$=>a($)||l($)||i($)||c($),d=()=>o,m=()=>n,v=()=>r,T=()=>s,x=$=>a($)||i($)||c($)?yt: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:d,line:m,column:v,peekOffset:T,charAt:x,currentChar:w,currentPeek:L,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:S}}const Eo=void 0,wh=".",Mi="'",kh="tokenizer";function $h(e,t={}){const o=t.location!==!1,n=xh(e),r=()=>n.index(),s=()=>dh(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 d(f,h,I,...B){const Z=c();if(h.column+=I,h.offset+=I,u){const se=o?jr(Z.startLoc,h):null,M=tn(f,se,{domain:kh,args:B});u(M)}}function m(f,h,I){f.endLoc=s(),f.currentType=h;const B={type:h};return o&&(B.loc=jr(f.startLoc,f.endLoc)),I!=null&&(B.value=I),B}const v=f=>m(f,14);function T(f,h){return f.currentChar()===h?(f.next(),h):(d(Ee.EXPECTED_TOKEN,s(),0,h),"")}function x(f){let h="";for(;f.currentPeek()===uo||f.currentPeek()===yt;)h+=f.currentPeek(),f.peek();return h}function w(f){const h=x(f);return f.skipToPeek(),h}function L(f){if(f===Eo)return!1;const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(f){if(f===Eo)return!1;const h=f.charCodeAt(0);return h>=48&&h<=57}function p(f,h){const{currentType:I}=h;if(I!==2)return!1;x(f);const B=L(f.currentPeek());return f.resetPeek(),B}function g(f,h){const{currentType:I}=h;if(I!==2)return!1;x(f);const B=f.currentPeek()==="-"?f.peek():f.currentPeek(),Z=y(B);return f.resetPeek(),Z}function _(f,h){const{currentType:I}=h;if(I!==2)return!1;x(f);const B=f.currentPeek()===Mi;return f.resetPeek(),B}function S(f,h){const{currentType:I}=h;if(I!==8)return!1;x(f);const B=f.currentPeek()===".";return f.resetPeek(),B}function $(f,h){const{currentType:I}=h;if(I!==9)return!1;x(f);const B=L(f.currentPeek());return f.resetPeek(),B}function O(f,h){const{currentType:I}=h;if(!(I===8||I===12))return!1;x(f);const B=f.currentPeek()===":";return f.resetPeek(),B}function N(f,h){const{currentType:I}=h;if(I!==10)return!1;const B=()=>{const se=f.currentPeek();return se==="{"?L(f.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===uo||!se?!1:se===yt?(f.peek(),B()):re(f,!1)},Z=B();return f.resetPeek(),Z}function V(f){x(f);const h=f.currentPeek()==="|";return f.resetPeek(),h}function ee(f){const h=x(f),I=f.currentPeek()==="%"&&f.peek()==="{";return f.resetPeek(),{isModulo:I,hasSpace:h.length>0}}function re(f,h=!0){const I=(Z=!1,se="",M=!1)=>{const E=f.currentPeek();return E==="{"?se==="%"?!1:Z:E==="@"||!E?se==="%"?!0:Z:E==="%"?(f.peek(),I(Z,"%",!0)):E==="|"?se==="%"||M?!0:!(se===uo||se===yt):E===uo?(f.peek(),I(!0,uo,M)):E===yt?(f.peek(),I(!0,yt,M)):!0},B=I();return h&&f.resetPeek(),B}function be(f,h){const I=f.currentChar();return I===Eo?Eo:h(I)?(f.next(),I):null}function q(f){const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function J(f){return be(f,q)}function R(f){const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function j(f){return be(f,R)}function A(f){const h=f.charCodeAt(0);return h>=48&&h<=57}function z(f){return be(f,A)}function te(f){const h=f.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function D(f){return be(f,te)}function oe(f){let h="",I="";for(;h=z(f);)I+=h;return I}function fe(f){w(f);const h=f.currentChar();return h!=="%"&&d(Ee.EXPECTED_TOKEN,s(),0,h),f.next(),"%"}function _e(f){let h="";for(;;){const I=f.currentChar();if(I==="{"||I==="}"||I==="@"||I==="|"||!I)break;if(I==="%")if(re(f))h+=I,f.next();else break;else if(I===uo||I===yt)if(re(f))h+=I,f.next();else{if(V(f))break;h+=I,f.next()}else h+=I,f.next()}return h}function ke(f){w(f);let h="",I="";for(;h=j(f);)I+=h;return f.currentChar()===Eo&&d(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),I}function Se(f){w(f);let h="";return f.currentChar()==="-"?(f.next(),h+=`-${oe(f)}`):h+=oe(f),f.currentChar()===Eo&&d(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),h}function ge(f){return f!==Mi&&f!==yt}function de(f){w(f),T(f,"'");let h="",I="";for(;h=be(f,ge);)h==="\\"?I+=ye(f):I+=h;const B=f.currentChar();return B===yt||B===Eo?(d(Ee.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),B===yt&&(f.next(),T(f,"'")),I):(T(f,"'"),I)}function ye(f){const h=f.currentChar();switch(h){case"\\":case"'":return f.next(),`\\${h}`;case"u":return Ne(f,h,4);case"U":return Ne(f,h,6);default:return d(Ee.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function Ne(f,h,I){T(f,h);let B="";for(let Z=0;Z{const B=f.currentChar();return B==="{"||B==="%"||B==="@"||B==="|"||B==="("||B===")"||!B||B===uo?I:(I+=B,f.next(),h(I))};return h("")}function H(f){w(f);const h=T(f,"|");return w(f),h}function K(f,h){let I=null;switch(f.currentChar()){case"{":return h.braceNest>=1&&d(Ee.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),f.next(),I=m(h,2,"{"),w(f),h.braceNest++,I;case"}":return h.braceNest>0&&h.currentType===2&&d(Ee.EMPTY_PLACEHOLDER,s(),0),f.next(),I=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(f),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),I;case"@":return h.braceNest>0&&d(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),I=ne(f,h)||v(h),h.braceNest=0,I;default:{let Z=!0,se=!0,M=!0;if(V(f))return h.braceNest>0&&d(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),I=m(h,1,H(f)),h.braceNest=0,h.inLinked=!1,I;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return d(Ee.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,G(f,h);if(Z=p(f,h))return I=m(h,5,ke(f)),w(f),I;if(se=g(f,h))return I=m(h,6,Se(f)),w(f),I;if(M=_(f,h))return I=m(h,7,de(f)),w(f),I;if(!Z&&!se&&!M)return I=m(h,13,b(f)),d(Ee.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,I.value),w(f),I;break}}return I}function ne(f,h){const{currentType:I}=h;let B=null;const Z=f.currentChar();switch((I===8||I===9||I===12||I===10)&&(Z===yt||Z===uo)&&d(Ee.INVALID_LINKED_FORMAT,s(),0),Z){case"@":return f.next(),B=m(h,8,"@"),h.inLinked=!0,B;case".":return w(f),f.next(),m(h,9,".");case":":return w(f),f.next(),m(h,10,":");default:return V(f)?(B=m(h,1,H(f)),h.braceNest=0,h.inLinked=!1,B):S(f,h)||O(f,h)?(w(f),ne(f,h)):$(f,h)?(w(f),m(h,12,C(f))):N(f,h)?(w(f),Z==="{"?K(f,h)||B:m(h,11,k(f))):(I===8&&d(Ee.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,G(f,h))}}function G(f,h){let I={type:14};if(h.braceNest>0)return K(f,h)||v(h);if(h.inLinked)return ne(f,h)||v(h);switch(f.currentChar()){case"{":return K(f,h)||v(h);case"}":return d(Ee.UNBALANCED_CLOSING_BRACE,s(),0),f.next(),m(h,3,"}");case"@":return ne(f,h)||v(h);default:{if(V(f))return I=m(h,1,H(f)),h.braceNest=0,h.inLinked=!1,I;const{isModulo:Z,hasSpace:se}=ee(f);if(Z)return se?m(h,0,_e(f)):m(h,4,fe(f));if(re(f))return m(h,0,_e(f));break}}return I}function U(){const{currentType:f,offset:h,startLoc:I,endLoc:B}=i;return i.lastType=f,i.lastOffset=h,i.lastStartLoc=I,i.lastEndLoc=B,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):G(n,i)}return{nextToken:U,currentOffset:r,currentPosition:s,context:c}}const Sh="parser",Eh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Ah(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 Ch(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,S,...$){const O=p.currentPosition();if(O.offset+=S,O.column+=S,o){const N=t?jr(_,O):null,V=tn(g,N,{domain:Sh,args:$});o(V)}}function s(p,g,_,S,...$){const O=p.currentPosition();if(O.offset+=S,O.column+=S,n){const N=t?jr(_,O):null;n(hh(g,N,$))}}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:$}=_,O=a(5,S,$);return O.index=parseInt(g,10),p.nextToken(),l(O,p.currentOffset(),p.currentPosition()),O}function u(p,g,_){const S=p.context(),{lastOffset:$,lastStartLoc:O}=S,N=a(4,$,O);return N.key=g,_===!0&&(N.modulo=!0),p.nextToken(),l(N,p.currentOffset(),p.currentPosition()),N}function d(p,g){const _=p.context(),{lastOffset:S,lastStartLoc:$}=_,O=a(9,S,$);return O.value=g.replace(Eh,Ah),p.nextToken(),l(O,p.currentOffset(),p.currentPosition()),O}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:S,lastStartLoc:$}=_,O=a(8,S,$);return g.type!==12?(r(p,Ee.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),O.value="",l(O,S,$),{nextConsumeToken:g,node:O}):(g.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Ot(g)),O.value=g.value||"",l(O,p.currentOffset(),p.currentPosition()),{node:O})}function v(p,g){const _=p.context(),S=a(7,_.offset,_.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function T(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,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(S)),S=p.nextToken(),S.type===2&&(S=p.nextToken()),S.type){case 11:S.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(S)),_.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(S)),_.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(S)),_.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(S)),_.key=d(p,S.value||"");break;default:{r(p,Ee.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),O=a(7,$.offset,$.startLoc);return O.value="",l(O,$.offset,$.startLoc),_.key=O,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 O=null,N=null;do{const re=O||p.nextToken();switch(O=null,re.type){case 0:re.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(re)),$.items.push(i(p,re.value||""));break;case 6:re.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(re)),$.items.push(c(p,re.value||""));break;case 4:N=!0;break;case 5:re.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(re)),$.items.push(u(p,re.value||"",!!N)),N&&(s(p,Us.USE_MODULO_SYNTAX,g.lastStartLoc,0,Ot(re)),N=null);break;case 7:re.value==null&&r(p,Ee.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Ot(re)),$.items.push(d(p,re.value||""));break;case 8:{const be=T(p);$.items.push(be.node),O=be.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const V=g.currentType===1?g.lastOffset:p.currentOffset(),ee=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,V,ee),$}function w(p,g,_,S){const $=p.context();let O=S.items.length===0;const N=a(1,g,_);N.cases=[],N.cases.push(S);do{const V=x(p);O||(O=V.items.length===0),N.cases.push(V)}while($.currentType!==14);return O&&r(p,Ee.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(N,p.currentOffset(),p.currentPosition()),N}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=$h(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,Ee.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:y}}function Ot(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 Th(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 d(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:d,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Rh(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 Mh(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=Fh(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 zh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Ch(o).parse(e);return n?(s&&Ph(l),r&&on(l),{ast:l,code:""}):(Lh(l,o),jh(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",yt=` +`,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]===yt,l=$=>t[$]===yt,i=$=>t[$]===wh,c=$=>t[$]===xh,u=$=>a($)||l($)||i($)||c($),d=()=>o,m=()=>n,v=()=>r,C=()=>s,x=$=>a($)||i($)||c($)?yt:t[$],w=()=>x(o),L=()=>x(o+s);function _(){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 y($=0){s=$}function S(){const $=o+s;for(;$!==o;)_();s=0}return{index:d,line:m,column:v,peekOffset:C,charAt:x,currentChar:w,currentPeek:L,next:_,peek:p,reset:g,resetPeek:y,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 d(f,h,R,...U){const te=c();if(h.column+=R,h.offset+=R,u){const re=o?jr(te.startLoc,h):null,O=tn(f,re,{domain:Sh,args:U});u(O)}}function m(f,h,R){f.endLoc=s(),f.currentType=h;const U={type:h};return o&&(U.loc=jr(f.startLoc,f.endLoc)),R!=null&&(U.value=R),U}const v=f=>m(f,14);function C(f,h){return f.currentChar()===h?(f.next(),h):(d(Ae.EXPECTED_TOKEN,s(),0,h),"")}function x(f){let h="";for(;f.currentPeek()===uo||f.currentPeek()===yt;)h+=f.currentPeek(),f.peek();return h}function w(f){const h=x(f);return f.skipToPeek(),h}function L(f){if(f===Eo)return!1;const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function _(f){if(f===Eo)return!1;const h=f.charCodeAt(0);return h>=48&&h<=57}function p(f,h){const{currentType:R}=h;if(R!==2)return!1;x(f);const U=L(f.currentPeek());return f.resetPeek(),U}function g(f,h){const{currentType:R}=h;if(R!==2)return!1;x(f);const U=f.currentPeek()==="-"?f.peek():f.currentPeek(),te=_(U);return f.resetPeek(),te}function y(f,h){const{currentType:R}=h;if(R!==2)return!1;x(f);const U=f.currentPeek()===Mi;return f.resetPeek(),U}function S(f,h){const{currentType:R}=h;if(R!==8)return!1;x(f);const U=f.currentPeek()===".";return f.resetPeek(),U}function $(f,h){const{currentType:R}=h;if(R!==9)return!1;x(f);const U=L(f.currentPeek());return f.resetPeek(),U}function D(f,h){const{currentType:R}=h;if(!(R===8||R===12))return!1;x(f);const U=f.currentPeek()===":";return f.resetPeek(),U}function I(f,h){const{currentType:R}=h;if(R!==10)return!1;const U=()=>{const re=f.currentPeek();return re==="{"?L(f.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===uo||!re?!1:re===yt?(f.peek(),U()):se(f,!1)},te=U();return f.resetPeek(),te}function H(f){x(f);const h=f.currentPeek()==="|";return f.resetPeek(),h}function ne(f){const h=x(f),R=f.currentPeek()==="%"&&f.peek()==="{";return f.resetPeek(),{isModulo:R,hasSpace:h.length>0}}function se(f,h=!0){const R=(te=!1,re="",O=!1)=>{const E=f.currentPeek();return E==="{"?re==="%"?!1:te:E==="@"||!E?re==="%"?!0:te:E==="%"?(f.peek(),R(te,"%",!0)):E==="|"?re==="%"||O?!0:!(re===uo||re===yt):E===uo?(f.peek(),R(!0,uo,O)):E===yt?(f.peek(),R(!0,yt,O)):!0},U=R();return h&&f.resetPeek(),U}function be(f,h){const R=f.currentChar();return R===Eo?Eo:h(R)?(f.next(),R):null}function q(f){const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function ee(f){return be(f,q)}function Y(f){const h=f.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function K(f){return be(f,Y)}function T(f){const h=f.charCodeAt(0);return h>=48&&h<=57}function P(f){return be(f,T)}function B(f){const h=f.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function F(f){return be(f,B)}function X(f){let h="",R="";for(;h=P(f);)R+=h;return R}function fe(f){w(f);const h=f.currentChar();return h!=="%"&&d(Ae.EXPECTED_TOKEN,s(),0,h),f.next(),"%"}function _e(f){let h="";for(;;){const R=f.currentChar();if(R==="{"||R==="}"||R==="@"||R==="|"||!R)break;if(R==="%")if(se(f))h+=R,f.next();else break;else if(R===uo||R===yt)if(se(f))h+=R,f.next();else{if(H(f))break;h+=R,f.next()}else h+=R,f.next()}return h}function $e(f){w(f);let h="",R="";for(;h=K(f);)R+=h;return f.currentChar()===Eo&&d(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R}function Ee(f){w(f);let h="";return f.currentChar()==="-"?(f.next(),h+=`-${X(f)}`):h+=X(f),f.currentChar()===Eo&&d(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Te(f){return f!==Mi&&f!==yt}function ke(f){w(f),C(f,"'");let h="",R="";for(;h=be(f,Te);)h==="\\"?R+=me(f):R+=h;const U=f.currentChar();return U===yt||U===Eo?(d(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),U===yt&&(f.next(),C(f,"'")),R):(C(f,"'"),R)}function me(f){const h=f.currentChar();switch(h){case"\\":case"'":return f.next(),`\\${h}`;case"u":return pe(f,h,4);case"U":return pe(f,h,6);default:return d(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function pe(f,h,R){C(f,h);let U="";for(let te=0;te{const U=f.currentChar();return U==="{"||U==="%"||U==="@"||U==="|"||U==="("||U===")"||!U||U===uo?R:(R+=U,f.next(),h(R))};return h("")}function G(f){w(f);const h=C(f,"|");return w(f),h}function W(f,h){let R=null;switch(f.currentChar()){case"{":return h.braceNest>=1&&d(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),f.next(),R=m(h,2,"{"),w(f),h.braceNest++,R;case"}":return h.braceNest>0&&h.currentType===2&&d(Ae.EMPTY_PLACEHOLDER,s(),0),f.next(),R=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(f),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),R;case"@":return h.braceNest>0&&d(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=J(f,h)||v(h),h.braceNest=0,R;default:{let te=!0,re=!0,O=!0;if(H(f))return h.braceNest>0&&d(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),R=m(h,1,G(f)),h.braceNest=0,h.inLinked=!1,R;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return d(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,j(f,h);if(te=p(f,h))return R=m(h,5,$e(f)),w(f),R;if(re=g(f,h))return R=m(h,6,Ee(f)),w(f),R;if(O=y(f,h))return R=m(h,7,ke(f)),w(f),R;if(!te&&!re&&!O)return R=m(h,13,b(f)),d(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,R.value),w(f),R;break}}return R}function J(f,h){const{currentType:R}=h;let U=null;const te=f.currentChar();switch((R===8||R===9||R===12||R===10)&&(te===yt||te===uo)&&d(Ae.INVALID_LINKED_FORMAT,s(),0),te){case"@":return f.next(),U=m(h,8,"@"),h.inLinked=!0,U;case".":return w(f),f.next(),m(h,9,".");case":":return w(f),f.next(),m(h,10,":");default:return H(f)?(U=m(h,1,G(f)),h.braceNest=0,h.inLinked=!1,U):S(f,h)||D(f,h)?(w(f),J(f,h)):$(f,h)?(w(f),m(h,12,A(f))):I(f,h)?(w(f),te==="{"?W(f,h)||U:m(h,11,k(f))):(R===8&&d(Ae.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,j(f,h))}}function j(f,h){let R={type:14};if(h.braceNest>0)return W(f,h)||v(h);if(h.inLinked)return J(f,h)||v(h);switch(f.currentChar()){case"{":return W(f,h)||v(h);case"}":return d(Ae.UNBALANCED_CLOSING_BRACE,s(),0),f.next(),m(h,3,"}");case"@":return J(f,h)||v(h);default:{if(H(f))return R=m(h,1,G(f)),h.braceNest=0,h.inLinked=!1,R;const{isModulo:te,hasSpace:re}=ne(f);if(te)return re?m(h,0,_e(f)):m(h,4,fe(f));if(se(f))return m(h,0,_e(f));break}}return R}function z(){const{currentType:f,offset:h,startLoc:R,endLoc:U}=i;return i.lastType=f,i.lastOffset=h,i.lastStartLoc=R,i.lastEndLoc=U,i.offset=r(),i.startLoc=s(),n.currentChar()===Eo?m(i,14):j(n,i)}return{nextToken:z,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,y,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,o){const I=t?jr(y,D):null,H=tn(g,I,{domain:Ah,args:$});o(H)}}function s(p,g,y,S,...$){const D=p.currentPosition();if(D.offset+=S,D.column+=S,n){const I=t?jr(y,D):null;n(bh(g,I,$))}}function a(p,g,y){const S={type:p};return t&&(S.start=g,S.end=g,S.loc={start:y,end:y}),S}function l(p,g,y,S){t&&(p.end=g,p.loc&&(p.loc.end=y))}function i(p,g){const y=p.context(),S=a(3,y.offset,y.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function c(p,g){const y=p.context(),{lastOffset:S,lastStartLoc:$}=y,D=a(5,S,$);return D.index=parseInt(g,10),p.nextToken(),l(D,p.currentOffset(),p.currentPosition()),D}function u(p,g,y){const S=p.context(),{lastOffset:$,lastStartLoc:D}=S,I=a(4,$,D);return I.key=g,y===!0&&(I.modulo=!0),p.nextToken(),l(I,p.currentOffset(),p.currentPosition()),I}function d(p,g){const y=p.context(),{lastOffset:S,lastStartLoc:$}=y,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(),y=p.context(),{lastOffset:S,lastStartLoc:$}=y,D=a(8,S,$);return g.type!==12?(r(p,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),D.value="",l(D,S,$),{nextConsumeToken:g,node:D}):(g.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Dt(g)),D.value=g.value||"",l(D,p.currentOffset(),p.currentPosition()),{node:D})}function v(p,g){const y=p.context(),S=a(7,y.offset,y.startLoc);return S.value=g,l(S,p.currentOffset(),p.currentPosition()),S}function C(p){const g=p.context(),y=a(6,g.offset,g.startLoc);let S=p.nextToken();if(S.type===9){const $=m(p);y.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)),y.key=v(p,S.value||"");break;case 5:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),y.key=u(p,S.value||"");break;case 6:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),y.key=c(p,S.value||"");break;case 7:S.value==null&&r(p,Ae.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Dt(S)),y.key=d(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),y.key=D,l(y,$.offset,$.startLoc),{nextConsumeToken:S,node:y}}}return l(y,p.currentOffset(),p.currentPosition()),{node:y}}function x(p){const g=p.context(),y=g.currentType===1?p.currentOffset():g.offset,S=g.currentType===1?g.endLoc:g.startLoc,$=a(2,y,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(d(p,se.value||""));break;case 8:{const be=C(p);$.items.push(be.node),D=be.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const H=g.currentType===1?g.lastOffset:p.currentOffset(),ne=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,H,ne),$}function w(p,g,y,S){const $=p.context();let D=S.items.length===0;const I=a(1,g,y);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,y,0),l(I,p.currentOffset(),p.currentPosition()),I}function L(p){const g=p.context(),{offset:y,startLoc:S}=g,$=x(p);return g.currentType===14?$:w(p,y,S,$)}function _(p){const g=Eh(p,Ii({},e)),y=g.context(),S=a(0,y.offset,y.startLoc);return t&&S.loc&&(S.loc.source=p),S.body=L(g),e.onCacheKey&&(S.cacheKey=e.onCacheKey(p)),y.currentType!==14&&r(g,Ae.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,p[y.offset]||""),l(S,g.currentOffset(),g.currentPosition()),S}return{parse:_}}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 d(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:d,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 Uh(){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&&(Mt(e,"b")||Mt(e,"body"))}const ji=["b","body"];function Bh(e){return Ao(e,ji)}const zi=["c","cases"];function Gh(e){return Ao(e,zi,[])}const Ui=["s","static"];function qh(e){return Ao(e,Ui)}const Bi=["i","items"];function Hh(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 Vh(e){return Ao(e,Hi)}const Vi=["k","key"];function Wh(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=Zh(a),a===!1))return!1;m[1]()}};function v(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,l="\\"+T,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Jh(s),d=Co[n],c=d[i]||d.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 em(e,t){return Ue(e)?e[t]:null}function tm(e,t){if(!Ue(e))return null;let o=Ki.get(t);if(o||(o=Qh(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,nm=e=>"",rm="text",sm=e=>e.length===0?"":uh(e),am=ch;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function lm(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 im(e,t){t.count||(t.count=e),t.n||(t.n=e)}function cm(e={}){const t=e.locale,o=lm(e),n=Ue(e.pluralRules)&&he(t)&&Xe(e.pluralRules[t])?e.pluralRules[t]:Yi,r=Ue(e.pluralRules)&&he(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)&&im(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):nm)}const d=L=>e.modifiers?e.modifiers[L]:om,m=Le(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:sm,v=Le(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:am,T=Le(e.processor)&&he(e.processor.type)?e.processor.type:rm,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||_):he(p)&&(S=p||S):y.length===2&&(he(p)&&(S=p||S),he(g)&&(_=g||_));const $=u(L)(w),O=_==="vnode"&&Ze($)&&S?$[0]:$;return S?d(S)(O,_):O},message:u,type:T,interpolate:v,normalize:m,values:ut(Ve(),a,i)};return w}let Un=null;function um(e){Un=e}function dm(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const fm=pm("function:translate");function pm(e){return t=>Un&&Un.emit(e,t)}const gm=Us.__EXTEND_POINT__,jo=Mr(gm),hm={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=Ee.__EXTEND_POINT__,zo=Mr(Xi),Dt={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(he(e))return e;if(Xe(e)){if(e.resolvedOnce&&Hs!=null)return Hs;if(e.constructor.name==="Function"){const t=e();if(ih(t))throw Qt(Dt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Hs=t}else throw Qt(Dt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Qt(Dt.NOT_SUPPORT_LOCALE_TYPE)}function mm(e,t,o){return[...new Set([o,...Ze(t)?t:Ue(t)?Object.keys(t):he(t)?[t]:[o]])]}function Zi(e,t,o){const n=he(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)||!Le(t)?t:t.default?t.default:null;a=he(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 vm(){return{upper:(e,t)=>t==="text"&&he(e)?e.toUpperCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&he(e)?e.toLowerCase():t==="vnode"&&Ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&he(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 xm(e){rc=e}let sc;function wm(e){sc=e}let ac=null;const km=e=>{ac=e},$m=()=>ac;let lc=null;const ic=e=>{lc=e},Sm=()=>lc;let cc=0;function Em(e={}){const t=Xe(e.onWarn)?e.onWarn:th,o=he(e.version)?e.version:ym,n=he(e.locale)||Xe(e.locale)?e.locale:rn,r=Xe(n)?rn:n,s=Ze(e.fallbackLocale)||Le(e.fallbackLocale)||he(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Le(e.messages)?e.messages:Vs(r),l=Le(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Le(e.numberFormats)?e.numberFormats:Vs(r),c=ut(Ve(),e.modifiers,vm()),u=e.pluralRules||Ve(),d=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,T=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Le(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||em,S=Xe(e.localeFallbacker)?e.localeFallbacker:sc||mm,$=Ue(e.fallbackContext)?e.fallbackContext:void 0,O=e,N=Ue(O.__datetimeFormatters)?O.__datetimeFormatters:new Map,V=Ue(O.__numberFormatters)?O.__numberFormatters:new Map,ee=Ue(O.__meta)?O.__meta:{};cc++;const re={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:d,missingWarn:m,fallbackWarn:v,fallbackFormat:T,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:ee};return re.datetimeFormats=l,re.numberFormats=i,re.__datetimeFormatters=N,re.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&dm(re,o,ee),re}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 he(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Am(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Cm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nTm(o,e)}function Tm(e,t){const o=Bh(t);if(o==null)throw zn(0);if(Gs(o)===1){const s=Gh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=qh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Hh(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(Mt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Mt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Mt(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Mt(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Vh(n),s=Wh(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||bh;return t.onError=r=>{o=!0,n(r)},{...zh(e,t),detectError:o}}const Lm=(e,t)=>{if(!he(e))throw Qt(Dt.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 Pm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&he(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=()=>"",Ct=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,d=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,T=he(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||T!=="",w=qs(e,c);m&&Nm(c);let[L,y,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,d,u),g=L,_=i;if(!v&&!(he(g)||Zt(g)||Ct(g))&&x&&(g=T,_=g),!v&&(!(he(g)||Zt(g)||Ct(g))||!he(y)))return r?Ur:i;let S=!1;const $=()=>{S=!0},O=Ct(g)?g:mc(e,i,y,g,_,$);if(S)return g;const N=Rm(e,y,p,c),V=cm(N),ee=Im(e,O,V);let re=n?n(ee,i):ee;if(m&&he(re)&&(re=ah(re)),__INTLIFY_PROD_DEVTOOLS__){const be={timestamp:Date.now(),key:he(i)?i:Ct(g)?g.key:"",locale:y||(Ct(g)?g.locale:""),format:he(g)?g:Ct(g)?g.source:"",message:re};be.meta=ut({},e.__meta,$m()||{}),fm(be)}return re}function Nm(e){Ze(e.list)?e.list=e.list.map(t=>he(t)?Ci(t):t):Ue(e.named)&&Object.keys(e.named).forEach(t=>{he(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 d=Ve(),m,v=null;const T="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Fm(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Im(e,t,o){return t(o)}function Xs(...e){const[t,o,n]=e,r=Ve();if(!he(t)&&!ot(t)&&!Ct(t)&&!Zt(t))throw Qt(Dt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Ct(t),t);return ot(o)?r.plural=o:he(o)?r.default=o:Le(o)&&!Rr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:he(n)?r.default=n:Le(n)&&ut(r,n),[s,r]}function Fm(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>oh(t,o,a)}}function Rm(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 T=a(o,v);if(T==null&&u){const[,,x]=hc(u,v,t,l,i,c);T=a(x,v)}if(he(T)||Zt(T)){let x=!1;const L=mc(e,v,t,T,v,()=>{x=!0});return x?pc:L}else return Ct(T)?T: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,d]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,T=qs(e,u),x=a(e,r,T);if(!he(i)||i==="")return new Intl.DateTimeFormat(T,d).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]}),he(n)?s.locale=n:Le(n)&&(a=n),Le(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,d]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,T=qs(e,u),x=a(e,r,T);if(!he(i)||i==="")return new Intl.NumberFormat(T,d).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]}),he(n)?s.locale=n:Le(n)&&(a=n),Le(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)}}Uh();/*! + */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 C=e[o+1];if(n===5&&C==="'"||n===6&&C==='"')return o++,l="\\"+C,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Qh(s),d=Co[n],c=d[i]||d.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 _=Xe(e.messages)?e.messages(L):Ue(e.messages)?e.messages[L]:!1;return _||(e.parent?e.parent.message(L):sm)}const d=L=>e.modifiers?e.modifiers[L]:rm,m=Ne(e.processor)&&Xe(e.processor.normalize)?e.processor.normalize:lm,v=Ne(e.processor)&&Xe(e.processor.interpolate)?e.processor.interpolate:im,C=Ne(e.processor)&&ge(e.processor.type)?e.processor.type:am,w={list:l,named:c,plural:s,linked:(L,..._)=>{const[p,g]=_;let y="text",S="";_.length===1?Ue(p)?(S=p.modifier||S,y=p.type||y):ge(p)&&(S=p||S):_.length===2&&(ge(p)&&(S=p||S),ge(g)&&(y=g||y));const $=u(L)(w),D=y==="vnode"&&Ze($)&&S?$[0]:$;return S?d(S)(D,y):D},message:u,type:C,interpolate:v,normalize:m,values:ut(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)||!Ne(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)||Ne(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ne(e.messages)?e.messages:Vs(r),l=Ne(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Ne(e.numberFormats)?e.numberFormats:Vs(r),c=ut(Ve(),e.modifiers,wm()),u=e.pluralRules||Ve(),d=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,C=!!e.fallbackFormat,x=!!e.unresolving,w=Xe(e.postTranslation)?e.postTranslation:null,L=Ne(e.processor)?e.processor:null,_=De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Xe(e.messageCompiler)?e.messageCompiler:oc,y=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,ne=Ue(D.__meta)?D.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:d,missingWarn:m,fallbackWarn:v,fallbackFormat:C,unresolving:x,postTranslation:w,processor:L,warnHtmlMessage:_,escapeParameter:p,messageCompiler:g,messageResolver:y,localeFallbacker:S,fallbackContext:$,onWarn:t,__meta:ne};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=I,se.__numberFormatters=H,__INTLIFY_PROD_DEVTOOLS__&&pm(se,o,ne),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,d=De(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=De(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,C=ge(c.default)||De(c.default)?De(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||C!=="",w=qs(e,c);m&&Fm(c);let[L,_,p]=v?[i,w,l[w]||Ve()]:hc(e,i,w,a,d,u),g=L,y=i;if(!v&&!(ge(g)||Zt(g)||Lt(g))&&x&&(g=C,y=g),!v&&(!(ge(g)||Zt(g)||Lt(g))||!ge(_)))return r?Ur:i;let S=!1;const $=()=>{S=!0},D=Lt(g)?g:mc(e,i,_,g,y,$);if(S)return g;const I=Om(e,_,p,c),H=dm(I),ne=Rm(e,D,H);let se=n?n(ne,i):ne;if(m&&ge(se)&&(se=ih(se)),__INTLIFY_PROD_DEVTOOLS__){const be={timestamp:Date.now(),key:ge(i)?i:Lt(g)?g.key:"",locale:_||(Lt(g)?g.locale:""),format:ge(g)?g:Lt(g)?g.source:"",message:se};be.meta=ut({},e.__meta,Em()||{}),gm(be)}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 d=Ve(),m,v=null;const C="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:Ne(o)&&!Rr(o)?r.named=o:Ze(o)&&(r.list=o),ot(n)?r.plural=n:ge(n)?r.default=n:Ne(n)&&ut(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 C=a(o,v);if(C==null&&u){const[,,x]=hc(u,v,t,l,i,c);C=a(x,v)}if(ge(C)||Zt(C)){let x=!1;const L=mc(e,v,t,C,v,()=>{x=!0});return x?pc:L}else return Lt(C)?C: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,d]=Js(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,C=qs(e,u),x=a(e,r,C);if(!ge(i)||i==="")return new Intl.DateTimeFormat(C,d).format(c);let w={},L,_=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:Ne(n)&&(a=n),Ne(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,d]=Zs(...t),m=De(u.missingWarn)?u.missingWarn:e.missingWarn;De(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,C=qs(e,u),x=a(e,r,C);if(!ge(i)||i==="")return new Intl.NumberFormat(C,d).format(c);let w={},L,_=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:Ne(n)&&(a=n),Ne(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 Mm="9.14.5";function Om(){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 Dm=hm.__EXTEND_POINT__,fo=Mr(Dm);fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo(),fo();const kc=Dt.__EXTEND_POINT__,wt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:wt(),MUST_BE_CALL_SETUP_TOP:wt(),NOT_INSTALLED:wt(),NOT_AVAILABLE_IN_LEGACY_MODE:wt(),REQUIRED_VALUE:wt(),INVALID_VALUE:wt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:wt(),NOT_INSTALLED_WITH_PROVIDE:wt(),UNEXPECTED_ERROR:wt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:wt(),BRIDGE_SUPPORT_VUE_2_ONLY:wt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:wt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:wt(),__EXTEND_POINT__:wt()};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(Mt(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 he(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Mt(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=()=>[],jm=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,ko()||void 0,r)}const zm=()=>{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:he(e.locale)?e.locale:rn),u=a(o&&i?o.fallbackLocale.value:he(e.fallbackLocale)||Ze(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=a(Br(c.value,e)),m=a(Le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=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:Le(e.modifiers)?e.modifiers:{};let O=e.pluralRules||o&&o.pluralRules,N;N=(()=>{r&&ic(null);const M={version:Mm,locale:c.value,fallbackLocale:u.value,messages:d.value,modifiers:$,pluralRules:O,missing:p===null?void 0:p,missingWarn:T,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};M.datetimeFormats=m.value,M.numberFormats=v.value,M.__datetimeFormatters=Le(N)?N.__datetimeFormatters:void 0,M.__numberFormatters=Le(N)?N.__numberFormatters:void 0;const E=Em(M);return r&&ic(E),E})(),Bn(N,c.value,u.value);function ee(){return[c.value,u.value,d.value,m.value,v.value]}const re=le({get:()=>c.value,set:M=>{c.value=M,N.locale=c.value}}),be=le({get:()=>u.value,set:M=>{u.value=M,N.fallbackLocale=u.value,Bn(N,c.value,M)}}),q=le(()=>d.value),J=le(()=>m.value),R=le(()=>v.value);function j(){return Xe(g)?g:null}function A(M){g=M,N.postTranslation=M}function z(){return y}function te(M){M!==null&&(p=Nc(M)),y=M,N.missing=p}const D=(M,E,Q,ae,me,ve)=>{ee();let Be;try{__INTLIFY_PROD_DEVTOOLS__,r||(N.fallbackContext=o?Sm():void 0),Be=M(N)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(N.fallbackContext=void 0)}if(Q!=="translate exists"&&ot(Be)&&Be===Ur||Q==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):me(qe)}else{if(ve(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function oe(...M){return D(E=>Reflect.apply(gc,null,[E,...M]),()=>Xs(...M),"translate",E=>Reflect.apply(E.t,E,[...M]),E=>E,E=>he(E))}function fe(...M){const[E,Q,ae]=M;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return oe(E,Q,ut({resolvedMessage:!0},ae||{}))}function _e(...M){return D(E=>Reflect.apply(bc,null,[E,...M]),()=>Js(...M),"datetime format",E=>Reflect.apply(E.d,E,[...M]),()=>ec,E=>he(E))}function ke(...M){return D(E=>Reflect.apply(vc,null,[E,...M]),()=>Zs(...M),"number format",E=>Reflect.apply(E.n,E,[...M]),()=>ec,E=>he(E))}function Se(M){return M.map(E=>he(E)||ot(E)||De(E)?Cc(String(E)):E)}const de={normalize:Se,interpolate:M=>M,type:"vnode"};function ye(...M){return D(E=>{let Q;const ae=E;try{ae.processor=de,Q=Reflect.apply(gc,null,[ae,...M])}finally{ae.processor=null}return Q},()=>Xs(...M),"translate",E=>E[Qs](...M),E=>[Cc(E)],E=>Ze(E))}function Ne(...M){return D(E=>Reflect.apply(vc,null,[E,...M]),()=>Zs(...M),"number format",E=>E[ta](...M),Lc,E=>he(E)||Ze(E))}function Ie(...M){return D(E=>Reflect.apply(bc,null,[E,...M]),()=>Js(...M),"datetime format",E=>E[ea](...M),Lc,E=>he(E)||Ze(E))}function b(M){O=M,N.pluralRules=O}function C(M,E){return D(()=>{if(!M)return!1;const Q=he(E)?E:c.value,ae=K(Q),me=N.messageResolver(ae,M);return l?me!=null:Zt(me)||Ct(me)||he(me)},()=>[M],"translate exists",Q=>Reflect.apply(Q.te,Q,[M,E]),jm,Q=>De(Q))}function k(M){let E=null;const Q=Zi(N,u.value,c.value);for(let ae=0;ae{i&&(c.value=M,N.locale=M,Bn(N,c.value,u.value))}),gt(o.fallbackLocale,M=>{i&&(u.value=M,N.fallbackLocale=M,Bn(N,c.value,u.value))}));const se={id:Pc,locale:re,fallbackLocale:be,get inheritLocale(){return i},set inheritLocale(M){i=M,M&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(N,c.value,u.value))},get availableLocales(){return Object.keys(d.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return O||{}},get isGlobal(){return r},get missingWarn(){return T},set missingWarn(M){T=M,N.missingWarn=T},get fallbackWarn(){return x},set fallbackWarn(M){x=M,N.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(M){w=M},get fallbackFormat(){return L},set fallbackFormat(M){L=M,N.fallbackFormat=L},get warnHtmlMessage(){return _},set warnHtmlMessage(M){_=M,N.warnHtmlMessage=M},get escapeParameter(){return S},set escapeParameter(M){S=M,N.escapeParameter=M},t:oe,getLocaleMessage:K,setLocaleMessage:ne,mergeLocaleMessage:G,getPostTranslationHandler:j,setPostTranslationHandler:A,getMissingHandler:z,setMissingHandler:te,[$c]:b};return se.datetimeFormats=J,se.numberFormats=R,se.rt=fe,se.te=C,se.tm=H,se.d=_e,se.n=ke,se.getDateTimeFormat=U,se.setDateTimeFormat=f,se.mergeDateTimeFormat=h,se.getNumberFormat=I,se.setNumberFormat=B,se.mergeNumberFormat=Z,se[Sc]=n,se[Qs]=ye,se[ea]=Ie,se[ta]=Ne,se}function Um(e){const t=he(e.locale)?e.locale:rn,o=he(e.fallbackLocale)||Ze(e.fallbackLocale)||Le(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=Le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,d=he(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let T=e.messages;if(Le(e.sharedMessages)){const S=e.sharedMessages;T=Object.keys(S).reduce((O,N)=>{const V=O[N]||(O[N]={});return ut(V,S[N]),O},T||{})}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:T,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:L}}function ra(e={},t){{const o=na(Um(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,d=null;if(!he(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return he(l)?c.locale=l:Ze(l)?u=l:Le(l)&&(d=l),Ze(i)?u=i:Le(i)&&(d=i),Reflect.apply(o.t,o,[m,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,d=null;if(!he(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return he(l)?c.locale=l:ot(l)?c.plural=l:Ze(l)?u=l:Le(l)&&(d=l),he(i)?c.locale=i:Ze(i)?u=i:Le(i)&&(d=i),Reflect.apply(o.t,o,[m,u||d||{},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 Bm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===$e?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ve())}function Ic(e){return $e}const Fc=An({name:"i18n-t",props:ut({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(d=>d!=="_"),a=Ve();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=he(e.plural)?+e.plural:e.plural);const l=Bm(t,s),i=r[Qs](e.keypath,l,a),c=ut(Ve(),n),u=he(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Gm(e){return Ze(e)&&!he(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),he(e.format)?a.key=e.format:Ue(e.format)&&(he(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?ut(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 T=r[m.type],x=T?T({[m.type]:m.value,index:v,parts:i}):[m.value];return Gm(x)&&(x[0].key=`${m.type}-${v}`),x}):he(i)&&(c=[i]);const u=ut(Ve(),s),d=he(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(d,u,c)}}const Mc=An({name:"i18n-n",props:ut({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:ut({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 qm(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 Hm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=qm(e,l.$),d=Dc(c);return[Reflect.apply(u.t,u,[...jc(d)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=gt(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(he(e))return{path:e};if(Le(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 he(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Vm(e,t,...o){const n=Le(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",Hm(t))}function Wm(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 Km=$o("global-vue-i18n");function Ym(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]=Xm(e,o),i=$o("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function d(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...T){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Le(T[0])){const L=T[0];m.__composerExtend=L.__composerExtend,m.__vueI18nExtend=L.__vueI18nExtend}let x=null;!o&&n&&(x=sb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Vm(v,m,...T),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Wm(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:d};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=Jm(t),n=Qm(o),r=Ec(t),s=Zm(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return nb(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=eb(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=ut({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=na(i),a.__composerExtend&&(l[oa]=a.__composerExtend(l)),ob(a,t,l),a.__setInstance(t,l)}return l}function Xm(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 Jm(e){{const t=Re(e.isCE?Km:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function Zm(e,t){return Rr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Qm(e){return e.mode==="composition"?e.global:e.global.__composer}function eb(e,t,o=!1){let n=null;const r=t.root;let s=tb(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 tb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ob(e,t,o){xt(()=>{},t),$s(()=>{const n=o;e.__deleteInstance(t);const r=n[oa];r&&(r(),delete n[oa])},t)}function nb(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:!he(n.locale),l=ue(!r||a?o.locale.value:he(n.locale)?n.locale:rn),i=ue(!r||a?o.fallbackLocale.value:he(n.fallbackLocale)||Ze(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Le(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),d=ue(Le(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,T=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:Le(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,d.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),O=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),N=le(()=>s.value?s.value.messages.value:c.value),V=le(()=>u.value),ee=le(()=>d.value);function re(){return s.value?s.value.getPostTranslationHandler():L}function be(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function J(k){s.value&&s.value.setMissingHandler(k)}function R(k){return S(),k()}function j(...k){return s.value?R(()=>Reflect.apply(s.value.t,null,[...k])):R(()=>"")}function A(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function z(...k){return s.value?R(()=>Reflect.apply(s.value.d,null,[...k])):R(()=>"")}function te(...k){return s.value?R(()=>Reflect.apply(s.value.n,null,[...k])):R(()=>"")}function D(k){return s.value?s.value.tm(k):{}}function oe(k,H){return s.value?s.value.te(k,H):!1}function fe(k){return s.value?s.value.getLocaleMessage(k):{}}function _e(k,H){s.value&&(s.value.setLocaleMessage(k,H),c.value[k]=H)}function ke(k,H){s.value&&s.value.mergeLocaleMessage(k,H)}function Se(k){return s.value?s.value.getDateTimeFormat(k):{}}function ge(k,H){s.value&&(s.value.setDateTimeFormat(k,H),u.value[k]=H)}function de(k,H){s.value&&s.value.mergeDateTimeFormat(k,H)}function ye(k){return s.value?s.value.getNumberFormat(k):{}}function Ne(k,H){s.value&&(s.value.setNumberFormat(k,H),d.value[k]=H)}function Ie(k,H){s.value&&s.value.mergeNumberFormat(k,H)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:O,messages:N,datetimeFormats:V,numberFormats:ee,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:T},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:j,getPostTranslationHandler:re,setPostTranslationHandler:be,getMissingHandler:q,setMissingHandler:J,rt:A,d:z,n:te,tm:D,te:oe,getLocaleMessage:fe,setLocaleMessage:_e,mergeLocaleMessage:ke,getDateTimeFormat:Se,setDateTimeFormat:ge,mergeDateTimeFormat:de,getNumberFormat:ye,setNumberFormat:Ne,mergeNumberFormat:Ie};function C(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(H=>{k.mergeLocaleMessage(H,c.value[H])}),Object.keys(u.value).forEach(H=>{k.mergeDateTimeFormat(H,u.value[H])}),Object.keys(d.value).forEach(H=>{k.mergeNumberFormat(H,d.value[H])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=T,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,d.value=k.numberFormats.value):r&&C(k)}),b}const rb=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function sb(e,t){const o=Object.create(null);return rb.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(Om(),__INTLIFY_JIT_COMPILATION__?nc(Pm):nc(Lm),xm(tm),wm(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=co();e.__INTLIFY__=!0,um(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ab=Object.assign({"./locales/ar/aria.json":fp,"./locales/ar/buttons.json":pp,"./locales/ar/detail.json":gp,"./locales/ar/legend.json":hp,"./locales/ar/messages.json":mp,"./locales/ar/options.json":bp,"./locales/ar/prayerLaps.json":_p,"./locales/ar/search.json":yp,"./locales/ar/tabs.json":vp,"./locales/de/aria.json":xp,"./locales/de/buttons.json":wp,"./locales/de/detail.json":kp,"./locales/de/legend.json":$p,"./locales/de/messages.json":Sp,"./locales/de/options.json":Ep,"./locales/de/prayerLaps.json":Ap,"./locales/de/search.json":Cp,"./locales/de/tabs.json":Tp,"./locales/en/aria.json":Lp,"./locales/en/buttons.json":Pp,"./locales/en/detail.json":Np,"./locales/en/legend.json":Ip,"./locales/en/messages.json":Fp,"./locales/en/options.json":Rp,"./locales/en/popup.json":Mp,"./locales/en/prayerLaps.json":Op,"./locales/en/search.json":Dp,"./locales/en/tabs.json":jp,"./locales/es/aria.json":zp,"./locales/es/buttons.json":Up,"./locales/es/detail.json":Bp,"./locales/es/legend.json":Gp,"./locales/es/messages.json":qp,"./locales/es/options.json":Hp,"./locales/es/prayerLaps.json":Vp,"./locales/es/search.json":Wp,"./locales/es/tabs.json":Kp,"./locales/fr/aria.json":Yp,"./locales/fr/buttons.json":Xp,"./locales/fr/detail.json":Jp,"./locales/fr/legend.json":Zp,"./locales/fr/messages.json":Qp,"./locales/fr/options.json":eg,"./locales/fr/popup.json":tg,"./locales/fr/prayerLaps.json":og,"./locales/fr/search.json":ng,"./locales/fr/tabs.json":rg,"./locales/hi/aria.json":sg,"./locales/hi/buttons.json":ag,"./locales/hi/detail.json":lg,"./locales/hi/legend.json":ig,"./locales/hi/messages.json":cg,"./locales/hi/options.json":ug,"./locales/hi/prayerLaps.json":dg,"./locales/hi/search.json":fg,"./locales/it/aria.json":pg,"./locales/it/buttons.json":gg,"./locales/it/detail.json":hg,"./locales/it/legend.json":mg,"./locales/it/messages.json":bg,"./locales/it/options.json":_g,"./locales/it/prayerLaps.json":yg,"./locales/it/search.json":vg,"./locales/pt/aria.json":xg,"./locales/pt/buttons.json":wg,"./locales/pt/detail.json":kg,"./locales/pt/legend.json":$g,"./locales/pt/messages.json":Sg,"./locales/pt/options.json":Eg,"./locales/pt/prayerLaps.json":Ag,"./locales/pt/search.json":Cg,"./locales/pt/tabs.json":Tg,"./locales/ro/aria.json":Lg,"./locales/ro/buttons.json":Pg,"./locales/ro/detail.json":Ng,"./locales/ro/legend.json":Ig,"./locales/ro/messages.json":Fg,"./locales/ro/options.json":Rg,"./locales/ro/prayerLaps.json":Mg,"./locales/ro/search.json":Og,"./locales/ru/aria.json":Dg,"./locales/ru/buttons.json":jg,"./locales/ru/detail.json":zg,"./locales/ru/legend.json":Ug,"./locales/ru/messages.json":Bg,"./locales/ru/options.json":Gg,"./locales/ru/prayerLaps.json":qg,"./locales/ru/search.json":Hg,"./locales/ru/tabs.json":Vg,"./locales/zh/aria.json":Wg,"./locales/zh/buttons.json":Kg,"./locales/zh/detail.json":Yg,"./locales/zh/legend.json":Xg,"./locales/zh/messages.json":Jg,"./locales/zh/options.json":Zg,"./locales/zh/prayerLaps.json":Qg,"./locales/zh/search.json":eh}),qn={};for(const[e,t]of Object.entries(ab)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const lb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function ib(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return lb.includes(t)?t:"en"}function cb(){return Ym({legacy:!1,globalInjection:!0,locale:ib(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",po={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},ub=po,aa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},db=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,fb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:ub,ADOPTION_LABELS:db,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"},pb=go,ia={notEngaged:"Unengaged",hasEngagement:"Engaged"},gb=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,hb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:pb,ENGAGEMENT_LABELS:gb,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",mb="#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"},bb=ho;function da(e){return ho[e]||mb}const _b=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(ho))t[e(o)]=o;return t})(),yb={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return yb[o]||_b[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,vb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:bb,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"},xb=To,Hn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},wb=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,kb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Hn,PALETTE:To,PRAYER_COLORS:xb,PRAYER_LABELS:wb,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"},kt={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 kt[ha(t)]||ga}function ma(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",kt.C,"M",kt.M,"H",kt.H,"B",kt.B,"E",kt.E,"J",kt.J,"S",kt.S,"N",kt.N,"O",kt.O,ga]}const nu=ma,$b=Object.assign({"./adoption.js":fb,"./engagement.js":hb,"./language-family.js":vb,"./prayer-progress.js":kb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:kt,PROPERTY_KEY:tu,RELIGION_FAMILIES:Uo,applyColor:ma,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:kt,families:Uo,getColor:ou,applyColor:ma,buildColorExpression:nu,fallback:ga},getColor:ou,getReligionFamily:ha},Symbol.toStringTag,{value:"Module"}))}),Sb=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Eb=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=Sb(o);mo[Eb(o)]=r,ba[r]=n}}ru($b);function Ab(e){e&&ru(e)}function Vr(e){return ba[e]||ba[mo.LANGUAGE_FAMILY]}const Cb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Tb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Cb,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 Lb=Object.entries(un).reduce((e,[t,o])=>(e[o]=dn[t],e),{}),Pb=un;function au(e){return un[e]||"Unknown"}function lu(e){return dn[e]||cn}function Nb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?dn[e]||cn:Lb[e]||cn:cn}function Ib(){return Object.entries(un).map(([e,t])=>({code:e,name:t,color:dn[e]}))}function Fb(e){return{code:e,name:un[e]||"Unknown",color:dn[e]||cn}}function Rb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Mb(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 Ob={name:"Affinity Block",propertyKey:su,palette:_a,colors:_a,names:Pb,getColor:Rb,applyColor:iu,buildColorExpression:iu,getName:Mb,getAffinityBlockName:au,getAffinityBlockColor:Nb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Ib,getAffinityBlockData:Fb};function Db(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 Ub={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:va,aliases:pu,fallback:ya,getColor:zb,applyColor:gu,buildColorExpression:gu,getRegionColor:jb,getRegionColorBySlug:fu},Bb=Go&&Go.tagName.toUpperCase()==="SCRIPT"&&Go.src||new URL("dashboard-plus-grid.js",document.baseURI).href,xa=e=>String(e||"").trim().replace(/\/+$/,"");function Gb(){try{const t=String(Bb||"").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(Gb()||"")}function qb({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 Et(e,t){const o=t||Hb(e);xt(()=>{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 Hb(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 Wb(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 Kb(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 Yb=` + */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?ce: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)||Ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),d=a(Br(c.value,e)),m=a(Ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let C=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,_=Xe(e.missing)?e.missing:null,p=Xe(e.missing)?Nc(e.missing):null,g=Xe(e.postTranslation)?e.postTranslation:null,y=o?o.warnHtmlMessage:De(e.warnHtmlMessage)?e.warnHtmlMessage:!0,S=!!e.escapeParameter;const $=o?o.modifiers:Ne(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:d.value,modifiers:$,pluralRules:D,missing:p===null?void 0:p,missingWarn:C,fallbackWarn:x,fallbackFormat:L,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:y,escapeParameter:S,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Ne(I)?I.__datetimeFormatters:void 0,O.__numberFormatters=Ne(I)?I.__numberFormatters:void 0;const E=Cm(O);return r&&ic(E),E})(),Bn(I,c.value,u.value);function ne(){return[c.value,u.value,d.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,I.locale=c.value}}),be=le({get:()=>u.value,set:O=>{u.value=O,I.fallbackLocale=u.value,Bn(I,c.value,O)}}),q=le(()=>d.value),ee=le(()=>m.value),Y=le(()=>v.value);function K(){return Xe(g)?g:null}function T(O){g=O,I.postTranslation=O}function P(){return _}function B(O){O!==null&&(p=Nc(O)),_=O,I.missing=p}const F=(O,E,oe,ae,he,ye)=>{ne();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(oe!=="translate exists"&&ot(Be)&&Be===Ur||oe==="translate exists"&&!Be){const[qe,st]=E();return o&&w?ae(o):he(qe)}else{if(ye(Be))return Be;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function X(...O){return F(E=>Reflect.apply(gc,null,[E,...O]),()=>Xs(...O),"translate",E=>Reflect.apply(E.t,E,[...O]),E=>E,E=>ge(E))}function fe(...O){const[E,oe,ae]=O;if(ae&&!Ue(ae))throw lt(rt.INVALID_ARGUMENT);return X(E,oe,ut({resolvedMessage:!0},ae||{}))}function _e(...O){return F(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 F(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>Reflect.apply(E.n,E,[...O]),()=>ec,E=>ge(E))}function Ee(O){return O.map(E=>ge(E)||ot(E)||De(E)?Cc(String(E)):E)}const ke={normalize:Ee,interpolate:O=>O,type:"vnode"};function me(...O){return F(E=>{let oe;const ae=E;try{ae.processor=ke,oe=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return oe},()=>Xs(...O),"translate",E=>E[Qs](...O),E=>[Cc(E)],E=>Ze(E))}function pe(...O){return F(E=>Reflect.apply(vc,null,[E,...O]),()=>Zs(...O),"number format",E=>E[ta](...O),Lc,E=>ge(E)||Ze(E))}function ve(...O){return F(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 A(O,E){return F(()=>{if(!O)return!1;const oe=ge(E)?E:c.value,ae=W(oe),he=I.messageResolver(ae,O);return l?he!=null:Zt(he)||Lt(he)||ge(he)},()=>[O],"translate exists",oe=>Reflect.apply(oe.te,oe,[O,E]),Um,oe=>De(oe))}function k(O){let E=null;const oe=Zi(I,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,I.locale=O,Bn(I,c.value,u.value))}),gt(o.fallbackLocale,O=>{i&&(u.value=O,I.fallbackLocale=O,Bn(I,c.value,u.value))}));const re={id:Pc,locale:se,fallbackLocale:be,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(d.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return D||{}},get isGlobal(){return r},get missingWarn(){return C},set missingWarn(O){C=O,I.missingWarn=C},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 y},set warnHtmlMessage(O){y=O,I.warnHtmlMessage=O},get escapeParameter(){return S},set escapeParameter(O){S=O,I.escapeParameter=O},t:X,getLocaleMessage:W,setLocaleMessage:J,mergeLocaleMessage:j,getPostTranslationHandler:K,setPostTranslationHandler:T,getMissingHandler:P,setMissingHandler:B,[$c]:b};return re.datetimeFormats=ee,re.numberFormats=Y,re.rt=fe,re.te=A,re.tm=G,re.d=_e,re.n=$e,re.getDateTimeFormat=z,re.setDateTimeFormat=f,re.mergeDateTimeFormat=h,re.getNumberFormat=R,re.setNumberFormat=U,re.mergeNumberFormat=te,re[Sc]=n,re[Qs]=me,re[ea]=ve,re[ta]=pe,re}function Gm(e){const t=ge(e.locale)?e.locale:rn,o=ge(e.fallbackLocale)||Ze(e.fallbackLocale)||Ne(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=Ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Xe(e.postTranslation)?e.postTranslation:void 0,d=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=De(e.sync)?e.sync:!0;let C=e.messages;if(Ne(e.sharedMessages)){const S=e.sharedMessages;C=Object.keys(S).reduce((D,I)=>{const H=D[I]||(D[I]={});return ut(H,S[I]),D},C||{})}const{__i18n:x,__root:w,__injectWithOption:L}=e,_=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:C,flatJson:g,datetimeFormats:_,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:d,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:y,__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,d=null;if(!ge(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return ge(l)?c.locale=l:Ze(l)?u=l:Ne(l)&&(d=l),Ze(i)?u=i:Ne(i)&&(d=i),Reflect.apply(o.t,o,[m,u||d||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,d=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:Ne(l)&&(d=l),ge(i)?c.locale=i:Ze(i)?u=i:Ne(i)&&(d=i),Reflect.apply(o.t,o,[m,u||d||{},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:ut({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(d=>d!=="_"),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=ut(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)?ut(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 C=r[m.type],x=C?C({[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=ut(Ve(),s),d=ge(e.tag)||Ue(e.tag)?e.tag:Ic();return ci(d,u,c)}}const Mc=An({name:"i18n-n",props:ut({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:ut({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.$),d=Dc(c);return[Reflect.apply(u.t,u,[...jc(d)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=gt(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(Ne(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=Ne(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 d(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...C){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Ne(C[0])){const L=C[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,...C),__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:d};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=ut({},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){wt(()=>{},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=ce(!r||a?o.locale.value:ge(n.locale)?n.locale:rn),i=ce(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||Ze(n.fallbackLocale)||Ne(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ce(Br(l.value,n)),u=ce(Ne(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),d=ce(Ne(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,C=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,_=r?o.warnHtmlMessage:De(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Ne(n.modifiers)?n.modifiers:{},y=n.pluralRules||r&&o.pluralRules;function S(){return[l.value,i.value,c.value,u.value,d.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),ne=le(()=>d.value);function se(){return s.value?s.value.getPostTranslationHandler():L}function be(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function ee(k){s.value&&s.value.setMissingHandler(k)}function Y(k){return S(),k()}function K(...k){return s.value?Y(()=>Reflect.apply(s.value.t,null,[...k])):Y(()=>"")}function T(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function P(...k){return s.value?Y(()=>Reflect.apply(s.value.d,null,[...k])):Y(()=>"")}function B(...k){return s.value?Y(()=>Reflect.apply(s.value.n,null,[...k])):Y(()=>"")}function F(k){return s.value?s.value.tm(k):{}}function X(k,G){return s.value?s.value.te(k,G):!1}function fe(k){return s.value?s.value.getLocaleMessage(k):{}}function _e(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 Ee(k){return s.value?s.value.getDateTimeFormat(k):{}}function Te(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),d.value[k]=G)}function ve(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:ne,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:y},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:C},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:_},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:K,getPostTranslationHandler:se,setPostTranslationHandler:be,getMissingHandler:q,setMissingHandler:ee,rt:T,d:P,n:B,tm:F,te:X,getLocaleMessage:fe,setLocaleMessage:_e,mergeLocaleMessage:$e,getDateTimeFormat:Ee,setDateTimeFormat:Te,mergeDateTimeFormat:ke,getNumberFormat:me,setNumberFormat:pe,mergeNumberFormat:ve};function A(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(d.value).forEach(G=>{k.mergeNumberFormat(G,d.value[G])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=C,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=_}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,d.value=k.numberFormats.value):r&&A(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);wt(()=>{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; } -`,Xb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){Et(Yb,"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&&Wb(e.src).then(()=>Kb(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(()=>{})}}}),Jb={class:"stl"},Zb={key:0,class:"stl-top"},Qb={class:"stl-brand"},e_={key:0,class:"stl-title"},t_={class:"stl-meta"},o_={class:"stl-stack"},n_={key:0,class:"stl-sec-head"},r_={class:"stl-sec-title"},s_={key:0,class:"stl-sec-sub"},a_={key:2,class:"stl-slot"},l_={class:"stl-tail"};function i_(e,t,o,n,r,s){return W(),Y("div",Jb,[e.$slots.brand||e.$slots.meta||e.title?(W(),Y("header",Zb,[P("span",Qb,[Oo(e.$slots,"brand")]),e.title?(W(),Y("b",e_,ce(e.title),1)):Pe("",!0),P("span",t_,[Oo(e.$slots,"meta")])])):Pe("",!0),P("div",o_,[(W(!0),Y($e,null,Ye(e.sections,a=>(W(),Y("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(W(),Y("div",n_,[P("b",r_,ce(a.title),1),a.sub?(W(),Y("span",s_,ce(a.sub),1)):Pe("",!0)])):Pe("",!0),a.element?(W(),Y("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(W(),Y("div",a_,[Oo(e.$slots,"section-"+a.key)]))],6))),128)),P("div",l_,[Oo(e.$slots,"default")])])])}const c_=fn(Xb,[["render",i_],["styles",[Vb]]]);function u_(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 d_(){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=u_(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 d(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 T(){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:d,configureHierarchy:i,toggleSelect:v,clearSelection:T,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 jt={_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 f_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||jt.activeSource;async function i(){var c,u,d,m;t.value=!0,o.value=null;try{const v=((c=jt==null?void 0:jt.sources)==null?void 0:c[l])||{},T=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((d=v.queryParams)==null?void 0:d.lang)||"en",y=`${T}${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 O of _){const N=O&&(O.slug||O.id);N&&S.set(N,O)}n.value=S,r.value=_,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const O=await fetch(`${T}${$}?_=${Date.now()}`,{cache:"no-store"});O.ok&&(O.headers.get("content-type")||"").includes("json")&&(s.value=await O.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 J,R,j;const _=s.source||jt.activeSource,S=((J=jt==null?void 0:jt.sources)==null?void 0:J[_])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,O=((R=S.endpoints)==null?void 0:R.bulk)||"/api/people-groups/list",N=((j=S.queryParams)==null?void 0:j.lang)||"en",V=`${wa()}${O}?fields=${$.join(",")}&lang=${N}`,ee=await fetch(V,{cache:"no-store"});if(!ee.ok)throw new Error(`export list HTTP ${ee.status}`);const re=await ee.json(),be=Array.isArray(re)?re:re.posts||re.data||re.results||[],q=new Map;for(const A of be){const z=A&&(A.slug||A.id);z&&q.set(z,A)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const S=l.get(_&&(_.slug||_.id));return S?{..._,...S}:_}function d(){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 O=r[$];return O?O(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 T(_){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 _=d().map(u).map(T),S=_.reduce((ee,re)=>(Object.keys(re).forEach(be=>ee.add(be)),ee),new Set),$=[...Wr.filter(ee=>S.has(ee)),...[...S].filter(ee=>!Wr.includes(ee))],O=Object.entries(n).map(([ee,re])=>`${ee}=${a?a(ee,re):re}`).join(" | ")||"none",N=`# Research Dashboard export — scope: ${m()}; filters: ${O}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(ee=>$.map(re=>x(ee[re])).join(",")),N].join(`\r -`)}const L={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function y(){const _=w(),S=d().length,$=(_.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let O=!1,N=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),O=!0)}catch{}try{const V=new Blob([_],{type:"text/csv;charset=utf-8"}),ee=URL.createObjectURL(V),re=document.createElement("a");re.href=ee,re.download="research-dashboard.csv",re.style.display="none",document.body.appendChild(re),re.click(),N=!0,setTimeout(()=>{try{URL.revokeObjectURL(ee),re.remove()}catch{}},200)}catch{}Object.assign(L,{rows:S,clipboard:O,downloaded:N,fields:$,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:S,clipboard:O,downloaded:N,fields:$,wide:!!l}}catch{}return{csv:_,rows:S,clipboard:O,downloaded:N,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:d,scopeLabel:m,lastExport:L,prefetchExportFields:g,EXPORT_FIELDS:Wr}}const p_="#6b7280";function g_(){const e=Vr(mo.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function h_(e,t){const o=g_();return e&&o[e]?o[e]:p_}function m_(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 b_(e){var t;return String(e.affinityBlock||$a((t=e._raw)==null?void 0:t.rop1)||"").trim()}function __(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function y_(e){var t;return String(e.cluster||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function v_(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 x_(e){var t;return String(e.peopleGroup||$a((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 $_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function S_(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 E_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function A_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=m_(l),c=b_(i),u=__(i)||c||"— Unknown —",d=y_(i),m=v_(i)||d||"— Unknown —",v=x_(i),T=w_(i)||v||"— Unknown —",x=k_(i),w=$_(i)||x,L=S_(i),y=E_(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(d||"__unknown__");g||(g={code:d,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(d||"__unknown__",g)),g.count+=1,g.pop+=L,g.memberIds.push(x);let _=g.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:T,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=h_(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 d={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((T,x)=>x.pop-T.pop||T.country.localeCompare(x.country));for(const T of m.instances)v.children.push({id:`pgic:${T.id}`,label:`${T.country?`${T.name}, ${T.country}`:T.name} (PGIC)`,color:i,count:1,pop:T.pop,filter:["==",["get","uniqueId"],T.id],children:[]});d.children.push(v)}d.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(d)}c.children.sort((u,d)=>d.count-u.count||d.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}=A_(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,d=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&d.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 T={};return i&&(T[i]=d),c&&(T[c]=m),u&&(T[u]=v),T});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=jt,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;i[]},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(),Z("div",Qb,[e.$slots.brand||e.$slots.meta||e.title?(V(),Z("header",e_,[N("span",t_,[Oo(e.$slots,"brand")]),e.title?(V(),Z("b",o_,ue(e.title),1)):Ie("",!0),N("span",n_,[Oo(e.$slots,"meta")])])):Ie("",!0),N("div",r_,[(V(!0),Z(Se,null,Ye(e.sections,a=>(V(),Z("section",{key:a.key,class:je(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),Z("div",s_,[N("b",a_,ue(a.title),1),a.sub?(V(),Z("span",l_,ue(a.sub),1)):Ie("",!0)])):Ie("",!0),a.element?(V(),Z("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),Z("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=ce(0),n=ce(""),r=new Map;function s(_,p){return r.has(_)||r.set(_,new Set),r.get(_).add(p),()=>{var g;return(g=r.get(_))==null?void 0:g.delete(p)}}function a(_,p){var g;(g=r.get(_))==null||g.forEach(y=>{try{y(p)}catch{}})}let l={};function i(_){l=f_(_)}function c(_,p){if(p==null){delete e[_];for(const g of l[_]||[])delete e[g]}else e[_]=p;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function d(_){n.value=_==null?"":String(_),a("search",n.value)}function m(){o.value++,a("select",t)}function v(_){t.has(_)?t.delete(_):t.add(_),m()}function C(){t.size&&(t.clear(),m())}function x(_,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const y of _)t.has(y)||(t.add(y),g=!0);return g&&m(),g}function w(_){let p=!1;for(const g of _)t.delete(g)&&(p=!0);return p&&m(),p}function L(_){const p=_ instanceof Set?_:new Set(_);if(p.size===t.size){let g=!0;for(const y of p)if(!t.has(y)){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:d,configureHierarchy:i,toggleSelect:v,clearSelection:C,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=ce(!1),o=ce(null),n=wn(new Map),r=wn([]),s=ce(null),a=ce(0),l=e.source||zt.activeSource;async function i(){var c,u,d,m;t.value=!0,o.value=null;try{const v=((c=zt==null?void 0:zt.sources)==null?void 0:c[l])||{},C=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),L=((d=v.queryParams)==null?void 0:d.lang)||"en",_=`${C}${x}?${w?`fields=${w}&`:""}lang=${L}&_=${Date.now()}`,p=await fetch(_,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),y=Array.isArray(g)?g:g.posts||g.data||g.results||[],S=new Map;for(const D of y){const I=D&&(D.slug||D.id);I&&S.set(I,D)}n.value=S,r.value=y,a.value=S.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const D=await fetch(`${C}${$}?_=${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 ee,Y,K;const y=s.source||zt.activeSource,S=((ee=zt==null?void 0:zt.sources)==null?void 0:ee[y])||{},$=Array.isArray(S.exportFields)&&S.exportFields.length?S.exportFields:Wr,D=((Y=S.endpoints)==null?void 0:Y.bulk)||"/api/people-groups/list",I=((K=S.queryParams)==null?void 0:K.lang)||"en",H=`${wa()}${D}?fields=${$.join(",")}&lang=${I}`,ne=await fetch(H,{cache:"no-store"});if(!ne.ok)throw new Error(`export list HTTP ${ne.status}`);const se=await ne.json(),be=Array.isArray(se)?se:se.posts||se.data||se.results||[],q=new Map;for(const T of be){const P=T&&(T.slug||T.id);P&&q.set(P,T)}return l=q,q})().catch(y=>{throw i=null,y}),i)}function u(y){if(!l)return y;const S=l.get(y&&(y.slug||y.id));return S?{...y,...S}:y}function d(){if(o&&o.size)return[...o].map(S=>e.value.get(S)).filter(Boolean);const y=Object.keys(n);return y.length?(t.value||[]).filter(S=>y.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(y){return y==null?y:Array.isArray(y)?y.map(S=>v(S)).filter(S=>S!==""&&S!==null&&S!==void 0).join(" | "):typeof y=="object"?y.label??y.value??y.text??y.name??y.link??JSON.stringify(y):y}function C(y){const S={};for(const $ of Object.keys(y))S[$]=v(y[$]);return S}function x(y){let S=y==null?"":String(y);return/^[=+\-@]/.test(S)&&(S="'"+S),/[",\n\r]/.test(S)&&(S='"'+S.replace(/"/g,'""')+'"'),S}function w(){const y=d().map(u).map(C),S=y.reduce((ne,se)=>(Object.keys(se).forEach(be=>ne.add(be)),ne),new Set),$=[...Wr.filter(ne=>S.has(ne)),...[...S].filter(ne=>!Wr.includes(ne))],D=Object.entries(n).map(([ne,se])=>`${ne}=${a?a(ne,se):se}`).join(" | ")||"none",I=`# Research Dashboard export — scope: ${m()}; filters: ${D}; rows: ${y.length}`;return[$.map(x).join(","),...y.map(ne=>$.map(se=>x(ne[se])).join(",")),I].join(`\r +`)}const L={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const y=w(),S=d().length,$=(y.split(`\r +`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=y)}catch{}let D=!1,I=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(y).catch(()=>{}),D=!0)}catch{}try{const H=new Blob([y],{type:"text/csv;charset=utf-8"}),ne=URL.createObjectURL(H),se=document.createElement("a");se.href=ne,se.download="research-dashboard.csv",se.style.display="none",document.body.appendChild(se),se.click(),I=!0,setTimeout(()=>{try{URL.revokeObjectURL(ne),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:y,rows:S,clipboard:D,downloaded:I,fields:$,wide:!!l}}async function p(){try{await c()}catch{}return _()}function g(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:p,buildCsv:w,pickRows:d,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 —",d=x_(i),m=w_(i)||d||"— Unknown —",v=k_(i),C=$_(i)||v||"— Unknown —",x=S_(i),w=E_(i)||x,L=A_(i),_=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(d||"__unknown__");g||(g={code:d,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(d||"__unknown__",g)),g.count+=1,g.pop+=L,g.memberIds.push(x);let y=g.peopleGroups.get(v||"__unknown__");y||(y={code:v,label:C,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",y)),y.count+=1,y.pop+=L,y.memberIds.push(x),y.instances.push({id:x,name:w,country:_,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 d={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((C,x)=>x.pop-C.pop||C.country.localeCompare(x.country));for(const C of m.instances)v.children.push({id:`pgic:${C.id}`,label:`${C.country?`${C.name}, ${C.country}`:C.name} (PGIC)`,color:i,count:1,pop:C.pop,filter:["==",["get","uniqueId"],C.id],children:[]});d.children.push(v)}d.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(d)}c.children.sort((u,d)=>d.count-u.count||d.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,d=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&d.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 C={};return i&&(C[i]=d),c&&(C[c]=m),u&&(C[u]=v),C});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 d={};n.forEach((m,v)=>{d[m]=a[v]||""}),o.push(d)}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,d]of Object.entries(a))s.push(`${u}=${encodeURIComponent(d)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const d=u.headers.get("content-type")||"";if(!d.includes("application/json"))throw new Error(`API returned "${d}" 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(d=>this.getFieldValue(n,d));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 C_(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,d)=>u+(Number(d[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],d=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&d.add(v)}),a=d.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function T_(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);xt(()=>{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})}),Wt(()=>l&&l.disconnect());function d(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"),T=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:d,showFacets:m,showMap:v,showTable:T,showCharts:x}}function L_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}gt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{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 P_(e){var x;const t=d_();t.configureHierarchy(e);const o=f_(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(()=>C_(e.kpis,s.value,o.rows.value||[],n,e)),l=T_(t);L_(t);const i=o.sourceId||jt.activeSource,c=((x=jt.sources)==null?void 0:x[i])||{},u=new mu,d=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return d.value}}}},{labelFor:v}=Wn(e,m,i),T=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),xt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:T,responsive:l}}const N_={facetW:296,railW:264,tableH:"34%",mapH:360},I_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400]},Tt=(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 F_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...N_,...e.defaults||{}},l={...I_,...e.clamps||{}},i=ue(a.facetW),c=ue(a.railW),u=ue(a.tableH),d=ue(a.mapH),m=ue(!1),v=ue(!1),T=()=>!!pe(n),x=()=>!!pe(r);function w(){const R=t&&t.value;R&&(m.value&&(R.style.setProperty("--facet-w",i.value+"px"),R.style.setProperty("--rail-w",c.value+"px"),R.style.setProperty("--table-h",u.value)),v.value&&R.style.setProperty("--rd-map-h",d.value+"px"))}function L(){const R=t&&t.value;R&&(R.style.removeProperty("--facet-w"),R.style.removeProperty("--rail-w"),R.style.removeProperty("--table-h"),R.style.removeProperty("--rd-map-h"))}function y(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:d.value}))}catch{}}function p(){try{const R=localStorage.getItem(s);if(!R)return!1;const j=JSON.parse(R);return Number.isFinite(j.facetW)&&(i.value=Tt(j.facetW,l.facetW)),Number.isFinite(j.railW)&&(c.value=Tt(j.railW,l.railW)),j.tableH!=null&&(u.value=Tt(Kr(j.tableH,Kr(a.tableH,34)),l.tableH)+"%"),m.value=!0,Number.isFinite(j.mapH)&&(d.value=Tt(j.mapH,l.mapH),v.value=!0),!0}catch{return!1}}function g(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,d.value=a.mapH,m.value=!1,v.value=!1,L()}const _=ue(!1);function S(){if(_.value)return;_.value=!0;const R=t&&t.value;if(R&&R.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function $(){if(!_.value)return;_.value=!1;const R=t&&t.value;if(R&&R.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function O(R,j){if(T())return;const A=t&&t.value;if(!A)return;j.preventDefault();const z=A.getBoundingClientRect(),te=j.clientX,D=i.value,oe=c.value,fe=j.currentTarget,_e=R==="table"&&x();let ke=0;if(_e){const Ie=A.querySelector('[data-region="map"]'),b=Ie?Ie.getBoundingClientRect():null;ke=b?b.top:j.clientY-d.value}try{fe&&fe.setPointerCapture&&fe.setPointerCapture(j.pointerId)}catch{}S();let Se=0,ge=null;function de(){if(Se=0,!ge)return;const Ie=ge;if(ge=null,R==="facet")i.value=Math.round(Tt(D+(Ie.clientX-te),l.facetW)),m.value=!0;else if(R==="rail")c.value=Math.round(Tt(oe-(Ie.clientX-te),l.railW)),m.value=!0;else if(_e)d.value=Math.round(Tt(Ie.clientY-ke,l.mapH)),v.value=!0;else if(R==="table"){const b=(z.bottom-Ie.clientY)/z.height*100;u.value=Math.round(Tt(b,l.tableH))+"%",m.value=!0}w()}function ye(Ie){ge={clientX:Ie.clientX,clientY:Ie.clientY},Se||(Se=requestAnimationFrame(de))}function Ne(Ie){window.removeEventListener("pointermove",ye),window.removeEventListener("pointerup",Ne),window.removeEventListener("pointercancel",Ne),Se&&(cancelAnimationFrame(Se),Se=0),de();try{fe&&fe.releasePointerCapture&&fe.releasePointerCapture(Ie.pointerId)}catch{}y(),$()}window.addEventListener("pointermove",ye),window.addEventListener("pointerup",Ne),window.addEventListener("pointercancel",Ne)}const N=R=>O("facet",R),V=R=>O("rail",R),ee=R=>O("table",R),re={facet:16,rail:16,table:24,mapH:24};function be(R,j,A){if(!T()){if(R==="facet")i.value=A?j<0?l.facetW[0]:l.facetW[1]:Math.round(Tt(i.value+j*re.facet,l.facetW)),m.value=!0;else if(R==="rail")c.value=A?j<0?l.railW[1]:l.railW[0]:Math.round(Tt(c.value-j*re.rail,l.railW)),m.value=!0;else if(R==="table"&&x())d.value=A?j<0?l.mapH[0]:l.mapH[1]:Math.round(Tt(d.value+j*re.mapH,l.mapH)),v.value=!0;else if(R==="table"){const z=A?j<0?l.tableH[0]:l.tableH[1]:Tt(Kr(u.value,Kr(a.tableH,34))-j*re.table/4,l.tableH);u.value=Math.round(z)+"%",m.value=!0}w(),y()}}function q(R,j){const A=j.key;let z=0;if(R==="table"?A==="ArrowUp"?z=-1:A==="ArrowDown"&&(z=1):A==="ArrowLeft"?z=-1:A==="ArrowRight"&&(z=1),z){j.preventDefault(),be(R,z);return}(A==="Home"||A==="End")&&(j.preventDefault(),be(R,A==="Home"?-1:1,!0))}let J=null;return xt(()=>{p()&&w(),o&&typeof o.on=="function"&&(J=o.on("resetLayout",g))}),Wt(()=>{try{J&&J()}catch{}try{$()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:d,customized:m,resizing:_,startFacetResize:N,startRailResize:V,startTableResize:ee,startResize:O,reset:g,applyVars:w,stepResize:be,onResizeKeydown:q}}const R_=".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))}",M_=["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)=>(W(),Y("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=P("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),P("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,M_)],4))}},[["styles",[R_]]]),O_=["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 Et(` +`&&i++,r||a.length>0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const d={};n.forEach((m,v)=>{d[m]=a[v]||""}),o.push(d)}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,d]of Object.entries(a))s.push(`${u}=${encodeURIComponent(d)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const d=u.headers.get("content-type")||"";if(!d.includes("application/json"))throw new Error(`API returned "${d}" 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(d=>this.getFieldValue(n,d));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,d)=>u+(Number(d[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],d=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&d.add(v)}),a=d.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function P_(e){const t=ce(null),o=ce(!1),n=ce(!1),r=ce(!1),s=ce("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ce(!1),c=ce(!1),u=ce(!1);wt(()=>{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 d(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"),C=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:d,showFacets:m,showMap:v,showTable:C,showCharts:x}}function N_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}gt(()=>({...e.filterSet}),t,{deep:!0}),wt(()=>{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),_=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!L.length&&!_?w:w.filter(g=>L.every(y=>{const S=n[y];return S?S(g)===t.filterSet[y]:!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,d=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return d.value}}}},{labelFor:v}=Wn(e,m,i),C=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),wt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:C,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,vt=(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=ce(a.facetW),c=ce(a.railW),u=ce(a.tableH),d=ce(a.mapH),m=ce(a.shellH),v=ce(!1),C=ce(!1),x=ce(!1),w=()=>!!de(n),L=()=>!!de(r);function _(){const P=t&&t.value;P&&(v.value&&(P.style.setProperty("--facet-w",i.value+"px"),P.style.setProperty("--rail-w",c.value+"px"),P.style.setProperty("--table-h",u.value)),C.value&&P.style.setProperty("--rd-map-h",d.value+"px"),x.value&&P.style.setProperty("--rd-shell-h",m.value+"px"))}function p(){const P=t&&t.value;P&&(P.style.removeProperty("--facet-w"),P.style.removeProperty("--rail-w"),P.style.removeProperty("--table-h"),P.style.removeProperty("--rd-map-h"),P.style.removeProperty("--rd-shell-h"))}function g(){try{localStorage.setItem(s,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:d.value,shellH:m.value}))}catch{}}function y(){try{const P=localStorage.getItem(s);if(!P)return!1;const B=JSON.parse(P);return Number.isFinite(B.facetW)&&(i.value=vt(B.facetW,l.facetW)),Number.isFinite(B.railW)&&(c.value=vt(B.railW,l.railW)),B.tableH!=null&&(u.value=vt(Kr(B.tableH,Kr(a.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(B.shellH)&&(m.value=vt(B.shellH,l.shellH),x.value=!0),Number.isFinite(B.mapH)&&(d.value=vt(B.mapH,l.mapH),C.value=!0),!0}catch{return!1}}function S(){try{localStorage.removeItem(s)}catch{}i.value=a.facetW,c.value=a.railW,u.value=a.tableH,d.value=a.mapH,m.value=a.shellH,v.value=!1,C.value=!1,x.value=!1,p()}const $=ce(!1);function D(){if($.value)return;$.value=!0;const P=t&&t.value;if(P&&P.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function I(){if(!$.value)return;$.value=!1;const P=t&&t.value;if(P&&P.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function H(P,B){if(w())return;const F=t&&t.value;if(!F)return;B.preventDefault();const X=F.getBoundingClientRect(),fe=B.clientX,_e=i.value,$e=c.value,Ee=B.currentTarget,Te=P==="table"&&L(),ke=P==="shell"&&L();let me=0,pe=l.mapH[1];if(Te){const J=F.querySelector('[data-region="map"]'),j=J?J.getBoundingClientRect():null;me=j?j.top:B.clientY-d.value,pe=Math.max(l.mapH[0],m.value-(yu+vu))}const ve=ke?X.top:0;try{Ee&&Ee.setPointerCapture&&Ee.setPointerCapture(B.pointerId)}catch{}D();let b=0,A=null;function k(){if(b=0,!A)return;const J=A;if(A=null,P==="facet")i.value=Math.round(vt(_e+(J.clientX-fe),l.facetW)),v.value=!0;else if(P==="rail")c.value=Math.round(vt($e-(J.clientX-fe),l.railW)),v.value=!0;else if(Te)d.value=Math.round(vt(J.clientY-me,[l.mapH[0],pe])),C.value=!0;else if(P==="table"){const j=(X.bottom-J.clientY)/X.height*100;u.value=Math.round(vt(j,l.tableH))+"%",v.value=!0}else ke&&(m.value=Math.round(vt(J.clientY-ve,l.shellH)),x.value=!0);_()}function G(J){A={clientX:J.clientX,clientY:J.clientY},b||(b=requestAnimationFrame(k))}function W(J){window.removeEventListener("pointermove",G),window.removeEventListener("pointerup",W),window.removeEventListener("pointercancel",W),b&&(cancelAnimationFrame(b),b=0),k();try{Ee&&Ee.releasePointerCapture&&Ee.releasePointerCapture(J.pointerId)}catch{}g(),I()}window.addEventListener("pointermove",G),window.addEventListener("pointerup",W),window.addEventListener("pointercancel",W)}const ne=P=>H("facet",P),se=P=>H("rail",P),be=P=>H("table",P),q=P=>H("shell",P),ee={facet:16,rail:16,table:24,mapH:24,shellH:24};function Y(P,B,F){if(!w()){if(P==="facet")i.value=F?B<0?l.facetW[0]:l.facetW[1]:Math.round(vt(i.value+B*ee.facet,l.facetW)),v.value=!0;else if(P==="rail")c.value=F?B<0?l.railW[1]:l.railW[0]:Math.round(vt(c.value-B*ee.rail,l.railW)),v.value=!0;else if(P==="table"&&L()){const X=Math.max(l.mapH[0],m.value-(yu+vu));d.value=F?B<0?l.mapH[0]:X:Math.round(vt(d.value+B*ee.mapH,[l.mapH[0],X])),C.value=!0}else if(P==="table"){const X=F?B<0?l.tableH[0]:l.tableH[1]:vt(Kr(u.value,Kr(a.tableH,34))-B*ee.table/4,l.tableH);u.value=Math.round(X)+"%",v.value=!0}else P==="shell"&&L()&&(m.value=F?B<0?l.shellH[0]:l.shellH[1]:Math.round(vt(m.value+B*ee.shellH,l.shellH)),x.value=!0);_(),g()}}function K(P,B){const F=B.key;let X=0;if(P==="table"||P==="shell"?F==="ArrowUp"?X=-1:F==="ArrowDown"&&(X=1):F==="ArrowLeft"?X=-1:F==="ArrowRight"&&(X=1),X){B.preventDefault(),Y(P,X);return}(F==="Home"||F==="End")&&(B.preventDefault(),Y(P,F==="Home"?-1:1,!0))}let T=null;return wt(()=>{y()&&_(),o&&typeof o.on=="function"&&(T=o.on("resetLayout",S))}),Kt(()=>{try{T&&T()}catch{}try{I()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:d,shellH:m,customized:v,resizing:$,startFacetResize:ne,startRailResize:se,startTableResize:be,startShellResize:q,startResize:H,reset:S,applyVars:_,stepResize:Y,onResizeKeydown:K}}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(),Z("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; @@ -95,7 +95,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,o)=>(W(),Y("button",{class:je(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Oo(t.$slots,"default")],10,O_))}},D_=["aria-label"],j_={class:"mcm-header"},z_={class:"mcm-title"},U_={class:"mcm-body"},B_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Aa="doxa-map-menu-open",G_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Et(` +`,"map-control-button"),(t,o)=>(V(),Z("button",{class:je(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Oo(t.$slots,"default")],10,j_))}},z_=["aria-label"],U_={class:"mcm-header"},B_={class:"mcm-title"},G_={class:"mcm-body"},q_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Aa="doxa-map-menu-open",H_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){At(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -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=Re("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var O;const v=(O=r==null?void 0:r.el)==null?void 0:O.value,T=s.value;if(!v||!T){l.value={};return}const x=T.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")}gt(()=>o.open,async v=>{var T;if(v){await $n(),i();try{(T=s.value)==null||T.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function d(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const T=v.composedPath?v.composedPath():[v.target];a.value&&T.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&T.includes(r.el.value)||T.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 xt(()=>{var v,T,x;s.value=((T=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:T.closest(B_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",d)}),Wt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",d)}),(v,T)=>(W(),wo(Nd,{to:s.value,disabled:!s.value},[e.open?(W(),Y("div",{key:0,ref_key:"el",ref:a,class:je(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[P("div",j_,[P("span",z_,ce(e.title),1),P("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:T[0]||(T[0]=x=>n("close"))},[...T[1]||(T[1]=[P("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[P("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),P("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),P("div",U_,[Oo(v.$slots,"default")])],14,D_)):Pe("",!0)],8,["to","disabled"]))}},q_={class:"share-steps"},H_={class:"share-tabs"},V_={key:0,class:"share-body"},W_={class:"share-url-box"},K_={class:"share-url-text"},Y_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},X_={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"},J_={key:1,class:"share-body"},Z_={class:"share-size-pills"},Q_=["onClick"],ey={class:"share-code-box"},ty={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},oy={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"},ny={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Et(` +`,"map-control-menu");const o=e,n=t,r=Re("mapToolbar",null),s=ce(null),a=ce(null),l=ce({});function i(){var D;const v=(D=r==null?void 0:r.el)==null?void 0:D.value,C=s.value;if(!v||!C){l.value={};return}const x=C.getBoundingClientRect(),w=v.getBoundingClientRect(),L=(w.left+w.right)/2>(x.left+x.right)/2,_=8,p=12,g=L?x.right-w.left+_: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(y)}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")}gt(()=>o.open,async v=>{var C;if(v){await $n(),i();try{(C=s.value)==null||C.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function d(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const C=v.composedPath?v.composedPath():[v.target];a.value&&C.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&C.includes(r.el.value)||C.some(w=>{var L,_,p,g;return((_=(L=w==null?void 0:w.classList)==null?void 0:L.contains)==null?void 0:_.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 wt(()=>{var v,C,x;s.value=((C=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:C.closest(q_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",d)}),Kt(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",d)}),(v,C)=>(V(),wo(Fd,{to:s.value,disabled:!s.value},[e.open?(V(),Z("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_,ue(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:C[0]||(C[0]=x=>n("close"))},[...C[1]||(C[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); @@ -364,7 +364,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),d=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},T=Re("profileConfig",null),x=le(()=>qb({embedPath:r.embedPath,profileConfig:pe(T)||null})),w=le(()=>{const V=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,d.value=!1)}function y(){a.value=!1}async function p(V){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(V),!0}catch{}try{const ee=document.createElement("textarea");ee.value=V,ee.setAttribute("readonly",""),ee.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(ee),ee.select();const re=document.execCommand("copy");return document.body.removeChild(ee),re}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const S=Re("mapToolbar",null),$=ue(null);ro("mapToolbar",S||{el:$});const O=!S;function N(V){if(s.value=V||null,!O||!V){V||($.value=null);return}const ee=V.offsetParent||V.parentElement;ee&&!ee.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&ee.setAttribute("data-map-area","share-fallback"),$.value=V}return(V,ee)=>(W(),Y("div",{ref:N,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:pe(t)("buttons.share"),onClick:L},{default:vo(()=>[...ee[2]||(ee[2]=[P("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"},[P("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),P("polyline",{points:"16 6 12 2 8 6"}),P("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Me(G_,{open:a.value,title:pe(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:vo(()=>[P("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[P("ul",q_,[(W(!0),Y($e,null,Ye(pe(o)("buttons.shareSteps"),(re,be)=>(W(),Y("li",{key:be},ce(pe(n)(re)),1))),128))]),P("div",H_,[P("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:ee[0]||(ee[0]=re=>c.value="link")},"Embed link",2),P("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:ee[1]||(ee[1]=re=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(W(),Y("div",V_,[P("div",W_,[P("div",K_,ce(x.value),1)]),P("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(W(),Y("svg",X_,[...ee[4]||(ee[4]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(W(),Y("svg",Y_,[...ee[3]||(ee[3]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("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(" "+ce(u.value?"Copied!":"Copy Link"),1)],2)])):Pe("",!0),c.value==="embed"?(W(),Y("div",J_,[ee[7]||(ee[7]=P("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),P("div",Z_,[(W(),Y($e,null,Ye(v,(re,be)=>P("button",{key:be,class:je(["share-size-pill",{active:m.value===be}]),onClick:q=>m.value=be},ce(re.label),11,Q_)),64))]),P("div",ey,ce(w.value),1),P("button",{class:je(["share-secondary-btn",{copied:d.value}]),onClick:_},[d.value?(W(),Y("svg",oy,[...ee[6]||(ee[6]=[P("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(W(),Y("svg",ty,[...ee[5]||(ee[5]=[P("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),P("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(" "+ce(d.value?"Copied!":"Copy Code"),1)],2)])):Pe("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},bo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ry=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yr(e,t){const o=Vr(e);return o&&o.propertyKey===t?o:null}function sy(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 ay(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,d]of a)d>i?(l=u,i=d,c=!1):d===i&&(c=!0);r.set(s,l&&!c?vu("wagf_region",l):bo)}return r}function ly(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((d,m)=>d+m.value,0)||1;let u=-Math.PI/2;return e.map((d,m)=>{const v=u,T=u+d.value/c*Math.PI*2;u=T;const x=T-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(T,l)} L${w(T,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...d,path:L,pct:Math.round(d.value/c*100),color:yu(n,d.key,r)}})}function iy(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:yu(t,r.key,o)}))}function yu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return vu(e,t)}function vu(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||kt,r=o&&o.families||Uo;return n[sy(t,r)]||bo}if(e==="wagf_region"){const o=Yr(mo.DOXA_REGION,"doxaRegion");if(!o)return bo;const n=o.slugColors&&o.slugColors[ry(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 cy={class:"rd-left"},uy={class:"rd-brand"},dy={class:"rd-ttl"},fy={class:"rd-filter-search","data-filter-search":""},py={key:0,class:"rd-search","data-search":""},gy=["data-slug"],hy={class:"nm"},my={class:"sub"},by={key:1,class:"rd-empty"},_y=["onKeydown"],yy="research-dashboard/research-dashboard/index.html",vy={__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),d=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,d.value=0)}function T(){u.value=!0,d.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),d.value=(d.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),d.value=(d.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[d.value])):p.key==="Escape"&&(c.value="",u.value=!1,d.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(O=>O.slug===_);S&&v(S)}const L=ue(null);function y(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return xt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Wt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),Et(` +`,"share-button");const{t,tm:o,rt:n}=an(),r=e,s=ce(null),a=ce(!1),l=ce(null),i=ce(null),c=ce("link"),u=ce(!1),d=ce(!1),m=ce("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},C=Re("profileConfig",null),x=le(()=>Vb({embedPath:r.embedPath,profileConfig:de(C)||null})),w=le(()=>{const H=v[m.value].height;return''});function L(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,d.value=!1)}function _(){a.value=!1}async function p(H){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(H),!0}catch{}try{const ne=document.createElement("textarea");ne.value=H,ne.setAttribute("readonly",""),ne.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(ne),ne.select();const se=document.execCommand("copy");return document.body.removeChild(ne),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function y(){await p(w.value)&&(d.value=!0,setTimeout(()=>{d.value=!1},2e3))}const S=Re("mapToolbar",null),$=ce(null);ro("mapToolbar",S||{el:$});const D=!S;function I(H){if(s.value=H||null,!D||!H){H||($.value=null);return}const ne=H.offsetParent||H.parentElement;ne&&!ne.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&ne.setAttribute("data-map-area","share-fallback"),$.value=H}return(H,ne)=>(V(),Z("div",{ref:I,class:"share-wrap","data-share-root":""},[Me(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:de(t)("buttons.share"),onClick:L},{default:vo(()=>[...ne[2]||(ne[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:de(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:vo(()=>[N("div",{ref_key:"popoverEl",ref:l,class:je(["share-pop",{light:!e.isDark}])},[N("ul",V_,[(V(!0),Z(Se,null,Ye(de(o)("buttons.shareSteps"),(se,be)=>(V(),Z("li",{key:be},ue(de(n)(se)),1))),128))]),N("div",W_,[N("button",{class:je(["share-tab",{active:c.value==="link"}]),onClick:ne[0]||(ne[0]=se=>c.value="link")},"Embed link",2),N("button",{class:je(["share-tab",{active:c.value==="embed"}]),onClick:ne[1]||(ne[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),Z("div",K_,[N("div",Y_,[N("div",X_,ue(x.value),1)]),N("button",{class:je(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),Z("svg",Z_,[...ne[4]||(ne[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),Z("svg",J_,[...ne[3]||(ne[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(" "+ue(u.value?"Copied!":"Copy Link"),1)],2)])):Ie("",!0),c.value==="embed"?(V(),Z("div",Q_,[ne[7]||(ne[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(),Z(Se,null,Ye(v,(se,be)=>N("button",{key:be,class:je(["share-size-pill",{active:m.value===be}]),onClick:q=>m.value=be},ue(se.label),11,ty)),64))]),N("div",oy,ue(w.value),1),N("button",{class:je(["share-secondary-btn",{copied:d.value}]),onClick:y},[d.value?(V(),Z("svg",ry,[...ne[6]||(ne[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),Z("svg",ny,[...ne[5]||(ne[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(" "+ue(d.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,d]of a)d>i?(l=u,i=d,c=!1):d===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((d,m)=>d+m.value,0)||1;let u=-Math.PI/2;return e.map((d,m)=>{const v=u,C=u+d.value/c*Math.PI*2;u=C;const x=C-v>Math.PI?1:0,w=(_,p)=>`${(s+p*Math.cos(_)).toFixed(2)},${(a+p*Math.sin(_)).toFixed(2)}`,L=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(C,l)} L${w(C,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...d,path:L,pct:Math.round(d.value/c*100),color:xu(n,d.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=ce(""),u=ce(!1),d=ce(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)||[],y=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(y.push($),y.length>=8))break;return y});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,d.value=0)}function C(){u.value=!0,d.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),d.value=(d.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),d.value=(d.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[d.value])):p.key==="Escape"&&(c.value="",u.value=!1,d.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const y=g.getAttribute("data-slug"),S=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(D=>D.slug===y);S&&v(S)}const L=ce(null);function _(p){L.value&&!L.value.contains(p.target)&&(u.value=!1)}return wt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",_)}catch{}}),Kt(()=>{var p,g;try{(g=(p=L.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",_)}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 +406,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)=>(W(),Y("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[P("div",cy,[P("span",uy,[P("span",dy,[nt(ce(pe(n).title||"Research Dashboard"),1),g[1]||(g[1]=P("span",{class:"dot"},".",-1))])])]),P("div",fy,[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]=P("span",{class:"rd-spacer"},null,-1)),r.value?(W(),Y("div",py,[g[2]||(g[2]=P("span",{class:"ic"},"⌕",-1)),Rt(P("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:T,onFocus:T,onKeydown:x},null,544),[[op,c.value]]),u.value&&c.value.trim().length>=2?(W(),Y("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(W(!0),Y($e,{key:0},Ye(m.value,(_,S)=>(W(),Y("div",{key:_.slug,class:je(["rd-res",{on:S===d.value}]),"data-slug":_.slug},[P("span",hy,ce(_.name),1),P("span",my,ce(pe(Qe)(_.country_code))+" · "+ce(pe(Qe)(_.religion)),1)],10,gy))),128)):(W(),Y("div",by,"No people groups match “"+ce(c.value.trim())+"”.",1))])):Pe("",!0)])):Pe("",!0),P("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,_y),Me(ny,{"embed-path":yy})],512))}},Lo="#c4c8c0";function xy(e,t){const o=Vr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const wy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function ky(){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=xy(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[wy(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"&&kt[s]||Lo}return{colorFor:t,NEUTRAL:Lo}}const $y={class:"rd-facets","data-region":"facets"},Sy={class:"fr-head"},Ey={class:"fr-scope","data-scope-count":""},Ay=["data-facet-section"],Cy=["onClick"],Ty={class:"fr-rows"},Ly=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Py=["data-expand","data-expand-value","aria-expanded","aria-label"],Ny={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Iy={class:"fr-lbl"},Fy={class:"fr-bar"},Ry={class:"fr-cnt"},My={key:3,class:"fr-donly","aria-hidden":"true"},Oy={__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(([A,z])=>[A,z.get])),i=new Set(Object.entries(n.facets||{}).filter(([,A])=>A&&A.dashboardOnly).map(([A])=>A)),c=Yn(o,Kn(n));function u(A){var oe,fe;const z=((oe=t==null?void 0:t.rows)==null?void 0:oe.value)||[],te=Object.keys(a).filter(_e=>!A.includes(_e)),D=!!(((fe=o==null?void 0:o.searchTerm)==null?void 0:fe.value)||"").trim();return!te.length&&!D?z:z.filter(_e=>te.every(ke=>{const Se=l[ke];return Se?Se(_e)===a[ke]:!0})&&c(_e))}const d=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(A=>[A.id,d.has(A.id)])));function v(A){m[A]=!m[A]}const T=No({}),x=(A,z)=>A+":"+z;function w(A,z){const te=x(A,z);T[te]=!L(A,z)}function L(A,z){const te=x(A,z);return te in T?T[te]:a[A]===z}function y(A,z,te){const D=A.reduce((oe,fe)=>Math.max(oe,fe.value),0)||1;return A.map(oe=>({facet:z,value:oe.key,label:oe.key,count:oe.value,frac:oe.value/D,level:te,other:!!oe.other,active:!oe.other&&a[z]===oe.key,dashboardOnly:i.has(z)}))}const p=new Map;function g(A,z,te){if(te)return p.set(A,z.map(de=>({...de,count:0,frac:0,active:!1,expanded:!1}))),z;const D=p.get(A);if(!D)return z;const oe=de=>de.facet+":"+de.value,fe=new Set(z.map(oe));if(!D.filter(de=>!fe.has(oe(de))).length)return z;const ke=new Map;let Se="";for(const de of D){const ye=oe(de);if(fe.has(ye)){Se=ye;continue}ke.has(Se)||ke.set(Se,[]),ke.get(Se).push({...de,zero:!0})}const ge=[];for(const de of ke.get("")||[])ge.push(de);for(let de=0;deye.level;)ge.push(z[++de]);for(const Ie of Ne)ge.push(Ie)}}return ge}function _(A,z){return y(Ca(u([A]),l[A],z??24),A,0)}function S(A,z){const te=[],D=(oe,fe)=>{const _e=A[oe],ke=(z&&z[oe])??(oe===A.length-1?40:30);let Se=u(A.slice(oe));fe.length&&(Se=Se.filter(de=>fe.every(([ye,Ne])=>{const Ie=l[ye];return Ie?Ie(de)===Ne:!0})));const ge=y(Ca(Se,l[_e],ke),_e,oe);for(const de of ge)de.hasChildren=!de.other&&oe{var te;const A=new Map,z=n.facets&&n.facets.religion_family;if(!z||!z.famKey)return A;for(const D of((te=t==null?void 0:t.rows)==null?void 0:te.value)||[]){const oe=z.get(D);oe&&!A.has(oe)&&A.set(oe,z.famKey(D))}return A}),re=le(()=>{var A;return!Object.keys(a).length&&!(((A=o==null?void 0:o.searchTerm)==null?void 0:A.value)||"").trim()}),be=le(()=>(n.facetRail||[]).map(A=>{let z=A.drill?S(A.drill,A.topN):_(A.facet,A.topN);if(z=g(A.id,z,re.value),A.tree==="affinity"){const te=O.value;z=z.map(D=>D.other?D:{...D,label:te[D.facet]&&te[D.facet].get(D.value)||D.label})}return z=V(z,A.axis,ee.value),{id:A.id,title:A.title,axis:A.axis,rows:$(z)}})),q=le(()=>{var te;const A=((te=t==null?void 0:t.rows)==null?void 0:te.value)||[],z=Object.keys(a);return z.length?A.filter(D=>z.every(oe=>{const fe=l[oe];return fe?fe(D)===a[oe]:!0})).length:A.length});function J(A){const z=A.target;if(!z||!z.closest)return;const te=z.closest("[data-expand]");if(te){const _e=te.getAttribute("data-expand"),ke=te.getAttribute("data-expand-value");_e&&ke!=null&&(A.stopPropagation(),w(_e,ke));return}const D=z.closest("[data-facet]");if(!D||!o)return;const oe=D.getAttribute("data-facet"),fe=D.getAttribute("data-value");!oe||!fe||o.setFilter(oe,a[oe]===fe?null:fe)}function R(A){if(A.key!=="Enter"&&A.key!==" "&&A.key!=="Spacebar")return;const z=A.target&&A.target.closest?A.target.closest("[data-facet]"):null;if(!z||!o)return;A.preventDefault();const te=z.getAttribute("data-facet"),D=z.getAttribute("data-value");!te||!D||o.setFilter(te,a[te]===D?null:D)}const j=ue(null);return xt(()=>{o&&o.on("mapFocus",({value:A}={})=>{if(!A||!j.value)return;const te=[...j.value.querySelectorAll(".fr-row")].find(D=>D.textContent&&D.textContent.includes(A));te&&(j.value.scrollTop=Math.max(0,te.offsetTop-8))})}),Et(` +`,"rd-topbar"),(p,g)=>(V(),Z("header",{ref_key:"rootEl",ref:L,class:"rd-topbar","data-region":"topbar"},[N("div",dy,[N("span",fy,[N("span",py,[nt(ue(de(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(),Z("div",hy,[g[2]||(g[2]=N("span",{class:"ic"},"⌕",-1)),Tt(N("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=y=>c.value=y),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:C,onFocus:C,onKeydown:x},null,544),[[rp,c.value]]),u.value&&c.value.trim().length>=2?(V(),Z("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),Z(Se,{key:0},Ye(m.value,(y,S)=>(V(),Z("div",{key:y.slug,class:je(["rd-res",{on:S===d.value}]),"data-slug":y.slug},[N("span",by,ue(y.name),1),N("span",_y,ue(de(Qe)(y.country_code))+" · "+ue(de(Qe)(y.religion)),1)],10,my))),128)):(V(),Z("div",yy,"No people groups match “"+ue(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,P])=>[T,P.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 X,fe;const P=((X=t==null?void 0:t.rows)==null?void 0:X.value)||[],B=Object.keys(a).filter(_e=>!T.includes(_e)),F=!!(((fe=o==null?void 0:o.searchTerm)==null?void 0:fe.value)||"").trim();return!B.length&&!F?P:P.filter(_e=>B.every($e=>{const Ee=l[$e];return Ee?Ee(_e)===a[$e]:!0})&&c(_e))}const d=new Set(["people","place","language","religion"]),m=No(Object.fromEntries((n.facetRail||[]).map(T=>[T.id,d.has(T.id)])));function v(T){m[T]=!m[T]}const C=No({}),x=(T,P)=>T+":"+P;function w(T,P){const B=x(T,P);C[B]=!L(T,P)}function L(T,P){const B=x(T,P);return B in C?C[B]:a[T]===P}function _(T,P,B){const F=T.reduce((X,fe)=>Math.max(X,fe.value),0)||1;return T.map(X=>({facet:P,value:X.key,label:X.key,count:X.value,frac:X.value/F,level:B,other:!!X.other,active:!X.other&&a[P]===X.key,dashboardOnly:i.has(P)}))}const p=new Map;function g(T,P,B){if(B)return p.set(T,P.map(ke=>({...ke,count:0,frac:0,active:!1,expanded:!1}))),P;const F=p.get(T);if(!F)return P;const X=ke=>ke.facet+":"+ke.value,fe=new Set(P.map(X));if(!F.filter(ke=>!fe.has(X(ke))).length)return P;const $e=new Map;let Ee="";for(const ke of F){const me=X(ke);if(fe.has(me)){Ee=me;continue}$e.has(Ee)||$e.set(Ee,[]),$e.get(Ee).push({...ke,zero:!0})}const Te=[];for(const ke of $e.get("")||[])Te.push(ke);for(let ke=0;keme.level;)Te.push(P[++ke]);for(const ve of pe)Te.push(ve)}}return Te}function y(T,P){return _(Ca(u([T]),l[T],P??24),T,0)}function S(T,P){const B=[],F=(X,fe)=>{const _e=T[X],$e=(P&&P[X])??(X===T.length-1?40:30);let Ee=u(T.slice(X));fe.length&&(Ee=Ee.filter(ke=>fe.every(([me,pe])=>{const ve=l[me];return ve?ve(ke)===pe:!0})));const Te=_(Ca(Ee,l[_e],$e),_e,X);for(const ke of Te)ke.hasChildren=!ke.other&&X{var B;const T=new Map,P=n.facets&&n.facets.religion_family;if(!P||!P.famKey)return T;for(const F of((B=t==null?void 0:t.rows)==null?void 0:B.value)||[]){const X=P.get(F);X&&!T.has(X)&&T.set(X,P.famKey(F))}return T}),se=le(()=>{var T;return!Object.keys(a).length&&!(((T=o==null?void 0:o.searchTerm)==null?void 0:T.value)||"").trim()}),be=le(()=>(n.facetRail||[]).map(T=>{let P=T.drill?S(T.drill,T.topN):y(T.facet,T.topN);if(P=g(T.id,P,se.value),T.tree==="affinity"){const B=D.value;P=P.map(F=>F.other?F:{...F,label:B[F.facet]&&B[F.facet].get(F.value)||F.label})}return P=H(P,T.axis,ne.value),{id:T.id,title:T.title,axis:T.axis,rows:$(P)}})),q=le(()=>{var B;const T=((B=t==null?void 0:t.rows)==null?void 0:B.value)||[],P=Object.keys(a);return P.length?T.filter(F=>P.every(X=>{const fe=l[X];return fe?fe(F)===a[X]:!0})).length:T.length});function ee(T){const P=T.target;if(!P||!P.closest)return;const B=P.closest("[data-expand]");if(B){const _e=B.getAttribute("data-expand"),$e=B.getAttribute("data-expand-value");_e&&$e!=null&&(T.stopPropagation(),w(_e,$e));return}const F=P.closest("[data-facet]");if(!F||!o)return;const X=F.getAttribute("data-facet"),fe=F.getAttribute("data-value");!X||!fe||o.setFilter(X,a[X]===fe?null:fe)}function Y(T){if(T.key!=="Enter"&&T.key!==" "&&T.key!=="Spacebar")return;const P=T.target&&T.target.closest?T.target.closest("[data-facet]"):null;if(!P||!o)return;T.preventDefault();const B=P.getAttribute("data-facet"),F=P.getAttribute("data-value");!B||!F||o.setFilter(B,a[B]===F?null:F)}const K=ce(null);return wt(()=>{o&&o.on("mapFocus",({value:T}={})=>{if(!T||!K.value)return;const B=[...K.value.querySelectorAll(".fr-row")].find(F=>F.textContent&&F.textContent.includes(T));B&&(K.value.scrollTop=Math.max(0,B.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 +481,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"),(A,z)=>(W(),Y("aside",$y,[P("div",Sy,[z[1]||(z[1]=P("div",{class:"fr-title"},"Tree Legend",-1)),P("div",Ey,[P("b",null,ce(q.value.toLocaleString("en-US")),1),z[0]||(z[0]=nt(" groups in scope",-1))])]),P("div",{class:"fr-body",ref_key:"railEl",ref:j,onClick:J,onKeydown:R},[(W(!0),Y($e,null,Ye(be.value,te=>(W(),Y("div",{key:te.id,class:"fr-sec","data-facet-section":te.id},[P("div",{class:je(["fr-sech",{closed:!m[te.id]}]),onClick:en(D=>v(te.id),["stop"])},[P("span",null,ce(te.title),1),z[2]||(z[2]=P("span",{class:"chev"},"▾",-1))],10,Cy),Rt(P("div",Ty,[(W(!0),Y($e,null,Ye(te.rows,D=>(W(),Y("div",{key:D.facet+":"+D.value,class:je(["fr-row",["l"+D.level,{on:D.active,other:D.other,zero:D.zero,inert:D.other||D.zero,"dash-only":D.dashboardOnly}]]),"data-facet":D.other||D.zero?null:D.facet,"data-value":D.other||D.zero?null:D.value,tabindex:D.other||D.zero?null:0,role:D.other||D.zero?null:"button","aria-pressed":D.other||D.zero?null:D.active?"true":"false","aria-label":D.other||D.zero?null:(D.active?"Remove filter ":"Filter by ")+D.label+", "+D.count.toLocaleString("en-US")+" groups"+(D.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:D.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+D.label:null},[(W(!0),Y($e,null,Ye(D.trunks,(oe,fe)=>(W(),Y("span",{key:"tr"+fe,class:je(["fr-trunk","fr-trunk-"+oe])},null,2))),128)),D.hasChildren?(W(),Y("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:D.expanded}]),"data-expand":D.facet,"data-expand-value":D.value,"aria-expanded":D.expanded?"true":"false","aria-label":(D.expanded?"Collapse ":"Expand ")+D.label},[...z[3]||(z[3]=[P("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Py)):(W(),Y("span",Ny)),D.swatch?(W(),Y("span",{key:2,class:"fr-sw",style:it({background:D.swatch}),"aria-hidden":"true"},null,4)):Pe("",!0),P("span",Iy,ce(D.label),1),P("span",Fy,[P("i",{style:it({width:Math.max(4,D.frac*100)+"%"})},null,4)]),P("span",Ry,ce(D.count.toLocaleString("en-US")),1),D.dashboardOnly?(W(),Y("span",My,"◐")):Pe("",!0)],10,Ly))),128))],512),[[Jt,m[te.id]]])],8,Ay))),128))],544)]))}},Dy=["data-sel-count"],jy=["data-collapsed"],zy=["title","aria-expanded"],Uy={class:"ct","data-table-count":""},By={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Gy=["aria-pressed"],qy=["aria-pressed"],Hy={key:2,class:"rd-toast","data-export-toast":""},Vy=["aria-busy","title","onKeydown"],Wy={key:0,class:"rd-csv-n"},Ky=["data-sort-by","aria-rowcount"],Yy={class:"rd-thead",role:"row"},Xy=["title"],Jy=["checked","aria-label"],Zy=["title","aria-sort","data-col","onClick"],Qy={class:"ind"},ev=["data-slug","aria-selected","aria-rowindex"],tv={class:"rd-td chk",role:"gridcell"},ov=["checked","aria-label"],nv={class:"rd-foot",role:"row"},Xn=26,rv={__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 Q=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(Q)?null:Q},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const Q=Number(E&&E.w);return{flex:`${Number.isFinite(Q)&&Q>0?Q:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,Q])=>[E,Q.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)||{},d=o==null?void 0:o.selectionSet;function m(E,Q,ae){const me=i[Q];if(!me)return!0;const ve=me(E);return Array.isArray(ae)?ae.includes(ve):ve===ae}const v=Yn(o,Kn(n)),T=le(()=>{var ae;const E=Object.keys(u),Q=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!Q?c.value:c.value.filter(me=>E.every(ve=>m(me,ve,u[ve]))&&v(me))}),x=ue([]);function w(E,Q){const ae=!!(Q&&Q.shiftKey),me=x.value.findIndex(ve=>ve.key===E.key);if(me<0)x.value=(ae?[...x.value]:[]).concat({key:E.key,dir:"asc"});else if(x.value[me].dir==="asc"){const ve=[...x.value];ve[me]={key:E.key,dir:"desc"},x.value=ve}else x.value=ae?x.value.filter(ve=>ve.key!==E.key):[]}function L(E){const Q=x.value.find(ae=>ae.key===E.key);return Q?Q.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const E=x.value;if(!E.length)return T.value;const Q=E.map(ae=>({col:a.value.find(me=>me.key===ae.key),dir:ae.dir==="asc"?1:-1}));return T.value.slice().sort((ae,me)=>{for(const{col:ve,dir:Be}of Q){let qe=ve.get(ae),st=ve.get(me);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,O=le(()=>{let E=y.value;if(p.value&&($(),E=E.filter(Q=>d&&d.has(Q.slug))),g.value){$();const Q=[],ae=[];for(const me of E)(d&&d.has(me.slug)?Q:ae).push(me);E=Q.concat(ae)}return E}),N=ue(0),V=ue(360),ee=ue(null);let re=null;function be(E){N.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(N.value/Xn)-6)),J=le(()=>Math.ceil(V.value/Xn)+12),R=le(()=>O.value.slice(q.value,q.value+J.value)),j=le(()=>q.value*Xn),A=le(()=>Math.max(0,(O.value.length-(q.value+R.value.length))*Xn));xt(()=>{ee.value&&(V.value=ee.value.clientHeight||360,re=new ResizeObserver(()=>{V.value=ee.value.clientHeight||V.value}),re.observe(ee.value)),o&&o.on("toggleTable",E=>{K.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!ee.value)return;const Q=O.value.findIndex(ae=>ae.slug===E);Q>=0&&(ee.value.scrollTop=Math.max(0,Q*Xn-V.value/2))})}),Wt(()=>{re&&re.disconnect(),clearTimeout(Z)});const z=le(()=>($(),d?d.size:0)),te=E=>!!(d&&d.has(E.slug)),D=le(()=>$()),oe=ue(null),fe=ue("select");let _e=new Set;function ke(E,Q){oe.value=E,fe.value=Q,_e=new Set(d)}function Se(E,Q){const ae=O.value,me=ae.findIndex(et=>et.slug===E),ve=ae.findIndex(et=>et.slug===Q);if(me<0||ve<0)return[];const[Be,qe]=me<=ve?[me,ve]:[ve,me],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function ge(E,Q){if(!o||!E)return;const ae=!!(Q&&(Q.ctrlKey||Q.metaKey));if(!!(Q&&Q.shiftKey)&&oe.value){const ve=Se(oe.value,E);if(!ve.length)return;if(ae){const Be=new Set(_e);if(fe.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=!d.has(E);ke(E,ve?"select":"deselect"),o.toggleSelect(E),_e=new Set(d);return}ke(E,"select"),o.setSelection([E]),_e=new Set(d)}function de(E){const Q=E.target;if(!Q||!Q.closest)return;const ae=Q.closest(".rd-row");if(!ae||!o)return;const me=ae.getAttribute("data-slug");if(me){if(Q.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){ge(me,E);return}ke(me,d.has(me)?"deselect":"select"),o.toggleSelect(me),_e=new Set(d);return}ge(me,E)}}function ye(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const Ne=le(()=>{$();const E=T.value;if(!E.length)return!1;for(const Q of E)if(!d.has(Q.slug))return!1;return!0}),Ie=le(()=>{if($(),Ne.value)return!1;for(const E of T.value)if(d.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=T.value.map(Q=>Q.slug);Ne.value?o.deselectMany(E):o.selectMany(E),oe.value=null,_e=new Set(d)}function C(){o&&o.clearSelection(),oe.value=null,_e=new Set}const k=ue(null);function H(E){k.value=E||null}gt([Ie,k],()=>{k.value&&(k.value.indeterminate=Ie.value)},{immediate:!0}),gt([x,()=>T.value.length,p,g],()=>{oe.value=null}),gt(z,E=>{E||(p.value=!1)});const K=ue(!1);function ne(){K.value=!K.value,o&&o.emit("toggleTable",K.value)}const G=le(()=>T.value.reduce((E,Q)=>E+(r(Q.population)||0),0)),U=le(()=>T.value.length),{labelFor:f}=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:f}):null,I=ue(""),B=ue(!1);let Z=null;async function se(){if(!(!h||B.value)){B.value=!0;try{const E=await h.exportCsvAsync(),Q=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";I.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${Q}`}catch{I.value="✕ Export failed"}finally{B.value=!1,clearTimeout(Z),Z=setTimeout(()=>{I.value=""},3200)}}}function M(){h&&h.prefetchExportFields()}return Et(` +`,"rd-facetrail"),(T,P)=>(V(),Z("aside",Ey,[N("div",Ay,[P[1]||(P[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",Cy,[N("b",null,ue(q.value.toLocaleString("en-US")),1),P[0]||(P[0]=nt(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:K,onClick:ee,onKeydown:Y},[(V(!0),Z(Se,null,Ye(be.value,B=>(V(),Z("div",{key:B.id,class:"fr-sec","data-facet-section":B.id},[N("div",{class:je(["fr-sech",{closed:!m[B.id]}]),onClick:en(F=>v(B.id),["stop"])},[N("span",null,ue(B.title),1),P[2]||(P[2]=N("span",{class:"chev"},"▾",-1))],10,Ly),Tt(N("div",Py,[(V(!0),Z(Se,null,Ye(B.rows,F=>(V(),Z("div",{key:F.facet+":"+F.value,class:je(["fr-row",["l"+F.level,{on:F.active,other:F.other,zero:F.zero,inert:F.other||F.zero,"dash-only":F.dashboardOnly}]]),"data-facet":F.other||F.zero?null:F.facet,"data-value":F.other||F.zero?null:F.value,tabindex:F.other||F.zero?null:0,role:F.other||F.zero?null:"button","aria-pressed":F.other||F.zero?null:F.active?"true":"false","aria-label":F.other||F.zero?null:(F.active?"Remove filter ":"Filter by ")+F.label+", "+F.count.toLocaleString("en-US")+" groups"+(F.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:F.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+F.label:null},[(V(!0),Z(Se,null,Ye(F.trunks,(X,fe)=>(V(),Z("span",{key:"tr"+fe,class:je(["fr-trunk","fr-trunk-"+X])},null,2))),128)),F.hasChildren?(V(),Z("button",{key:0,type:"button",class:je(["fr-caret-btn",{open:F.expanded}]),"data-expand":F.facet,"data-expand-value":F.value,"aria-expanded":F.expanded?"true":"false","aria-label":(F.expanded?"Collapse ":"Expand ")+F.label},[...P[3]||(P[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Iy)):(V(),Z("span",Fy)),F.swatch?(V(),Z("span",{key:2,class:"fr-sw",style:it({background:F.swatch}),"aria-hidden":"true"},null,4)):Ie("",!0),N("span",Ry,ue(F.label),1),N("span",My,[N("i",{style:it({width:Math.max(4,F.frac*100)+"%"})},null,4)]),N("span",Oy,ue(F.count.toLocaleString("en-US")),1),F.dashboardOnly?(V(),Z("span",Dy,"◐")):Ie("",!0)],10,Ny))),128))],512),[[Mt,m[B.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 oe=parseFloat(String(E??"").replace(/[^0-9.\-]/g,""));return isNaN(oe)?null:oe},s=E=>E==null?"":Number(E).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(E){const oe=Number(E&&E.w);return{flex:`${Number.isFinite(oe)&&oe>0?oe:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([E,oe])=>[E,oe.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)||{},d=o==null?void 0:o.selectionSet;function m(E,oe,ae){const he=i[oe];if(!he)return!0;const ye=he(E);return Array.isArray(ae)?ae.includes(ye):ye===ae}const v=Yn(o,Kn(n)),C=le(()=>{var ae;const E=Object.keys(u),oe=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!E.length&&!oe?c.value:c.value.filter(he=>E.every(ye=>m(he,ye,u[ye]))&&v(he))}),x=ce([]);function w(E,oe){const ae=!!(oe&&oe.shiftKey),he=x.value.findIndex(ye=>ye.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 ye=[...x.value];ye[he]={key:E.key,dir:"desc"},x.value=ye}else x.value=ae?x.value.filter(ye=>ye.key!==E.key):[]}function L(E){const oe=x.value.find(ae=>ae.key===E.key);return oe?oe.dir==="asc"?"ascending":"descending":"none"}const _=le(()=>{const E=x.value;if(!E.length)return C.value;const oe=E.map(ae=>({col:a.value.find(he=>he.key===ae.key),dir:ae.dir==="asc"?1:-1}));return C.value.slice().sort((ae,he)=>{for(const{col:ye,dir:Be}of oe){let qe=ye.get(ae),st=ye.get(he);if((qe==null||qe==="")&&(qe=ye.type==="num"?-1/0:""),(st==null||st==="")&&(st=ye.type==="num"?-1/0:""),qest)return 1*Be}return 0})}),p=ce(!1),g=ce(!1);function y(){p.value=!p.value}function S(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,D=le(()=>{let E=_.value;if(p.value&&($(),E=E.filter(oe=>d&&d.has(oe.slug))),g.value){$();const oe=[],ae=[];for(const he of E)(d&&d.has(he.slug)?oe:ae).push(he);E=oe.concat(ae)}return E}),I=ce(0),H=ce(360),ne=ce(null);let se=null;function be(E){I.value=E.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(I.value/Xn)-6)),ee=le(()=>Math.ceil(H.value/Xn)+12),Y=le(()=>D.value.slice(q.value,q.value+ee.value)),K=le(()=>q.value*Xn),T=le(()=>Math.max(0,(D.value.length-(q.value+Y.value.length))*Xn));wt(()=>{ne.value&&(H.value=ne.value.clientHeight||360,se=new ResizeObserver(()=>{H.value=ne.value.clientHeight||H.value}),se.observe(ne.value)),o&&o.on("toggleTable",E=>{W.value=!!E}),o&&o.on("focusRow",({slug:E}={})=>{if(!E||!ne.value)return;const oe=D.value.findIndex(ae=>ae.slug===E);oe>=0&&(ne.value.scrollTop=Math.max(0,oe*Xn-H.value/2))})}),Kt(()=>{se&&se.disconnect(),clearTimeout(te)});const P=le(()=>($(),d?d.size:0)),B=E=>!!(d&&d.has(E.slug)),F=le(()=>$()),X=ce(null),fe=ce("select");let _e=new Set;function $e(E,oe){X.value=E,fe.value=oe,_e=new Set(d)}function Ee(E,oe){const ae=D.value,he=ae.findIndex(et=>et.slug===E),ye=ae.findIndex(et=>et.slug===oe);if(he<0||ye<0)return[];const[Be,qe]=he<=ye?[he,ye]:[ye,he],st=[];for(let et=Be;et<=qe;et++)st.push(ae[et].slug);return st}function Te(E,oe){if(!o||!E)return;const ae=!!(oe&&(oe.ctrlKey||oe.metaKey));if(!!(oe&&oe.shiftKey)&&X.value){const ye=Ee(X.value,E);if(!ye.length)return;if(ae){const Be=new Set(_e);if(fe.value==="deselect")for(const qe of ye)Be.delete(qe);else for(const qe of ye)Be.add(qe);o.setSelection(Be)}else o.setSelection(ye);return}if(ae){const ye=!d.has(E);$e(E,ye?"select":"deselect"),o.toggleSelect(E),_e=new Set(d);return}$e(E,"select"),o.setSelection([E]),_e=new Set(d)}function ke(E){const oe=E.target;if(!oe||!oe.closest)return;const ae=oe.closest(".rd-row");if(!ae||!o)return;const he=ae.getAttribute("data-slug");if(he){if(oe.closest(".rd-td.chk")){if(E.shiftKey||E.ctrlKey||E.metaKey){Te(he,E);return}$e(he,d.has(he)?"deselect":"select"),o.toggleSelect(he),_e=new Set(d);return}Te(he,E)}}function me(E){E.shiftKey&&E.target&&E.target.closest&&E.target.closest(".rd-row")&&E.preventDefault()}const pe=le(()=>{$();const E=C.value;if(!E.length)return!1;for(const oe of E)if(!d.has(oe.slug))return!1;return!0}),ve=le(()=>{if($(),pe.value)return!1;for(const E of C.value)if(d.has(E.slug))return!0;return!1});function b(){if(!o)return;const E=C.value.map(oe=>oe.slug);pe.value?o.deselectMany(E):o.selectMany(E),X.value=null,_e=new Set(d)}function A(){o&&o.clearSelection(),X.value=null,_e=new Set}const k=ce(null);function G(E){k.value=E||null}gt([ve,k],()=>{k.value&&(k.value.indeterminate=ve.value)},{immediate:!0}),gt([x,()=>C.value.length,p,g],()=>{X.value=null}),gt(P,E=>{E||(p.value=!1)});const W=ce(!1);function J(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const j=le(()=>C.value.reduce((E,oe)=>E+(r(oe.population)||0),0)),z=le(()=>C.value.length),{labelFor:f}=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:f}):null,R=ce(""),U=ce(!1);let te=null;async function re(){if(!(!h||U.value)){U.value=!0;try{const E=await h.exportCsvAsync(),oe=E.downloaded?"exported":E.clipboard?"copied to clipboard":"ready";R.value=`✓ ${s(E.rows)} rows × ${E.fields} fields ${oe}`}catch{R.value="✕ Export failed"}finally{U.value=!1,clearTimeout(te),te=setTimeout(()=>{R.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 +529,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,Q)=>(W(),Y("div",{class:"rd-table-wrap","data-sel-count":z.value},[P("div",{class:"rd-table-bar","data-collapsed":K.value?"1":"0"},[P("button",{class:"rd-dock",title:K.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":K.value?"false":"true",onClick:ne},ce(K.value?"▴":"▾"),9,zy),Q[0]||(Q[0]=P("span",{class:"ttl"},"People Groups",-1)),P("span",Uy,ce(s(U.value))+" "+ce(U.value===1?"group":"groups"),1),z.value?(W(),Y("span",By,[P("span",null,ce(s(z.value))+" selected",1),P("button",{title:"Clear selection","aria-label":"Clear selection",onClick:C},"✕")])):Pe("",!0),z.value?(W(),Y($e,{key:1},[P("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,Gy),P("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,qy)],64)):Pe("",!0),Q[1]||(Q[1]=P("span",{class:"rd-bar-sp"},null,-1)),I.value?(W(),Y("span",Hy,ce(I.value),1)):Pe("",!0),P("span",{class:je(["rd-csv",{busy:B.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":B.value?"true":"false",title:z.value?`Export the ${z.value} selected people groups — all fields`:`Export these ${s(U.value)} people groups — all fields`,onClick:se,onMouseenter:M,onFocus:M,onKeydown:[Ir(en(se,["prevent"]),["enter"]),Ir(en(se,["prevent"]),["space"])]},[nt(ce(B.value?"…":"↓")+" Export CSV",1),z.value?(W(),Y("span",Wy,ce(z.value),1)):Pe("",!0)],42,Vy)],8,jy),Rt(P("div",{ref_key:"scroller",ref:ee,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":O.value.length+1,onScroll:be,onClick:de,onMousedown:ye},[P("div",Yy,[P("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Ne.value?"Deselect all "+s(U.value):"Select all "+s(U.value),onClick:b},[P("input",{type:"checkbox",checked:Ne.value,ref:H,"aria-label":Ne.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Jy)],8,Xy),(W(!0),Y($e,null,Ye(a.value,ae=>(W(),Y("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:me=>w(ae,me)},[nt(ce(ae.label),1),P("span",Qy,ce(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,Zy))),128))]),P("div",{style:it({height:j.value+"px"})},null,4),(W(!0),Y($e,null,Ye(R.value,(ae,me)=>(W(),Y("div",{key:ae.slug,class:je(["rd-row",{sel:D.value>=0&&te(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":te(ae)?"true":"false","aria-rowindex":q.value+me+2},[P("div",tv,[P("input",{type:"checkbox",class:"rd-rowchk",checked:te(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,ov)]),(W(!0),Y($e,null,Ye(a.value,ve=>(W(),Y("div",{key:ve.key,class:je(["rd-td",{num:ve.type==="num"}]),style:it(l(ve)),role:"gridcell"},ce(ve.type==="num"?s(ve.get(ae)):ve.get(ae)),7))),128))],10,ev))),128)),P("div",{style:it({height:A.value+"px"})},null,4)],40,Ky),[[Jt,!K.value]]),Rt(P("div",nv,[Q[2]||(Q[2]=P("div",{class:"rd-td chk"},null,-1)),(W(!0),Y($e,null,Ye(a.value,(ae,me)=>(W(),Y("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[me===0?(W(),Y($e,{key:0},[nt("Σ "+ce(s(U.value))+" groups",1)],64)):ae.key==="population"?(W(),Y($e,{key:1},[nt(ce(s(G.value)),1)],64)):Pe("",!0)],6))),128))],512),[[Jt,!K.value]])],8,Dy))}},sv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},av=["aria-selected","disabled","title","data-tab","onClick"],lv=["data-chart"],iv={class:"rd-ct"},cv={class:"rd-donutwrap"},uv=["aria-label"],dv=["d","fill","data-facet","data-key"],fv={class:"rd-legend"},pv=["data-facet","data-key","title"],gv={class:"rd-lt"},hv=["data-chart"],mv={class:"rd-ct"},bv={class:"rd-bars"},_v=["data-facet","data-key"],yv={class:"rd-bl"},vv={class:"rd-bt"},xv={class:"rd-bv"},wv={__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 O=l[$];return O?O(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:ay(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),d=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"?iy(y,w.facet,p):ly(y,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function T(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&&T(L.getAttribute("data-facet"),L.getAttribute("data-key"))}return Et(` +`,"rd-datatable"),(E,oe)=>(V(),Z("div",{class:"rd-table-wrap","data-sel-count":P.value},[N("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[N("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:J},ue(W.value?"▴":"▾"),9,By),oe[0]||(oe[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",Gy,ue(s(z.value))+" "+ue(z.value===1?"group":"groups"),1),P.value?(V(),Z("span",qy,[N("span",null,ue(s(P.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:A},"✕")])):Ie("",!0),P.value?(V(),Z(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:y},"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),oe[1]||(oe[1]=N("span",{class:"rd-bar-sp"},null,-1)),R.value?(V(),Z("span",Wy,ue(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:P.value?`Export the ${P.value} selected people groups — all fields`:`Export these ${s(z.value)} people groups — all fields`,onClick:re,onMouseenter:O,onFocus:O,onKeydown:[Ir(en(re,["prevent"]),["enter"]),Ir(en(re,["prevent"]),["space"])]},[nt(ue(U.value?"…":"↓")+" Export CSV",1),P.value?(V(),Z("span",Yy,ue(P.value),1)):Ie("",!0)],42,Ky)],8,Uy),Tt(N("div",{ref_key:"scroller",ref:ne,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:be,onClick:ke,onMousedown:me},[N("div",Jy,[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:pe.value?"Deselect all "+s(z.value):"Select all "+s(z.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),Z(Se,null,Ye(a.value,ae=>(V(),Z("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(ue(ae.label),1),N("span",tv,ue(L(ae)==="ascending"?"▲":L(ae)==="descending"?"▼":""),1)],14,ev))),128))]),N("div",{style:it({height:K.value+"px"})},null,4),(V(!0),Z(Se,null,Ye(Y.value,(ae,he)=>(V(),Z("div",{key:ae.slug,class:je(["rd-row",{sel:F.value>=0&&B(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":B(ae)?"true":"false","aria-rowindex":q.value+he+2},[N("div",nv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:B(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,rv)]),(V(!0),Z(Se,null,Ye(a.value,ye=>(V(),Z("div",{key:ye.key,class:je(["rd-td",{num:ye.type==="num"}]),style:it(l(ye)),role:"gridcell"},ue(ye.type==="num"?s(ye.get(ae)):ye.get(ae)),7))),128))],10,ov))),128)),N("div",{style:it({height:T.value+"px"})},null,4)],40,Xy),[[Mt,!W.value]]),Tt(N("div",sv,[oe[2]||(oe[2]=N("div",{class:"rd-td chk"},null,-1)),(V(!0),Z(Se,null,Ye(a.value,(ae,he)=>(V(),Z("div",{key:"f-"+ae.key,class:je(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[he===0?(V(),Z(Se,{key:0},[nt("Σ "+ue(s(z.value))+" groups",1)],64)):ae.key==="population"?(V(),Z(Se,{key:1},[nt(ue(s(j.value)),1)],64)):Ie("",!0)],6))),128))],512),[[Mt,!W.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=ce("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,y;const L=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],_=Object.keys(a).filter(S=>!w.includes(S)),p=!!(((y=r==null?void 0:r.searchTerm)==null?void 0:y.value)||"").trim();return!_.length&&!p?L:L.filter(S=>_.every($=>{const D=l[$];return D?D(S)===a[$]:!0})&&i(S))}const u=le(()=>{var _,p,g,y,S;const w=(p=(_=s.facets)==null?void 0:_.country_code)==null?void 0:p.get,L=(y=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:y.get;return!w||!L?null:iy(((S=n==null?void 0:n.rows)==null?void 0:S.value)||[],w,L)}),d=le(()=>(s.charts||[]).map(w=>{var g,y;const L=((y=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:y.get)||(S=>Qe(S[w.facet])),_=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(_,w.facet,p):cy(_,132,.58,w.facet,p)}})),m=(w,L)=>a[w]===L,v=w=>a[w]!=null;function C(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&&C(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 +578,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)=>(W(),Y("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[P("div",sv,[(W(),Y($e,null,Ye(t,y=>P("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"])},ce(y.label),11,av)),64))]),(W(!0),Y($e,null,Ye(d.value,y=>(W(),Y($e,{key:y.id},[y.type==="donut"?(W(),Y("div",{key:0,class:"rd-chart","data-chart":y.facet},[P("div",iv,ce(y.title),1),P("div",cv,[(W(),Y("svg",{class:je(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(W(!0),Y($e,null,Ye(y.geometry,p=>(W(),Y("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},[P("title",null,ce(p.key)+": "+ce(p.value)+" ("+ce(p.pct)+"%)",1)],10,dv))),128))],10,uv)),P("div",fv,[(W(!0),Y($e,null,Ye(y.geometry,p=>(W(),Y("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},[P("i",{style:it({background:p.color})},null,4),P("span",gv,ce(p.key),1),P("b",null,ce(p.value),1)],10,pv))),128))])])],8,lv)):(W(),Y("div",{key:1,class:"rd-chart","data-chart":y.facet},[P("div",mv,ce(y.title),1),P("div",bv,[(W(!0),Y($e,null,Ye(y.geometry,p=>(W(),Y("div",{key:p.key,class:je(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[P("span",yv,ce(p.key),1),P("span",vv,[P("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),P("span",xv,ce(p.value),1)],10,_v))),128))])],8,hv))],64))),128))]))}},kv={class:"rd-detail","data-region":"detail-drawer"},$v={class:"rd-dh"},Sv={key:0,class:"rd-empty","data-detail-empty":""},Ev={class:"rd-top"},Av=["src","alt"],Cv={key:1,class:"rd-ph","data-detail-thumb":""},Tv={class:"rd-name","data-detail-name":""},Lv={class:"rd-meta"},Pv={class:"rd-actions"},Nv=["href","title"],Iv=["href","title"],Fv={class:"rd-rows"},Rv={class:"rd-row"},Mv={class:"v"},Ov={key:0,class:"fam"},Dv={class:"rd-row"},jv={class:"v"},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={__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=[];xt(()=>{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])})))}),Wt(()=>{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"),d=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 T=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 N;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((N=window.location)==null?void 0:N.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")),O=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,O)}),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 Et(` +`,"rd-charts"),(w,L)=>(V(),Z("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[N("div",lv,[(V(),Z(Se,null,Ye(t,_=>N("button",{key:_.id,class:je(["rd-tab",{on:o.value===_.id,off:_.disabled}]),role:"tab",type:"button","aria-selected":o.value===_.id?"true":"false",disabled:_.disabled,title:_.disabled?_.why:_.label,"data-tab":_.id,onClick:en(p=>!_.disabled&&(o.value=_.id),["stop"])},ue(_.label),11,iv)),64))]),(V(!0),Z(Se,null,Ye(d.value,_=>(V(),Z(Se,{key:_.id},[_.type==="donut"?(V(),Z("div",{key:0,class:"rd-chart","data-chart":_.facet},[N("div",uv,ue(_.title),1),N("div",dv,[(V(),Z("svg",{class:je(["rd-donut",{"has-sel":v(_.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":_.title+" donut"},[(V(!0),Z(Se,null,Ye(_.geometry,p=>(V(),Z("path",{key:p.key,d:p.path,fill:p.color,class:je(["rd-slice",{on:m(_.facet,p.key)}]),"data-facet":_.facet,"data-key":p.key},[N("title",null,ue(p.key)+": "+ue(p.value)+" ("+ue(p.pct)+"%)",1)],10,pv))),128))],10,fv)),N("div",gv,[(V(!0),Z(Se,null,Ye(_.geometry,p=>(V(),Z("span",{key:p.key,class:je(["rd-li",{on:m(_.facet,p.key)}]),"data-facet":_.facet,"data-key":p.key,title:p.key+": "+p.value},[N("i",{style:it({background:p.color})},null,4),N("span",mv,ue(p.key),1),N("b",null,ue(p.value),1)],10,hv))),128))])])],8,cv)):(V(),Z("div",{key:1,class:"rd-chart","data-chart":_.facet},[N("div",_v,ue(_.title),1),N("div",yv,[(V(!0),Z(Se,null,Ye(_.geometry,p=>(V(),Z("div",{key:p.key,class:je(["rd-bar",{on:m(_.facet,p.key)}]),"data-facet":_.facet,"data-key":p.key},[N("span",xv,ue(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,ue(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,y])=>[g,y.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=ce(null),i=[];wt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const y=g?[...g]:[];y.length&&(l.value=y[y.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"),d=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,y,S){if(typeof g=="function")try{return g(y)||S}catch{return S}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(y.slug||"")):S}const C=le(()=>{const g=c.value;if(!g)return null;const y=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(y||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 y=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=`${y}/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 _(){!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 +617,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,_)=>(W(),Y("section",kv,[P("div",$v,[_[0]||(_[0]=P("span",null,"Detail",-1)),c.value?(W(),Y("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Pe("",!0)]),c.value?(W(),Y($e,{key:1},[P("div",Ev,[d.value?(W(),Y("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Av)):(W(),Y("div",Cv,"No photo")),P("div",null,[P("div",Tv,ce(c.value.name||"—"),1),P("div",Lv,ce(pe(Qe)(c.value.country_code)||"—")+" · "+ce(pe(Qe)(c.value.religion)||"—"),1)])]),P("div",Pv,[T.value?(W(),Y("a",{key:0,class:"rd-act rd-act-pray",href:T.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),P("span",null,ce(w.value),1)],8,Nv)):Pe("",!0),x.value?(W(),Y("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[_[2]||(_[2]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),P("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("span",null,ce(L.value),1)],8,Iv)):Pe("",!0)]),P("div",Fv,[P("div",Rv,[_[3]||(_[3]=P("span",{class:"k"},"Language",-1)),P("span",Mv,[nt(ce(pe(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(W(),Y("span",Ov," ("+ce(c.value.imb_language_family)+")",1)):Pe("",!0)])]),P("div",Dv,[_[4]||(_[4]=P("span",{class:"k"},"Population",-1)),P("span",jv,ce(u(c.value.population)),1)]),P("div",zv,[_[5]||(_[5]=P("span",{class:"k"},"People praying",-1)),P("span",Uv,ce(u(c.value.people_praying)),1)]),P("div",Bv,[_[6]||(_[6]=P("span",{class:"k"},"People committed",-1)),P("span",Gv,ce(u(c.value.people_committed)),1)]),P("div",qv,[_[7]||(_[7]=P("span",{class:"k"},"Adopted by churches",-1)),P("span",Hv,ce(u(c.value.adopted_by_churches)),1)]),P("div",Vv,[_[8]||(_[8]=P("span",{class:"k"},"Engagement",-1)),P("span",Wv,ce(pe(Qe)(c.value.engagement_status)||"—"),1)])]),P("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(W(),Y("div",Sv,"Select a people group to see detail"))]))}},Yv="rgba(120, 128, 134, 0.28)",xu="36px",wu=()=>{};function Xv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return wu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return wu;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"}, ${Yv} ${xu}, transparent ${xu})`,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 d=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(d,250))},v=()=>m(),T=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),d()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",T,{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",T),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 Jv=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 Zv(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Jv[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 ku(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 Qv=pn.mapbox.css,e0="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 t0(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 o0(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 n0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:e0}const r0=85.0511,$u=-2,s0=0,a0=-60;function Su(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function l0(e,t,o,n){if(!e||e<=0||!t||t<=0)return s0;const r=Math.log2(e/512),s=Su(n)-Su(r0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max($u,Math.min(l,(o??18)-1))}function i0({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:d=!0,showEdgeBorders:m=!0,southCutoff:v=a0,maxBounds:T=void 0}){const x=wn(null),w=ue(!1);let L=null,y=null,p=null;const g=r==="maplibre";async function _(){var z;const O=Zv(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await t0(r);const N=Ta(r);if(!N){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 o0(e.value,g?pn.maplibre.css:Qv),await new Promise(te=>requestAnimationFrame(te));const V=e.value,ee=V.clientWidth,re=V.clientHeight;if(ee===0||re===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${re}). Map will be invisible. Check that parent elements have CSS sizing.`);let te=V.parentElement,D=0;for(;te&&D<5;)te=te.parentElement,D++}const be=t;g||(N.accessToken=be);const q=()=>typeof window<"u"&&window.innerWidth>=1024,J=(te,D)=>{if(!q())return $u;const oe=l0(te,D,i,v);return typeof l=="number"?Math.max(l,oe):oe},R=J(V.clientWidth,V.clientHeight);if(g){x.value=new N.Map({container:e.value,style:n0(O),center:s,zoom:a,minZoom:R,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:d,...T?{maxBounds:T}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ku(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const te=typeof n=="function"?n():n;x.value=new N.Map({accessToken:be,container:e.value,style:O,...te?{config:te}:{},center:s,zoom:a,minZoom:R,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:d,...T?{maxBounds:T}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ku(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let te=!1;x.value.on("error",D=>{var _e,ke;const oe=((_e=D==null?void 0:D.error)==null?void 0:_e.status)??(D==null?void 0:D.status),fe=String(((ke=D==null?void 0:D.error)==null?void 0:ke.url)||(D==null?void 0:D.sourceId)||"");oe!==401&&oe!==403||te||(te=!0,console.error(`[doxa-maps] Mapbox returned ${oe} 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.`+(fe?` First failing request: ${fe.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Xv(((z=e.value)==null?void 0:z.parentElement)||null,{enabled:m});let j=R,A=null;L=()=>{const te=x.value;if(!te)return;const D=J(V.clientWidth,V.clientHeight);D!==j&&(j=D,te.setMinZoom(D)),te.getZoom(){A=null;const oe=x.value;if(!oe)return;const fe=J(V.clientWidth,V.clientHeight);if(oe.getZoom(){A&&(clearTimeout(A),A=null)},x.value.on("resize",L),typeof window<"u"&&(window.addEventListener("resize",L),window.addEventListener("orientationchange",L)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var te;(te=x.value)==null||te.resize(),x.value&&x.value.setMinZoom(J(V.clientWidth,V.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 c0={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 u0(e){return c0[e]||null}const gn={center:[20,10],zoom:1.8};function d0(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,J,R={x:150,y:0}){const j=t();if(!j)return q;try{const A=j.getCanvas(),z=A.width,te=A.height,D=j.project(q),oe=window.devicePixelRatio||1,fe=(R.x||0)*oe,_e=(R.y||0)*oe,ke={x:D.x-fe,y:D.y-_e},Se=j.unproject(ke);return[Se.lng,Se.lat]}catch{return q}}function c(q,J=[]){const R=t();if(!R)return;let j=null,A=5;const z=J.filter(D=>D.languageFamily===q);if(z.length>0){let D=1/0,oe=-1/0,fe=1/0,_e=-1/0;if(z.forEach(ke=>{ke.longitude&&ke.latitude&&(D=Math.min(D,ke.longitude),oe=Math.max(oe,ke.longitude),fe=Math.min(fe,ke.latitude),_e=Math.max(_e,ke.latitude))}),D!==1/0){j=[(D+oe)/2,(fe+_e)/2];const ke=oe-D,Se=_e-fe,ge=Math.max(ke,Se);ge>50?A=2:ge>20?A=3:ge>10?A=4:ge>5?A=5:A=6}}if(!j)return;const te=i(j);R.flyTo({center:te,zoom:A,...l})}function u(q){const J=t();if(!J)return;let R=null,j=4;const A=u0(q);if(A)R=A.center,j=A.zoom||4;else if(r!=null&&r.features){const te=r.features.find(D=>{var oe,fe;return((oe=D.properties)==null?void 0:oe.region)===q||((fe=D.properties)==null?void 0:fe.name)===q});te&&(R=d(te))}if(!R)return;const z=i(R);J.flyTo({center:z,zoom:j,...l})}function d(q){if(!q||!q.geometry)return null;const{type:J,coordinates:R}=q.geometry;let j=[];if(J==="Polygon"?j=R[0]||[]:J==="MultiPolygon"&&R.forEach(te=>{j=j.concat(te[0]||[])}),j.length===0)return null;let A=0,z=0;return j.forEach(te=>{A+=te[0],z+=te[1]}),[A/j.length,z/j.length]}function m(q,J={}){const R=t();if(!R)return;const j={center:q,...l,...J};R.flyTo(j)}function v(q,J){const R=t();if(!R||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const j=J??Math.min(R.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:j})}function T(q,J={top:40,right:40,bottom:40,left:40},R={}){const j=t();if(!j||!q)return;const A=R.maxZoom??4,z=R.duration??900;j.fitBounds(q,{padding:J,maxZoom:A,duration:z,...l,...R})}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 J=q.filter(Number.isFinite).slice().sort((b,C)=>b-C),R=J.length;if(!R)return null;let j=-1,A=0;for(let b=0;bj&&(j=k,A=b)}const z=(A+1)%R,te=new Array(R);for(let b=0;b0&&C((b+180)%360+360)%360-180,Se=ke(fe),ge=24,de=360/ge,ye=new Array(ge).fill(0);for(const b of J){let C=Math.floor(((b+180)%360+360)%360/de);C>=ge&&(C=ge-1),ye[C]++}let Ne=0;for(let b=1;bye[Ne]&&(Ne=b);return{center:ke(-180+(Ne+.5)*de),minLng:Se,maxLng:Se+(_e-fe),span:_e-fe}}function $(q){try{const J=q.getContainer&&q.getContainer().clientWidth||0,R=J>0?Math.log2(J/512):_,j=typeof q.getMinZoom=="function"?q.getMinZoom():R;return Math.max(j,R)}catch{return _}}function O(q,J,R,j){q.easeTo({center:[J,(R+j)/2],zoom:$(q),duration:L,essential:!0})}function N(q,J,R){if(R>g)return!0;try{const j=typeof q.cameraForBounds=="function"?q.cameraForBounds(J,{padding:w,maxZoom:y}):null;return j==null?!0:typeof j.zoom=="number"&&j.zoom<=$(q)+.05}catch{return!1}}function V(q,J){if(!Array.isArray(q))return q;switch(q[0]){case"get":return J==null?void 0:J[q[1]];case"literal":return q[1];case"has":return J!=null&&q[1]in J;case"!has":return J==null||!(q[1]in J);case"!":return!V(q[1],J);case"coalesce":{for(let j=1;j2){const z=Number(V(q[2],J));return Number.isFinite(z)?z:0}return NaN}case"to-string":{const j=V(q[1],J);return j==null?"":String(j)}case"to-boolean":return!!V(q[1],J);case"slice":{const j=V(q[1],J),A=V(q[2],J),z=q.length>3?V(q[3],J):void 0;return typeof j!="string"?"":z!=null?j.slice(A,z):j.slice(A)}default:return q}}function ee(q,J){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const R=q[0];if(R==="all"){for(let j=1;j"||R===">="||R==="<"||R==="<="){const j=typeof q[1]=="string"?J==null?void 0:J[q[1]]:V(q[1],J),A=V(q[2],J);switch(R){case"==":return j===A||j==null&&A==null;case"!=":return!(j===A||j==null&&A==null);case">":return j>A;case">=":return j>=A;case"<":return j{const H=(k==null?void 0:k.properties)||{};return H.region===b||H.name===b||H.id===b});if(C){const k=[];let H=1/0,K=-1/0;const ne=U=>{for(const f of U)Array.isArray(f[0])?ne(f):Number.isFinite(f[0])&&Number.isFinite(f[1])&&(k.push(f[0]),f[1]K&&(K=f[1]))};(ye=C.geometry)!=null&&ye.coordinates&&ne(C.geometry.coordinates);const G=S(k);if(G&&Number.isFinite(H)){const U=[[G.minLng,H],[G.maxLng,K]];N(R,U,G.span)?O(R,G.center,H,K):R.fitBounds(U,{padding:w,maxZoom:y,duration:L,essential:!0});return}}}const j=J.sourceId??"language-families";if(!R.getSource(j))return;const A=J.matchExpr??q.filter;if(!A)return;const z=re(R,j);if(!z.length)return;const te=[];let D=1/0,oe=-1/0,fe=0,_e=0,ke=0;const Se=new Set;for(const Ie of z){const b=Ie==null?void 0:Ie.properties;if(!ee(A,b))continue;const C=b==null?void 0:b.uniqueId;if(C!=null){if(Se.has(C))continue;Se.add(C)}const k=(Ne=Ie.geometry)==null?void 0:Ne.coordinates;if(!Array.isArray(k)||k.length<2)continue;const H=k[0],K=k[1];!Number.isFinite(H)||!Number.isFinite(K)||(fe===0&&(_e=H,ke=K),te.push(H),Koe&&(oe=K),fe++)}if(fe===0)return;if(fe===1){R.flyTo({center:[_e,ke],zoom:p,duration:L,essential:!0});return}const ge=S(te)||{center:0,minLng:0,maxLng:0,span:0},de=[[ge.minLng,D],[ge.maxLng,oe]];if(N(R,de,ge.span)){O(R,ge.center,D,oe);return}try{R.fitBounds(de,{padding:w,maxZoom:y,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:T,resetView:x,zoomToLegendRow:be,calculateRegionCenterFromPolygon:d}}const f0=150,p0=1200,g0=70,h0=5.5,m0=6,Eu=.01,b0=110,_0=1.45;function y0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function v0(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 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 w0(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=v0(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=x0(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=w0(e.selectionSet,o&&o());if(!c)return;const u=y0()?0:p0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:m0,duration:u,essential:!0});return}if(c.span>b0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:_0,duration:u,essential:!0});return}n.fitBounds(c.bounds,g0,{maxZoom:h0,duration:u,essential:!0})}catch{}}const l=gt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,f0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const $0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ro("mapToolbar",{el:t}),Et(` +`,"rd-detaildrawer"),(g,y)=>(V(),Z("section",Sv,[N("div",Ev,[y[0]||(y[0]=N("span",null,"Detail",-1)),c.value?(V(),Z("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ie("",!0)]),c.value?(V(),Z(Se,{key:1},[N("div",Cv,[d.value?(V(),Z("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Tv)):(V(),Z("div",Lv,"No photo")),N("div",null,[N("div",Pv,ue(c.value.name||"—"),1),N("div",Nv,ue(de(Qe)(c.value.country_code)||"—")+" · "+ue(de(Qe)(c.value.religion)||"—"),1)])]),N("div",Iv,[C.value?(V(),Z("a",{key:0,class:"rd-act rd-act-pray",href:C.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[y[1]||(y[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,ue(w.value),1)],8,Fv)):Ie("",!0),x.value?(V(),Z("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:L.value,"data-detail-moreinfo":""},[y[2]||(y[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,ue(L.value),1)],8,Rv)):Ie("",!0)]),N("div",Mv,[N("div",Ov,[y[3]||(y[3]=N("span",{class:"k"},"Language",-1)),N("span",Dv,[nt(ue(de(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),Z("span",jv," ("+ue(c.value.imb_language_family)+")",1)):Ie("",!0)])]),N("div",zv,[y[4]||(y[4]=N("span",{class:"k"},"Population",-1)),N("span",Uv,ue(u(c.value.population)),1)]),N("div",Bv,[y[5]||(y[5]=N("span",{class:"k"},"People praying",-1)),N("span",Gv,ue(u(c.value.people_praying)),1)]),N("div",qv,[y[6]||(y[6]=N("span",{class:"k"},"People committed",-1)),N("span",Hv,ue(u(c.value.people_committed)),1)]),N("div",Vv,[y[7]||(y[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",Wv,ue(u(c.value.adopted_by_churches)),1)]),N("div",Kv,[y[8]||(y[8]=N("span",{class:"k"},"Engagement",-1)),N("span",Yv,ue(de(Qe)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(V(),Z("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=_=>_.classList.contains("map-scroll-edge--left");for(const _ of n)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${Jv} ${ku}, transparent ${ku})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},l=()=>n.find(_=>!r(_))||null,i=new Set;let c=!1,u=null;const d=()=>{for(const _ of n)i.has(_)||a(_)},m=()=>{const _=l();_&&(s(_),u&&clearTimeout(u),u=setTimeout(d,250))},v=()=>m(),C=_=>{if(!(_.touches&&_.touches.length===1))return;const p=_.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),d()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",C,{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 _ of n){const p=()=>{i.add(_),s(_)},g=()=>{i.delete(_),a(_)},y=()=>{c=!0,s(_)},S=()=>{c=!1,a(_)};_.addEventListener("mouseenter",p),_.addEventListener("mouseleave",g),_.addEventListener("touchstart",y,{passive:!0}),_.addEventListener("touchend",S,{passive:!0}),L.push(()=>{_.removeEventListener("mouseenter",p),_.removeEventListener("mouseleave",g),_.removeEventListener("touchstart",y),_.removeEventListener("touchend",S)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",C),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:d=!0,showEdgeBorders:m=!0,southCutoff:v=i0,maxBounds:C=void 0}){const x=wn(null),w=ce(!1);let L=null,_=null,p=null;const g=r==="maplibre";async function y(){var P;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(B=>requestAnimationFrame(B));const H=e.value,ne=H.clientWidth,se=H.clientHeight;if(ne===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ne}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let B=H.parentElement,F=0;for(;B&&F<5;)B=B.parentElement,F++}const be=t;g||(I.accessToken=be);const q=()=>typeof window<"u"&&window.innerWidth>=1024,ee=(B,F)=>{if(!q())return Eu;const X=c0(B,F,i,v);return typeof l=="number"?Math.max(l,X):X},Y=ee(H.clientWidth,H.clientHeight);if(g){x.value=new I.Map({container:e.value,style:s0(D),center:s,zoom:a,minZoom:Y,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:d,...C?{maxBounds:C}:{},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 B=typeof n=="function"?n():n;x.value=new I.Map({accessToken:be,container:e.value,style:D,...B?{config:B}:{},center:s,zoom:a,minZoom:Y,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:d,...C?{maxBounds:C}:{},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 B=!1;x.value.on("error",F=>{var _e,$e;const X=((_e=F==null?void 0:F.error)==null?void 0:_e.status)??(F==null?void 0:F.status),fe=String((($e=F==null?void 0:F.error)==null?void 0:$e.url)||(F==null?void 0:F.sourceId)||"");X!==401&&X!==403||B||(B=!0,console.error(`[doxa-maps] Mapbox returned ${X} 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.`+(fe?` First failing request: ${fe.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Zv(((P=e.value)==null?void 0:P.parentElement)||null,{enabled:m});let K=Y,T=null;L=()=>{const B=x.value;if(!B)return;const F=ee(H.clientWidth,H.clientHeight);F!==K&&(K=F,B.setMinZoom(F)),B.getZoom(){T=null;const X=x.value;if(!X)return;const fe=ee(H.clientWidth,H.clientHeight);if(X.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 B;(B=x.value)==null||B.resize(),x.value&&x.value.setMinZoom(ee(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),_){try{_()}catch{}_=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:y,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,ee,Y={x:150,y:0}){const K=t();if(!K)return q;try{const T=K.getCanvas(),P=T.width,B=T.height,F=K.project(q),X=window.devicePixelRatio||1,fe=(Y.x||0)*X,_e=(Y.y||0)*X,$e={x:F.x-fe,y:F.y-_e},Ee=K.unproject($e);return[Ee.lng,Ee.lat]}catch{return q}}function c(q,ee=[]){const Y=t();if(!Y)return;let K=null,T=5;const P=ee.filter(F=>F.languageFamily===q);if(P.length>0){let F=1/0,X=-1/0,fe=1/0,_e=-1/0;if(P.forEach($e=>{$e.longitude&&$e.latitude&&(F=Math.min(F,$e.longitude),X=Math.max(X,$e.longitude),fe=Math.min(fe,$e.latitude),_e=Math.max(_e,$e.latitude))}),F!==1/0){K=[(F+X)/2,(fe+_e)/2];const $e=X-F,Ee=_e-fe,Te=Math.max($e,Ee);Te>50?T=2:Te>20?T=3:Te>10?T=4:Te>5?T=5:T=6}}if(!K)return;const B=i(K);Y.flyTo({center:B,zoom:T,...l})}function u(q){const ee=t();if(!ee)return;let Y=null,K=4;const T=f0(q);if(T)Y=T.center,K=T.zoom||4;else if(r!=null&&r.features){const B=r.features.find(F=>{var X,fe;return((X=F.properties)==null?void 0:X.region)===q||((fe=F.properties)==null?void 0:fe.name)===q});B&&(Y=d(B))}if(!Y)return;const P=i(Y);ee.flyTo({center:P,zoom:K,...l})}function d(q){if(!q||!q.geometry)return null;const{type:ee,coordinates:Y}=q.geometry;let K=[];if(ee==="Polygon"?K=Y[0]||[]:ee==="MultiPolygon"&&Y.forEach(B=>{K=K.concat(B[0]||[])}),K.length===0)return null;let T=0,P=0;return K.forEach(B=>{T+=B[0],P+=B[1]}),[T/K.length,P/K.length]}function m(q,ee={}){const Y=t();if(!Y)return;const K={center:q,...l,...ee};Y.flyTo(K)}function v(q,ee){const Y=t();if(!Y||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const K=ee??Math.min(Y.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:K})}function C(q,ee={top:40,right:40,bottom:40,left:40},Y={}){const K=t();if(!K||!q)return;const T=Y.maxZoom??4,P=Y.duration??900;K.fitBounds(q,{padding:ee,maxZoom:T,duration:P,...l,...Y})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,L=800,_=5,p=5,g=110,y=1.2;function S(q){const ee=q.filter(Number.isFinite).slice().sort((b,A)=>b-A),Y=ee.length;if(!Y)return null;let K=-1,T=0;for(let b=0;bK&&(K=k,T=b)}const P=(T+1)%Y,B=new Array(Y);for(let b=0;b0&&A((b+180)%360+360)%360-180,Ee=$e(fe),Te=24,ke=360/Te,me=new Array(Te).fill(0);for(const b of ee){let A=Math.floor(((b+180)%360+360)%360/ke);A>=Te&&(A=Te-1),me[A]++}let pe=0;for(let b=1;bme[pe]&&(pe=b);return{center:$e(-180+(pe+.5)*ke),minLng:Ee,maxLng:Ee+(_e-fe),span:_e-fe}}function $(q){try{const ee=q.getContainer&&q.getContainer().clientWidth||0,Y=ee>0?Math.log2(ee/512):y,K=typeof q.getMinZoom=="function"?q.getMinZoom():Y;return Math.max(K,Y)}catch{return y}}function D(q,ee,Y,K){q.easeTo({center:[ee,(Y+K)/2],zoom:$(q),duration:L,essential:!0})}function I(q,ee,Y){if(Y>g)return!0;try{const K=typeof q.cameraForBounds=="function"?q.cameraForBounds(ee,{padding:w,maxZoom:_}):null;return K==null?!0:typeof K.zoom=="number"&&K.zoom<=$(q)+.05}catch{return!1}}function H(q,ee){if(!Array.isArray(q))return q;switch(q[0]){case"get":return ee==null?void 0:ee[q[1]];case"literal":return q[1];case"has":return ee!=null&&q[1]in ee;case"!has":return ee==null||!(q[1]in ee);case"!":return!H(q[1],ee);case"coalesce":{for(let K=1;K2){const P=Number(H(q[2],ee));return Number.isFinite(P)?P:0}return NaN}case"to-string":{const K=H(q[1],ee);return K==null?"":String(K)}case"to-boolean":return!!H(q[1],ee);case"slice":{const K=H(q[1],ee),T=H(q[2],ee),P=q.length>3?H(q[3],ee):void 0;return typeof K!="string"?"":P!=null?K.slice(T,P):K.slice(T)}default:return q}}function ne(q,ee){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const Y=q[0];if(Y==="all"){for(let K=1;K"||Y===">="||Y==="<"||Y==="<="){const K=typeof q[1]=="string"?ee==null?void 0:ee[q[1]]:H(q[1],ee),T=H(q[2],ee);switch(Y){case"==":return K===T||K==null&&T==null;case"!=":return!(K===T||K==null&&T==null);case">":return K>T;case">=":return K>=T;case"<":return K{const G=(k==null?void 0:k.properties)||{};return G.region===b||G.name===b||G.id===b});if(A){const k=[];let G=1/0,W=-1/0;const J=z=>{for(const f of z)Array.isArray(f[0])?J(f):Number.isFinite(f[0])&&Number.isFinite(f[1])&&(k.push(f[0]),f[1]W&&(W=f[1]))};(me=A.geometry)!=null&&me.coordinates&&J(A.geometry.coordinates);const j=S(k);if(j&&Number.isFinite(G)){const z=[[j.minLng,G],[j.maxLng,W]];I(Y,z,j.span)?D(Y,j.center,G,W):Y.fitBounds(z,{padding:w,maxZoom:_,duration:L,essential:!0});return}}}const K=ee.sourceId??"language-families";if(!Y.getSource(K))return;const T=ee.matchExpr??q.filter;if(!T)return;const P=se(Y,K);if(!P.length)return;const B=[];let F=1/0,X=-1/0,fe=0,_e=0,$e=0;const Ee=new Set;for(const ve of P){const b=ve==null?void 0:ve.properties;if(!ne(T,b))continue;const A=b==null?void 0:b.uniqueId;if(A!=null){if(Ee.has(A))continue;Ee.add(A)}const k=(pe=ve.geometry)==null?void 0:pe.coordinates;if(!Array.isArray(k)||k.length<2)continue;const G=k[0],W=k[1];!Number.isFinite(G)||!Number.isFinite(W)||(fe===0&&(_e=G,$e=W),B.push(G),WX&&(X=W),fe++)}if(fe===0)return;if(fe===1){Y.flyTo({center:[_e,$e],zoom:p,duration:L,essential:!0});return}const Te=S(B)||{center:0,minLng:0,maxLng:0,span:0},ke=[[Te.minLng,F],[Te.maxLng,X]];if(I(Y,ke,Te.span)){D(Y,Te.center,F,X);return}try{Y.fitBounds(ke,{padding:w,maxZoom:_,duration:L,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:C,resetView:x,zoomToLegendRow:be,calculateRegionCenterFromPolygon:d}}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=gt(()=>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=ce(null);return ro("mapToolbar",{el:t}),At(` .map-toolbar { position: absolute; top: 6px; @@ -634,7 +634,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(W(),Y("div",{ref_key:"toolbarEl",ref:t,class:je(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Oo(o.$slots,"default")],2))}},S0={__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)=>(W(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomIn"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[P("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},E0={__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)=>(W(),wo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomOut"),onClick:n},{default:vo(()=>[...s[0]||(s[0]=[P("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},A0=["data-projection"],C0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Au=2,T0="#f2f3f0",Cu=.78,L0="prayer_level",P0=.1,N0=12,I0={__name:"DashboardMapPanel",setup(e){var Qn,Lu,Pu,Nu,Iu,Fu,Ru,Mu,Ou;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(([F,X])=>[F,X.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Ce;const F=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],X=Object.keys(s),ie=!!(((Ce=o==null?void 0:o.searchTerm)==null?void 0:Ce.value)||"").trim();return!X.length&&!ie?F:F.filter(Fe=>X.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=((Pu=(Lu=r.facets)==null?void 0:Lu[c])==null?void 0:Pu.geoIso)||(F=>{const X=F[c];return X&&X.value?X.value:null}),d=a[c]||(F=>Qe(F[c])),m=le(()=>{var X;const F=new Map;for(const ie of((X=t==null?void 0:t.rows)==null?void 0:X.value)||[]){const xe=u(ie);xe&&F.set(xe,d(ie)||xe)}return F}),v=le(()=>{const F=new Map;for(const X of i.value){const ie=u(X);ie&&F.set(ie,(F.get(ie)||0)+1)}return F}),T=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:y,destroy:p}=i0({containerRef:T,accessToken:pe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Nu=r.map)!=null&&Nu.mapStyle||r.mapStyle?{style:((Iu=r.map)==null?void 0:Iu.mapStyle)||r.mapStyle}:{}}),g=d0({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=k0({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,O=null,N=null,V=0,ee=!1;function re(){ee||V||(V=requestAnimationFrame(()=>{V=0;const F=w.value;if(F&&typeof F.resize=="function")try{F.resize()}catch{}}))}function be(F){const X=!!F;if(X!==ee){if(ee=X,ee){V&&(cancelAnimationFrame(V),V=0);return}re(),setTimeout(re,180)}}const q=(()=>{var X;const F={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return F[(X=r.map)==null?void 0:X.colorRamp]||F["heartbeat-red"]})(),J={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function R(F,X){return Number.isFinite(X)?X-1<=F?`${F}`:`${F}–${X-1}`:`${F}+ · heartbeat zone`}function j(F){const ie=J.binThresholds.map(xe=>xe/J.heartbeatThreshold).map(xe=>Math.max(Au,Math.round(xe*F)));return A(ie,F)}function A(F,X){const ie=[];for(const xe of F){const Ce=Math.max(xe,ie.length?ie[ie.length-1]+1:Au);CeOe>0).sort((Oe,we)=>Oe-we);if(ie.length<8)return null;const xe=Oe=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Oe*ie.length)))],Ce=xe(1-X)+1,Fe=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Ce,edges:A(Fe,Ce)}}function te(F){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const X=r.map||{};let ie=Number(X.heartbeatThreshold)>0?Number(X.heartbeatThreshold):J.heartbeatThreshold,xe=null;if(X.heartbeatMode==="quantile"){const we=z(F||[],Number(X.heartbeatQuantile)>0?Number(X.heartbeatQuantile):J.quantile);we&&(ie=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(X.binThresholds)&&X.binThresholds.length?[...new Set(X.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-dt):Number(X.heartbeatThreshold)>0?j(ie):J.binThresholds);const Ce=[...xe,ie,1/0].slice(0,q.length);for(;Ce.length{const zt={upTo:we,c:q[dt],l:R(Fe,we)};return Fe=we,zt})}const D=le(()=>te([...v.value.values()])),oe=((Fu=r.map)==null?void 0:Fu.noDataColor)||"#f3f3f1";function fe(F){if(!F)return oe;const X=D.value;for(const ie of X)if(F{const Oe=parseInt(ie.slice(Fe*2,Fe*2+2),16),we=parseInt(xe.slice(Fe*2,Fe*2+2),16);return Math.round(Cu*Oe+(1-Cu)*we)};return"#"+[0,1,2].map(Fe=>Ce(Fe).toString(16).padStart(2,"0")).join("")}const ke=le(()=>D.value.map(F=>({c:_e(F.c),l:F.l}))),Se=((Ru=r.map)==null?void 0:Ru.selectedColor)||"#1a237e";function ge(){const F=v.value,X=[],ie=[];F.forEach((Oe,we)=>{X.push(we,fe(Oe)),ie.push(we)});const xe=X.length?["match",["get","iso_3166_1_alpha_3"],...X,oe]:oe,Fe=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Oe=>[Oe,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Fe}}function de(){return Object.prototype.hasOwnProperty.call(s,L0)}const ye=((Mu=r.map)==null?void 0:Mu.pinColor)||"#ef6c00",Ne=((Ou=r.map)==null?void 0:Ou.pinStrokeColor)||"#ffffff";function Ie(){return de()?Hr({colorSource:"properties"}):ye}function b(){const F=w.value;if(!F||!F.getLayer("rd-choropleth"))return;const{fillColor:X,fillOpacity:ie}=ge();F.setPaintProperty("rd-choropleth","fill-color",X),F.setPaintProperty("rd-choropleth","fill-opacity",ie);const xe=F.getSource("rd-bubbles");xe&&xe.setData(k()),F.getLayer("rd-bubble-layer")&&F.setPaintProperty("rd-bubble-layer","circle-color",Ie())}function C(F){const X=F==null?void 0:F.people_praying,ie=X&&typeof X=="object"?X.value:X;return Number(ie)||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 H(){var ie;const F=o==null?void 0:o.selectionSet,X=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!F||!F.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:X.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 K(){const F=w.value;if(!F)return;const X=F.getSource("rd-bubble-selected");X&&X.setData(H())}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:X,fillOpacity:ie}=ge();F.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":X,"fill-opacity":ie,"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":Ie(),"circle-opacity":1,"circle-stroke-color":Ne,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),F.addSource("rd-bubble-selected",{type:"geojson",data:H()}),F.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Se,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Se,"circle-stroke-opacity":.95}}),F.on("click","rd-choropleth",G),F.on("click","rd-bubble-layer",U),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=(Ce,Fe)=>{const Oe=F.project([Ce,Fe]),we=F.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(G({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Ce,Fe)=>{const Oe=F.project([Ce,Fe]),we=F.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(U({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}me(),o&&o.on("select",K),K(),o&&o.on("focusRow",({slug:Ce}={})=>{var we;if(!Ce)return;const Fe=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(dt=>dt.slug===Ce),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 G(F){const X=w.value;if(X&&F.point){const Fe=X.queryRenderedFeatures([[F.point.x-5,F.point.y-5],[F.point.x+5,F.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ie=F.features&&F.features[0];if(!ie||!o)return;const xe=ie.properties&&ie.properties.iso_3166_1_alpha_3,Ce=m.value.get(xe);Ce&&(o.setFilter(c,s[c]===Ce?null:Ce),o.emit("mapFocus",{facet:c,value:Ce}))}function U(F){const X=F.features&&F.features[0];if(!X||!o)return;const ie=X.properties&&X.properties.slug;ie&&(o.toggleSelect(ie),o.emit("focusRow",{slug:ie,name:X.properties&&X.properties.name}))}function f(F){var ie;let X=F&&F.parentNode;for(;X;){if(X.nodeType===1){const xe=getComputedStyle(X);if(/auto|scroll/.test(xe.overflowY)&&X.scrollHeight>X.clientHeight+4)return X}if(X=X.parentElement||((ie=X.parentNode)==null?void 0:ie.host)||(X.parentNode!==X?X.parentNode:null),X&&X.nodeType===9)break}return null}function h(F){if(!(!F||!F.scrollZoom))try{F.scrollZoom.enable()}catch{}}xt(async()=>{await y();const F=w.value;if(!F)return;F.isStyleLoaded()?ne():F.on("load",ne),h(F);const X=()=>h(F);let ie=null;try{ie=new ResizeObserver(X);const xe=F.getContainer&&F.getContainer()||null;xe&&ie.observe(xe);const Ce=xe?f(xe):null;Ce&&ie.observe(Ce),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",X),Wt(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",X)}),F.on("zoom",Z),F.on("zoomend",Z),F.on("resize",Z),Z(),F.on("idle",()=>{!S&&F.isStyleLoaded()&&ne()}),typeof ResizeObserver<"u"&&T.value&&($=new ResizeObserver(re),$.observe(T.value)),Q(),F.on("idle",Q),F.on("resize",Q),o&&typeof o.on=="function"&&(O=o.on("toggleTable",()=>{re(),setTimeout(re,280)}),N=o.on("layoutResizing",be))}),Wt(()=>{try{_&&_()}catch{}_=null;try{O&&O()}catch{}O=null;try{N&&N()}catch{}if(N=null,$){try{$.disconnect()}catch{}$=null}if(M){try{M.disconnect()}catch{}M=null}E=null,V&&(cancelAnimationFrame(V),V=0);try{const F=w.value;F&&(F.off("zoom",Z),F.off("zoomend",Z),F.off("resize",Z),F.off("idle",Q),F.off("resize",Q))}catch{}try{p&&p()}catch{}}),gt([i,L],b);const I=ue(!0),B=ue(!0);function Z(){const F=w.value;if(!F)return;const X=F.getZoom();I.value=XF.getMinZoom()+.01}const se=ue(null);let M=null,E=null;function Q(){var xe;const F=se.value;if(!F)return;let X=0;try{const Ce=(xe=F.getRootNode)==null?void 0:xe.call(F),Fe=Ce&&Ce.querySelector?Ce.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Oe=Fe.getBoundingClientRect(),we=F.getBoundingClientRect();if(X=Math.max(Oe.height||0,we.bottom-Oe.top),E!==Fe&&typeof ResizeObserver<"u"){if(M)try{M.disconnect()}catch{}E=Fe,M=new ResizeObserver(Q),M.observe(Fe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(X)||20,20),72);F.style.setProperty("--rd-attrib-clear",ie+"px")}const ae=ue("globe");function me(){const F=w.value;if(F)try{F.setProjection(ae.value)}catch{}}function ve(){ae.value=ae.value==="globe"?"mercator":"globe",me()}function Be(F){const X=Number(F.longitude),ie=Number(F.latitude);return!Number.isFinite(X)||!Number.isFinite(ie)||X===0&&ie===0||ie<-90||ie>90||X<-180||X>180?null:[X,ie]}function qe(F,X){if(!F.length)return NaN;const ie=Math.min(F.length-1,Math.max(0,Math.round(X*(F.length-1))));return F[ie]}function st(F){const X=F.slice().sort((we,dt)=>we-dt),ie=X.length;if(ie<2)return X;let xe=-1,Ce=0;for(let we=0;wexe&&(xe=zt,Ce=we)}const Fe=(Ce+1)%ie,Oe=new Array(ie);for(let we=0;we0&&dtBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(X.map(Bo=>Bo[0])),Ce=X.length>=N0?P0:0,Fe=qe(ie,Ce),Oe=qe(ie,1-Ce),we=qe(xe,Ce),dt=qe(xe,1-Ce),zt=[qe(xe,.5),qe(ie,.5)];return!(dt>we)||!(Oe>Fe)?{bounds:[[zt[0],zt[1]],[zt[0],zt[1]]],center:zt}:{bounds:[[we,Fe],[dt,Oe]],center:zt}}function Lt(){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 X=et(i.value);if(X)try{F.fitBounds(X.bounds,{padding:70,duration:1200,maxZoom:5.5}),F.setCenter(X.center)}catch{}}let Zn=null;return gt(()=>JSON.stringify(s),()=>{clearTimeout(Zn),Zn=setTimeout(Lt,260)}),Et(` +`,"map-toolbar"),(o,n)=>(V(),Z("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:de(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:de(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",ce("")),r=Re("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([M,Q])=>[M,Q.get])),l=Yn(o,Kn(r)),i=le(()=>{var xe,Le;const M=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],Q=Object.keys(s),ie=!!(((Le=o==null?void 0:o.searchTerm)==null?void 0:Le.value)||"").trim();return!Q.length&&!ie?M:M.filter(Fe=>Q.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)||(M=>{const Q=M[c];return Q&&Q.value?Q.value:null}),d=a[c]||(M=>Qe(M[c])),m=le(()=>{var Q;const M=new Map;for(const ie of((Q=t==null?void 0:t.rows)==null?void 0:Q.value)||[]){const xe=u(ie);xe&&M.set(xe,d(ie)||xe)}return M}),v=le(()=>{const M=new Map;for(const Q of i.value){const ie=u(Q);ie&&M.set(ie,(M.get(ie)||0)+1)}return M}),C=ce(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:L,initializeMap:_,destroy:p}=u0({containerRef:C,accessToken:de(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 y=null;y=S0({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var M;return(M=t==null?void 0:t.rowStore)==null?void 0:M.value},isEnabled:()=>L.value});let S=!1,$=null,D=null,I=null,H=0,ne=!1;function se(){ne||H||(H=requestAnimationFrame(()=>{H=0;const M=w.value;if(M&&typeof M.resize=="function")try{M.resize()}catch{}}))}function be(M){const Q=!!M;if(Q!==ne){if(ne=Q,ne){H&&(cancelAnimationFrame(H),H=0);return}se(),setTimeout(se,180)}}const q=(()=>{var Q;const M={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return M[(Q=r.map)==null?void 0:Q.colorRamp]||M["heartbeat-red"]})(),ee={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function Y(M,Q){return Number.isFinite(Q)?Q-1<=M?`${M}`:`${M}–${Q-1}`:`${M}+ · heartbeat zone`}function K(M){const ie=ee.binThresholds.map(xe=>xe/ee.heartbeatThreshold).map(xe=>Math.max(Tu,Math.round(xe*M)));return T(ie,M)}function T(M,Q){const ie=[];for(const xe of M){const Le=Math.max(xe,ie.length?ie[ie.length-1]+1:Tu);LeOe>0).sort((Oe,we)=>Oe-we);if(ie.length<8)return null;const xe=Oe=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Oe*ie.length)))],Le=xe(1-Q)+1,Fe=[.25,.5,.75].map(Oe=>xe(Oe));return{threshold:Le,edges:T(Fe,Le)}}function B(M){var Oe;if(Array.isArray((Oe=r.map)==null?void 0:Oe.bins)&&r.map.bins.length)return r.map.bins;const Q=r.map||{};let ie=Number(Q.heartbeatThreshold)>0?Number(Q.heartbeatThreshold):ee.heartbeatThreshold,xe=null;if(Q.heartbeatMode==="quantile"){const we=P(M||[],Number(Q.heartbeatQuantile)>0?Number(Q.heartbeatQuantile):ee.quantile);we&&(ie=we.threshold,xe=we.edges)}xe||(xe=Array.isArray(Q.binThresholds)&&Q.binThresholds.length?[...new Set(Q.binThresholds.map(Number).filter(we=>Number.isFinite(we)&&we>0&&wewe-dt):Number(Q.heartbeatThreshold)>0?K(ie):ee.binThresholds);const Le=[...xe,ie,1/0].slice(0,q.length);for(;Le.length{const Ut={upTo:we,c:q[dt],l:Y(Fe,we)};return Fe=we,Ut})}const F=le(()=>B([...v.value.values()])),X=((Mu=r.map)==null?void 0:Mu.noDataColor)||"#f3f3f1";function fe(M){if(!M)return X;const Q=F.value;for(const ie of Q)if(M{const Oe=parseInt(ie.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=>Le(Fe).toString(16).padStart(2,"0")).join("")}const $e=le(()=>F.value.map(M=>({c:_e(M.c),l:M.l}))),Ee=((Ou=r.map)==null?void 0:Ou.selectedColor)||"#1a237e";function Te(){const M=v.value,Q=[],ie=[];M.forEach((Oe,we)=>{Q.push(we,fe(Oe)),ie.push(we)});const xe=Q.length?["match",["get","iso_3166_1_alpha_3"],...Q,X]:X,Fe=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.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 ve(){return ke()?Hr({colorSource:"properties"}):me}function b(){const M=w.value;if(!M||!M.getLayer("rd-choropleth"))return;const{fillColor:Q,fillOpacity:ie}=Te();M.setPaintProperty("rd-choropleth","fill-color",Q),M.setPaintProperty("rd-choropleth","fill-opacity",ie);const xe=M.getSource("rd-bubbles");xe&&xe.setData(k()),M.getLayer("rd-bubble-layer")&&M.setPaintProperty("rd-bubble-layer","circle-color",ve())}function A(M){const Q=M==null?void 0:M.people_praying,ie=Q&&typeof Q=="object"?Q.value:Q;return Number(ie)||0}function k(){return{type:"FeatureCollection",features:i.value.filter(M=>Number(M.latitude)&&Number(M.longitude)).map(M=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(M.longitude),Number(M.latitude)]},properties:{pop:Number(M.population)||0,slug:M.slug||"",name:M.name||"",peoplePraying:A(M)}}))}}function G(){var ie;const M=o==null?void 0:o.selectionSet,Q=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!M||!M.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Q.filter(xe=>M.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 W(){const M=w.value;if(!M)return;const Q=M.getSource("rd-bubble-selected");Q&&Q.setData(G())}function J(){var xe;const M=w.value;if(!M||S)return;S=!0,M.getSource("rd-countries")||M.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Q,fillOpacity:ie}=Te();M.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Q,"fill-opacity":ie,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),M.addSource("rd-bubbles",{type:"geojson",data:k()}),M.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":ve(),"circle-opacity":1,"circle-stroke-color":pe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),M.addSource("rd-bubble-selected",{type:"geojson",data:G()}),M.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ee,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ee,"circle-stroke-opacity":.95}}),M.on("click","rd-choropleth",j),M.on("click","rd-bubble-layer",z),M.on("mouseenter","rd-choropleth",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-choropleth",()=>{M.getCanvas().style.cursor=""}),M.on("mouseenter","rd-bubble-layer",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-bubble-layer",()=>{M.getCanvas().style.cursor=""});try{window.__rdashMap=M,window.__rdashClickAt=(Le,Fe)=>{const Oe=M.project([Le,Fe]),we=M.queryRenderedFeatures(Oe,{layers:["rd-choropleth"]});return we&&we[0]?(j({features:we}),we[0].properties&&we[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Le,Fe)=>{const Oe=M.project([Le,Fe]),we=M.queryRenderedFeatures([[Oe.x-7,Oe.y-7],[Oe.x+7,Oe.y+7]],{layers:["rd-bubble-layer"]});return we&&we[0]?(z({features:[we[0]]}),we[0].properties&&we[0].properties.slug):null}}catch{}he(),o&&o.on("select",W),W(),o&&o.on("focusRow",({slug:Le}={})=>{var we;if(!Le)return;const Fe=(((we=t==null?void 0:t.rows)==null?void 0:we.value)||[]).find(dt=>dt.slug===Le),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 j(M){const Q=w.value;if(Q&&M.point){const Fe=Q.queryRenderedFeatures([[M.point.x-5,M.point.y-5],[M.point.x+5,M.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ie=M.features&&M.features[0];if(!ie||!o)return;const xe=ie.properties&&ie.properties.iso_3166_1_alpha_3,Le=m.value.get(xe);Le&&(o.setFilter(c,s[c]===Le?null:Le),o.emit("mapFocus",{facet:c,value:Le}))}function z(M){const Q=M.features&&M.features[0];if(!Q||!o)return;const ie=Q.properties&&Q.properties.slug;ie&&(o.toggleSelect(ie),o.emit("focusRow",{slug:ie,name:Q.properties&&Q.properties.name}))}function f(M){var ie;let Q=M&&M.parentNode;for(;Q;){if(Q.nodeType===1){const xe=getComputedStyle(Q);if(/auto|scroll/.test(xe.overflowY)&&Q.scrollHeight>Q.clientHeight+4)return Q}if(Q=Q.parentElement||((ie=Q.parentNode)==null?void 0:ie.host)||(Q.parentNode!==Q?Q.parentNode:null),Q&&Q.nodeType===9)break}return null}function h(M){if(!(!M||!M.scrollZoom))try{M.scrollZoom.enable()}catch{}}wt(async()=>{await _();const M=w.value;if(!M)return;M.isStyleLoaded()?J():M.on("load",J),h(M);const Q=()=>h(M);let ie=null;try{ie=new ResizeObserver(Q);const xe=M.getContainer&&M.getContainer()||null;xe&&ie.observe(xe);const Le=xe?f(xe):null;Le&&ie.observe(Le),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",Q),Kt(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",Q)}),M.on("zoom",te),M.on("zoomend",te),M.on("resize",te),te(),M.on("idle",()=>{!S&&M.isStyleLoaded()&&J()}),typeof ResizeObserver<"u"&&C.value&&($=new ResizeObserver(se),$.observe(C.value)),oe(),M.on("idle",oe),M.on("resize",oe),o&&typeof o.on=="function"&&(D=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),I=o.on("layoutResizing",be))}),Kt(()=>{try{y&&y()}catch{}y=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 M=w.value;M&&(M.off("zoom",te),M.off("zoomend",te),M.off("resize",te),M.off("idle",oe),M.off("resize",oe))}catch{}try{p&&p()}catch{}}),gt([i,L],b);const R=ce(!0),U=ce(!0);function te(){const M=w.value;if(!M)return;const Q=M.getZoom();R.value=QM.getMinZoom()+.01}const re=ce(null);let O=null,E=null;function oe(){var xe;const M=re.value;if(!M)return;let Q=0;try{const Le=(xe=M.getRootNode)==null?void 0:xe.call(M),Fe=Le&&Le.querySelector?Le.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Oe=Fe.getBoundingClientRect(),we=M.getBoundingClientRect();if(Q=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(oe),O.observe(Fe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(Q)||20,20),72);M.style.setProperty("--rd-attrib-clear",ie+"px")}const ae=ce("globe");function he(){const M=w.value;if(M)try{M.setProjection(ae.value)}catch{}}function ye(){ae.value=ae.value==="globe"?"mercator":"globe",he()}function Be(M){const Q=Number(M.longitude),ie=Number(M.latitude);return!Number.isFinite(Q)||!Number.isFinite(ie)||Q===0&&ie===0||ie<-90||ie>90||Q<-180||Q>180?null:[Q,ie]}function qe(M,Q){if(!M.length)return NaN;const ie=Math.min(M.length-1,Math.max(0,Math.round(Q*(M.length-1))));return M[ie]}function st(M){const Q=M.slice().sort((we,dt)=>we-dt),ie=Q.length;if(ie<2)return Q;let xe=-1,Le=0;for(let we=0;wexe&&(xe=Ut,Le=we)}const Fe=(Le+1)%ie,Oe=new Array(ie);for(let we=0;we0&&dtBo[1]).sort((Bo,Jr)=>Bo-Jr),xe=st(Q.map(Bo=>Bo[0])),Le=Q.length>=F0?I0:0,Fe=qe(ie,Le),Oe=qe(ie,1-Le),we=qe(xe,Le),dt=qe(xe,1-Le),Ut=[qe(xe,.5),qe(ie,.5)];return!(dt>we)||!(Oe>Fe)?{bounds:[[Ut[0],Ut[1]],[Ut[0],Ut[1]]],center:Ut}:{bounds:[[we,Fe],[dt,Oe]],center:Ut}}function Pt(){const M=w.value;if(!M)return;if(!Object.keys(s).length){try{M.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Q=et(i.value);if(Q)try{M.fitBounds(Q.bounds,{padding:70,duration:1200,maxZoom:5.5}),M.setCenter(Q.center)}catch{}}let Zn=null;return gt(()=>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 +665,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,X)=>(W(),Y("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[P("div",{ref_key:"mapContainer",ref:T,class:"rd-mapc","data-map-canvas":""},null,512),X[1]||(X[1]=P("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),X[2]||(X[2]=P("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Me($0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:vo(()=>[Me(S0,{map:pe(w),disabled:!I.value},null,8,["map","disabled"]),Me(E0,{map:pe(w),disabled:!B.value},null,8,["map","disabled"])]),_:1}),P("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},ce(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),X[3]||(X[3]=P("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),P("div",C0,[X[0]||(X[0]=P("div",{class:"lg-h"},"UPGs / country",-1)),(W(!0),Y($e,null,Ye(ke.value,ie=>(W(),Y("div",{key:ie.l,class:"lg-row"},[P("span",{class:"lg-sw",style:it({background:ie.c})},null,4),P("span",null,ce(ie.l),1)]))),128))])],8,A0))}},F0=".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}",R0=["data-active","aria-expanded"],M0={class:"filter-dropdown__label"},O0=["value","placeholder"],D0={class:"filter-dropdown__options"},j0={key:0,class:"filter-dropdown__no-options"},z0=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],U0={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 d(N){const V=N.ownerDocument,ee=V.createElement("div");ee.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(N.parentElement||N.getRootNode().body||V.body).appendChild(ee);const be=ee.getBoundingClientRect();return ee.remove(),{x:be.left,y:be.top}}function m(){const N=c.value;if(!N)return;const V=N.getBoundingClientRect(),ee=window.innerWidth,re=window.innerHeight,be=320,q=4,J=8,R=Math.round(Math.min(V.width,ee-J*2)),j=V.right>J&&V.leftee-J?A=Math.round(Math.max(V.right-R,J)):A=Math.round(Math.max(V.left,J)):A=Math.round(Math.min(Math.max(V.left,J),ee-R-J));const z=re-V.bottom,te=z<180&&V.top>z,D=d(N),oe=Math.round(A-D.x);u.value=te?{top:"auto",bottom:`${Math.round(re-V.top+q+D.y)}px`,left:`${oe}px`,width:`${R}px`,maxHeight:`${Math.round(Math.min(be,V.top-q-J))}px`}:{top:`${Math.round(V.bottom+q-D.y)}px`,bottom:"auto",left:`${oe}px`,width:`${R}px`,maxHeight:`${Math.round(Math.min(be,z-q-J))}px`}}function v(){r.value&&m()}const T=le(()=>{if(!s.value)return o.options;const N=s.value.toLowerCase();return o.options.filter(V=>V.label.toLowerCase().includes(N))}),x=le(()=>o.options.find(N=>N.value===o.value));function w(N){var ee;const V=((ee=N.composedPath)==null?void 0:ee.call(N))??[];l.value&&!V.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 N;m(),(N=i.value)==null||N.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(N){s.value=N.target.value,a.value=-1}function _(N){const V=T.value;switch(N.key){case"ArrowDown":N.preventDefault(),a.value=Math.min(a.value+1,V.length-1),S();break;case"ArrowUp":N.preventDefault(),a.value=Math.max(a.value-1,0),S();break;case"Enter":{N.preventDefault();const ee=V[a.value];ee&&$(ee);break}case"Escape":N.preventDefault(),p();break}}function S(){$n(()=>{var V;const N=(V=l.value)==null?void 0:V.querySelector(".filter-dropdown__option[data-highlighted]");N==null||N.scrollIntoView({block:"nearest"})})}function $(N){n("filter-change",{name:o.name,value:N.value,label:N.label,type:N.type}),p()}function O(){n("filter-clear",{name:o.name}),p()}return Wt(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(N,V)=>(W(),Y("div",{ref_key:"rootRef",ref:l,class:je(["filter-dropdown",{"is-open":r.value}])},[P("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},[P("span",M0,[x.value?(W(),Y($e,{key:0},[nt(ce(e.label)+": ",1),P("strong",null,ce(x.value.label),1)],64)):(W(),Y($e,{key:1},[nt(ce(e.label),1)],64))]),V[0]||(V[0]=P("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,R0),r.value?(W(),Y("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[P("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,O0),e.value?(W(),Y("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:O},"Clear selection")):Pe("",!0),P("div",D0,[T.value.length===0?(W(),Y("div",j0,"No options found")):(W(!0),Y($e,{key:1},Ye(T.value,(ee,re)=>(W(),Y("div",{key:ee.value,class:"filter-dropdown__option",role:"option","data-highlighted":re===a.value?"":void 0,"data-selected":ee.value===e.value?"":void 0,"aria-selected":ee.value===e.value,onClick:be=>$(ee),onMouseenter:be=>a.value=re},[P("span",null,ce(ee.label),1),P("span",U0,ce(ee.count),1)],40,z0))),128))])],4)):Pe("",!0)],2))}},[["styles",[F0]]]),B0=".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)}",G0={class:"sfh"},q0={key:0,class:"sfh__search-row"},H0=["aria-expanded"],V0=["aria-label"],W0=["data-active","onClick"],K0={class:"sfh__chip-strip"},Y0={class:"sfh__sel-label"},X0=["aria-label","onClick"],J0={key:1,class:"sfh__sel-world"},Z0=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),d=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 T(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)=>(W(),Y("div",G0,[s.value?(W(),Y("div",q0,[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?(W(),Y("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(ce(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=P("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,H0)):Pe("",!0)])):Pe("",!0),a.value&&u.value?(W(),Y("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(W(!0),Y($e,null,Ye(e.filters,g=>(W(),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:T},null,8,["label","name","options","value","placeholder"]))),128)),(W(!0),Y($e,null,Ye(e.toggles,g=>(W(),Y("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},ce(g.label),9,W0))),128))],8,V0)):Pe("",!0),a.value?(W(),Y("div",{key:2,class:je(["sfh__chips",{"is-empty":!d.value.length}])},[P("div",K0,[P("span",Y0,ce(l.value.selected||"Selected"),1),d.value.length?(W(),Y($e,{key:0},[(W(!0),Y($e,null,Ye(d.value,g=>(W(),Y("span",{key:g.name,class:"sfh__chip"},[nt(ce(g.label)+" ",1),P("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,X0)]))),128)),P("button",{class:"sfh__clear",type:"button",onClick:L},ce(l.value.clear_all),1)],64)):(W(),Y("span",J0,ce(l.value.world||"World"),1))])],2)):Pe("",!0)]))}},[["styles",[B0]]]),Q0={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Xr="prayer_level",ex={__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 O=$==null?void 0:$.people_praying,N=O&&typeof O=="object"?O.value:O;return Hn[ln({peoplePraying:N??null})]}},l=le(()=>({[Xr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,O])=>[$,O.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Xr,...$.filter(O=>O!==Xr)]}),d=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,O){const N=Object.keys($);return N.length?O.filter(V=>N.every(ee=>{const re=i.value[ee];return re?re(V)===$[ee]:!0})):O}function v($){var be;const O=i.value[$];if(!O)return[];const N=(be=l.value[$])==null?void 0:be.optionLabel,V={};for(const[q,J]of Object.entries(s))q!==$&&(V[q]=J);const ee=m(V,r.value),re=new Map;for(const q of ee){const J=O(q);if(J==null||J==="")continue;const R=re.get(J);R?R.count+=1:re.set(J,{label:N&&N(q)||J,count:1})}return Array.from(re.entries()).map(([q,{label:J,count:R}])=>({value:q,label:J,count:R})).sort((q,J)=>String(q.label).localeCompare(String(J.label)))}const T=le(()=>u.value.map($=>{var O;return{name:$,label:((O=l.value[$])==null?void 0:O.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Re("dataStore",null),Re("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var N;const O=s[$];return{name:$,label:`${((N=l.value[$])==null?void 0:N.label)||$}: ${$===Xr?O:x($,O)}`}})),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 Et(` +`,"rd-mappanel"),(M,Q)=>(V(),Z("div",{ref_key:"mapWrap",ref:re,class:"rd-mapwrap","data-sub":"map","data-projection":ae.value},[N("div",{ref_key:"mapContainer",ref:C,class:"rd-mapc","data-map-canvas":""},null,512),Q[1]||(Q[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Q[2]||(Q[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:de(w),disabled:!R.value},null,8,["map","disabled"]),Me(C0,{map:de(w),disabled:!U.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ye},ue(ae.value==="globe"?"🌐 Globe":"▭ Flat"),1),Q[3]||(Q[3]=N("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),N("div",L0,[Q[0]||(Q[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),Z(Se,null,Ye($e.value,ie=>(V(),Z("div",{key:ie.l,class:"lg-row"},[N("span",{class:"lg-sw",style:it({background:ie.c})},null,4),N("span",null,ue(ie.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=ce(!1),s=ce(""),a=ce(-1),l=ce(null),i=ce(null),c=ce(null),u=ce({});function d(I){const H=I.ownerDocument,ne=H.createElement("div");ne.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(ne);const be=ne.getBoundingClientRect();return ne.remove(),{x:be.left,y:be.top}}function m(){const I=c.value;if(!I)return;const H=I.getBoundingClientRect(),ne=window.innerWidth,se=window.innerHeight,be=320,q=4,ee=8,Y=Math.round(Math.min(H.width,ne-ee*2)),K=H.right>ee&&H.leftne-ee?T=Math.round(Math.max(H.right-Y,ee)):T=Math.round(Math.max(H.left,ee)):T=Math.round(Math.min(Math.max(H.left,ee),ne-Y-ee));const P=se-H.bottom,B=P<180&&H.top>P,F=d(I),X=Math.round(T-F.x);u.value=B?{top:"auto",bottom:`${Math.round(se-H.top+q+F.y)}px`,left:`${X}px`,width:`${Y}px`,maxHeight:`${Math.round(Math.min(be,H.top-q-ee))}px`}:{top:`${Math.round(H.bottom+q-F.y)}px`,bottom:"auto",left:`${X}px`,width:`${Y}px`,maxHeight:`${Math.round(Math.min(be,P-q-ee))}px`}}function v(){r.value&&m()}const C=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 ne;const H=((ne=I.composedPath)==null?void 0:ne.call(I))??[];l.value&&!H.includes(l.value)&&p()}function L(){r.value?p():_()}function _(){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 y(I){const H=C.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 ne=H[a.value];ne&&$(ne);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(),Z("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(),Z(Se,{key:0},[nt(ue(e.label)+": ",1),N("strong",null,ue(x.value.label),1)],64)):(V(),Z(Se,{key:1},[nt(ue(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(),Z("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:y},null,40,j0),e.value?(V(),Z("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:D},"Clear selection")):Ie("",!0),N("div",z0,[C.value.length===0?(V(),Z("div",U0,"No options found")):(V(!0),Z(Se,{key:1},Ye(C.value,(ne,se)=>(V(),Z("div",{key:ne.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":ne.value===e.value?"":void 0,"aria-selected":ne.value===e.value,onClick:be=>$(ne),onMouseenter:be=>a.value=se},[N("span",null,ue(ne.label),1),N("span",G0,ue(ne.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=_=>!(_===!1||_==="false"||_==="0"||_===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=ce(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),d=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const _=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(y=>y.value===p.value);_.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&_.push({name:p.name,label:p.label});return _});function m(_){const p=(_==null?void 0:_.value)??"";n("update:search",p),n("search",{value:p})}function v(_){n("filter-change",_)}function C(_){n("filter-clear",_)}function x(_){n("toggle",{name:_.name,active:!_.active})}function w(_){n("remove-filter",{name:_})}function L(){n("clear-all")}return(_,p)=>(V(),Z("div",H0,[s.value?(V(),Z("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(),Z("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(ue(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(),Z("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),Z(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:C},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),Z(Se,null,Ye(e.toggles,g=>(V(),Z("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:y=>x(g)},ue(g.label),9,Y0))),128))],8,K0)):Ie("",!0),a.value?(V(),Z("div",{key:2,class:je(["sfh__chips",{"is-empty":!d.value.length}])},[N("div",X0,[N("span",J0,ue(l.value.selected||"Selected"),1),d.value.length?(V(),Z(Se,{key:0},[(V(!0),Z(Se,null,Ye(d.value,g=>(V(),Z("span",{key:g.name,class:"sfh__chip"},[nt(ue(g.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:y=>w(g.name)},"×",8,Z0)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:L},ue(l.value.clear_all),1)],64)):(V(),Z("span",Q0,ue(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)]}),d=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(ne=>{const se=i.value[ne];return se?se(H)===$[ne]:!0})):D}function v($){var be;const D=i.value[$];if(!D)return[];const I=(be=l.value[$])==null?void 0:be.optionLabel,H={};for(const[q,ee]of Object.entries(s))q!==$&&(H[q]=ee);const ne=m(H,r.value),se=new Map;for(const q of ne){const ee=D(q);if(ee==null||ee==="")continue;const Y=se.get(ee);Y?Y.count+=1:se.set(ee,{label:I&&I(q)||ee,count:1})}return Array.from(se.entries()).map(([q,{label:ee,count:Y}])=>({value:q,label:ee,count:Y})).sort((q,ee)=>String(q.label).localeCompare(String(ee.label)))}const C=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 _($){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 y($){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"),($,O)=>(W(),Y("div",Q0,[Me(Z0,{search:L.value,filters:T.value,"active-chips":w.value,"search-placeholder":d.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:S},null,8,["search","filters","active-chips","search-placeholder"])]))}},tx={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"},Tu=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&&tx[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=>Tu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Tu(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"]}]},ox=["data-row-count","data-loading","data-error","data-narrow"],nx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},rx=["data-kpi"],sx={class:"l"},ax={key:0,class:"d","data-kpi-delta":""},lx={class:"rd-cell-map","data-region":"map"},ix=["title"],cx=["title"],ux={class:"rd-cell-table","data-region":"table"},dx={class:"rd-rail","data-region":"rail"},fx=["aria-valuenow"],px=["aria-valuenow"],gx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],hx=["data-view"],mx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Re("profileConfig",ue(null)),n=le(()=>{const ge=pe(o);if(!ge||typeof ge!="object")return Pa;const de={...Pa,...ge};return ge.map&&typeof ge.map=="object"&&(de.map={...Pa.map,...ge.map}),de}),r=le(()=>{var ge;return((ge=pe(o))==null?void 0:ge.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=P_(n.value),u=t;gt(()=>{var ge;return{filters:{...s.filterSet},q:((ge=s.searchTerm)==null?void 0:ge.value)||""}},({filters:ge,q:de})=>u("dashboard-filter",{filterSet:ge,searchTerm:de}),{deep:!0});const d=a.total,m=a.loading,v=a.error,{shell:T,isNarrow:x,slimRail:w,slimFacet:L,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:S,setView:$,showFacets:O,showMap:N,showTable:V,showCharts:ee}=c,{startFacetResize:re,startRailResize:be,startTableResize:q,onResizeKeydown:J,facetW:R,railW:j,tableH:A,mapH:z}=F_({shellRef:T,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360}});function te(ge){return ge.kind==="pct"?ge.value:ge.kind==="distinct"?ge.value||"—":_u(ge.value)}const D=le(()=>{var ge;return(ge=s.selectionVersion)==null||ge.value,s.selectionSet?s.selectionSet.size:0});function oe(){i.exportCsvAsync()}function fe(){s.clearSelection()}function _e(){s.emit("toggleFacet",!_.value)}function ke(){s.emit("toggleRail",!S.value)}function Se(ge){const de=ge.target&&ge.target.closest&&ge.target.closest("[data-bar-export],[data-bar-clear]");de&&(de.hasAttribute("data-bar-export")?oe():fe())}return Et(` +`,"rd-research-filters"),($,D)=>(V(),Z("div",tx,[Me(ex,{search:L.value,filters:C.value,"active-chips":w.value,"search-placeholder":d.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:p,onFilterClear:g,onRemoveFilter:y,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",ce(null)),n=le(()=>{const me=de(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=de(o))==null?void 0:me.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=I_(n.value),u=t;gt(()=>{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 d=a.total,m=a.loading,v=a.error,{shell:C,isNarrow:x,slimRail:w,slimFacet:L,mobileView:_,SEG:p,tableCollapsed:g,facetCollapsed:y,railCollapsed:S,setView:$,showFacets:D,showMap:I,showTable:H,showCharts:ne}=c,{startFacetResize:se,startRailResize:be,startTableResize:q,startShellResize:ee,onResizeKeydown:Y,facetW:K,railW:T,tableH:P,mapH:B,shellH:F}=M_({shellRef:C,bus:s,isNarrow:x,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function X(me){return me.kind==="pct"?me.value:me.kind==="distinct"?me.value||"—":_u(me.value)}const fe=le(()=>{var me;return(me=s.selectionVersion)==null||me.value,s.selectionSet?s.selectionSet.size:0});function _e(){i.exportCsvAsync()}function $e(){s.clearSelection()}function Ee(){s.emit("toggleFacet",!y.value)}function Te(){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")?_e():$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; @@ -721,6 +721,8 @@ .rd-rz-table{ grid-area:map; align-self:end; justify-self:stretch; height:8px; margin-bottom:-4px; cursor:row-resize; } .rd-rz-facet::after, .rd-rz-rail::after{ top:50%; left:50%; transform:translate(-50%,-50%); width:3px; height:34px; } .rd-rz-table::after{ top:50%; left:50%; transform:translate(-50%,-50%); width:34px; height:3px; } + .rd-rz-shell{ position:absolute; left:0; right:0; bottom:0; height:10px; margin-bottom:-5px; cursor:row-resize; } + .rd-rz-shell::after{ top:50%; left:50%; transform:translate(-50%,-50%); width:48px; height:3px; } .rd-rz:hover::after{ background:var(--rd-accent,#e67e22); } .rd-rz:active{ background:color-mix(in srgb, var(--rd-accent,#e67e22) 18%, transparent); } .rd-rz:active::after{ background:var(--rd-accent,#e67e22); } @@ -738,10 +740,10 @@ .rd-shell.rd-page-scroll > [data-region="table"]{ overflow:visible; } .rd-shell.rd-page-scroll .rd-table-wrap{ height:auto; } .rd-shell.rd-page-scroll .rd-grid{ - max-height:var(--rd-table-max-h, calc(var(--rd-map-h, 40svh) - var(--rd-table-bar-h, 32px))); } + max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 80svh) - var(--rd-map-h, 40svh) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } .rd-shell.rd-page-scroll > [data-region="facets"], .rd-shell.rd-page-scroll > [data-region="rail"]{ min-height:0; overflow:hidden; - max-height:calc(var(--rd-map-h, 40svh) + var(--rd-table-max-h, calc(var(--rd-map-h, 40svh) - var(--rd-table-bar-h, 32px))) + 1px); } + max-height:calc(var(--rd-shell-h, 80svh) + 1px); } .rd-shell.rd-narrow{ grid-template-columns:1fr; grid-template-rows:52px auto var(--rd-stats-h,30px) minmax(0,1fr) 46px; grid-template-areas:"topbar" "filters" "stats" "body" "seg"; } .rd-shell.rd-narrow > [data-region]{ grid-area:body; min-width:0; min-height:0; } @@ -767,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"),(ge,de)=>(W(),Y("div",{ref_key:"shell",ref:T,class:je(["rd-shell",{"rd-narrow":pe(x),"rd-slim-rail":pe(w),"rd-slim-facet":pe(L),"rd-table-collapsed":pe(g),"rd-facet-collapsed":pe(_),"rd-rail-collapsed":pe(S),"rd-page-scroll":r.value}]),"data-row-count":pe(d),"data-loading":pe(m)?"1":"0","data-error":pe(v)||"","data-narrow":pe(x)?"1":"0"},[Me(pe(vy)),Me(pe(ex)),P("div",nx,[(W(!0),Y($e,null,Ye(pe(l),ye=>(W(),Y("div",{class:"kpi",key:ye.id},[P("span",{class:"n","data-kpi":ye.id},ce(ye.kind==="count"&&pe(m)?"…":te(ye)),9,rx),P("span",sx,ce(ye.label),1),ye.delta?(W(),Y("span",ax,"↓"+ce(pe(_u)(ye.delta)),1)):Pe("",!0)]))),128))]),Rt(Me(pe(Oy),null,null,512),[[Jt,pe(O)]]),Rt(P("div",lx,[Me(pe(I0)),pe(x)?Pe("",!0):(W(),Y("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:pe(_)?"Show filters":"Hide filters — grow the map",onClick:_e},ce(pe(_)?"▸":"◂"),9,ix)),pe(x)?Pe("",!0):(W(),Y("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:pe(S)?"Show charts":"Hide charts — grow the map",onClick:ke},ce(pe(S)?"◂":"▸"),9,cx))],512),[[Jt,pe(N)]]),Rt(P("div",ux,[Me(pe(rv))],512),[[Jt,pe(V)]]),Rt(P("aside",dx,[Me(pe(Kv)),Me(pe(wv))],512),[[Jt,pe(ee)]]),Rt(P("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":pe(R),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:de[0]||(de[0]=(...ye)=>pe(re)&&pe(re)(...ye)),onKeydown:de[1]||(de[1]=ye=>pe(J)("facet",ye))},null,40,fx),[[Jt,!pe(x)&&!pe(_)]]),Rt(P("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":pe(j),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:de[2]||(de[2]=(...ye)=>pe(be)&&pe(be)(...ye)),onKeydown:de[3]||(de[3]=ye=>pe(J)("rail",ye))},null,40,px),[[Jt,!pe(x)&&!pe(S)]]),Rt(P("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 dashboard height":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize dashboard height":"Resize table height","aria-valuenow":r.value?pe(z):parseFloat(pe(A))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:de[4]||(de[4]=(...ye)=>pe(q)&&pe(q)(...ye)),onKeydown:de[5]||(de[5]=ye=>pe(J)("table",ye))},null,40,gx),[[Jt,!pe(x)&&!pe(g)]]),P("div",{class:"rd-seg","data-segmented":"",onClick:de[6]||(de[6]=(...ye)=>pe($)&&pe($)(...ye))},[(W(!0),Y($e,null,Ye(pe(p),ye=>(W(),Y("button",{key:ye.k,class:je({on:pe(y)===ye.k}),"data-view-btn":"","data-view":ye.k},ce(ye.l),11,hx))),128))]),D.value?(W(),Y("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:Se},[P("b",null,ce(D.value)+" selected",1),de[7]||(de[7]=P("span",{class:"sp"},null,-1)),de[8]||(de[8]=P("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),de[9]||(de[9]=P("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Pe("",!0)],10,ox))}};function bx(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 _x(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 yx(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));d.length&&(c=d)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function xx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const wx=":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))}",kx={class:"pgg-root"},$x={key:0,id:"filters",class:"filters"},Sx={key:0,class:"pgg-search"},Ex=["aria-expanded"],Ax={key:0,class:"filters__toggle-count"},Cx={class:"filters__panel"},Tx={class:"filters__panel"},Lx=["data-active"],Px={key:3,class:"filters__active"},Nx=["onClick"],Ix={class:"pgg-body"},Fx={key:0,class:"repel"},Rx={class:"font-size-sm"},Mx={key:1},Ox={id:"results",class:"grid uupgs-list"},Dx=["src","alt"],jx={class:"uupg__header"},zx=["innerHTML"],Ux={key:0,class:"uupg__country"},Bx=["href"],Gx=["innerHTML"],qx=["innerHTML"],Hx=["innerHTML"],Vx={key:1,class:"uupg__content"},Wx=["href"],Kx={key:0,class:"loading"},Yx={key:1,class:"pgg-empty pgg-failed",role:"status"},Xx={key:2,class:"pgg-empty"},Jx=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=G=>!(G===!1||G==="false"||G==="0"||G===0),u=le(()=>c(o.showSearch)),d=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),T=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||""),O=le(()=>{const G={},U=f=>f;return o.wagfRegion&&(G.wagf_region={value:o.wagfRegion,label:U(o.wagfRegion)}),o.wagfBlock&&(G.wagf_block={value:o.wagfBlock,label:U(o.wagfBlock)}),o.rop1&&(G.rop1={value:o.rop1,label:U(o.rop1)}),o.religion&&(G.religion={value:o.religion,label:U(o.religion)}),o.countryCode&&(G.country_code={value:o.countryCode,label:U(o.countryCode)}),o.primaryLanguage&&(G.primary_language={value:o.primaryLanguage,label:U(o.primaryLanguage)}),o.engagementStatus&&(G.engagement_status={value:o.engagementStatus,label:U(o.engagementStatus)}),o.cluster&&(G.imb_reg_of_people_2={value:o.cluster,label:U(o.cluster)}),o.peopleGroup&&(G.imb_reg_of_people_25={value:o.peopleGroup,label:U(o.peopleGroup)}),o.gospelAccess&&(G.imb_gsec={value:o.gospelAccess,label:U(o.gospelAccess)}),G}),N=le(()=>d.value?S.value:O.value),V=le(()=>Object.values(N.value||{}).filter(G=>G&&G.value!==""&&G.value!=null).length),ee=le(()=>Object.keys(N.value).length),re=le(()=>V.value>0||!!($.value||"").trim());function be(G){return G.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(G,U=500){let f;return(...h)=>{clearTimeout(f),f=setTimeout(()=>G(...h),U)}}const J=q(()=>{L.value=!0,w.value=1,ye()},500);function R(G){_.value=(G==null?void 0:G.value)??"",J()}function j(){p.value=!p.value}function A(G){S.value={...S.value,[G.name]:{value:G.value,label:G.label}},w.value=1,ye()}function z(G){te(G.name)}function te(G){const U={...S.value};delete U[G],S.value=U,w.value=1,ye()}function D(){S.value={},w.value=1,ye()}function oe(){if(S.value.exact)return te("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,ye()}const fe=G=>String(G??"").toLowerCase().replace(/[\s_&-]+/g,"");function _e(G,U){if(!G)return!1;const f=fe(U==null?void 0:U.value);return f?fe(G.value)===f||fe(G.label)===f:!1}function ke(G){let U=G;for(const[f,h]of Object.entries(N.value))f==="exact"?U=U:U=U.filter(I=>_e(I[f],h));return U}function Se(){const G=U=>{const f=new Map;for(const h of v.value){const I=h[U];if(!(I!=null&&I.value))continue;const B=f.get(I.value);B?B.count++:f.set(I.value,{label:I.label,count:1})}return Array.from(f.entries()).map(([h,{label:I,count:B}])=>({value:h,label:I,count:B})).sort((h,I)=>h.label.localeCompare(I.label))};g.value={wagf_region:G("wagf_region"),wagf_block:G("wagf_block"),rop1:G("rop1"),religion:G("religion")}}function ge(){const G=Object.keys(g.value),U={};for(const f of G){const h={};for(const[Z,se]of Object.entries(N.value))Z!==f&&(h[Z]=se);const I=de(h,v.value),B=new Map;for(const Z of I){const se=Z[f];se!=null&&se.value&&B.set(se.value,(B.get(se.value)??0)+1)}U[f]=(g.value[f]??[]).map(Z=>({...Z,count:B.get(Z.value)??0}))}g.value=U}function de(G,U){let f=U;for(const[h,I]of Object.entries(G))h!=="exact"&&(f=f.filter(B=>_e(B[h],I)));return f}function ye(){v.value=v.value.map(B=>(B.matches=[],B.country_label="",B.rop1_label="",B));const U=Object.keys(N.value).length>0?ke(v.value):v.value,f=$.value;if(!f){T.value=U,x.value=T.value.length,L.value=!1,ge(),b();return}const I=new vx(U,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:N.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(f);T.value=I.map(B=>{var se;const Z={...B.item};if(!B.matches)return Z;Z.matches=[];for(const M of B.matches){const E=M.key;if(!E)continue;let Q="";if(String(E).includes(".")){const[ae,me]=String(E).split(".");Q=(se=Z[ae])==null?void 0:se[me]}else Q=Z[String(E)];if(Q&&typeof Q=="string"){let ae=0,me="";if(M.indices.forEach((ve,Be)=>{const qe=ve[0],st=ve[1],et=M.indices.length-1===Be;me+=be(Q.slice(ae,qe))+`${be(Q.slice(qe,st+1))}`+(et?be(Q.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))Z.matches.push({key:i.value.alternate_name??"Also known as",label:me});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"?Z.rop1_label=me:ve==="country_code"?Z.country_label=me:ve==="wagf_region"||Z.matches.push({key:Be[ve]??ve,label:me})}else Z[String(E)]=me}}return Z}),x.value=T.value.length,L.value=!1,ge(),b()}const Ne=ko();function Ie(){var U,f;const G=((U=Ne==null?void 0:Ne.vnode)==null?void 0:U.el)||((f=Ne==null?void 0:Ne.proxy)==null?void 0:f.$el);try{const h=G&&G.getRootNode&&G.getRootNode();if(h&&h.host)return h.host}catch{}return G}function b(){const G={query:$.value,activeFilters:N.value,total:x.value,slugs:T.value.map(f=>f.slug)};n("groups-filtered",G);const U=Ie();U&&typeof U.dispatchEvent=="function"&&U.dispatchEvent(new CustomEvent("groups-filtered",{detail:G,bubbles:!0,composed:!0}))}function C(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&T.value.length>0:x.value>w.value*o.perPage&&!L.value&&T.value.length>0}function k(){w.value=w.value+1}const H=le(()=>o.morePerPage>0?T.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):T.value.slice(0,w.value*o.perPage)),K=le(()=>C());async function ne(){const G=`${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 U=await fetch(G);if(!U.ok)throw new Error(`HTTP ${U.status}`);const f=await U.json();x.value=f.total,v.value=Array.isArray(f.posts)?f.posts:[],Se(),ye()}catch(U){console.error("[people-groups-grid] fetch error:",U),y.value=!0,v.value=[],L.value=!1}}return gt(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,d.value],()=>{w.value=1,ye()}),xt(ne),(G,U)=>{var f,h,I,B;return W(),Y("div",kx,[u.value||d.value?(W(),Y("div",$x,[u.value?(W(),Y("div",Sx,[Me(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:R},null,8,["model-value","placeholder","aria-label"])])):Pe("",!0),d.value?(W(),Y("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:j},[U[0]||(U[0]=P("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+ce(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),V.value?(W(),Y("span",Ax,ce(V.value),1)):Pe("",!0),U[1]||(U[1]=P("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ex)):Pe("",!0),d.value&&p.value?(W(),Y($e,{key:2},[P("div",Cx,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((f=N.value.wagf_region)==null?void 0:f.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:A,onFilterClear:z},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=N.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:A,onFilterClear:z},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((I=N.value.rop1)==null?void 0:I.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:A,onFilterClear:z},null,8,["label","options","value","placeholder"]),Me(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((B=N.value.religion)==null?void 0:B.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:A,onFilterClear:z},null,8,["label","options","value","placeholder"])]),P("div",Tx,[P("button",{class:"filter-toggle",type:"button","data-active":N.value.exact?"":void 0,onClick:oe},ce(i.value.exact_filter||"Exact"),9,Lx)])],64)):Pe("",!0),d.value&&ee.value>0?(W(),Y("div",Px,[(W(!0),Y($e,null,Ye(N.value,(Z,se)=>(W(),Y("span",{key:se,class:"filter-chip"},[nt(ce(Z.label)+" ",1),P("button",{class:"filter-chip__remove",type:"button",onClick:M=>te(String(se))},"×",8,Nx)]))),128)),P("button",{class:"filters__clear-all",type:"button",onClick:D},ce(i.value.clear_all||"Clear All"),1)])):Pe("",!0)])):Pe("",!0),P("div",Ix,[m.value||re.value?(W(),Y("div",Fx,[P("div",Rx,[L.value?(W(),Y("span",Mx," ")):(W(),Y($e,{key:0},[nt(ce(re.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Pe("",!0),P("div",Ox,[(W(!0),Y($e,null,Ye(H.value,Z=>(W(),Y("div",{key:Z.slug,class:"card uupg__card"},[Z.image_url?(W(),Y("img",{key:0,class:"uupg__image",src:Z.image_url,alt:Z.name},null,8,Dx)):Pe("",!0),P("div",jx,[P("h3",{class:"uupg__name",innerHTML:Z.name},null,8,zx),Z.country_code?(W(),Y("p",Ux,[P("a",{class:"uupg__country-link",href:`${l.value}../countries/${pe(xx)(Z.country_code.value,Z.country_code.label)}`},[P("span",{innerHTML:Z.country_label?Z.country_label:Z.country_code.label},null,8,Gx)],8,Bx),Z.rop1?(W(),Y($e,{key:0},[U[2]||(U[2]=nt(" (",-1)),P("span",{innerHTML:Z.rop1_label?Z.rop1_label:Z.rop1.label},null,8,qx),U[3]||(U[3]=nt(")",-1))],64)):Pe("",!0)])):Pe("",!0),Z.matches?(W(!0),Y($e,{key:1},Ye(Z.matches,(se,M)=>(W(),Y("p",{key:M,class:"uupg__match"},[P("strong",null,ce(se.key),1),U[4]||(U[4]=nt(": ",-1)),P("span",{innerHTML:se.label},null,8,Hx)]))),128)):Pe("",!0)]),Z.location_description?(W(),Y("p",Vx,ce(Z.location_description),1)):Pe("",!0),P("a",{class:"uupg__more-button",href:`${l.value}${Z.slug}`},ce(i.value.full_profile||"Full profile"),9,Wx)]))),128)),L.value?(W(),Y("div",Kx,ce(i.value.loading||"Loading…"),1)):y.value?(W(),Y("div",Yx,ce(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):H.value.length?Pe("",!0):(W(),Y("div",Xx,ce(i.value.no_results||"No people groups match this filter."),1))]),K.value?(W(),Y("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},ce(i.value.load_more||"Load more"),1)):Pe("",!0)])])}}},[["styles",[wx]]]),Zx=":host{display:block;width:100%}",Qx="dashboard-plus-grid/dashboard-plus-grid/index.html",ew=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(/\/+$/,"")+"/":"")+Qx}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(W(),wo(c_,{sections:s},{"section-dashboard":vo(()=>[Me(mx,{onDashboardFilter:n})]),"section-grid":vo(()=>[Me(Jx,{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",[Zx]]]);Ab({"./affinity-block.js":{default:Ob},"./doxa-region.js":{default:Ub}}),Tb();const tw=Qf(ew,{configureApp(e){e.use(dp());const t=cb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",tw))})(); +`,"rd-shell-layout"),(me,pe)=>(V(),Z("div",{ref_key:"shell",ref:C,class:je(["rd-shell",{"rd-narrow":de(x),"rd-slim-rail":de(w),"rd-slim-facet":de(L),"rd-table-collapsed":de(g),"rd-facet-collapsed":de(y),"rd-rail-collapsed":de(S),"rd-page-scroll":r.value}]),"data-row-count":de(d),"data-loading":de(m)?"1":"0","data-error":de(v)||"","data-narrow":de(x)?"1":"0"},[Me(de(wy)),Me(de(ox)),N("div",sx,[(V(!0),Z(Se,null,Ye(de(l),ve=>(V(),Z("div",{class:"kpi",key:ve.id},[N("span",{class:"n","data-kpi":ve.id},ue(ve.kind==="count"&&de(m)?"…":X(ve)),9,ax),N("span",lx,ue(ve.label),1),ve.delta?(V(),Z("span",ix,"↓"+ue(de(_u)(ve.delta)),1)):Ie("",!0)]))),128))]),Tt(Me(de(jy),null,null,512),[[Mt,de(D)]]),Tt(N("div",cx,[Me(de(R0)),de(x)?Ie("",!0):(V(),Z("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:de(y)?"Show filters":"Hide filters — grow the map",onClick:Ee},ue(de(y)?"▸":"◂"),9,ux)),de(x)?Ie("",!0):(V(),Z("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:de(S)?"Show charts":"Hide charts — grow the map",onClick:Te},ue(de(S)?"◂":"▸"),9,dx))],512),[[Mt,de(I)]]),Tt(N("div",fx,[Me(de(av))],512),[[Mt,de(H)]]),Tt(N("aside",px,[Me(de(Xv)),Me(de($v))],512),[[Mt,de(ne)]]),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":de(K),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:pe[0]||(pe[0]=(...ve)=>de(se)&&de(se)(...ve)),onKeydown:pe[1]||(pe[1]=ve=>de(Y)("facet",ve))},null,40,gx),[[Mt,!de(x)&&!de(y)]]),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":de(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:pe[2]||(pe[2]=(...ve)=>de(be)&&de(be)(...ve)),onKeydown:pe[3]||(pe[3]=ve=>de(Y)("rail",ve))},null,40,hx),[[Mt,!de(x)&&!de(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?de(B):parseFloat(de(P))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:pe[4]||(pe[4]=(...ve)=>de(q)&&de(q)(...ve)),onKeydown:pe[5]||(pe[5]=ve=>de(Y)("table",ve))},null,40,mx),[[Mt,!de(x)&&!de(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":de(F),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:pe[6]||(pe[6]=(...ve)=>de(ee)&&de(ee)(...ve)),onKeydown:pe[7]||(pe[7]=ve=>de(Y)("shell",ve))},null,40,bx),[[Mt,!de(x)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:pe[8]||(pe[8]=(...ve)=>de($)&&de($)(...ve))},[(V(!0),Z(Se,null,Ye(de(p),ve=>(V(),Z("button",{key:ve.k,class:je({on:de(_)===ve.k}),"data-view-btn":"","data-view":ve.k},ue(ve.l),11,_x))),128))]),fe.value?(V(),Z("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ke},[N("b",null,ue(fe.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));d.length&&(c=d)}}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=j=>!(j===!1||j==="false"||j==="0"||j===0),u=le(()=>c(o.showSearch)),d=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ce([]),C=ce([]),x=ce(0),w=ce(1),L=ce(!0),_=ce(!1),p=ce(!0),g=ce({}),y=ce(""),S=ce({}),$=le(()=>u.value?y.value:o.query||""),D=le(()=>{const j={},z=f=>f;return o.wagfRegion&&(j.wagf_region={value:o.wagfRegion,label:z(o.wagfRegion)}),o.wagfBlock&&(j.wagf_block={value:o.wagfBlock,label:z(o.wagfBlock)}),o.rop1&&(j.rop1={value:o.rop1,label:z(o.rop1)}),o.religion&&(j.religion={value:o.religion,label:z(o.religion)}),o.countryCode&&(j.country_code={value:o.countryCode,label:z(o.countryCode)}),o.primaryLanguage&&(j.primary_language={value:o.primaryLanguage,label:z(o.primaryLanguage)}),o.engagementStatus&&(j.engagement_status={value:o.engagementStatus,label:z(o.engagementStatus)}),o.cluster&&(j.imb_reg_of_people_2={value:o.cluster,label:z(o.cluster)}),o.peopleGroup&&(j.imb_reg_of_people_25={value:o.peopleGroup,label:z(o.peopleGroup)}),o.gospelAccess&&(j.imb_gsec={value:o.gospelAccess,label:z(o.gospelAccess)}),j}),I=le(()=>d.value?S.value:D.value),H=le(()=>Object.values(I.value||{}).filter(j=>j&&j.value!==""&&j.value!=null).length),ne=le(()=>Object.keys(I.value).length),se=le(()=>H.value>0||!!($.value||"").trim());function be(j){return j.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(j,z=500){let f;return(...h)=>{clearTimeout(f),f=setTimeout(()=>j(...h),z)}}const ee=q(()=>{L.value=!0,w.value=1,me()},500);function Y(j){y.value=(j==null?void 0:j.value)??"",ee()}function K(){p.value=!p.value}function T(j){S.value={...S.value,[j.name]:{value:j.value,label:j.label}},w.value=1,me()}function P(j){B(j.name)}function B(j){const z={...S.value};delete z[j],S.value=z,w.value=1,me()}function F(){S.value={},w.value=1,me()}function X(){if(S.value.exact)return B("exact");S.value={...S.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,me()}const fe=j=>String(j??"").toLowerCase().replace(/[\s_&-]+/g,"");function _e(j,z){if(!j)return!1;const f=fe(z==null?void 0:z.value);return f?fe(j.value)===f||fe(j.label)===f:!1}function $e(j){let z=j;for(const[f,h]of Object.entries(I.value))f==="exact"?z=z:z=z.filter(R=>_e(R[f],h));return z}function Ee(){const j=z=>{const f=new Map;for(const h of v.value){const R=h[z];if(!(R!=null&&R.value))continue;const U=f.get(R.value);U?U.count++:f.set(R.value,{label:R.label,count:1})}return Array.from(f.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:j("wagf_region"),wagf_block:j("wagf_block"),rop1:j("rop1"),religion:j("religion")}}function Te(){const j=Object.keys(g.value),z={};for(const f of j){const h={};for(const[te,re]of Object.entries(I.value))te!==f&&(h[te]=re);const R=ke(h,v.value),U=new Map;for(const te of R){const re=te[f];re!=null&&re.value&&U.set(re.value,(U.get(re.value)??0)+1)}z[f]=(g.value[f]??[]).map(te=>({...te,count:U.get(te.value)??0}))}g.value=z}function ke(j,z){let f=z;for(const[h,R]of Object.entries(j))h!=="exact"&&(f=f.filter(U=>_e(U[h],R)));return f}function me(){v.value=v.value.map(U=>(U.matches=[],U.country_label="",U.rop1_label="",U));const z=Object.keys(I.value).length>0?$e(v.value):v.value,f=$.value;if(!f){C.value=z,x.value=C.value.length,L.value=!1,Te(),b();return}const R=new kx(z,{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(f);C.value=R.map(U=>{var re;const te={...U.item};if(!U.matches)return te;te.matches=[];for(const O of U.matches){const E=O.key;if(!E)continue;let oe="";if(String(E).includes(".")){const[ae,he]=String(E).split(".");oe=(re=te[ae])==null?void 0:re[he]}else oe=te[String(E)];if(oe&&typeof oe=="string"){let ae=0,he="";if(O.indices.forEach((ye,Be)=>{const qe=ye[0],st=ye[1],et=O.indices.length-1===Be;he+=be(oe.slice(ae,qe))+`${be(oe.slice(qe,st+1))}`+(et?be(oe.slice(st+1)):""),ae=st+1}),String(E).includes("imb_alternate_name"))te.matches.push({key:i.value.alternate_name??"Also known as",label:he});else if(String(E).includes(".")){const[ye]=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};ye==="rop1"?te.rop1_label=he:ye==="country_code"?te.country_label=he:ye==="wagf_region"||te.matches.push({key:Be[ye]??ye,label:he})}else te[String(E)]=he}}return te}),x.value=C.value.length,L.value=!1,Te(),b()}const pe=ko();function ve(){var z,f;const j=((z=pe==null?void 0:pe.vnode)==null?void 0:z.el)||((f=pe==null?void 0:pe.proxy)==null?void 0:f.$el);try{const h=j&&j.getRootNode&&j.getRootNode();if(h&&h.host)return h.host}catch{}return j}function b(){const j={query:$.value,activeFilters:I.value,total:x.value,slugs:C.value.map(f=>f.slug)};n("groups-filtered",j);const z=ve();z&&typeof z.dispatchEvent=="function"&&z.dispatchEvent(new CustomEvent("groups-filtered",{detail:j,bubbles:!0,composed:!0}))}function A(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!L.value&&C.value.length>0:x.value>w.value*o.perPage&&!L.value&&C.value.length>0}function k(){w.value=w.value+1}const G=le(()=>o.morePerPage>0?C.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):C.value.slice(0,w.value*o.perPage)),W=le(()=>A());async function J(){const j=`${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,_.value=!1;try{const z=await fetch(j);if(!z.ok)throw new Error(`HTTP ${z.status}`);const f=await z.json();x.value=f.total,v.value=Array.isArray(f.posts)?f.posts:[],Ee(),me()}catch(z){console.error("[people-groups-grid] fetch error:",z),_.value=!0,v.value=[],L.value=!1}}return gt(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,d.value],()=>{w.value=1,me()}),wt(J),(j,z)=>{var f,h,R,U;return V(),Z("div",Ex,[u.value||d.value?(V(),Z("div",Ax,[u.value?(V(),Z("div",Cx,[Me(Sa,{"model-value":y.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:Y},null,8,["model-value","placeholder","aria-label"])])):Ie("",!0),d.value?(V(),Z("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:K},[z[0]||(z[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(" "+ue(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),H.value?(V(),Z("span",Lx,ue(H.value),1)):Ie("",!0),z[1]||(z[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),d.value&&p.value?(V(),Z(Se,{key:2},[N("div",Px,[Me(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((f=I.value.wagf_region)==null?void 0:f.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:P},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:P},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:P},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:P},null,8,["label","options","value","placeholder"])]),N("div",Nx,[N("button",{class:"filter-toggle",type:"button","data-active":I.value.exact?"":void 0,onClick:X},ue(i.value.exact_filter||"Exact"),9,Ix)])],64)):Ie("",!0),d.value&&ne.value>0?(V(),Z("div",Fx,[(V(!0),Z(Se,null,Ye(I.value,(te,re)=>(V(),Z("span",{key:re,class:"filter-chip"},[nt(ue(te.label)+" ",1),N("button",{class:"filter-chip__remove",type:"button",onClick:O=>B(String(re))},"×",8,Rx)]))),128)),N("button",{class:"filters__clear-all",type:"button",onClick:F},ue(i.value.clear_all||"Clear All"),1)])):Ie("",!0)])):Ie("",!0),N("div",Mx,[m.value||se.value?(V(),Z("div",Ox,[N("div",Dx,[L.value?(V(),Z("span",jx," ")):(V(),Z(Se,{key:0},[nt(ue(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),Z(Se,null,Ye(G.value,te=>(V(),Z("div",{key:te.slug,class:"card uupg__card"},[te.image_url?(V(),Z("img",{key:0,class:"uupg__image",src:te.image_url,alt:te.name},null,8,Ux)):Ie("",!0),N("div",Bx,[N("h3",{class:"uupg__name",innerHTML:te.name},null,8,Gx),te.country_code?(V(),Z("p",qx,[N("a",{class:"uupg__country-link",href:`${l.value}../countries/${de($x)(te.country_code.value,te.country_code.label)}`},[N("span",{innerHTML:te.country_label?te.country_label:te.country_code.label},null,8,Vx)],8,Hx),te.rop1?(V(),Z(Se,{key:0},[z[2]||(z[2]=nt(" (",-1)),N("span",{innerHTML:te.rop1_label?te.rop1_label:te.rop1.label},null,8,Wx),z[3]||(z[3]=nt(")",-1))],64)):Ie("",!0)])):Ie("",!0),te.matches?(V(!0),Z(Se,{key:1},Ye(te.matches,(re,O)=>(V(),Z("p",{key:O,class:"uupg__match"},[N("strong",null,ue(re.key),1),z[4]||(z[4]=nt(": ",-1)),N("span",{innerHTML:re.label},null,8,Kx)]))),128)):Ie("",!0)]),te.location_description?(V(),Z("p",Yx,ue(te.location_description),1)):Ie("",!0),N("a",{class:"uupg__more-button",href:`${l.value}${te.slug}`},ue(i.value.full_profile||"Full profile"),9,Xx)]))),128)),L.value?(V(),Z("div",Jx,ue(i.value.loading||"Loading…"),1)):_.value?(V(),Z("div",Zx,ue(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(),Z("div",Qx,ue(i.value.no_results||"No people groups match this filter."),1))]),W.value?(V(),Z("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},ue(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",ce({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/dashboard-plus-grid/dashboard-plus-grid/default/index.html b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html index d1d90e707..9af74be3a 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html @@ -40,7 +40,7 @@ - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":21,"profileCount":30,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-tAjAGAdk1Cl37qG8jpKtcYDzHBRMDrXKEHFrVLHxtzEkcvEuJPhGhhYBZmCe/9yZ","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-tAjAGAdk1Cl37qG8jpKtcYDzHBRMDrXKEHFrVLHxtzEkcvEuJPhGhhYBZmCe/9yZ\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-BekKJLrplB/C2yM5LktAqgQVgu6c2bMXXj8q8YcXCc5k0MSaA5j3eSB4pBfnuqpX","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-BekKJLrplB/C2yM5LktAqgQVgu6c2bMXXj8q8YcXCc5k0MSaA5j3eSB4pBfnuqpX\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-BekKJLrplB/C2yM5LktAqgQVgu6c2bMXXj8q8YcXCc5k0MSaA5j3eSB4pBfnuqpX\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-K2NX+xsAChEWESHmT4mbibzCKJAe7dG8YlBlNBeAIFESgEEa0rfqhtO0xMzGoEDr","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-K2NX+xsAChEWESHmT4mbibzCKJAe7dG8YlBlNBeAIFESgEEa0rfqhtO0xMzGoEDr\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-7S1T7VPYgSO4kuv8c9z986t07Px9CCSldEencPmTmSOKw3O7EyHreSIR2oTjltXW","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-7S1T7VPYgSO4kuv8c9z986t07Px9CCSldEencPmTmSOKw3O7EyHreSIR2oTjltXW\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-5h+E+VvqqnWYLB6JJlilhVDhIcReDkjMbXMj/tcxZ30PFWB2KzYIf7EA3CDo6sM7","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-5h+E+VvqqnWYLB6JJlilhVDhIcReDkjMbXMj/tcxZ30PFWB2KzYIf7EA3CDo6sM7\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-Y25Bah62zTBVYbECkjizvyHgz0uexTpUG2Td22NlCrIwhrEIe2HuM87/2DD958lM","elements":["regions-dashboard"],"profiles":[{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-Y25Bah62zTBVYbECkjizvyHgz0uexTpUG2Td22NlCrIwhrEIe2HuM87/2DD958lM\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n\n" + "script": "\n\n" }, "instances": [ { @@ -623,7 +623,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-+5WuoIUhRu6FKqEalxJkTqfKvzzA5UvID0woty5FlSSGXth9IKlfWUd8T7341Kw6", + "integrity": "sha384-KztI/8n0IEae2z4rU3yxpcUm0ZaYK+eKPFyPwjf/6hTsfZvCEpEeTWoURcoE3TKL", "elements": [ "my-upg-100-list-map" ], @@ -643,7 +643,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -657,7 +657,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -671,7 +671,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -741,7 +741,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "doxa-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh", + "integrity": "sha384-+S3A3z43puiUAZgQa8IxNHH1pIgdF34GqaTRUBxZ8uhm0yoY/AU6spel8kHjkwGz", "elements": [ "plugin-studio" ], @@ -769,7 +769,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -846,7 +846,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-bMlXnX3T3wamNv7zckjPeNmL15R5hH4QrpdehOaQ4y8Qme36PGftft1tzh2sUf6P", + "integrity": "sha384-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc", "elements": [ "research-dashboard-map" ], @@ -862,7 +862,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 83219cf18..491b56c0f 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -40,7 +40,7 @@ * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Kb="9.14.5";function zb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(xo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(xo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1)}const Hb=wb.__EXTEND_POINT__,Ao=Ja(Hb);Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao();const su=Wt.__EXTEND_POINT__,Mt=Ja(su),pt={UNEXPECTED_RETURN_TYPE:su,INVALID_ARGUMENT:Mt(),MUST_BE_CALL_SETUP_TOP:Mt(),NOT_INSTALLED:Mt(),NOT_AVAILABLE_IN_LEGACY_MODE:Mt(),REQUIRED_VALUE:Mt(),INVALID_VALUE:Mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Mt(),NOT_INSTALLED_WITH_PROVIDE:Mt(),UNEXPECTED_ERROR:Mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Mt(),BRIDGE_SUPPORT_VUE_2_ONLY:Mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Mt(),__EXTEND_POINT__:Mt()};function ft(e,...t){return hn(e,null,void 0)}const _s=Mo("__translateVNode"),vs=Mo("__datetimeParts"),ks=Mo("__numberParts"),iu=Mo("__setPluralRules"),lu=Mo("__injectWithOption"),ws=Mo("__dispose");function ta(e){if(!Ie(e)||ro(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))Ie(e[t])&&ta(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ge(),Xa(c,s[l])):Xa(c,s)}else pe(i)&&Xa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ht(s,i)&&ta(s[i]);return s}function cu(e){return e.type}function uu(e,t,o){let n=Ie(t.messages)?t.messages:Ge();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ie(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ie(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function du(e){return je(zn,null,e,0)}const pu="__INTLIFY_META__",gu=()=>[],Vb=()=>!1;let fu=0;function hu(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Wb=()=>{const e=ko();let t=null;return e&&(t=cu(e)[pu])?{[pu]:t}:null};function xs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ya?ue:an,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:pe(e.locale)?e.locale:yn),u=s(o&&l?o.fallbackLocale.value:pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,h=o?o.fallbackWarn:Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,y=!!e.fallbackFormat,k=Ve(e.missing)?e.missing:null,v=Ve(e.missing)?hu(e.missing):null,_=Ve(e.postTranslation)?e.postTranslation:null,m=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const L=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let R=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&Hc(null);const j={version:Kb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:R,missing:v===null?void 0:v,missingWarn:w,fallbackWarn:h,fallbackFormat:y,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:m,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=x.value,j.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,j.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const S=Nb(j);return a&&Hc(S),S})(),ea(M,c.value,u.value);function C(){return[c.value,u.value,p.value,g.value,x.value]}const F=Q({get:()=>c.value,set:j=>{c.value=j,M.locale=c.value}}),H=Q({get:()=>u.value,set:j=>{u.value=j,M.fallbackLocale=u.value,ea(M,c.value,j)}}),G=Q(()=>p.value),U=Q(()=>g.value),B=Q(()=>x.value);function T(){return Ve(_)?_:null}function se(j){_=j,M.postTranslation=j}function ye(){return k}function ae(j){j!==null&&(v=hu(j)),k=j,M.missing=v}const oe=(j,S,O,ne,ce,ge)=>{C();let Le;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?Mb():void 0),Le=j(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(O!=="translate exists"&&st(Le)&&Le===tr||O==="translate exists"&&!Le){const[_e,ct]=S();return o&&d?ne(o):ce(_e)}else{if(ge(Le))return Le;throw ft(pt.UNEXPECTED_RETURN_TYPE)}};function fe(...j){return oe(S=>Reflect.apply(Zc,null,[S,...j]),()=>ms(...j),"translate",S=>Reflect.apply(S.t,S,[...j]),S=>S,S=>pe(S))}function Pe(...j){const[S,O,ne]=j;if(ne&&!Ie(ne))throw ft(pt.INVALID_ARGUMENT);return fe(S,O,vt({resolvedMessage:!0},ne||{}))}function We(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>Reflect.apply(S.d,S,[...j]),()=>Oc,S=>pe(S))}function Xe(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>Reflect.apply(S.n,S,[...j]),()=>Oc,S=>pe(S))}function Qe(j){return j.map(S=>pe(S)||st(S)||Te(S)?du(String(S)):S)}const Ke={normalize:Qe,interpolate:j=>j,type:"vnode"};function it(...j){return oe(S=>{let O;const ne=S;try{ne.processor=Ke,O=Reflect.apply(Zc,null,[ne,...j])}finally{ne.processor=null}return O},()=>ms(...j),"translate",S=>S[_s](...j),S=>[du(S)],S=>Ze(S))}function Ye(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>S[ks](...j),gu,S=>pe(S)||Ze(S))}function $t(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>S[vs](...j),gu,S=>pe(S)||Ze(S))}function A(j){R=j,M.pluralRules=R}function N(j,S){return oe(()=>{if(!j)return!1;const O=pe(S)?S:c.value,ne=Y(O),ce=M.messageResolver(ne,j);return i?ce!=null:ro(ce)||Gt(ce)||pe(ce)},()=>[j],"translate exists",O=>Reflect.apply(O.te,O,[j,S]),Vb,O=>Te(O))}function E(j){let S=null;const O=Rc(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=j,M.locale=j,ea(M,c.value,u.value))}),nt(o.fallbackLocale,j=>{l&&(u.value=j,M.fallbackLocale=j,ea(M,c.value,u.value))}));const re={id:fu,locale:F,fallbackLocale:H,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,ea(M,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:G,get modifiers(){return L},get pluralRules(){return R||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,M.missingWarn=w},get fallbackWarn(){return h},set fallbackWarn(j){h=j,M.fallbackWarn=h},get fallbackRoot(){return d},set fallbackRoot(j){d=j},get fallbackFormat(){return y},set fallbackFormat(j){y=j,M.fallbackFormat=y},get warnHtmlMessage(){return m},set warnHtmlMessage(j){m=j,M.warnHtmlMessage=j},get escapeParameter(){return $},set escapeParameter(j){$=j,M.escapeParameter=j},t:fe,getLocaleMessage:Y,setLocaleMessage:Z,mergeLocaleMessage:X,getPostTranslationHandler:T,setPostTranslationHandler:se,getMissingHandler:ye,setMissingHandler:ae,[iu]:A};return re.datetimeFormats=U,re.numberFormats=B,re.rt=Pe,re.te=N,re.tm=K,re.d=We,re.n=Xe,re.getDateTimeFormat=q,re.setDateTimeFormat=f,re.mergeDateTimeFormat=b,re.getNumberFormat=D,re.setNumberFormat=V,re.mergeNumberFormat=ie,re[lu]=n,re[_s]=it,re[vs]=$t,re[ks]=Ye,re}function Yb(e){const t=pe(e.locale)?e.locale:yn,o=pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,a=Te(e.silentTranslationWarn)||No(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Te(e.silentFallbackWarn)||No(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,p=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let w=e.messages;if(Se(e.sharedMessages)){const $=e.sharedMessages;w=Object.keys($).reduce((R,M)=>{const I=R[M]||(R[M]={});return vt(I,$[M]),R},w||{})}const{__i18n:h,__root:d,__injectWithOption:y}=e,k=e.datetimeFormats,v=e.numberFormats,_=e.flatJson,m=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:_,datetimeFormats:k,numberFormats:v,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:m,__i18n:h,__root:d,__injectWithOption:y}}function Ss(e={},t){{const o=xs(Yb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Te(r)?!r:r},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Te(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:Ze(i)?u=i:Se(i)&&(p=i),Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:st(i)?c.plural=i:Ze(i)?u=i:Se(i)&&(p=i),pe(l)?c.locale=l:Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const As={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===$e?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ge())}function mu(e){return $e}const bu=jn({name:"i18n-t",props:vt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},As),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||kt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Ge();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const i=qb(t,r),l=a[_s](e.keypath,i,s),c=vt(Ge(),n),u=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(u,c,l)}}});function Jb(e){return Ze(e)&&!pe(e[0])}function yu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ge();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:Ie(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,x)=>o.includes(x)?vt(Ge(),g,{[x]:e.format[x]}):g,Ge()));const l=n(e.value,s,i);let c=[s.key];Ze(l)?c=l.map((g,x)=>{const w=a[g.type],h=w?w({[g.type]:g.value,index:x,parts:l}):[g.value];return Jb(h)&&(h[0].key=`${g.type}-${x}`),h}):pe(l)&&(c=[l]);const u=vt(Ge(),r),p=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(p,u,c)}}const _u=jn({name:"i18n-n",props:vt({value:{type:Number,required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return yu(e,t,au,(...n)=>o[ks](...n))}}),vu=jn({name:"i18n-d",props:vt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return yu(e,t,tu,(...n)=>o[vs](...n))}});function Zb(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 Xb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw ft(pt.UNEXPECTED_ERROR);const u=Zb(e,i.$),p=ku(c);return[Reflect.apply(u.t,u,[...wu(p)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=ku(i);s.textContent=Reflect.apply(l.t,l,[...wu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ku(e){if(pe(e))return{path:e};if(Se(e)){if(!("path"in e))throw ft(pt.REQUIRED_VALUE,"path");return e}else throw ft(pt.INVALID_VALUE)}function wu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return pe(o)&&(s.locale=o),st(a)&&(s.plural=a),st(r)&&(s.plural=r),[t,i,s]}function Qb(e,t,...o){const n=Se(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":bu.name,"I18nT"].forEach(s=>e.component(s,bu)),[_u.name,"I18nN"].forEach(s=>e.component(s,_u)),[vu.name,"I18nD"].forEach(s=>e.component(s,vu))),e.directive("t",Xb(t))}function ey(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=xu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ss(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xu(e,a);else{this.$i18n=Ss({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&uu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xu(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[iu](t.pluralizationRules||e.pluralizationRules);const o=or(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 ty=Mo("global-vue-i18n");function oy(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=ny(e,o),l=Mo("");function c(g){return r.get(g)||null}function u(g,x){r.set(g,x)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...w){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,g),Se(w[0])){const y=w[0];g.__composerExtend=y.__composerExtend,g.__vueI18nExtend=y.__vueI18nExtend}let h=null;!o&&n&&(h=py(x,g.global)),__VUE_I18N_FULL_INSTALL__&&Qb(x,g,...w),__VUE_I18N_LEGACY_API__&&o&&x.mixin(ey(i,i.__composer,g));const d=x.unmount;x.unmount=()=>{h&&h(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:p};return g}}function kt(e={}){const t=ko();if(t==null)throw ft(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(pt.NOT_INSTALLED);const o=ay(t),n=sy(o),a=cu(t),r=ry(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ft(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return uy(t,r,n,e)}if(r==="global")return uu(n,e,a),n;if(r==="parent"){let l=iy(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=vt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=xs(l),s.__composerExtend&&(i[ws]=s.__composerExtend(i)),cy(s,t,i),s.__setInstance(t,i)}return i}function ny(e,t,o){const n=vr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ss(e)):n.run(()=>xs(e));if(a==null)throw ft(pt.UNEXPECTED_ERROR);return[n,a]}}function ay(e){{const t=Ee(e.isCE?ty:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function ry(e,t){return qa(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function sy(e){return e.mode==="composition"?e.global:e.global.__composer}function iy(e,t,o=!1){let n=null;const a=t.root;let r=ly(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[lu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function ly(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cy(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const a=n[ws];a&&(a(),delete n[ws])},t)}function uy(e,t,o,n={}){const a=t==="local",r=an(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!pe(n.locale),i=ue(!a||s?o.locale.value:pe(n.locale)?n.locale:yn),l=ue(!a||s?o.fallbackLocale.value:pe(n.fallbackLocale)||Ze(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Te(n.missingWarn)||No(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Te(n.fallbackWarn)||No(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,h=!!n.fallbackFormat,d=Ve(n.missing)?n.missing:null,y=Ve(n.postTranslation)?n.postTranslation:null,k=a?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,v=!!n.escapeParameter,_=a?o.modifiers:Se(n.modifiers)?n.modifiers:{},m=n.pluralRules||a&&o.pluralRules;function $(){return[i.value,l.value,c.value,u.value,p.value]}const L=Q({get:()=>r.value?r.value.locale.value:i.value,set:E=>{r.value&&(r.value.locale.value=E),i.value=E}}),R=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:E=>{r.value&&(r.value.fallbackLocale.value=E),l.value=E}}),M=Q(()=>r.value?r.value.messages.value:c.value),I=Q(()=>u.value),C=Q(()=>p.value);function F(){return r.value?r.value.getPostTranslationHandler():y}function H(E){r.value&&r.value.setPostTranslationHandler(E)}function G(){return r.value?r.value.getMissingHandler():d}function U(E){r.value&&r.value.setMissingHandler(E)}function B(E){return $(),E()}function T(...E){return r.value?B(()=>Reflect.apply(r.value.t,null,[...E])):B(()=>"")}function se(...E){return r.value?Reflect.apply(r.value.rt,null,[...E]):""}function ye(...E){return r.value?B(()=>Reflect.apply(r.value.d,null,[...E])):B(()=>"")}function ae(...E){return r.value?B(()=>Reflect.apply(r.value.n,null,[...E])):B(()=>"")}function oe(E){return r.value?r.value.tm(E):{}}function fe(E,K){return r.value?r.value.te(E,K):!1}function Pe(E){return r.value?r.value.getLocaleMessage(E):{}}function We(E,K){r.value&&(r.value.setLocaleMessage(E,K),c.value[E]=K)}function Xe(E,K){r.value&&r.value.mergeLocaleMessage(E,K)}function Qe(E){return r.value?r.value.getDateTimeFormat(E):{}}function ht(E,K){r.value&&(r.value.setDateTimeFormat(E,K),u.value[E]=K)}function Ke(E,K){r.value&&r.value.mergeDateTimeFormat(E,K)}function it(E){return r.value?r.value.getNumberFormat(E):{}}function Ye(E,K){r.value&&(r.value.setNumberFormat(E,K),p.value[E]=K)}function $t(E,K){r.value&&r.value.mergeNumberFormat(E,K)}const A={get id(){return r.value?r.value.id:-1},locale:L,fallbackLocale:R,messages:M,datetimeFormats:I,numberFormats:C,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(E){r.value&&(r.value.inheritLocale=E)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:_},get pluralRules(){return r.value?r.value.pluralRules:m},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(E){r.value&&(r.value.fallbackRoot=E)},get fallbackFormat(){return r.value?r.value.fallbackFormat:h},set fallbackFormat(E){r.value&&(r.value.fallbackFormat=E)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:k},set warnHtmlMessage(E){r.value&&(r.value.warnHtmlMessage=E)},get escapeParameter(){return r.value?r.value.escapeParameter:v},set escapeParameter(E){r.value&&(r.value.escapeParameter=E)},t:T,getPostTranslationHandler:F,setPostTranslationHandler:H,getMissingHandler:G,setMissingHandler:U,rt:se,d:ye,n:ae,tm:oe,te:fe,getLocaleMessage:Pe,setLocaleMessage:We,mergeLocaleMessage:Xe,getDateTimeFormat:Qe,setDateTimeFormat:ht,mergeDateTimeFormat:Ke,getNumberFormat:it,setNumberFormat:Ye,mergeNumberFormat:$t};function N(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{E.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{E.mergeDateTimeFormat(K,u.value[K])}),Object.keys(p.value).forEach(K=>{E.mergeNumberFormat(K,p.value[K])}),E.escapeParameter=v,E.fallbackFormat=h,E.fallbackRoot=w,E.fallbackWarn=x,E.missingWarn=g,E.warnHtmlMessage=k}return al(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=r.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):a&&N(E)}),A}const dy=["locale","fallbackLocale","availableLocales"],Su=["t","rt","d","n","tm","te"];function py(e,t){const o=Object.create(null);return dy.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw ft(pt.UNEXPECTED_ERROR);const s=Je(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Su.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw ft(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Su.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(zb(),__INTLIFY_JIT_COMPILATION__?jc(Db):jc(Ob),Cb(lb),Eb(Rc),__INTLIFY_PROD_DEVTOOLS__){const e=xo();e.__INTLIFY__=!0,bb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const gy=Object.assign({"./locales/ar/aria.json":_f,"./locales/ar/buttons.json":vf,"./locales/ar/detail.json":kf,"./locales/ar/legend.json":wf,"./locales/ar/messages.json":xf,"./locales/ar/options.json":Sf,"./locales/ar/prayerLaps.json":Af,"./locales/ar/search.json":$f,"./locales/ar/tabs.json":Lf,"./locales/de/aria.json":Cf,"./locales/de/buttons.json":Ef,"./locales/de/detail.json":Tf,"./locales/de/legend.json":Pf,"./locales/de/messages.json":Mf,"./locales/de/options.json":Nf,"./locales/de/prayerLaps.json":If,"./locales/de/search.json":Rf,"./locales/de/tabs.json":Ff,"./locales/en/aria.json":Of,"./locales/en/buttons.json":Df,"./locales/en/detail.json":Bf,"./locales/en/legend.json":jf,"./locales/en/messages.json":Gf,"./locales/en/options.json":Uf,"./locales/en/popup.json":Kf,"./locales/en/prayerLaps.json":zf,"./locales/en/search.json":Hf,"./locales/en/tabs.json":Vf,"./locales/es/aria.json":Wf,"./locales/es/buttons.json":Yf,"./locales/es/detail.json":qf,"./locales/es/legend.json":Jf,"./locales/es/messages.json":Zf,"./locales/es/options.json":Xf,"./locales/es/prayerLaps.json":Qf,"./locales/es/search.json":eh,"./locales/es/tabs.json":th,"./locales/fr/aria.json":oh,"./locales/fr/buttons.json":nh,"./locales/fr/detail.json":ah,"./locales/fr/legend.json":rh,"./locales/fr/messages.json":sh,"./locales/fr/options.json":ih,"./locales/fr/popup.json":lh,"./locales/fr/prayerLaps.json":ch,"./locales/fr/search.json":uh,"./locales/fr/tabs.json":dh,"./locales/hi/aria.json":ph,"./locales/hi/buttons.json":gh,"./locales/hi/detail.json":fh,"./locales/hi/legend.json":hh,"./locales/hi/messages.json":mh,"./locales/hi/options.json":bh,"./locales/hi/prayerLaps.json":yh,"./locales/hi/search.json":_h,"./locales/it/aria.json":vh,"./locales/it/buttons.json":kh,"./locales/it/detail.json":wh,"./locales/it/legend.json":xh,"./locales/it/messages.json":Sh,"./locales/it/options.json":Ah,"./locales/it/prayerLaps.json":$h,"./locales/it/search.json":Lh,"./locales/pt/aria.json":Ch,"./locales/pt/buttons.json":Eh,"./locales/pt/detail.json":Th,"./locales/pt/legend.json":Ph,"./locales/pt/messages.json":Mh,"./locales/pt/options.json":Nh,"./locales/pt/prayerLaps.json":Ih,"./locales/pt/search.json":Rh,"./locales/pt/tabs.json":Fh,"./locales/ro/aria.json":Oh,"./locales/ro/buttons.json":Dh,"./locales/ro/detail.json":Bh,"./locales/ro/legend.json":jh,"./locales/ro/messages.json":Gh,"./locales/ro/options.json":Uh,"./locales/ro/prayerLaps.json":Kh,"./locales/ro/search.json":zh,"./locales/ru/aria.json":Hh,"./locales/ru/buttons.json":Vh,"./locales/ru/detail.json":Wh,"./locales/ru/legend.json":Yh,"./locales/ru/messages.json":qh,"./locales/ru/options.json":Jh,"./locales/ru/prayerLaps.json":Zh,"./locales/ru/search.json":Xh,"./locales/ru/tabs.json":Qh,"./locales/zh/aria.json":em,"./locales/zh/buttons.json":tm,"./locales/zh/detail.json":om,"./locales/zh/legend.json":nm,"./locales/zh/messages.json":am,"./locales/zh/options.json":rm,"./locales/zh/prayerLaps.json":sm,"./locales/zh/search.json":im}),oa={};for(const[e,t]of Object.entries(gy)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;oa[n]??(oa[n]={}),oa[n][a]=t}const Au=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function fy(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Au.includes(t)?t:"en"}function hy(){return oy({legacy:!1,globalInjection:!0,locale:fy(),fallbackLocale:"en",messages:oa,missingWarn:!1,fallbackWarn:!1})}function wt(e,t){const o=t||my(e);to(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function my(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=Q(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),r=ue(!1),s=ue(null);let i=null,l=null,c=null,u=null,p=null;function g(){r.value=!1}function x(d,y){var v;let k=d==null?void 0:d.parentElement;for(let _=0;k&&_<12;_++,k=k.parentElement){if(k===y||(v=k.classList)!=null&&v.contains("profile-loader"))return null;let m="";try{m=getComputedStyle(k).position}catch{}if(m&&m!=="static"){const $=k.getBoundingClientRect();if($.height>=120&&$.width>=160)return k}}return null}function w(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const y=d.getBoundingClientRect();if(!y.height)return;const k=Math.round(y.bottom-window.innerHeight);k>0&&d.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function h(d){const y=s.value;if(!y||!(d!=null&&d.querySelector))return;let k=0;try{const _=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(_){const m=_.getBoundingClientRect(),$=y.parentElement,L=$?$.getBoundingClientRect():null;if(k=L?Math.max(m.height||0,L.bottom-m.top):m.height||0,p!==_&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=_,c=new ResizeObserver(()=>h(d)),c.observe(_)}}}catch{}const v=Math.min(Math.max(Math.ceil(k)||20,20),72);y.style.setProperty("--pin-hint-attrib-clear",v+"px"),w()}return to(()=>{var v,_,m;const d=ko(),y=(m=(_=(v=d==null?void 0:d.proxy)==null?void 0:v.$el)==null?void 0:_.getRootNode)==null?void 0:m.call(_);if(!y||typeof y.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const $=y.querySelector("canvas");$?(clearInterval(i),i=null,r.value=!0,mo(()=>{const L=x($,y),R=s.value;if(L&&R&&R.parentElement!==L)try{L.appendChild(R),l=L}catch{}h(y),w();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(M)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),yo(()=>{var d;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),wt(` + */const Kb="9.14.5";function zb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(xo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(xo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1)}const Hb=wb.__EXTEND_POINT__,Ao=Ja(Hb);Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao();const su=Wt.__EXTEND_POINT__,Mt=Ja(su),pt={UNEXPECTED_RETURN_TYPE:su,INVALID_ARGUMENT:Mt(),MUST_BE_CALL_SETUP_TOP:Mt(),NOT_INSTALLED:Mt(),NOT_AVAILABLE_IN_LEGACY_MODE:Mt(),REQUIRED_VALUE:Mt(),INVALID_VALUE:Mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Mt(),NOT_INSTALLED_WITH_PROVIDE:Mt(),UNEXPECTED_ERROR:Mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Mt(),BRIDGE_SUPPORT_VUE_2_ONLY:Mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Mt(),__EXTEND_POINT__:Mt()};function ft(e,...t){return hn(e,null,void 0)}const _s=Mo("__translateVNode"),vs=Mo("__datetimeParts"),ks=Mo("__numberParts"),iu=Mo("__setPluralRules"),lu=Mo("__injectWithOption"),ws=Mo("__dispose");function ta(e){if(!Ie(e)||ro(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))Ie(e[t])&&ta(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ge(),Xa(c,s[l])):Xa(c,s)}else pe(i)&&Xa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ht(s,i)&&ta(s[i]);return s}function cu(e){return e.type}function uu(e,t,o){let n=Ie(t.messages)?t.messages:Ge();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ie(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ie(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function du(e){return je(zn,null,e,0)}const pu="__INTLIFY_META__",gu=()=>[],Vb=()=>!1;let fu=0;function hu(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Wb=()=>{const e=ko();let t=null;return e&&(t=cu(e)[pu])?{[pu]:t}:null};function xs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ya?ue:an,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:pe(e.locale)?e.locale:yn),u=s(o&&l?o.fallbackLocale.value:pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,h=o?o.fallbackWarn:Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,y=!!e.fallbackFormat,k=Ve(e.missing)?e.missing:null,v=Ve(e.missing)?hu(e.missing):null,_=Ve(e.postTranslation)?e.postTranslation:null,m=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const L=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let R=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&Hc(null);const j={version:Kb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:R,missing:v===null?void 0:v,missingWarn:w,fallbackWarn:h,fallbackFormat:y,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:m,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=x.value,j.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,j.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const S=Nb(j);return a&&Hc(S),S})(),ea(M,c.value,u.value);function C(){return[c.value,u.value,p.value,g.value,x.value]}const F=Q({get:()=>c.value,set:j=>{c.value=j,M.locale=c.value}}),H=Q({get:()=>u.value,set:j=>{u.value=j,M.fallbackLocale=u.value,ea(M,c.value,j)}}),G=Q(()=>p.value),U=Q(()=>g.value),B=Q(()=>x.value);function T(){return Ve(_)?_:null}function se(j){_=j,M.postTranslation=j}function ye(){return k}function ae(j){j!==null&&(v=hu(j)),k=j,M.missing=v}const oe=(j,S,O,ne,ce,ge)=>{C();let Le;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?Mb():void 0),Le=j(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(O!=="translate exists"&&st(Le)&&Le===tr||O==="translate exists"&&!Le){const[_e,ct]=S();return o&&d?ne(o):ce(_e)}else{if(ge(Le))return Le;throw ft(pt.UNEXPECTED_RETURN_TYPE)}};function fe(...j){return oe(S=>Reflect.apply(Zc,null,[S,...j]),()=>ms(...j),"translate",S=>Reflect.apply(S.t,S,[...j]),S=>S,S=>pe(S))}function Pe(...j){const[S,O,ne]=j;if(ne&&!Ie(ne))throw ft(pt.INVALID_ARGUMENT);return fe(S,O,vt({resolvedMessage:!0},ne||{}))}function We(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>Reflect.apply(S.d,S,[...j]),()=>Oc,S=>pe(S))}function Xe(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>Reflect.apply(S.n,S,[...j]),()=>Oc,S=>pe(S))}function Qe(j){return j.map(S=>pe(S)||st(S)||Te(S)?du(String(S)):S)}const Ke={normalize:Qe,interpolate:j=>j,type:"vnode"};function it(...j){return oe(S=>{let O;const ne=S;try{ne.processor=Ke,O=Reflect.apply(Zc,null,[ne,...j])}finally{ne.processor=null}return O},()=>ms(...j),"translate",S=>S[_s](...j),S=>[du(S)],S=>Ze(S))}function Ye(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>S[ks](...j),gu,S=>pe(S)||Ze(S))}function $t(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>S[vs](...j),gu,S=>pe(S)||Ze(S))}function A(j){R=j,M.pluralRules=R}function N(j,S){return oe(()=>{if(!j)return!1;const O=pe(S)?S:c.value,ne=Y(O),ce=M.messageResolver(ne,j);return i?ce!=null:ro(ce)||Gt(ce)||pe(ce)},()=>[j],"translate exists",O=>Reflect.apply(O.te,O,[j,S]),Vb,O=>Te(O))}function E(j){let S=null;const O=Rc(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=j,M.locale=j,ea(M,c.value,u.value))}),nt(o.fallbackLocale,j=>{l&&(u.value=j,M.fallbackLocale=j,ea(M,c.value,u.value))}));const re={id:fu,locale:F,fallbackLocale:H,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,ea(M,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:G,get modifiers(){return L},get pluralRules(){return R||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,M.missingWarn=w},get fallbackWarn(){return h},set fallbackWarn(j){h=j,M.fallbackWarn=h},get fallbackRoot(){return d},set fallbackRoot(j){d=j},get fallbackFormat(){return y},set fallbackFormat(j){y=j,M.fallbackFormat=y},get warnHtmlMessage(){return m},set warnHtmlMessage(j){m=j,M.warnHtmlMessage=j},get escapeParameter(){return $},set escapeParameter(j){$=j,M.escapeParameter=j},t:fe,getLocaleMessage:Y,setLocaleMessage:Z,mergeLocaleMessage:X,getPostTranslationHandler:T,setPostTranslationHandler:se,getMissingHandler:ye,setMissingHandler:ae,[iu]:A};return re.datetimeFormats=U,re.numberFormats=B,re.rt=Pe,re.te=N,re.tm=K,re.d=We,re.n=Xe,re.getDateTimeFormat=q,re.setDateTimeFormat=f,re.mergeDateTimeFormat=b,re.getNumberFormat=D,re.setNumberFormat=V,re.mergeNumberFormat=ie,re[lu]=n,re[_s]=it,re[vs]=$t,re[ks]=Ye,re}function Yb(e){const t=pe(e.locale)?e.locale:yn,o=pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,a=Te(e.silentTranslationWarn)||No(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Te(e.silentFallbackWarn)||No(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,p=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let w=e.messages;if(Se(e.sharedMessages)){const $=e.sharedMessages;w=Object.keys($).reduce((R,M)=>{const I=R[M]||(R[M]={});return vt(I,$[M]),R},w||{})}const{__i18n:h,__root:d,__injectWithOption:y}=e,k=e.datetimeFormats,v=e.numberFormats,_=e.flatJson,m=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:_,datetimeFormats:k,numberFormats:v,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:m,__i18n:h,__root:d,__injectWithOption:y}}function Ss(e={},t){{const o=xs(Yb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Te(r)?!r:r},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Te(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:Ze(i)?u=i:Se(i)&&(p=i),Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:st(i)?c.plural=i:Ze(i)?u=i:Se(i)&&(p=i),pe(l)?c.locale=l:Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const As={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===$e?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ge())}function mu(e){return $e}const bu=jn({name:"i18n-t",props:vt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},As),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||kt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Ge();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const i=qb(t,r),l=a[_s](e.keypath,i,s),c=vt(Ge(),n),u=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(u,c,l)}}});function Jb(e){return Ze(e)&&!pe(e[0])}function yu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ge();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:Ie(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,x)=>o.includes(x)?vt(Ge(),g,{[x]:e.format[x]}):g,Ge()));const l=n(e.value,s,i);let c=[s.key];Ze(l)?c=l.map((g,x)=>{const w=a[g.type],h=w?w({[g.type]:g.value,index:x,parts:l}):[g.value];return Jb(h)&&(h[0].key=`${g.type}-${x}`),h}):pe(l)&&(c=[l]);const u=vt(Ge(),r),p=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(p,u,c)}}const _u=jn({name:"i18n-n",props:vt({value:{type:Number,required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return yu(e,t,au,(...n)=>o[ks](...n))}}),vu=jn({name:"i18n-d",props:vt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||kt({useScope:e.scope,__useComponent:!0});return yu(e,t,tu,(...n)=>o[vs](...n))}});function Zb(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 Xb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw ft(pt.UNEXPECTED_ERROR);const u=Zb(e,i.$),p=ku(c);return[Reflect.apply(u.t,u,[...wu(p)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=ku(i);s.textContent=Reflect.apply(l.t,l,[...wu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ku(e){if(pe(e))return{path:e};if(Se(e)){if(!("path"in e))throw ft(pt.REQUIRED_VALUE,"path");return e}else throw ft(pt.INVALID_VALUE)}function wu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return pe(o)&&(s.locale=o),st(a)&&(s.plural=a),st(r)&&(s.plural=r),[t,i,s]}function Qb(e,t,...o){const n=Se(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":bu.name,"I18nT"].forEach(s=>e.component(s,bu)),[_u.name,"I18nN"].forEach(s=>e.component(s,_u)),[vu.name,"I18nD"].forEach(s=>e.component(s,vu))),e.directive("t",Xb(t))}function ey(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=xu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ss(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xu(e,a);else{this.$i18n=Ss({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&uu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xu(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[iu](t.pluralizationRules||e.pluralizationRules);const o=or(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 ty=Mo("global-vue-i18n");function oy(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=ny(e,o),l=Mo("");function c(g){return r.get(g)||null}function u(g,x){r.set(g,x)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...w){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,g),Se(w[0])){const y=w[0];g.__composerExtend=y.__composerExtend,g.__vueI18nExtend=y.__vueI18nExtend}let h=null;!o&&n&&(h=py(x,g.global)),__VUE_I18N_FULL_INSTALL__&&Qb(x,g,...w),__VUE_I18N_LEGACY_API__&&o&&x.mixin(ey(i,i.__composer,g));const d=x.unmount;x.unmount=()=>{h&&h(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:p};return g}}function kt(e={}){const t=ko();if(t==null)throw ft(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(pt.NOT_INSTALLED);const o=ay(t),n=sy(o),a=cu(t),r=ry(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ft(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return uy(t,r,n,e)}if(r==="global")return uu(n,e,a),n;if(r==="parent"){let l=iy(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=vt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=xs(l),s.__composerExtend&&(i[ws]=s.__composerExtend(i)),cy(s,t,i),s.__setInstance(t,i)}return i}function ny(e,t,o){const n=vr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ss(e)):n.run(()=>xs(e));if(a==null)throw ft(pt.UNEXPECTED_ERROR);return[n,a]}}function ay(e){{const t=Ee(e.isCE?ty:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function ry(e,t){return qa(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function sy(e){return e.mode==="composition"?e.global:e.global.__composer}function iy(e,t,o=!1){let n=null;const a=t.root;let r=ly(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[lu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function ly(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cy(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const a=n[ws];a&&(a(),delete n[ws])},t)}function uy(e,t,o,n={}){const a=t==="local",r=an(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!pe(n.locale),i=ue(!a||s?o.locale.value:pe(n.locale)?n.locale:yn),l=ue(!a||s?o.fallbackLocale.value:pe(n.fallbackLocale)||Ze(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Te(n.missingWarn)||No(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Te(n.fallbackWarn)||No(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,h=!!n.fallbackFormat,d=Ve(n.missing)?n.missing:null,y=Ve(n.postTranslation)?n.postTranslation:null,k=a?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,v=!!n.escapeParameter,_=a?o.modifiers:Se(n.modifiers)?n.modifiers:{},m=n.pluralRules||a&&o.pluralRules;function $(){return[i.value,l.value,c.value,u.value,p.value]}const L=Q({get:()=>r.value?r.value.locale.value:i.value,set:E=>{r.value&&(r.value.locale.value=E),i.value=E}}),R=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:E=>{r.value&&(r.value.fallbackLocale.value=E),l.value=E}}),M=Q(()=>r.value?r.value.messages.value:c.value),I=Q(()=>u.value),C=Q(()=>p.value);function F(){return r.value?r.value.getPostTranslationHandler():y}function H(E){r.value&&r.value.setPostTranslationHandler(E)}function G(){return r.value?r.value.getMissingHandler():d}function U(E){r.value&&r.value.setMissingHandler(E)}function B(E){return $(),E()}function T(...E){return r.value?B(()=>Reflect.apply(r.value.t,null,[...E])):B(()=>"")}function se(...E){return r.value?Reflect.apply(r.value.rt,null,[...E]):""}function ye(...E){return r.value?B(()=>Reflect.apply(r.value.d,null,[...E])):B(()=>"")}function ae(...E){return r.value?B(()=>Reflect.apply(r.value.n,null,[...E])):B(()=>"")}function oe(E){return r.value?r.value.tm(E):{}}function fe(E,K){return r.value?r.value.te(E,K):!1}function Pe(E){return r.value?r.value.getLocaleMessage(E):{}}function We(E,K){r.value&&(r.value.setLocaleMessage(E,K),c.value[E]=K)}function Xe(E,K){r.value&&r.value.mergeLocaleMessage(E,K)}function Qe(E){return r.value?r.value.getDateTimeFormat(E):{}}function ht(E,K){r.value&&(r.value.setDateTimeFormat(E,K),u.value[E]=K)}function Ke(E,K){r.value&&r.value.mergeDateTimeFormat(E,K)}function it(E){return r.value?r.value.getNumberFormat(E):{}}function Ye(E,K){r.value&&(r.value.setNumberFormat(E,K),p.value[E]=K)}function $t(E,K){r.value&&r.value.mergeNumberFormat(E,K)}const A={get id(){return r.value?r.value.id:-1},locale:L,fallbackLocale:R,messages:M,datetimeFormats:I,numberFormats:C,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(E){r.value&&(r.value.inheritLocale=E)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:_},get pluralRules(){return r.value?r.value.pluralRules:m},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(E){r.value&&(r.value.fallbackRoot=E)},get fallbackFormat(){return r.value?r.value.fallbackFormat:h},set fallbackFormat(E){r.value&&(r.value.fallbackFormat=E)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:k},set warnHtmlMessage(E){r.value&&(r.value.warnHtmlMessage=E)},get escapeParameter(){return r.value?r.value.escapeParameter:v},set escapeParameter(E){r.value&&(r.value.escapeParameter=E)},t:T,getPostTranslationHandler:F,setPostTranslationHandler:H,getMissingHandler:G,setMissingHandler:U,rt:se,d:ye,n:ae,tm:oe,te:fe,getLocaleMessage:Pe,setLocaleMessage:We,mergeLocaleMessage:Xe,getDateTimeFormat:Qe,setDateTimeFormat:ht,mergeDateTimeFormat:Ke,getNumberFormat:it,setNumberFormat:Ye,mergeNumberFormat:$t};function N(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{E.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{E.mergeDateTimeFormat(K,u.value[K])}),Object.keys(p.value).forEach(K=>{E.mergeNumberFormat(K,p.value[K])}),E.escapeParameter=v,E.fallbackFormat=h,E.fallbackRoot=w,E.fallbackWarn=x,E.missingWarn=g,E.warnHtmlMessage=k}return al(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=r.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):a&&N(E)}),A}const dy=["locale","fallbackLocale","availableLocales"],Su=["t","rt","d","n","tm","te"];function py(e,t){const o=Object.create(null);return dy.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw ft(pt.UNEXPECTED_ERROR);const s=Je(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Su.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw ft(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Su.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(zb(),__INTLIFY_JIT_COMPILATION__?jc(Db):jc(Ob),Cb(lb),Eb(Rc),__INTLIFY_PROD_DEVTOOLS__){const e=xo();e.__INTLIFY__=!0,bb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const gy=Object.assign({"./locales/ar/aria.json":_f,"./locales/ar/buttons.json":vf,"./locales/ar/detail.json":kf,"./locales/ar/legend.json":wf,"./locales/ar/messages.json":xf,"./locales/ar/options.json":Sf,"./locales/ar/prayerLaps.json":Af,"./locales/ar/search.json":$f,"./locales/ar/tabs.json":Lf,"./locales/de/aria.json":Cf,"./locales/de/buttons.json":Ef,"./locales/de/detail.json":Tf,"./locales/de/legend.json":Pf,"./locales/de/messages.json":Mf,"./locales/de/options.json":Nf,"./locales/de/prayerLaps.json":If,"./locales/de/search.json":Rf,"./locales/de/tabs.json":Ff,"./locales/en/aria.json":Of,"./locales/en/buttons.json":Df,"./locales/en/detail.json":Bf,"./locales/en/legend.json":jf,"./locales/en/messages.json":Gf,"./locales/en/options.json":Uf,"./locales/en/popup.json":Kf,"./locales/en/prayerLaps.json":zf,"./locales/en/search.json":Hf,"./locales/en/tabs.json":Vf,"./locales/es/aria.json":Wf,"./locales/es/buttons.json":Yf,"./locales/es/detail.json":qf,"./locales/es/legend.json":Jf,"./locales/es/messages.json":Zf,"./locales/es/options.json":Xf,"./locales/es/prayerLaps.json":Qf,"./locales/es/search.json":eh,"./locales/es/tabs.json":th,"./locales/fr/aria.json":oh,"./locales/fr/buttons.json":nh,"./locales/fr/detail.json":ah,"./locales/fr/legend.json":rh,"./locales/fr/messages.json":sh,"./locales/fr/options.json":ih,"./locales/fr/popup.json":lh,"./locales/fr/prayerLaps.json":ch,"./locales/fr/search.json":uh,"./locales/fr/tabs.json":dh,"./locales/hi/aria.json":ph,"./locales/hi/buttons.json":gh,"./locales/hi/detail.json":fh,"./locales/hi/legend.json":hh,"./locales/hi/messages.json":mh,"./locales/hi/options.json":bh,"./locales/hi/prayerLaps.json":yh,"./locales/hi/search.json":_h,"./locales/it/aria.json":vh,"./locales/it/buttons.json":kh,"./locales/it/detail.json":wh,"./locales/it/legend.json":xh,"./locales/it/messages.json":Sh,"./locales/it/options.json":Ah,"./locales/it/prayerLaps.json":$h,"./locales/it/search.json":Lh,"./locales/pt/aria.json":Ch,"./locales/pt/buttons.json":Eh,"./locales/pt/detail.json":Th,"./locales/pt/legend.json":Ph,"./locales/pt/messages.json":Mh,"./locales/pt/options.json":Nh,"./locales/pt/prayerLaps.json":Ih,"./locales/pt/search.json":Rh,"./locales/pt/tabs.json":Fh,"./locales/ro/aria.json":Oh,"./locales/ro/buttons.json":Dh,"./locales/ro/detail.json":Bh,"./locales/ro/legend.json":jh,"./locales/ro/messages.json":Gh,"./locales/ro/options.json":Uh,"./locales/ro/prayerLaps.json":Kh,"./locales/ro/search.json":zh,"./locales/ru/aria.json":Hh,"./locales/ru/buttons.json":Vh,"./locales/ru/detail.json":Wh,"./locales/ru/legend.json":Yh,"./locales/ru/messages.json":qh,"./locales/ru/options.json":Jh,"./locales/ru/prayerLaps.json":Zh,"./locales/ru/search.json":Xh,"./locales/ru/tabs.json":Qh,"./locales/zh/aria.json":em,"./locales/zh/buttons.json":tm,"./locales/zh/detail.json":om,"./locales/zh/legend.json":nm,"./locales/zh/messages.json":am,"./locales/zh/options.json":rm,"./locales/zh/prayerLaps.json":sm,"./locales/zh/search.json":im}),oa={};for(const[e,t]of Object.entries(gy)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;oa[n]??(oa[n]={}),oa[n][a]=t}const Au=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function fy(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Au.includes(t)?t:"en"}function hy(){return oy({legacy:!1,globalInjection:!0,locale:fy(),fallbackLocale:"en",messages:oa,missingWarn:!1,fallbackWarn:!1})}function wt(e,t){const o=t||my(e);to(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function my(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=Q(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=ue(!1),s=ue(null);let i=null,l=null,c=null,u=null,p=null;function g(){r.value=!1}function x(d,y){var v;let k=d==null?void 0:d.parentElement;for(let _=0;k&&_<12;_++,k=k.parentElement){if(k===y||(v=k.classList)!=null&&v.contains("profile-loader"))return null;let m="";try{m=getComputedStyle(k).position}catch{}if(m&&m!=="static"){const $=k.getBoundingClientRect();if($.height>=120&&$.width>=160)return k}}return null}function w(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const y=d.getBoundingClientRect();if(!y.height)return;const k=Math.round(y.bottom-window.innerHeight);k>0&&d.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function h(d){const y=s.value;if(!y||!(d!=null&&d.querySelector))return;let k=0;try{const _=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(_){const m=_.getBoundingClientRect(),$=y.parentElement,L=$?$.getBoundingClientRect():null;if(k=L?Math.max(m.height||0,L.bottom-m.top):m.height||0,p!==_&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=_,c=new ResizeObserver(()=>h(d)),c.observe(_)}}}catch{}const v=Math.min(Math.max(Math.ceil(k)||20,20),72);y.style.setProperty("--pin-hint-attrib-clear",v+"px"),w()}return to(()=>{var v,_,m;const d=ko(),y=(m=(_=(v=d==null?void 0:d.proxy)==null?void 0:v.$el)==null?void 0:_.getRootNode)==null?void 0:m.call(_);if(!y||typeof y.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const $=y.querySelector("canvas");$?(clearInterval(i),i=null,r.value=!0,mo(()=>{const L=x($,y),R=s.value;if(L&&R&&R.parentElement!==L)try{L.appendChild(R),l=L}catch{}h(y),w();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(M)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),yo(()=>{var d;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),wt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,7 +69,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(d,y)=>r.value?(W(),ee("div",{key:0,ref_key:"hintEl",ref:s,class:Ae(["pin-hint",{dark:n.value}]),role:"status"},[P("span",by,[y[0]||(y[0]=P("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),dt(" "+de(a.value)+" ",1),P("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):me("",!0)}},_y=!1;let vy=0;const ky=ss("ui",{state:()=>({_storeInstanceId:++vy,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),wy=ss("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),xy=ss("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]=Uo({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]=Uo({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}}}),na={_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}}},Sy=".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}",vn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Ay={class:"profile-loader"},$y={key:0,class:"profile-error"},Ly={key:1,class:"profile-error"},Cy=vn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var _;const o=e,n=Ee("profileConfig",null),a=Q(()=>{var $;if(!o.profileConfig)return null;let m;try{m=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(m&&m.assetsBase===void 0){const L=($=n==null?void 0:n.value)==null?void 0:$.assetsBase;typeof L=="string"&&L&&(m.assetsBase=L)}return m}),r=Q(()=>{var m;return((m=a.value)==null?void 0:m.profile)||null}),s=Q(()=>{var $;const m=($=a.value)==null?void 0:$.tk;return typeof m=="string"&&m?m:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=Q(()=>{var m;return((m=a.value)==null?void 0:m.dataSource)||na.activeSource}),l=Q(()=>{var m;return((m=a.value)==null?void 0:m.colorSet)||"default"}),c=Q(()=>!1),u=Q(()=>{var m;return((m=a.value)==null?void 0:m.pinHint)!==!1}),p=Q(()=>{var $,L;const m=((($=a.value)==null?void 0:$.locale)||((L=a.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return Au.includes(m)?m:""}),g=Ee("appI18n",null);Cp(()=>{p.value&&g&&(g.global.locale.value=p.value)});const x=Q(()=>{var m,$;return p.value||(($=(m=g==null?void 0:g.global)==null?void 0:m.locale)==null?void 0:$.value)||"en"}),w=Q(()=>{var m;return((m=a.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),h=Ee("profileModules",null);if(!h)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const d=Q(()=>{if(!r.value)return null;const m=`./${r.value}.vue`;return h[m]?ol(h[m]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(h)),null)});Pt("mapboxToken",s),Pt("dataSource",i),Pt("colorSet",l),Pt("profileConfig",a),Pt("instanceId",w),Pt("lang",x);const y=ky(),k=wy(),v=xy();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((_=y.setTheme)==null||_.call(y,m))}catch{}return Pt("uiStore",y),Pt("mapStore",k),Pt("dataStore",v),(m,$)=>(W(),ee("div",Ay,[a.value?d.value?(W(),rt(sl(d.value),{key:2})):(W(),ee("div",Ly,[P("p",null,[$[1]||($[1]=dt("⚠️ Profile ",-1)),P("strong",null,'"'+de(r.value)+'"',1),$[2]||($[2]=dt(" not found.",-1))])])):(W(),ee("div",$y,[...$[0]||($[0]=[P("p",null,[dt("⚠️ "),P("strong",null,"doxa-map"),dt(": missing or invalid "),P("code",null,"profile-config"),dt(" prop.")],-1),P("p",null,[dt("Example: "),P("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),d.value&&c.value?(W(),rt(sl(be(null)),{key:3})):me("",!0),d.value&&u.value?(W(),rt(yy,{key:4})):me("",!0)]))}},[["styles",[Sy]],["__scopeId","data-v-931b414b"]]),Ey=Object.assign({"./poster-wall.vue":()=>Cn(()=>Promise.resolve().then(()=>u0),void 0),"./upg-100-list.vue":()=>Cn(()=>Promise.resolve().then(()=>Jk),void 0),"./upg-100-mfe.vue":()=>Cn(()=>Promise.resolve().then(()=>rw),void 0)});if(typeof window<"u"&&((Ld=window.mapboxgl)!=null&&Ld.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function Ty(){return tf(Cy,{configureApp(e){e.use(gf()),e.use(hy()),e.provide("profileModules",Ey)}})}const Py=Ty();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",Py));function My(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function $u(e){const t=ue(null),o=an({position:"fixed",inset:"0"}),n=()=>{var u,p;const r=t.value;if(!r)return;const s=My(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((p=i==null?void 0:i.documentElement)==null?void 0:p.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};nt(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),yo(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const Lu=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],Cu=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],Eu=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],Ny=Qo&&Qo.tagName.toUpperCase()==="SCRIPT"&&Qo.src||new URL("my-upg-100-list.js",document.baseURI).href,Oo=e=>String(e||"").trim().replace(/\/+$/,"");function Tu(){try{const t=String(Ny||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Iy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Oo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Oo(o)}return Oo(Tu()||"")}function $s(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Oo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Oo((e==null?void 0:e.treeBase)||"")||Oo(Tu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Oo(new URL(o+"/../assets",n).href)}catch{return Oo(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Ry({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return a?window.location.origin+s:s;const i=Iy(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const Fy=["country_code","wagf_region","wagf_block","primary_language","religion"];function Oy(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function Dy(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of Fy)if(o in t){const{value:n,label:a}=Oy(t[o]);t[o]=n,a!=null&&(t[`${o}_label`]=a)}return t}function Ls(e){return Array.isArray(e)?e.map(Dy):[]}function Cs(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function kn(e){return e==null||typeof e!="object"?null:e.slug??null}function Pu(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function By(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function wn(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const a=e.value;for(const r of n)if(r&&r.country_code===a){const s=kn(r);s!=null&&o.add(s)}return o}case"country_codes":{const a=new Set(Array.isArray(e.values)?e.values:[]);for(const r of n)if(r&&a.has(r.country_code)){const s=kn(r);s!=null&&o.add(s)}return o}case"wagf_block":{const a=e.value;for(const r of n)if(r&&r.wagf_block===a){const s=kn(r);s!=null&&o.add(s)}return o}case"wagf_region":{const a=e.value;for(const r of n)if(r&&r.wagf_region===a){const s=kn(r);s!=null&&o.add(s)}return o}case"union":{const a=Array.isArray(e.selectors)?e.selectors:[];for(const r of a){const s=wn(r,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const a=new Set(Array.isArray(e.regions)?e.regions:[]);for(const r of n){if(!r)continue;if((Pu(r.slug)||Pu(r.name))&&a.has(r.wagf_region)){const i=kn(r);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const a=e.rop1;for(const r of n)if(r&&By(r)===a){const s=kn(r);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const jy=Object.freeze(Object.defineProperty({__proto__:null,default:wn,evaluate:wn},Symbol.toStringTag,{value:"Module"})),Gy={class:"sec-head"},Uy={class:"sec-name"},Ky={class:"sec-count"},zy={class:"grid"},Hy=["data-list-id"],Vy=["aria-label","onClick"],Wy={class:"hcount"},Yy={class:"main"},qy=["src","alt","title","onClick","onKeydown","onError"],Jy={key:1,class:"ph"},Zy={class:"ph-label"},Xy={key:0,class:"ph-count"},Qy={class:"tape pfs"},e0=["onClick","aria-label"],t0=["onClick","aria-label"],o0=["onClick","aria-label"],n0={class:"modal",role:"dialog","aria-live":"polite"},a0={class:"modal-kind"},r0={class:"modal-title"},s0={class:"modal-err"},i0={class:"modal-soon"},l0={class:"bar"},c0={class:"modal-phase"},u0=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t={lists:Lu,asia_lists:Cu,uncovered_lists:Eu},o=Ee("profileConfig",ue(null)),n=Q(()=>{var I;return((I=o.value)==null?void 0:I.instanceId)||"upg-100-wall"}),a=Q(()=>{var I;return((I=o.value)==null?void 0:I.isDark)===!0}),r=Q(()=>$s(o.value)),s=I=>`${r.value}/posters/${I}.webp`,i=typeof window<"u"&&window.MAP_APP_API_URL||"https://pray.doxa.life",l={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},c=I=>l[I]?l[I]:I.startsWith("asia-india-")?"India":I.startsWith("asia-china-")?"China + Mongolia":"Other",u=Q(()=>[...t.lists||[],...t.asia_lists||[],...t.uncovered_lists||[]].filter(I=>I&&I.id)),p=Q(()=>{const I=new Map;for(const C of u.value){const F=c(C.id);I.has(F)||I.set(F,[]),I.get(F).push(C)}return[...I.entries()].map(([C,F])=>({name:C,items:F.slice().sort((H,G)=>(G.count||0)-(H.count||0)),total:F.reduce((H,G)=>H+(G.count||0),0)})).sort((C,F)=>F.total-C.total)}),g=ue(null);function x(I){const C=g.value===I.id;g.value=C?null:I.id,window.dispatchEvent(new CustomEvent("doxa-upg-100-list:show-on-map",{detail:{instanceId:n.value,listId:C?null:I.id,label:C?null:I.label}}))}const w=I=>`${r.value}/previews/${I}.webp`,h=ue({}),d=ue(null),{scrimRef:y,scrimStyle:k}=$u(d);function v(I,C,{autoprint:F=!1}={}){const H=window.open("","_blank","width=980,height=1100");return H?(H.document.open(),H.document.write(C),F&&H.document.write(' - + - + - + - + - + - +