From bd94cf6ed411c5bda5fd6b6276c928fdf31108b9 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 23:59:58 +0000 Subject: [PATCH 1/3] Dashboard -20px, map untouched: shellH 582 -> 562 Driver fine-tune: 'almost perfect height -- keep the map the same height, but decrease the height of the dashboard by about 20px.' Map row stays 340; the 20px comes out of the table's derived share. Storage key v5 -> v6. Measured live: shell 703 -> 683, map 340, table 244 -> 224. --- .../research-dashboard/research-dashboard.vue | 8 +-- .../src/composables/useDashboardLayout.js | 7 +- .../connectivity-map/index.html | 2 +- .../dashboard-plus-grid.js | 66 +++++++++---------- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 8 +-- .../research-dashboard/research-dashboard.js | 10 +-- .../research-dashboard/index.html | 2 +- 11 files changed, 57 insertions(+), 54 deletions(-) diff --git a/plugin-designs/research-dashboard/research-dashboard.vue b/plugin-designs/research-dashboard/research-dashboard.vue index f5657579b..00f60468c 100644 --- a/plugin-designs/research-dashboard/research-dashboard.vue +++ b/plugin-designs/research-dashboard/research-dashboard.vue @@ -453,9 +453,9 @@ useShadowStyles(` open: two owners of one height is the bug this file keeps re-learning. */ .rd-shell.rd-page-scroll.rd-table-collapsed{ grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) - calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } + calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } .rd-shell.rd-page-scroll.rd-table-collapsed > [data-region="map"]{ - height:calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)); } + height:calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)); } .rd-shell.rd-page-scroll > [data-region="map"]{ height:var(--rd-map-h, 340px); overflow:hidden; } .rd-shell.rd-page-scroll > [data-region="table"]{ overflow:visible; } .rd-shell.rd-page-scroll .rd-table-wrap{ height:auto; } @@ -523,7 +523,7 @@ useShadowStyles(` GOAL CONTEXT: "we are trying to RECLAIM HEIGHT." 7 rows is 182px against today's 300px keyhole, so this alone returns 118px of the ~147px available. */ .rd-shell.rd-page-scroll .rd-grid{ - max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 582px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } + max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 562px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } /* ── FACETS/RAIL COLUMNS BOUNDED IN PAGE-SCROLL MODE (BUG-DASHBOARD-BAND-GROWS-ENORMOUS) ────── THE ROOT CAUSE, one level up from the table rule above. .rd-facets/.rd-rail are authored height:100%, which is correct in the FIXED-VIEWPORT grid (rows sum to a real, bounded @@ -607,7 +607,7 @@ useShadowStyles(` the surplus painted as the grey band the Driver reported between/under map and table, and made a divider drag look broken (the row would not follow, the slack just moved). ONE QUANTITY, ONE OWNER applies to fallbacks too: same var, same fallback, everywhere. */ - max-height:calc(var(--rd-shell-h, 582px) + 1px); } + max-height:calc(var(--rd-shell-h, 562px) + 1px); } /* ★ THE ELEMENT MUST SIZE TO ITS CONTENT IN PAGE-SCROLL (Driver 2026-09-23: "massive grey gap between map and table and the map overflows into the people-group grid page — the dashboard diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js index d44fcd55d..9c5f4249e 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js @@ -111,7 +111,10 @@ import { ref, unref, onMounted, onBeforeUnmount } from 'vue' // +40px again (Driver 2026-09-23 second raise: "go taller with the dashboard by another 40px, // add that to the height of the map"): shellH 542 -> 582 and mapH 300 -> 340 move together, so // the whole gain lands in the map row and the table's derived share stays put. -const DEFAULTS = { facetW: 296, railW: 296, tableH: '34%', mapH: 340, shellH: 582 } +// Driver fine-tune 2026-09-23: "almost perfect height -- keep the map the same height, but +// decrease the height of the dashboard by about 20px". Map stays 340; the 20px comes out of +// the table's derived share (shell - map - bar - foot). +const DEFAULTS = { facetW: 296, railW: 296, tableH: '34%', mapH: 340, shellH: 562 } const CLAMPS = { facetW: [160, 420], railW: [200, 520], tableH: [12, 70], mapH: [220, 1400], shellH: [400, 2600] } // Mirrors the CSS fallback --rd-table-bar-h (research-dashboard.vue's .rd-table-bar budget calc) — @@ -141,7 +144,7 @@ export function useDashboardLayout(options = {}) { // fresh drag re-personalises from there. The v1 blob is left in place, inert. // v2 -> v3: retire stored layouts so the new 542 default is actually SEEN -- a persisted // shellH:502 from the previous default would silently mask this change on the Driver's browser. - storageKey = 'rd-dashboard-layout-v5', + storageKey = 'rd-dashboard-layout-v6', } = options const defaults = { ...DEFAULTS, ...(options.defaults || {}) } diff --git a/public/doxa-maps/cities-internet/connectivity-map/index.html b/public/doxa-maps/cities-internet/connectivity-map/index.html index 4b841b046..382fa242b 100644 --- a/public/doxa-maps/cities-internet/connectivity-map/index.html +++ b/public/doxa-maps/cities-internet/connectivity-map/index.html @@ -45,7 +45,7 @@ (function () { var slot = document.getElementById('slot'); var status = document.getElementById('status'); - var BASE_CONFIG = {"profile":"connectivity-map","dataSource":"pray-tools","instanceId":"cities-internet-connectivity-map","assetsBase":"../../assets"}; + var BASE_CONFIG = {"pinHint":false,"profile":"connectivity-map","dataSource":"pray-tools","instanceId":"cities-internet-connectivity-map","assetsBase":"../../assets"}; // MapLibre map pages AND shell pages (app-shell / nested-mfe-spa) need NO token: // the ladder below is skipped entirely and the element mounts immediately. var TOKEN_FREE = false; 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 6a70af3e7..a6f824f4b 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 ra(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Je={},Zo=[],Yt=()=>{},zs=()=>!1,lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ir=e=>e.startsWith("onUpdate:"),at=Object.assign,aa=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Vu=Object.prototype.hasOwnProperty,Ke=(e,t)=>Vu.call(e,t),Pe=Array.isArray,Eo=e=>$n(e)==="[object Map]",cr=e=>$n(e)==="[object Set]",Us=e=>$n(e)==="[object Date]",Ie=e=>typeof e=="function",tt=e=>typeof e=="string",Ot=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",Bs=e=>(Ye(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),Gs=Object.prototype.toString,$n=e=>Gs.call(e),Wu=e=>$n(e).slice(8,-1),ur=e=>$n(e)==="[object Object]",sa=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Sn=ra(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),dr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Ku=/-\w/g,Et=dr(e=>e.replace(Ku,t=>t.slice(1).toUpperCase())),Yu=/\B([A-Z])/g,Tt=dr(e=>e.replace(Yu,"-$1").toLowerCase()),qs=dr(e=>e.charAt(0).toUpperCase()+e.slice(1)),la=dr(e=>e?`on${qs(e)}`:""),Xt=(e,t)=>!Object.is(e,t),fr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ia=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Vs=e=>{const t=tt(e)?Number(e):NaN;return isNaN(t)?e:t};let Ws;const pr=()=>Ws||(Ws=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(Pe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Ju);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ge(e){let t="";if(tt(e))t=e;else if(Pe(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ue=e=>tt(e)?e:e==null?"":Pe(e)||Ye(e)&&(e.toString===Gs||!Ie(e.toString))?Xs(e)?ue(e.value):JSON.stringify(e,Js,2):String(e),Js=(e,t)=>Xs(t)?Js(e,t.value):Eo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],a)=>(o[ca(n,a)+" =>"]=r,o),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ca(o))}:Ot(t)?ca(t):Ye(t)&&!Pe(t)&&!ur(t)?String(t):t,ca=(e,t="")=>{var o;return Ot(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function ra(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Je={},Zo=[],Yt=()=>{},js=()=>!1,lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ir=e=>e.startsWith("onUpdate:"),at=Object.assign,aa=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Hu=Object.prototype.hasOwnProperty,Ke=(e,t)=>Hu.call(e,t),Pe=Array.isArray,Eo=e=>$n(e)==="[object Map]",cr=e=>$n(e)==="[object Set]",zs=e=>$n(e)==="[object Date]",Ie=e=>typeof e=="function",tt=e=>typeof e=="string",Ot=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",Us=e=>(Ye(e)||Ie(e))&&Ie(e.then)&&Ie(e.catch),Bs=Object.prototype.toString,$n=e=>Bs.call(e),Vu=e=>$n(e).slice(8,-1),ur=e=>$n(e)==="[object Object]",sa=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Sn=ra(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),dr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Wu=/-\w/g,Et=dr(e=>e.replace(Wu,t=>t.slice(1).toUpperCase())),Ku=/\B([A-Z])/g,Tt=dr(e=>e.replace(Ku,"-$1").toLowerCase()),Gs=dr(e=>e.charAt(0).toUpperCase()+e.slice(1)),la=dr(e=>e?`on${Gs(e)}`:""),Xt=(e,t)=>!Object.is(e,t),fr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ia=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Hs=e=>{const t=tt(e)?Number(e):NaN;return isNaN(t)?e:t};let Vs;const pr=()=>Vs||(Vs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(Pe(e)){const t={};for(let o=0;o{if(o){const n=o.split(Xu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ge(e){let t="";if(tt(e))t=e;else if(Pe(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ue=e=>tt(e)?e:e==null?"":Pe(e)||Ye(e)&&(e.toString===Bs||!Ie(e.toString))?Ys(e)?ue(e.value):JSON.stringify(e,Xs,2):String(e),Xs=(e,t)=>Ys(t)?Xs(e,t.value):Eo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],a)=>(o[ca(n,a)+" =>"]=r,o),{})}:cr(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ca(o))}:Ot(t)?ca(t):Ye(t)&&!Pe(t)&&!ur(t)?String(t):t,ca=(e,t="")=>{var o;return Ot(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 ft;class Zs{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ft&&(ft.active?(this.parent=ft,this.index=(ft.scopes||(ft.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(ft===this)ft=this.prevScope;else{let t=ft;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(An){let t=An;for(An=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;En;){let t=En;for(En=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 nl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function rl(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ga(n),nd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function pa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(al(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function al(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Cn)||(e.globalVersion=Cn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!pa(e))))return;e.flags|=2;const t=e.dep,o=Ze,n=Dt;Ze=e,Dt=!0;try{nl(e);const r=e.fn(e._value);(t.version===0||Xt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ze=o,Dt=n,rl(e),e.flags&=-3}}function ga(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 a=o.computed.deps;a;a=a.nextDep)ga(a,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function nd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Dt=!0;const sl=[];function Jt(){sl.push(Dt),Dt=!1}function Zt(){const e=sl.pop();Dt=e===void 0?!0:e}function ll(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}let Cn=0;class rd{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 ha{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(!Ze||!Dt||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new rd(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,il(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=Ze.depsTail,o.nextDep=void 0,Ze.depsTail.nextDep=o,Ze.depsTail=o,Ze.deps===o&&(Ze.deps=n)}return o}trigger(t){this.version++,Cn++,this.notify(t)}notify(t){da();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{fa()}}}function il(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)il(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const ma=new WeakMap,zo=Symbol(""),ba=Symbol(""),Tn=Symbol("");function mt(e,t,o){if(Dt&&Ze){let n=ma.get(e);n||ma.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new ha),r.map=n,r.key=o),r.track()}}function lo(e,t,o,n,r,a){const s=ma.get(e);if(!s){Cn++;return}const l=i=>{i&&i.trigger()};if(da(),t==="clear")s.forEach(l);else{const i=Pe(e),c=i&&sa(o);if(i&&o==="length"){const u=Number(n);s.forEach((h,m)=>{(m==="length"||m===Tn||!Ot(m)&&m>=u)&&l(h)})}else switch((o!==void 0||s.has(void 0))&&l(s.get(o)),c&&l(s.get(Tn)),t){case"add":i?c&&l(s.get("length")):(l(s.get(zo)),Eo(e)&&l(s.get(ba)));break;case"delete":i||(l(s.get(zo)),Eo(e)&&l(s.get(ba)));break;case"set":Eo(e)&&l(s.get(zo));break}}fa()}function Qo(e){const t=Ve(e);return t===e?t:(mt(t,"iterate",Tn),Nt(e)?t:t.map(jt))}function hr(e){return mt(e=Ve(e),"iterate",Tn),e}function Qt(e,t){return co(e)?en(Bo(e)?jt(t):t):jt(t)}const ad={__proto__:null,[Symbol.iterator](){return _a(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return Qo(this).concat(...e.map(t=>Pe(t)?Qo(t):t))},entries(){return _a(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return io(this,"every",e,t,void 0,arguments)},filter(e,t){return io(this,"filter",e,t,o=>o.map(n=>Qt(this,n)),arguments)},find(e,t){return io(this,"find",e,t,o=>Qt(this,o),arguments)},findIndex(e,t){return io(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return io(this,"findLast",e,t,o=>Qt(this,o),arguments)},findLastIndex(e,t){return io(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return io(this,"forEach",e,t,void 0,arguments)},includes(...e){return ya(this,"includes",e)},indexOf(...e){return ya(this,"indexOf",e)},join(e){return Qo(this).join(e)},lastIndexOf(...e){return ya(this,"lastIndexOf",e)},map(e,t){return io(this,"map",e,t,void 0,arguments)},pop(){return Ln(this,"pop")},push(...e){return Ln(this,"push",e)},reduce(e,...t){return cl(this,"reduce",e,t)},reduceRight(e,...t){return cl(this,"reduceRight",e,t)},shift(){return Ln(this,"shift")},some(e,t){return io(this,"some",e,t,void 0,arguments)},splice(...e){return Ln(this,"splice",e)},toReversed(){return Qo(this).toReversed()},toSorted(e){return Qo(this).toSorted(e)},toSpliced(...e){return Qo(this).toSpliced(...e)},unshift(...e){return Ln(this,"unshift",e)},values(){return _a(this,"values",e=>Qt(this,e))}};function _a(e,t,o){const n=hr(e),r=n[t]();return n!==e&&!Nt(e)&&(r._next=r.next,r.next=()=>{const a=r._next();return a.done||(a.value=o(a.value)),a}),r}const sd=Array.prototype;function io(e,t,o,n,r,a){const s=hr(e),l=s!==e&&!Nt(e),i=s[t];if(i!==sd[t]){const h=i.apply(e,a);return l?jt(h):h}let c=o;s!==e&&(l?c=function(h,m){return o.call(this,Qt(e,h),m,e)}:o.length>2&&(c=function(h,m){return o.call(this,h,m,e)}));const u=i.call(s,c,n);return l&&r?r(u):u}function cl(e,t,o,n){const r=hr(e),a=r!==e&&!Nt(e);let s=o,l=!1;r!==e&&(a?(l=n.length===0,s=function(c,u,h){return l&&(l=!1,c=Qt(e,c)),o.call(this,c,Qt(e,u),h,e)}):o.length>3&&(s=function(c,u,h){return o.call(this,c,u,h,e)}));const i=r[t](s,...n);return l?Qt(e,i):i}function ya(e,t,o){const n=Ve(e);mt(n,"iterate",Tn);const r=n[t](...o);return(r===-1||r===!1)&&wa(o[0])?(o[0]=Ve(o[0]),n[t](...o)):r}function Ln(e,t,o=[]){Jt(),da();const n=Ve(e)[t].apply(e,o);return fa(),Zt(),n}const ld=ra("__proto__,__v_isRef,__isVue"),ul=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ot));function id(e){Ot(e)||(e=String(e));const t=Ve(this);return mt(t,"has",e),t.hasOwnProperty(e)}class dl{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,a=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return a;if(o==="__v_raw")return n===(r?a?bl:ml:a?hl:gl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Pe(t);if(!r){let i;if(s&&(i=ad[o]))return i;if(o==="hasOwnProperty")return id}const l=Reflect.get(t,o,ut(t)?t:n);if((Ot(o)?ul.has(o):ld(o))||(r||mt(t,"get",o),a))return l;if(ut(l)){const i=s&&sa(o)?l:l.value;return r&&Ye(i)?xa(i):i}return Ye(l)?r?xa(l):Uo(l):l}}class fl extends dl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let a=t[o];const s=Pe(t)&&sa(o);if(!this._isShallow){const c=co(a);if(!Nt(n)&&!co(n)&&(a=Ve(a),n=Ve(n)),!s&&ut(a)&&!ut(n))return c||(a.value=n),!0}const l=s?Number(o)e,mr=e=>Reflect.getPrototypeOf(e);function pd(e,t,o){return function(...n){const r=this.__v_raw,a=Ve(r),s=Eo(a),l=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,c=r[e](...n),u=o?va:t?en:jt;return!t&&mt(a,"iterate",i?ba:zo),at(Object.create(c),{next(){const{value:h,done:m}=c.next();return m?{value:h,done:m}:{value:l?[u(h[0]),u(h[1])]:u(h),done:m}}})}}function br(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function gd(e,t){const o={get(r){const a=this.__v_raw,s=Ve(a),l=Ve(r);e||(Xt(r,l)&&mt(s,"get",r),mt(s,"get",l));const{has:i}=mr(s),c=t?va:e?en:jt;if(i.call(s,r))return c(a.get(r));if(i.call(s,l))return c(a.get(l));a!==s&&a.get(r)},get size(){const r=this.__v_raw;return!e&&mt(Ve(r),"iterate",zo),r.size},has(r){const a=this.__v_raw,s=Ve(a),l=Ve(r);return e||(Xt(r,l)&&mt(s,"has",r),mt(s,"has",l)),r===l?a.has(r):a.has(r)||a.has(l)},forEach(r,a){const s=this,l=s.__v_raw,i=Ve(l),c=t?va:e?en:jt;return!e&&mt(i,"iterate",zo),l.forEach((u,h)=>r.call(a,c(u),c(h),s))}};return at(o,e?{add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear")}:{add(r){const a=Ve(this),s=mr(a),l=Ve(r),i=!t&&!Nt(r)&&!co(r)?l:r;return s.has.call(a,i)||Xt(r,i)&&s.has.call(a,r)||Xt(l,i)&&s.has.call(a,l)||(a.add(i),lo(a,"add",i,i)),this},set(r,a){!t&&!Nt(a)&&!co(a)&&(a=Ve(a));const s=Ve(this),{has:l,get:i}=mr(s);let c=l.call(s,r);c||(r=Ve(r),c=l.call(s,r));const u=i.call(s,r);return s.set(r,a),c?Xt(a,u)&&lo(s,"set",r,a):lo(s,"add",r,a),this},delete(r){const a=Ve(this),{has:s,get:l}=mr(a);let i=s.call(a,r);i||(r=Ve(r),i=s.call(a,r)),l&&l.call(a,r);const c=a.delete(r);return i&&lo(a,"delete",r,void 0),c},clear(){const r=Ve(this),a=r.size!==0,s=r.clear();return a&&lo(r,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=pd(r,e,t)}),o}function _r(e,t){const o=gd(e,t);return(n,r,a)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ke(o,r)&&r in n?o:n,r,a)}const hd={get:_r(!1,!1)},md={get:_r(!1,!0)},bd={get:_r(!0,!1)},_d={get:_r(!0,!0)},gl=new WeakMap,hl=new WeakMap,ml=new WeakMap,bl=new WeakMap;function yd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Uo(e){return co(e)?e:yr(e,!1,cd,hd,gl)}function vd(e){return yr(e,!1,dd,md,hl)}function xa(e){return yr(e,!0,ud,bd,ml)}function yw(e){return yr(e,!0,fd,_d,bl)}function yr(e,t,o,n,r){if(!Ye(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=r.get(e);if(a)return a;const s=yd(Wu(e));if(s===0)return e;const l=new Proxy(e,s===2?n:o);return r.set(e,l),l}function Bo(e){return co(e)?Bo(e.__v_raw):!!(e&&e.__v_isReactive)}function co(e){return!!(e&&e.__v_isReadonly)}function Nt(e){return!!(e&&e.__v_isShallow)}function wa(e){return e?!!e.__v_raw:!1}function Ve(e){const t=e&&e.__v_raw;return t?Ve(t):e}function _l(e){return!Ke(e,"__v_skip")&&Object.isExtensible(e)&&Hs(e,"__v_skip",!0),e}const jt=e=>Ye(e)?Uo(e):e,en=e=>Ye(e)?xa(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function ie(e){return yl(e,!1)}function Pn(e){return yl(e,!0)}function yl(e,t){return ut(e)?e:new xd(e,t)}class xd{constructor(t,o){this.dep=new ha,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ve(t),this._value=o?t:jt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Nt(t)||co(t);t=n?t:Ve(t),Xt(t,o)&&(this._rawValue=t,this._value=n?t:jt(t),this.dep.trigger())}}function de(e){return ut(e)?e.value:e}const wd={get:(e,t,o)=>t==="__v_raw"?e:de(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return ut(r)&&!ut(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function vl(e){return Bo(e)?e:new Proxy(e,wd)}class kd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ha(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Cn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ze!==this)return ol(this,!0),!0}get value(){const t=this.dep.track();return al(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 Ie(e)?n=e:(n=e.get,r=e.set),new kd(n,r,o)}const vr={},xr=new WeakMap;let Go;function Sd(e,t=!1,o=Go){if(o){let n=xr.get(o);n||xr.set(o,n=[]),n.push(e)}}function Ed(e,t,o=Je){const{immediate:n,deep:r,once:a,scheduler:s,augmentJob:l,call:i}=o,c=g=>r?g:Nt(g)||r===!1||r===0?uo(g,1):uo(g);let u,h,m,v,S=!1,$=!1;if(ut(e)?(h=()=>e.value,S=Nt(e)):Bo(e)?(h=()=>c(e),S=!0):Pe(e)?($=!0,S=e.some(g=>Bo(g)||Nt(g)),h=()=>e.map(g=>{if(ut(g))return g.value;if(Bo(g))return c(g);if(Ie(g))return i?i(g,2):g()})):Ie(e)?t?h=i?()=>i(e,2):e:h=()=>{if(m){Jt();try{m()}finally{Zt()}}const g=Go;Go=u;try{return i?i(e,3,[v]):e(v)}finally{Go=g}}:h=Yt,t&&r){const g=h,y=r===!0?1/0:r;h=()=>uo(g(),y)}const x=od(),T=()=>{u.stop(),x&&x.active&&aa(x.effects,u)};if(a&&t){const g=t;t=(...y)=>{const k=g(...y);return T(),k}}let b=$?new Array(e.length).fill(vr):vr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const y=u.run();if(g||r||S||($?y.some((k,E)=>Xt(k,b[E])):Xt(y,b))){m&&m();const k=Go;Go=u;try{const E=[y,b===vr?void 0:$&&b[0]===vr?[]:b,v];b=y,i?i(t,3,E):t(...E)}finally{Go=k}}}else u.run()};return l&&l(p),u=new el(h),u.scheduler=s?()=>s(p,!1):p,v=g=>Sd(g,!1,u),m=u.onStop=()=>{const g=xr.get(u);if(g){if(i)i(g,4);else for(const y of g)y();xr.delete(u)}},t?n?p(!0):b=u.run():s?s(p.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}function uo(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))uo(e.value,t,o);else if(Pe(e))for(let n=0;n{uo(n,t,o)});else if(ur(e)){for(const n in e)uo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&uo(e[n],t,o)}return e}/** +**/let ft;class Js{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&&ft&&(ft.active?(this.parent=ft,this.index=(ft.scopes||(ft.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(ft===this)ft=this.prevScope;else{let t=ft;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(An){let t=An;for(An=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;En;){let t=En;for(En=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 ol(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function nl(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ga(n),od(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function pa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(rl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function rl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Cn)||(e.globalVersion=Cn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!pa(e))))return;e.flags|=2;const t=e.dep,o=Ze,n=Dt;Ze=e,Dt=!0;try{ol(e);const r=e.fn(e._value);(t.version===0||Xt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ze=o,Dt=n,nl(e),e.flags&=-3}}function ga(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 a=o.computed.deps;a;a=a.nextDep)ga(a,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function od(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Dt=!0;const al=[];function Jt(){al.push(Dt),Dt=!1}function Zt(){const e=al.pop();Dt=e===void 0?!0:e}function sl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}let Cn=0;class nd{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 ha{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(!Ze||!Dt||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new nd(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,ll(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=Ze.depsTail,o.nextDep=void 0,Ze.depsTail.nextDep=o,Ze.depsTail=o,Ze.deps===o&&(Ze.deps=n)}return o}trigger(t){this.version++,Cn++,this.notify(t)}notify(t){da();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{fa()}}}function ll(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)ll(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const ma=new WeakMap,zo=Symbol(""),ba=Symbol(""),Tn=Symbol("");function mt(e,t,o){if(Dt&&Ze){let n=ma.get(e);n||ma.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new ha),r.map=n,r.key=o),r.track()}}function lo(e,t,o,n,r,a){const s=ma.get(e);if(!s){Cn++;return}const l=i=>{i&&i.trigger()};if(da(),t==="clear")s.forEach(l);else{const i=Pe(e),c=i&&sa(o);if(i&&o==="length"){const u=Number(n);s.forEach((h,m)=>{(m==="length"||m===Tn||!Ot(m)&&m>=u)&&l(h)})}else switch((o!==void 0||s.has(void 0))&&l(s.get(o)),c&&l(s.get(Tn)),t){case"add":i?c&&l(s.get("length")):(l(s.get(zo)),Eo(e)&&l(s.get(ba)));break;case"delete":i||(l(s.get(zo)),Eo(e)&&l(s.get(ba)));break;case"set":Eo(e)&&l(s.get(zo));break}}fa()}function Qo(e){const t=Ve(e);return t===e?t:(mt(t,"iterate",Tn),Nt(e)?t:t.map(jt))}function hr(e){return mt(e=Ve(e),"iterate",Tn),e}function Qt(e,t){return co(e)?en(Bo(e)?jt(t):t):jt(t)}const rd={__proto__:null,[Symbol.iterator](){return _a(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return Qo(this).concat(...e.map(t=>Pe(t)?Qo(t):t))},entries(){return _a(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return io(this,"every",e,t,void 0,arguments)},filter(e,t){return io(this,"filter",e,t,o=>o.map(n=>Qt(this,n)),arguments)},find(e,t){return io(this,"find",e,t,o=>Qt(this,o),arguments)},findIndex(e,t){return io(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return io(this,"findLast",e,t,o=>Qt(this,o),arguments)},findLastIndex(e,t){return io(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return io(this,"forEach",e,t,void 0,arguments)},includes(...e){return ya(this,"includes",e)},indexOf(...e){return ya(this,"indexOf",e)},join(e){return Qo(this).join(e)},lastIndexOf(...e){return ya(this,"lastIndexOf",e)},map(e,t){return io(this,"map",e,t,void 0,arguments)},pop(){return Ln(this,"pop")},push(...e){return Ln(this,"push",e)},reduce(e,...t){return il(this,"reduce",e,t)},reduceRight(e,...t){return il(this,"reduceRight",e,t)},shift(){return Ln(this,"shift")},some(e,t){return io(this,"some",e,t,void 0,arguments)},splice(...e){return Ln(this,"splice",e)},toReversed(){return Qo(this).toReversed()},toSorted(e){return Qo(this).toSorted(e)},toSpliced(...e){return Qo(this).toSpliced(...e)},unshift(...e){return Ln(this,"unshift",e)},values(){return _a(this,"values",e=>Qt(this,e))}};function _a(e,t,o){const n=hr(e),r=n[t]();return n!==e&&!Nt(e)&&(r._next=r.next,r.next=()=>{const a=r._next();return a.done||(a.value=o(a.value)),a}),r}const ad=Array.prototype;function io(e,t,o,n,r,a){const s=hr(e),l=s!==e&&!Nt(e),i=s[t];if(i!==ad[t]){const h=i.apply(e,a);return l?jt(h):h}let c=o;s!==e&&(l?c=function(h,m){return o.call(this,Qt(e,h),m,e)}:o.length>2&&(c=function(h,m){return o.call(this,h,m,e)}));const u=i.call(s,c,n);return l&&r?r(u):u}function il(e,t,o,n){const r=hr(e),a=r!==e&&!Nt(e);let s=o,l=!1;r!==e&&(a?(l=n.length===0,s=function(c,u,h){return l&&(l=!1,c=Qt(e,c)),o.call(this,c,Qt(e,u),h,e)}):o.length>3&&(s=function(c,u,h){return o.call(this,c,u,h,e)}));const i=r[t](s,...n);return l?Qt(e,i):i}function ya(e,t,o){const n=Ve(e);mt(n,"iterate",Tn);const r=n[t](...o);return(r===-1||r===!1)&&wa(o[0])?(o[0]=Ve(o[0]),n[t](...o)):r}function Ln(e,t,o=[]){Jt(),da();const n=Ve(e)[t].apply(e,o);return fa(),Zt(),n}const sd=ra("__proto__,__v_isRef,__isVue"),cl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ot));function ld(e){Ot(e)||(e=String(e));const t=Ve(this);return mt(t,"has",e),t.hasOwnProperty(e)}class ul{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,a=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return a;if(o==="__v_raw")return n===(r?a?ml:hl:a?gl:pl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=Pe(t);if(!r){let i;if(s&&(i=rd[o]))return i;if(o==="hasOwnProperty")return ld}const l=Reflect.get(t,o,ut(t)?t:n);if((Ot(o)?cl.has(o):sd(o))||(r||mt(t,"get",o),a))return l;if(ut(l)){const i=s&&sa(o)?l:l.value;return r&&Ye(i)?xa(i):i}return Ye(l)?r?xa(l):Uo(l):l}}class dl extends ul{constructor(t=!1){super(!1,t)}set(t,o,n,r){let a=t[o];const s=Pe(t)&&sa(o);if(!this._isShallow){const c=co(a);if(!Nt(n)&&!co(n)&&(a=Ve(a),n=Ve(n)),!s&&ut(a)&&!ut(n))return c||(a.value=n),!0}const l=s?Number(o)e,mr=e=>Reflect.getPrototypeOf(e);function fd(e,t,o){return function(...n){const r=this.__v_raw,a=Ve(r),s=Eo(a),l=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,c=r[e](...n),u=o?va:t?en:jt;return!t&&mt(a,"iterate",i?ba:zo),at(Object.create(c),{next(){const{value:h,done:m}=c.next();return m?{value:h,done:m}:{value:l?[u(h[0]),u(h[1])]:u(h),done:m}}})}}function br(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function pd(e,t){const o={get(r){const a=this.__v_raw,s=Ve(a),l=Ve(r);e||(Xt(r,l)&&mt(s,"get",r),mt(s,"get",l));const{has:i}=mr(s),c=t?va:e?en:jt;if(i.call(s,r))return c(a.get(r));if(i.call(s,l))return c(a.get(l));a!==s&&a.get(r)},get size(){const r=this.__v_raw;return!e&&mt(Ve(r),"iterate",zo),r.size},has(r){const a=this.__v_raw,s=Ve(a),l=Ve(r);return e||(Xt(r,l)&&mt(s,"has",r),mt(s,"has",l)),r===l?a.has(r):a.has(r)||a.has(l)},forEach(r,a){const s=this,l=s.__v_raw,i=Ve(l),c=t?va:e?en:jt;return!e&&mt(i,"iterate",zo),l.forEach((u,h)=>r.call(a,c(u),c(h),s))}};return at(o,e?{add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear")}:{add(r){const a=Ve(this),s=mr(a),l=Ve(r),i=!t&&!Nt(r)&&!co(r)?l:r;return s.has.call(a,i)||Xt(r,i)&&s.has.call(a,r)||Xt(l,i)&&s.has.call(a,l)||(a.add(i),lo(a,"add",i,i)),this},set(r,a){!t&&!Nt(a)&&!co(a)&&(a=Ve(a));const s=Ve(this),{has:l,get:i}=mr(s);let c=l.call(s,r);c||(r=Ve(r),c=l.call(s,r));const u=i.call(s,r);return s.set(r,a),c?Xt(a,u)&&lo(s,"set",r,a):lo(s,"add",r,a),this},delete(r){const a=Ve(this),{has:s,get:l}=mr(a);let i=s.call(a,r);i||(r=Ve(r),i=s.call(a,r)),l&&l.call(a,r);const c=a.delete(r);return i&&lo(a,"delete",r,void 0),c},clear(){const r=Ve(this),a=r.size!==0,s=r.clear();return a&&lo(r,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=fd(r,e,t)}),o}function _r(e,t){const o=pd(e,t);return(n,r,a)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ke(o,r)&&r in n?o:n,r,a)}const gd={get:_r(!1,!1)},hd={get:_r(!1,!0)},md={get:_r(!0,!1)},bd={get:_r(!0,!0)},pl=new WeakMap,gl=new WeakMap,hl=new WeakMap,ml=new WeakMap;function _d(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Uo(e){return co(e)?e:yr(e,!1,id,gd,pl)}function yd(e){return yr(e,!1,ud,hd,gl)}function xa(e){return yr(e,!0,cd,md,hl)}function _w(e){return yr(e,!0,dd,bd,ml)}function yr(e,t,o,n,r){if(!Ye(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const a=r.get(e);if(a)return a;const s=_d(Vu(e));if(s===0)return e;const l=new Proxy(e,s===2?n:o);return r.set(e,l),l}function Bo(e){return co(e)?Bo(e.__v_raw):!!(e&&e.__v_isReactive)}function co(e){return!!(e&&e.__v_isReadonly)}function Nt(e){return!!(e&&e.__v_isShallow)}function wa(e){return e?!!e.__v_raw:!1}function Ve(e){const t=e&&e.__v_raw;return t?Ve(t):e}function bl(e){return!Ke(e,"__v_skip")&&Object.isExtensible(e)&&qs(e,"__v_skip",!0),e}const jt=e=>Ye(e)?Uo(e):e,en=e=>Ye(e)?xa(e):e;function ut(e){return e?e.__v_isRef===!0:!1}function ie(e){return _l(e,!1)}function Pn(e){return _l(e,!0)}function _l(e,t){return ut(e)?e:new vd(e,t)}class vd{constructor(t,o){this.dep=new ha,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ve(t),this._value=o?t:jt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Nt(t)||co(t);t=n?t:Ve(t),Xt(t,o)&&(this._rawValue=t,this._value=n?t:jt(t),this.dep.trigger())}}function de(e){return ut(e)?e.value:e}const xd={get:(e,t,o)=>t==="__v_raw"?e:de(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return ut(r)&&!ut(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function yl(e){return Bo(e)?e:new Proxy(e,xd)}class wd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ha(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Cn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ze!==this)return tl(this,!0),!0}get value(){const t=this.dep.track();return rl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function kd(e,t,o=!1){let n,r;return Ie(e)?n=e:(n=e.get,r=e.set),new wd(n,r,o)}const vr={},xr=new WeakMap;let Go;function $d(e,t=!1,o=Go){if(o){let n=xr.get(o);n||xr.set(o,n=[]),n.push(e)}}function Sd(e,t,o=Je){const{immediate:n,deep:r,once:a,scheduler:s,augmentJob:l,call:i}=o,c=g=>r?g:Nt(g)||r===!1||r===0?uo(g,1):uo(g);let u,h,m,v,S=!1,$=!1;if(ut(e)?(h=()=>e.value,S=Nt(e)):Bo(e)?(h=()=>c(e),S=!0):Pe(e)?($=!0,S=e.some(g=>Bo(g)||Nt(g)),h=()=>e.map(g=>{if(ut(g))return g.value;if(Bo(g))return c(g);if(Ie(g))return i?i(g,2):g()})):Ie(e)?t?h=i?()=>i(e,2):e:h=()=>{if(m){Jt();try{m()}finally{Zt()}}const g=Go;Go=u;try{return i?i(e,3,[v]):e(v)}finally{Go=g}}:h=Yt,t&&r){const g=h,y=r===!0?1/0:r;h=()=>uo(g(),y)}const x=td(),T=()=>{u.stop(),x&&x.active&&aa(x.effects,u)};if(a&&t){const g=t;t=(...y)=>{const k=g(...y);return T(),k}}let b=$?new Array(e.length).fill(vr):vr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const y=u.run();if(g||r||S||($?y.some((k,E)=>Xt(k,b[E])):Xt(y,b))){m&&m();const k=Go;Go=u;try{const E=[y,b===vr?void 0:$&&b[0]===vr?[]:b,v];b=y,i?i(t,3,E):t(...E)}finally{Go=k}}}else u.run()};return l&&l(p),u=new Qs(h),u.scheduler=s?()=>s(p,!1):p,v=g=>$d(g,!1,u),m=u.onStop=()=>{const g=xr.get(u);if(g){if(i)i(g,4);else for(const y of g)y();xr.delete(u)}},t?n?p(!0):b=u.run():s?s(p.bind(null,!0),!0):u.run(),T.pause=u.pause.bind(u),T.resume=u.resume.bind(u),T.stop=T,T}function uo(e,t=1/0,o){if(t<=0||!Ye(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ut(e))uo(e.value,t,o);else if(Pe(e))for(let n=0;n{uo(n,t,o)});else if(ur(e)){for(const n in e)uo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&uo(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Nn=[];let ka=!1;function vw(e,...t){if(ka)return;ka=!0,Jt();const o=Nn.length?Nn[Nn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=Ad();if(n)tn(n,o,11,[e+t.map(a=>{var s,l;return(l=(s=a.toString)==null?void 0:s.call(a))!=null?l:JSON.stringify(a)}).join(""),o&&o.proxy,r.map(({vnode:a})=>`at <${mi(o,a.type)}>`).join(` +**/const Nn=[];let ka=!1;function yw(e,...t){if(ka)return;ka=!0,Jt();const o=Nn.length?Nn[Nn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=Ed();if(n)tn(n,o,11,[e+t.map(a=>{var s,l;return(l=(s=a.toString)==null?void 0:s.call(a))!=null?l:JSON.stringify(a)}).join(""),o&&o.proxy,r.map(({vnode:a})=>`at <${hi(o,a.type)}>`).join(` `),r]);else{const a=[`[Vue warn]: ${e}`,...t];r.length&&a.push(` -`,...Cd(r)),console.warn(...a)}Zt(),ka=!1}function Ad(){let e=Nn[Nn.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 Cd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Td(o))}),t}function Td({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${mi(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...Ld(e.props),a]:[r+a]}function Ld(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...xl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function xl(e,t,o){return tt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=xl(e,Ve(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ve(t),o?t:[`${e}=`,t])}function tn(e,t,o,n){try{return n?e(...n):e()}catch(r){wr(r,t,o)}}function zt(e,t,o,n){if(Ie(e)){const r=tn(e,t,o,n);return r&&Bs(r)&&r.catch(a=>{wr(a,t,o)}),r}if(Pe(e)){const r=[];for(let a=0;a>>1,r=yt[n],a=Fn(r);a=Fn(o)?yt.push(e):yt.splice(Nd(t),0,e),e.flags|=1,kl()}}function kl(){kr||(kr=wl.then(El))}function Id(e){if(!Pe(e))Ao&&e.id===-1?Ao.splice(nn+1,0,e):e.flags&1||(on.push(e),e.flags|=1);else for(let t=0;tFn(o)-Fn(n));if(on.length=0,Ao){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function El(e){try{for(eo=0;eo{n._d&&Pr(-1);const a=$r(t),s=go.length;let l;try{l=e(...r)}finally{for(let i=go.length;i>s;i--)Ua();$r(a),n._d&&Pr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t){if(bt===null)return e;const o=Rr(bt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Ie(t)?t.call(n&&n.proxy):t}}const Fd=Symbol.for("v-scx"),Rd=()=>De(Fd);function pt(e,t,o){return Cl(e,t,o)}function Cl(e,t,o=Je){const{immediate:n,deep:r,flush:a,once:s}=o,l=at({},o),i=t&&n||!t&&a!=="post";let c;if(Vn){if(a==="sync"){const v=Rd();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Yt,v.resume=Yt,v.pause=Yt,v}}const u=wt;l.call=(v,S,$)=>zt(v,u,S,$);let h=!1;a==="post"?l.scheduler=v=>{xt(v,u&&u.suspense)}:a!=="sync"&&(h=!0,l.scheduler=(v,S)=>{S?v():$a(v)}),l.augmentJob=v=>{t&&(v.flags|=4),h&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=Ed(e,t,l);return Vn&&(c?c.push(m):i&&m()),m}function Md(e,t,o){const n=this.proxy,r=tt(e)?e.includes(".")?Tl(n,e):()=>n[e]:e.bind(n,n);let a;Ie(t)?a=t:(a=t.handler,o=t);const s=Hn(this),l=Cl(r,a.bind(n),o);return s(),l}function Tl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),Od=e=>e&&(e.defer||e.defer===""),Pl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Nl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Sa=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},Dd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,a,s,l,i,c){const{mc:u,pc:h,pbc:m,o:{insert:v,querySelector:S,createText:$,createComment:x,parentNode:T}}=c,b=Ho(t.props);let{dynamicChildren:p}=t;const g=(E,M,F)=>{E.shapeFlag&16&&u(E.children,M,F,r,a,s,l,i)},y=(E=t)=>{const M=Ho(E.props),F=E.target=Sa(E.props,S),V=Ea(F,E,$,v);F&&(s!=="svg"&&Pl(F)?s="svg":s!=="mathml"&&Nl(F)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(F),M||(g(E,F,V),Rn(E,!1)))},k=E=>{const M=()=>{if(To.get(E)===M){if(To.delete(E),Ho(E.props)){const F=T(E.el)||o;g(E,F,E.anchor),Rn(E,!0)}y(E)}};To.set(E,M),xt(M,a)};if(e==null){const E=t.el=$(""),M=t.anchor=$("");if(v(E,o,n),v(M,o,n),Od(t.props)||a&&a.pendingBranch){k(t);return}b&&(g(t,o,M),Rn(t,!0)),y()}else{t.el=e.el;const E=t.anchor=e.anchor,M=To.get(e);if(M){M.flags|=8,To.delete(e),k(t);return}t.targetStart=e.targetStart;const F=t.target=e.target,V=t.targetAnchor=e.targetAnchor,W=Ho(e.props),ne=W?o:F,me=W?E:V;if(s==="svg"||Pl(F)?s="svg":(s==="mathml"||Nl(F))&&(s="mathml"),p?(m(e.dynamicChildren,p,ne,r,a,s,l),ja(e,t,!0)):i||h(e,t,ne,me,r,a,s,l,!1),b)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Er(t,o,E,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=Sa(t.props,S);j&&(t.target=j,Er(t,j,null,c,0))}else W&&Er(t,F,V,c,1);Rn(t,b)}},remove(e,t,o,{um:n,o:{remove:r}},a){const{shapeFlag:s,children:l,anchor:i,targetStart:c,targetAnchor:u,target:h,props:m}=e,v=Ho(m),S=a||!v,$=To.get(e);if($&&($.flags|=8,To.delete(e)),h&&(r(c),r(u)),a&&r(i),!$&&(v||h)&&s&16)for(let x=0;x1){for(const o of e)if(o.type!==to){t=o;break}}return t}function Il(e){if(!Ta(e))return Sr(e.type)&&e.children?Ud(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&&Ie(o.default))return o.default()}}function Ca(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ca(Sr(o.type)&&Il(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 Mn(e,t){return Ie(e)?at({name:e.name},t,{setup:e}):e}function Fl(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Rl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ar=new WeakMap;function On(e,t,o,n,r=!1){if(Pe(e)){e.forEach(($,x)=>On($,t&&(Pe(t)?t[x]:t),o,n,r));return}if(rn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&On(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?Rr(n.component):n.el,s=r?null:a,{i:l,r:i}=e,c=t&&t.r,u=l.refs===Je?l.refs={}:l.refs,h=l.setupState,m=Ve(h),v=h===Je?zs:$=>Rl(u,$)?!1:Ke(m,$),S=($,x)=>!(x&&Rl(u,x));if(c!=null&&c!==i){if(Ml(t),tt(c))u[c]=null,v(c)&&(h[c]=null);else if(ut(c)){const $=t;S(c,$.k)&&(c.value=null),$.k&&(u[$.k]=null)}}if(Ie(i))tn(i,l,12,[s,u]);else{const $=tt(i),x=ut(i);if($||x){const T=()=>{if(e.f){const b=$?v(i)?h[i]:u[i]:S()||!e.k?i.value:u[e.k];if(r)Pe(b)&&aa(b,a);else if(Pe(b))b.includes(a)||b.push(a);else if($)u[i]=[a],v(i)&&(h[i]=u[i]);else{const p=[a];S(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else $?(u[i]=s,v(i)&&(h[i]=s)):x&&(S(i,e.k)&&(i.value=s),e.k&&(u[e.k]=s))};if(s){const b=()=>{T(),Ar.delete(e)};b.id=-1,Ar.set(e,b),xt(b,o)}else Ml(e),T()}}}function Ml(e){const t=Ar.get(e);t&&(t.flags|=8,Ar.delete(e))}pr().requestIdleCallback,pr().cancelIdleCallback;const rn=e=>!!e.type.__asyncLoader,Ta=e=>e.type.__isKeepAlive;function Bd(e,t){Ol(e,"a",t)}function Gd(e,t){Ol(e,"da",t)}function Ol(e,t,o=wt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Cr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Ta(r.parent.vnode)&&qd(n,t,o,r),r=r.parent}}function qd(e,t,o,n){const r=Cr(t,e,n,!0);La(()=>{aa(n[t],r)},o)}function Cr(e,t,o=wt,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...s)=>{Jt();const l=Hn(o),i=zt(t,o,e,s);return l(),Zt(),i});return n?r.unshift(a):r.push(a),a}}const po=e=>(t,o=wt)=>{(!Vn||e==="sp")&&Cr(e,(...n)=>t(...n),o)},Dl=po("bm"),_t=po("m"),Hd=po("bu"),Vd=po("u"),Ut=po("bum"),La=po("um"),Wd=po("sp"),Kd=po("rtg"),Yd=po("rtc");function Xd(e,t=wt){Cr("ec",e,t)}const Jd=Symbol.for("v-ndc");function Qe(e,t,o,n){let r;const a=o,s=Pe(e);if(s||tt(e)){const l=s&&Bo(e);let i=!1,c=!1;l&&(i=!Nt(e),c=co(e),e=hr(e)),r=new Array(e.length);for(let u=0,h=e.length;ut(l,i,void 0,a));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),H(),Lo(Ce,null,[ze("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const l=go.length;H();let i;try{const c=s&&jl(s(o)),u=o.key||a||c&&c.key;i=Lo(Ce,{key:(u&&!Ot(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=go.length;u>l;u--)Ua();throw c}finally{s&&s._c&&(s._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function jl(e){return e.some(t=>Bn(t)?!(t.type===to||t.type===Ce&&!jl(t.children)):!0)?e:null}const Pa=e=>e?pi(e)?Rr(e):Pa(e.parent):null,Dn=at(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=>Pa(e.parent),$root:e=>Pa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gl(e),$forceUpdate:e=>e.f||(e.f=()=>{$a(e.update)}),$nextTick:e=>e.n||(e.n=In.bind(e.proxy)),$watch:e=>Md.bind(e)}),Na=(e,t)=>e!==Je&&!e.__isScriptSetup&&Ke(e,t),Zd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:s,type:l,appContext:i}=e;if(t[0]!=="$"){const m=s[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 a[t]}else{if(Na(n,t))return s[t]=1,n[t];if(r!==Je&&Ke(r,t))return s[t]=2,r[t];if(Ke(a,t))return s[t]=3,a[t];if(o!==Je&&Ke(o,t))return s[t]=4,o[t];Ia&&(s[t]=0)}}const c=Dn[t];let u,h;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==Je&&Ke(o,t))return s[t]=4,o[t];if(h=i.config.globalProperties,Ke(h,t))return h[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return Na(r,t)?(r[t]=o,!0):n!==Je&&Ke(n,t)?(n[t]=o,!0):Ke(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:s}},l){let i;return!!(o[l]||e!==Je&&l[0]!=="$"&&Ke(e,l)||Na(t,l)||Ke(a,l)||Ke(n,l)||Ke(Dn,l)||Ke(r.config.globalProperties,l)||(i=s.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ke(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function zl(e){return Pe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ia=!0;function Qd(e){const t=Gl(e),o=e.proxy,n=e.ctx;Ia=!1,t.beforeCreate&&Ul(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:s,watch:l,provide:i,inject:c,created:u,beforeMount:h,mounted:m,beforeUpdate:v,updated:S,activated:$,deactivated:x,beforeDestroy:T,beforeUnmount:b,destroyed:p,unmounted:g,render:y,renderTracked:k,renderTriggered:E,errorCaptured:M,serverPrefetch:F,expose:V,inheritAttrs:W,components:ne,directives:me,filters:j}=t;if(c&&ef(c,n,null),s)for(const B in s){const N=s[B];Ie(N)&&(n[B]=N.bind(o))}if(r){const B=r.call(o,o);Ye(B)&&(e.data=Uo(B))}if(Ia=!0,a)for(const B in a){const N=a[B],z=Ie(N)?N.bind(o,o):Ie(N.get)?N.get.bind(o,o):Yt,D=!Ie(N)&&Ie(N.set)?N.set.bind(o):Yt,P=se({get:z,set:D});Object.defineProperty(n,B,{enumerable:!0,configurable:!0,get:()=>P.value,set:q=>P.value=q})}if(l)for(const B in l)Bl(l[B],n,o,B);if(i){const B=Ie(i)?i.call(o):i;Reflect.ownKeys(B).forEach(N=>{fo(N,B[N])})}u&&Ul(u,e,"c");function K(B,N){Pe(N)?N.forEach(z=>B(z.bind(o))):N&&B(N.bind(o))}if(K(Dl,h),K(_t,m),K(Hd,v),K(Vd,S),K(Bd,$),K(Gd,x),K(Xd,M),K(Yd,k),K(Kd,E),K(Ut,b),K(La,g),K(Wd,F),Pe(V))if(V.length){const B=e.exposed||(e.exposed={});V.forEach(N=>{Object.defineProperty(B,N,{get:()=>o[N],set:z=>o[N]=z,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===Yt&&(e.render=y),W!=null&&(e.inheritAttrs=W),ne&&(e.components=ne),me&&(e.directives=me),F&&Fl(e)}function ef(e,t,o=Yt){Pe(e)&&(e=Fa(e));for(const n in e){const r=e[n];let a;Ye(r)?"default"in r?a=De(r.from||n,r.default,!0):a=De(r.from||n):a=De(r),ut(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[n]=a}}function Ul(e,t,o){zt(Pe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Bl(e,t,o,n){let r=n.includes(".")?Tl(o,n):()=>o[n];if(tt(e)){const a=t[e];Ie(a)&&pt(r,a)}else if(Ie(e))pt(r,e.bind(o));else if(Ye(e))if(Pe(e))e.forEach(a=>Bl(a,t,o,n));else{const a=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(a)&&pt(r,a,e)}}function Gl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,l=a.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>Tr(i,c,s,!0)),Tr(i,t,s)),Ye(t)&&a.set(t,i),i}function Tr(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Tr(e,a,o,!0),r&&r.forEach(s=>Tr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const l=tf[s]||o&&o[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const tf={data:ql,props:Hl,emits:Hl,methods:jn,computed:jn,beforeCreate:vt,created:vt,beforeMount:vt,mounted:vt,beforeUpdate:vt,updated:vt,beforeDestroy:vt,beforeUnmount:vt,destroyed:vt,unmounted:vt,activated:vt,deactivated:vt,errorCaptured:vt,serverPrefetch:vt,components:jn,directives:jn,watch:nf,provide:ql,inject:of};function ql(e,t){return t?e?function(){return at(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function of(e,t){return jn(Fa(e),Fa(t))}function Fa(e){if(Pe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Et(t)}Modifiers`]||e[`${Tt(t)}Modifiers`];function lf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Je;let r=o;const a=t.startsWith("update:"),s=a&&sf(n,t.slice(7));s&&(s.trim&&(r=o.map(u=>tt(u)?u.trim():u)),s.number&&(r=r.map(ia)));let l,i=n[l=la(t)]||n[l=la(Et(t))];!i&&a&&(i=n[l=la(Tt(t))]),i&&zt(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,zt(c,e,6,r)}}const cf=new WeakMap;function Wl(e,t,o=!1){const n=o?cf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let s={},l=!1;if(!Ie(e)){const i=c=>{const u=Wl(c,t,!0);u&&(l=!0,at(s,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!a&&!l?(Ye(e)&&n.set(e,null),null):(Pe(a)?a.forEach(i=>s[i]=null):at(s,a),Ye(e)&&n.set(e,s),s)}function Lr(e,t){return!e||!lr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ke(e,t[0].toLowerCase()+t.slice(1))||Ke(e,Tt(t))||Ke(e,t))}function xw(){}function Kl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:s,attrs:l,emit:i,render:c,renderCache:u,props:h,data:m,setupState:v,ctx:S,inheritAttrs:$}=e,x=$r(e);let T,b;try{if(o.shapeFlag&4){const g=r||n,y=g;T=oo(c.call(y,g,u,h,v,m,S)),b=l}else{const g=t;T=oo(g.length>1?g(h,{attrs:l,slots:s,emit:i}):g(h,null)),b=t.props?l:uf(l)}}catch(g){go.length=0,wr(g,e,1),T=ze(to)}let p=T;if(b&&$!==!1){const g=Object.keys(b),{shapeFlag:y}=p;g.length&&y&7&&(a&&g.some(ir)&&(b=df(b,a)),p=sn(p,b,!1,!0))}if(o.dirs&&(p=sn(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=Sr(p.type)&&Il(p)||p;Ca(g,o.transition)}return T=p,$r(x),T}const uf=e=>{let t;for(const o in e)(o==="class"||o==="style"||lr(o))&&((t||(t={}))[o]=e[o]);return t},df=(e,t)=>{const o={};for(const n in e)(!ir(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function ff(e,t,o){const{props:n,children:r,component:a}=e,{props:s,children:l,patchFlag:i}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Yl(n,s,c):!!s;if(i&8){const u=t.dynamicProps;for(let h=0;hObject.create(Jl),Ql=e=>Object.getPrototypeOf(e)===Jl;function gf(e,t,o,n=!1){const r={},a=Zl();e.propsDefaults=Object.create(null),ei(e,t,r,a);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);o?e.props=n?r:vd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function hf(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:s}}=e,l=Ve(r),[i]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let h=0;h{i=!0;const[m,v]=ti(h,t,!0);at(s,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(!a&&!i)return Ye(e)&&n.set(e,Zo),Zo;if(Pe(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Oa=e=>Pe(e)?e.map(oo):[oo(e)],bf=(e,t,o)=>{if(t._n)return t;const n=Co((...r)=>Oa(t(...r)),o);return n._c=!1,n},ni=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ma(r))continue;const a=e[r];if(Ie(a))t[r]=bf(r,a,n);else if(a!=null){const s=Oa(a);t[r]=()=>s}}},ri=(e,t)=>{const o=Oa(t);e.slots.default=()=>o},ai=(e,t,o)=>{for(const n in t)(o||!Ma(n))&&(e[n]=t[n])},_f=(e,t,o)=>{const n=e.slots=Zl();if(e.vnode.shapeFlag&32){const r=t._;r?(ai(n,t,o),o&&Hs(n,"_",r,!0)):ni(t,n)}else t&&ri(e,t)},yf=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,s=Je;if(n.shapeFlag&32){const l=t._;l?o&&l===1?a=!1:ai(r,t,o):(a=!t.$stable,ni(t,r)),s=t}else t&&(ri(e,t),s={default:1});if(a)for(const l in r)!Ma(l)&&s[l]==null&&delete r[l]},xt=$f;function vf(e){return xf(e)}function xf(e,t){const o=pr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:s,createText:l,createComment:i,setText:c,setElementText:u,parentNode:h,nextSibling:m,setScopeId:v=Yt,insertStaticContent:S}=e,$=(_,A,w,U=null,Z=null,Q=null,le=void 0,te=null,d=!!A.dynamicChildren)=>{if(_===A)return;_&&!Gn(_,A)&&(U=Le(_),q(_,Z,Q,!0),_=null),A.patchFlag===-2&&(d=!1,A.dynamicChildren=null);const{type:f,ref:L,shapeFlag:O}=A;switch(f){case zn:x(_,A,w,U);break;case to:T(_,A,w,U);break;case za:_==null&&b(A,w,U,le);break;case Ce:ne(_,A,w,U,Z,Q,le,te,d);break;default:O&1?y(_,A,w,U,Z,Q,le,te,d):O&6?me(_,A,w,U,Z,Q,le,te,d):(O&64||O&128)&&f.process(_,A,w,U,Z,Q,le,te,d,ye)}L!=null&&Z?On(L,_&&_.ref,Q,A||_,!A):L==null&&_&&_.ref!=null&&On(_.ref,null,Q,_,!0)},x=(_,A,w,U)=>{if(_==null)n(A.el=l(A.children),w,U);else{const Z=A.el=_.el;A.children!==_.children&&c(Z,A.children)}},T=(_,A,w,U)=>{_==null?n(A.el=i(A.children||""),w,U):A.el=_.el},b=(_,A,w,U)=>{[_.el,_.anchor]=S(_.children,A,w,U,_.el,_.anchor)},p=({el:_,anchor:A},w,U)=>{let Z;for(;_&&_!==A;)Z=m(_),n(_,w,U),_=Z;n(A,w,U)},g=({el:_,anchor:A})=>{let w;for(;_&&_!==A;)w=m(_),r(_),_=w;r(A)},y=(_,A,w,U,Z,Q,le,te,d)=>{if(A.type==="svg"?le="svg":A.type==="math"&&(le="mathml"),_==null)k(A,w,U,Z,Q,le,te,d);else{const f=_.el&&_.el._isVueCE?_.el:null;try{f&&f._beginPatch(),F(_,A,Z,Q,le,te,d)}finally{f&&f._endPatch()}}},k=(_,A,w,U,Z,Q,le,te)=>{let d,f;const{props:L,shapeFlag:O,transition:ae,dirs:oe}=_;if(d=_.el=s(_.type,Q,L&&L.is,L),O&8?u(d,_.children):O&16&&M(_.children,d,null,U,Z,Da(_,Q),le,te),oe&&qo(_,null,U,"created"),E(d,_,_.scopeId,le,U),L){for(const G in L)G!=="value"&&!Sn(G)&&a(d,G,null,L[G],Q,U);"value"in L&&a(d,"value",null,L.value,Q),(f=L.onVnodeBeforeMount)&&no(f,U,_)}oe&&qo(_,null,U,"beforeMount");const C=wf(Z,ae);C&&ae.beforeEnter(d),n(d,A,w),((f=L&&L.onVnodeMounted)||C||oe)&&xt(()=>{try{f&&no(f,U,_),C&&ae.enter(d),oe&&qo(_,null,U,"mounted")}finally{}},Z)},E=(_,A,w,U,Z)=>{if(w&&v(_,w),U)for(let Q=0;Q{for(let f=d;f<_.length;f++){const L=_[f]=te?ho(_[f]):oo(_[f]);$(null,L,A,w,U,Z,Q,le,te)}},F=(_,A,w,U,Z,Q,le)=>{const te=A.el=_.el;let{patchFlag:d,dynamicChildren:f,dirs:L}=A;d|=_.patchFlag&16;const O=_.props||Je,ae=A.props||Je;let oe;if(w&&Wo(w,!1),(oe=ae.onVnodeBeforeUpdate)&&no(oe,w,A,_),L&&qo(A,_,w,"beforeUpdate"),w&&Wo(w,!0),f&&(!_.dynamicChildren||_.dynamicChildren.length!==f.length)&&(d=0,le=!1,f=null),(O.innerHTML&&ae.innerHTML==null||O.textContent&&ae.textContent==null)&&u(te,""),f?V(_.dynamicChildren,f,te,w,U,Da(A,Z),Q):le||N(_,A,te,null,w,U,Da(A,Z),Q,!1),d>0){if(d&16)W(te,O,ae,w,Z);else if(d&2&&O.class!==ae.class&&a(te,"class",null,ae.class,Z),d&4&&a(te,"style",O.style,ae.style,Z),d&8){const C=A.dynamicProps;for(let G=0;G{oe&&no(oe,w,A,_),L&&qo(A,_,w,"updated")},U)},V=(_,A,w,U,Z,Q,le)=>{for(let te=0;te{if(A!==w){if(A!==Je)for(const Q in A)!Sn(Q)&&!(Q in w)&&a(_,Q,A[Q],null,Z,U);for(const Q in w){if(Sn(Q))continue;const le=w[Q],te=A[Q];le!==te&&Q!=="value"&&a(_,Q,te,le,Z,U)}"value"in w&&a(_,"value",A.value,w.value,Z)}},ne=(_,A,w,U,Z,Q,le,te,d)=>{const f=A.el=_?_.el:l(""),L=A.anchor=_?_.anchor:l("");let{patchFlag:O,dynamicChildren:ae,slotScopeIds:oe}=A;oe&&(te=te?te.concat(oe):oe),_==null?(n(f,w,U),n(L,w,U),M(A.children||[],w,L,Z,Q,le,te,d)):O>0&&O&64&&ae&&_.dynamicChildren&&_.dynamicChildren.length===ae.length?(V(_.dynamicChildren,ae,w,Z,Q,le,te),(A.key!=null||Z&&A===Z.subTree)&&ja(_,A,!0)):N(_,A,w,L,Z,Q,le,te,d)},me=(_,A,w,U,Z,Q,le,te,d)=>{A.slotScopeIds=te,_==null?A.shapeFlag&512?Z.ctx.activate(A,w,U,le,d):j(A,w,U,Z,Q,le,d):ee(_,A,d)},j=(_,A,w,U,Z,Q,le)=>{const te=_.component=Lf(_,U,Z);if(Ta(_)&&(te.ctx.renderer=ye),Pf(te,!1,le),te.asyncDep){if(Z&&Z.registerDep(te,K,le),!_.el){const d=te.subTree=ze(to);T(null,d,A,w),_.placeholder=d.el}}else K(te,_,A,w,Z,Q,le)},ee=(_,A,w)=>{const U=A.component=_.component;if(ff(_,A,w))if(U.asyncDep&&!U.asyncResolved){B(U,A,w);return}else U.next=A,U.update();else A.el=_.el,U.vnode=A},K=(_,A,w,U,Z,Q,le)=>{const te=()=>{if(_.isMounted){let{next:O,bu:ae,u:oe,parent:C,vnode:G}=_;{const He=si(_);if(He){O&&(O.el=G.el,B(_,O,le)),He.asyncDep.then(()=>{xt(()=>{_.isUnmounted||f()},Z)});return}}let he=O,we;Wo(_,!1),O?(O.el=G.el,B(_,O,le)):O=G,ae&&fr(ae),(we=O.props&&O.props.onVnodeBeforeUpdate)&&no(we,C,O,G),Wo(_,!0);const Ne=Kl(_),qe=_.subTree;_.subTree=Ne,$(qe,Ne,h(qe.el),Le(qe),_,Z,Q),O.el=Ne.el,he===null&&pf(_,Ne.el),oe&&xt(oe,Z),(we=O.props&&O.props.onVnodeUpdated)&&xt(()=>no(we,C,O,G),Z)}else{let O;const{el:ae,props:oe}=A,{bm:C,m:G,parent:he,root:we,type:Ne}=_,qe=rn(A);Wo(_,!1),C&&fr(C),!qe&&(O=oe&&oe.onVnodeBeforeMount)&&no(O,he,A),Wo(_,!0);{we.ce&&we.ce._hasShadowRoot()&&we.ce._injectChildStyle(Ne,_.parent?_.parent.type:void 0);const He=_.subTree=Kl(_);$(null,He,w,U,_,Z,Q),A.el=He.el}if(G&&xt(G,Z),!qe&&(O=oe&&oe.onVnodeMounted)){const He=A;xt(()=>no(O,he,He),Z)}(A.shapeFlag&256||he&&rn(he.vnode)&&he.vnode.shapeFlag&256)&&_.a&&xt(_.a,Z),_.isMounted=!0,A=w=U=null}};_.scope.on();const d=_.effect=new el(te);_.scope.off();const f=_.update=d.run.bind(d),L=_.job=d.runIfDirty.bind(d);L.i=_,L.id=_.uid,d.scheduler=()=>$a(L),Wo(_,!0),f()},B=(_,A,w)=>{A.component=_;const U=_.vnode.props;_.vnode=A,_.next=null,hf(_,A.props,U,w),yf(_,A.children,w),Jt(),$l(_),Zt()},N=(_,A,w,U,Z,Q,le,te,d=!1)=>{const f=_&&_.children,L=_?_.shapeFlag:0,O=A.children,{patchFlag:ae,shapeFlag:oe}=A;if(ae>0){if(ae&128){D(f,O,w,U,Z,Q,le,te,d);return}else if(ae&256){z(f,O,w,U,Z,Q,le,te,d);return}}oe&8?(L&16&&Ae(f,Z,Q),O!==f&&u(w,O)):L&16?oe&16?D(f,O,w,U,Z,Q,le,te,d):Ae(f,Z,Q,!0):(L&8&&u(w,""),oe&16&&M(O,w,U,Z,Q,le,te,d))},z=(_,A,w,U,Z,Q,le,te,d)=>{_=_||Zo,A=A||Zo;const f=_.length,L=A.length,O=Math.min(f,L);let ae;for(ae=0;aeL?Ae(_,Z,Q,!0,!1,O):M(A,w,U,Z,Q,le,te,d,O)},D=(_,A,w,U,Z,Q,le,te,d)=>{let f=0;const L=A.length;let O=_.length-1,ae=L-1;for(;f<=O&&f<=ae;){const oe=_[f],C=A[f]=d?ho(A[f]):oo(A[f]);if(Gn(oe,C))$(oe,C,w,null,Z,Q,le,te,d);else break;f++}for(;f<=O&&f<=ae;){const oe=_[O],C=A[ae]=d?ho(A[ae]):oo(A[ae]);if(Gn(oe,C))$(oe,C,w,null,Z,Q,le,te,d);else break;O--,ae--}if(f>O){if(f<=ae){const oe=ae+1,C=oeae)for(;f<=O;)q(_[f],Z,Q,!0),f++;else{const oe=f,C=f,G=new Map;for(f=C;f<=ae;f++){const Y=A[f]=d?ho(A[f]):oo(A[f]);Y.key!=null&&G.set(Y.key,f)}let he,we=0;const Ne=ae-C+1;let qe=!1,He=0;const rt=new Array(Ne);for(f=0;f=Ne){q(Y,Z,Q,!0);continue}let fe;if(Y.key!=null)fe=G.get(Y.key);else for(he=C;he<=ae;he++)if(rt[he-C]===0&&Gn(Y,A[he])){fe=he;break}fe===void 0?q(Y,Z,Q,!0):(rt[fe-C]=f+1,fe>=He?He=fe:qe=!0,$(Y,A[fe],w,null,Z,Q,le,te,d),we++)}const Rt=qe?kf(rt):Zo;for(he=Rt.length-1,f=Ne-1;f>=0;f--){const Y=C+f,fe=A[Y],ge=A[Y+1],je=Y+1{const{el:Q,type:le,transition:te,children:d,shapeFlag:f}=_;if(f&6){P(_.component.subTree,A,w,U);return}if(f&128){_.suspense.move(A,w,U);return}if(f&64){le.move(_,A,w,ye);return}if(le===Ce){n(Q,A,w);for(let O=0;Ote.enter(Q),Z));else{const{leave:O,delayLeave:ae,afterLeave:oe}=te,C=()=>{_.ctx.isUnmounted?r(Q):n(Q,A,w)},G=()=>{const he=Q._isLeaving||!!Q[Aa];Q._isLeaving&&Q[Aa](!0),te.persisted&&!he?C():O(Q,()=>{C(),oe&&oe()})};ae?ae(Q,C,G):G()}else n(Q,A,w)},q=(_,A,w,U=!1,Z=!1)=>{const{type:Q,props:le,ref:te,children:d,dynamicChildren:f,shapeFlag:L,patchFlag:O,dirs:ae,cacheIndex:oe,memo:C}=_;if(O===-2&&(Z=!1),te!=null&&(Jt(),On(te,null,w,_,!0),Zt()),oe!=null&&(A.renderCache[oe]=void 0),L&256){A.ctx.deactivate(_);return}const G=L&1&&ae,he=!rn(_);let we;if(he&&(we=le&&le.onVnodeBeforeUnmount)&&no(we,A,_),L&6)Ee(_.component,w,U);else{if(L&128){_.suspense.unmount(w,U);return}G&&qo(_,null,A,"beforeUnmount"),L&64?_.type.remove(_,A,w,ye,U):f&&!f.hasOnce&&(Q!==Ce||O>0&&O&64)?Ae(f,A,w,!1,!0):(Q===Ce&&O&384||!Z&&L&16)&&Ae(d,A,w),U&&re(_)}const Ne=C!=null&&oe==null;(he&&(we=le&&le.onVnodeUnmounted)||G||Ne)&&xt(()=>{we&&no(we,A,_),G&&qo(_,null,A,"unmounted"),Ne&&(_.el=null)},w)},re=_=>{const{type:A,el:w,anchor:U,transition:Z}=_;if(A===Ce){be(w,U);return}if(A===za){g(_);return}const Q=()=>{r(w),Z&&!Z.persisted&&Z.afterLeave&&Z.afterLeave()};if(_.shapeFlag&1&&Z&&!Z.persisted){const{leave:le,delayLeave:te}=Z,d=()=>le(w,Q);te?te(_.el,Q,d):d()}else Q()},be=(_,A)=>{let w;for(;_!==A;)w=m(_),r(_),_=w;r(A)},Ee=(_,A,w)=>{const{bum:U,scope:Z,job:Q,subTree:le,um:te,m:d,a:f}=_;li(d),li(f),U&&fr(U),Z.stop(),Q&&(Q.flags|=8,q(le,_,A,w)),te&&xt(te,A),xt(()=>{_.isUnmounted=!0},A)},Ae=(_,A,w,U=!1,Z=!1,Q=0)=>{for(let le=Q;le<_.length;le++)q(_[le],A,w,U,Z)},Le=_=>{if(_.shapeFlag&6)return Le(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const A=m(_.anchor||_.el),w=A&&A[Ll];return w?m(w):A};let xe=!1;const _e=(_,A,w)=>{let U;_==null?A._vnode&&(q(A._vnode,null,null,!0),U=A._vnode.component):$(A._vnode||null,_,A,null,null,null,w),A._vnode=_,xe||(xe=!0,$l(U),Sl(),xe=!1)},ye={p:$,um:q,m:P,r:re,mt:j,mc:M,pc:N,pbc:V,n:Le,o:e};return{render:_e,hydrate:void 0,createApp:af(_e)}}function Da({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 Wo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function wf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ja(e,t,o=!1){const n=e.children,r=t.children;if(Pe(n)&&Pe(r))for(let a=0;a>1,e[o[l]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,s=o[a-1];a-- >0;)o[a]=s,s=t[s];return o}function si(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:si(t)}function li(e){if(e)for(let t=0;te.__isSuspense;function $f(e,t){t&&t.pendingBranch?Pe(e)?t.effects.push(...e):t.effects.push(e):Id(e)}const Ce=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),to=Symbol.for("v-cmt"),za=Symbol.for("v-stc"),go=[];let Lt=null;function H(e=!1){go.push(Lt=e?null:[])}function Ua(){go.pop(),Lt=go[go.length-1]||null}let Un=1;function Pr(e,t=!1){Un+=e,e<0&&Lt&&t&&(Lt.hasOnce=!0)}function ui(e){return e.dynamicChildren=Un>0?Lt||Zo:null,Ua(),Un>0&&Lt&&Lt.push(e),e}function J(e,t,o,n,r,a){return ui(I(e,t,o,n,r,a,!0))}function Lo(e,t,o,n,r){return ui(ze(e,t,o,n,r,!0))}function Bn(e){return e?e.__v_isVNode===!0:!1}function Gn(e,t){return e.type===t.type&&e.key===t.key}const di=({key:e})=>e??null,Nr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||ut(e)||Ie(e)?{i:bt,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,r=null,a=e===Ce?0:1,s=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&di(t),ref:t&&Nr(t),scopeId:Al,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:bt};return l?(Ir(i,o),a&128&&e.normalize(i)):o&&(i.shapeFlag|=tt(o)?8:16),Un>0&&!s&&Lt&&(i.patchFlag>0||a&6)&&i.patchFlag!==32&&Lt.push(i),i}const ze=Sf;function Sf(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===Jd)&&(e=to),Bn(e)){const l=sn(e,t,!0);return o&&Ir(l,o),Un>0&&!a&&Lt&&(l.shapeFlag&6?Lt[Lt.indexOf(e)]=l:Lt.push(l)),l.patchFlag=-2,l}if(Df(e)&&(e=e.__vccOpts),t){t=Ef(t);let{class:l,style:i}=t;l&&!tt(l)&&(t.class=Ge(l)),Ye(i)&&(wa(i)&&!Pe(i)&&(i=at({},i)),t.style=lt(i))}const s=tt(e)?1:ci(e)?128:Sr(e)?64:Ye(e)?4:Ie(e)?2:0;return I(e,t,o,n,r,s,a,!0)}function Ef(e){return e?wa(e)||Ql(e)?at({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:l,transition:i}=e,c=t?Af(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&di(c),ref:t&&t.ref?o&&a?Pe(a)?a.concat(Nr(t)):[a,Nr(t)]:Nr(t):a,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!==Ce?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&Ca(u,i.clone(u)),u}function it(e=" ",t=0){return ze(zn,null,e,t)}function Re(e="",t=!1){return t?(H(),Lo(to,null,e)):ze(to,null,e)}function oo(e){return e==null||typeof e=="boolean"?ze(to):Pe(e)?ze(Ce,null,e.slice()):Bn(e)?ho(e):ze(zn,null,String(e))}function ho(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Ir(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Pe(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ir(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Ql(t)?t._ctx=bt:r===3&&bt&&(bt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(n&65){Ir(e,{default:t});return}t={default:t,_ctx:bt},o=32}else t=String(t),n&64?(o=16,t=[it(t)]):o=8;e.children=t,e.shapeFlag|=o}function Af(...e){const t={};for(let o=0;owt||bt;let Fr,qn;{const e=pr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(s=>s(a)):r[0](a)}};Fr=t("__VUE_INSTANCE_SETTERS__",o=>wt=o),qn=t("__VUE_SSR_SETTERS__",o=>Vn=o)}const Hn=e=>{const t=wt;return Fr(e),e.scope.on(),()=>{e.scope.off(),Fr(t)}},fi=()=>{wt&&wt.scope.off(),Fr(null)};function pi(e){return e.vnode.shapeFlag&4}let Vn=!1;function Pf(e,t=!1,o=!1){t&&qn(t);const{props:n,children:r}=e.vnode,a=pi(e);gf(e,n,a,t),_f(e,r,o||t);const s=a?Nf(e,t):void 0;return t&&qn(!1),s}function Nf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Zd);const{setup:n}=o;if(n){Jt();const r=e.setupContext=n.length>1?Ff(e):null,a=Hn(e),s=tn(n,e,0,[e.props,r]),l=Bs(s);if(Zt(),a(),(l||e.sp)&&!rn(e)&&Fl(e),l){if(s.then(fi,fi),t)return s.then(i=>{qn(!0);try{gi(e,i,t)}finally{qn(!1)}}).catch(i=>{wr(i,e,0)});e.asyncDep=s}else gi(e,s)}else hi(e)}function gi(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=vl(t)),hi(e)}function hi(e,t,o){const n=e.type;e.render||(e.render=n.render||Yt);{const r=Hn(e);Jt();try{Qd(e)}finally{Zt(),r()}}}const If={get(e,t){return mt(e,"get",""),e[t]}};function Ff(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,If),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vl(_l(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Dn)return Dn[o](e)},has(t,o){return o in t||o in Dn}})):e.proxy}const Rf=/(?:^|[-_])\w/g,Mf=e=>e.replace(Rf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Of(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function mi(e,t,o=!1){let n=Of(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const s in a)if(a[s]===t)return s};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Mf(n):o?"App":"Anonymous"}function Df(e){return Ie(e)&&"__vccOpts"in e}const se=(e,t)=>$d(e,t,Vn);function bi(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ye(t)&&!Pe(t)?Bn(t)?ze(e,null,[t]):ze(e,t):ze(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Bn(o)&&(o=[o]),ze(e,t,o))}finally{Pr(1)}}const jf="3.5.42";/** +`,...Ad(r)),console.warn(...a)}Zt(),ka=!1}function Ed(){let e=Nn[Nn.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 Ad(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Cd(o))}),t}function Cd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${hi(e.component,e.type,n)}`,a=">"+o;return e.props?[r,...Td(e.props),a]:[r+a]}function Td(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...vl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function vl(e,t,o){return tt(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ut(t)?(t=vl(e,Ve(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ve(t),o?t:[`${e}=`,t])}function tn(e,t,o,n){try{return n?e(...n):e()}catch(r){wr(r,t,o)}}function zt(e,t,o,n){if(Ie(e)){const r=tn(e,t,o,n);return r&&Us(r)&&r.catch(a=>{wr(a,t,o)}),r}if(Pe(e)){const r=[];for(let a=0;a>>1,r=yt[n],a=Fn(r);a=Fn(o)?yt.push(e):yt.splice(Pd(t),0,e),e.flags|=1,wl()}}function wl(){kr||(kr=xl.then(Sl))}function Nd(e){if(!Pe(e))Ao&&e.id===-1?Ao.splice(nn+1,0,e):e.flags&1||(on.push(e),e.flags|=1);else for(let t=0;tFn(o)-Fn(n));if(on.length=0,Ao){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Sl(e){try{for(eo=0;eo{n._d&&Pr(-1);const a=$r(t),s=go.length;let l;try{l=e(...r)}finally{for(let i=go.length;i>s;i--)Ua();$r(a),n._d&&Pr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t){if(bt===null)return e;const o=Rr(bt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Ie(t)?t.call(n&&n.proxy):t}}const Id=Symbol.for("v-scx"),Fd=()=>De(Id);function pt(e,t,o){return Al(e,t,o)}function Al(e,t,o=Je){const{immediate:n,deep:r,flush:a,once:s}=o,l=at({},o),i=t&&n||!t&&a!=="post";let c;if(Vn){if(a==="sync"){const v=Fd();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Yt,v.resume=Yt,v.pause=Yt,v}}const u=wt;l.call=(v,S,$)=>zt(v,u,S,$);let h=!1;a==="post"?l.scheduler=v=>{xt(v,u&&u.suspense)}:a!=="sync"&&(h=!0,l.scheduler=(v,S)=>{S?v():$a(v)}),l.augmentJob=v=>{t&&(v.flags|=4),h&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=Sd(e,t,l);return Vn&&(c?c.push(m):i&&m()),m}function Rd(e,t,o){const n=this.proxy,r=tt(e)?e.includes(".")?Cl(n,e):()=>n[e]:e.bind(n,n);let a;Ie(t)?a=t:(a=t.handler,o=t);const s=Hn(this),l=Al(r,a.bind(n),o);return s(),l}function Cl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),Md=e=>e&&(e.defer||e.defer===""),Ll=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Pl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Sa=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},Od={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,a,s,l,i,c){const{mc:u,pc:h,pbc:m,o:{insert:v,querySelector:S,createText:$,createComment:x,parentNode:T}}=c,b=Ho(t.props);let{dynamicChildren:p}=t;const g=(E,M,F)=>{E.shapeFlag&16&&u(E.children,M,F,r,a,s,l,i)},y=(E=t)=>{const M=Ho(E.props),F=E.target=Sa(E.props,S),V=Ea(F,E,$,v);F&&(s!=="svg"&&Ll(F)?s="svg":s!=="mathml"&&Pl(F)&&(s="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(F),M||(g(E,F,V),Rn(E,!1)))},k=E=>{const M=()=>{if(To.get(E)===M){if(To.delete(E),Ho(E.props)){const F=T(E.el)||o;g(E,F,E.anchor),Rn(E,!0)}y(E)}};To.set(E,M),xt(M,a)};if(e==null){const E=t.el=$(""),M=t.anchor=$("");if(v(E,o,n),v(M,o,n),Md(t.props)||a&&a.pendingBranch){k(t);return}b&&(g(t,o,M),Rn(t,!0)),y()}else{t.el=e.el;const E=t.anchor=e.anchor,M=To.get(e);if(M){M.flags|=8,To.delete(e),k(t);return}t.targetStart=e.targetStart;const F=t.target=e.target,V=t.targetAnchor=e.targetAnchor,W=Ho(e.props),ne=W?o:F,me=W?E:V;if(s==="svg"||Ll(F)?s="svg":(s==="mathml"||Pl(F))&&(s="mathml"),p?(m(e.dynamicChildren,p,ne,r,a,s,l),ja(e,t,!0)):i||h(e,t,ne,me,r,a,s,l,!1),b)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Er(t,o,E,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=Sa(t.props,S);j&&(t.target=j,Er(t,j,null,c,0))}else W&&Er(t,F,V,c,1);Rn(t,b)}},remove(e,t,o,{um:n,o:{remove:r}},a){const{shapeFlag:s,children:l,anchor:i,targetStart:c,targetAnchor:u,target:h,props:m}=e,v=Ho(m),S=a||!v,$=To.get(e);if($&&($.flags|=8,To.delete(e)),h&&(r(c),r(u)),a&&r(i),!$&&(v||h)&&s&16)for(let x=0;x1){for(const o of e)if(o.type!==to){t=o;break}}return t}function Nl(e){if(!Ta(e))return Sr(e.type)&&e.children?zd(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&&Ie(o.default))return o.default()}}function Ca(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Ca(Sr(o.type)&&Nl(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 Mn(e,t){return Ie(e)?at({name:e.name},t,{setup:e}):e}function Il(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Fl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ar=new WeakMap;function On(e,t,o,n,r=!1){if(Pe(e)){e.forEach(($,x)=>On($,t&&(Pe(t)?t[x]:t),o,n,r));return}if(rn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&On(e,t,o,n.component.subTree);return}const a=n.shapeFlag&4?Rr(n.component):n.el,s=r?null:a,{i:l,r:i}=e,c=t&&t.r,u=l.refs===Je?l.refs={}:l.refs,h=l.setupState,m=Ve(h),v=h===Je?js:$=>Fl(u,$)?!1:Ke(m,$),S=($,x)=>!(x&&Fl(u,x));if(c!=null&&c!==i){if(Rl(t),tt(c))u[c]=null,v(c)&&(h[c]=null);else if(ut(c)){const $=t;S(c,$.k)&&(c.value=null),$.k&&(u[$.k]=null)}}if(Ie(i))tn(i,l,12,[s,u]);else{const $=tt(i),x=ut(i);if($||x){const T=()=>{if(e.f){const b=$?v(i)?h[i]:u[i]:S()||!e.k?i.value:u[e.k];if(r)Pe(b)&&aa(b,a);else if(Pe(b))b.includes(a)||b.push(a);else if($)u[i]=[a],v(i)&&(h[i]=u[i]);else{const p=[a];S(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else $?(u[i]=s,v(i)&&(h[i]=s)):x&&(S(i,e.k)&&(i.value=s),e.k&&(u[e.k]=s))};if(s){const b=()=>{T(),Ar.delete(e)};b.id=-1,Ar.set(e,b),xt(b,o)}else Rl(e),T()}}}function Rl(e){const t=Ar.get(e);t&&(t.flags|=8,Ar.delete(e))}pr().requestIdleCallback,pr().cancelIdleCallback;const rn=e=>!!e.type.__asyncLoader,Ta=e=>e.type.__isKeepAlive;function Ud(e,t){Ml(e,"a",t)}function Bd(e,t){Ml(e,"da",t)}function Ml(e,t,o=wt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Cr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Ta(r.parent.vnode)&&Gd(n,t,o,r),r=r.parent}}function Gd(e,t,o,n){const r=Cr(t,e,n,!0);La(()=>{aa(n[t],r)},o)}function Cr(e,t,o=wt,n=!1){if(o){const r=o[e]||(o[e]=[]),a=t.__weh||(t.__weh=(...s)=>{Jt();const l=Hn(o),i=zt(t,o,e,s);return l(),Zt(),i});return n?r.unshift(a):r.push(a),a}}const po=e=>(t,o=wt)=>{(!Vn||e==="sp")&&Cr(e,(...n)=>t(...n),o)},Ol=po("bm"),_t=po("m"),qd=po("bu"),Hd=po("u"),Ut=po("bum"),La=po("um"),Vd=po("sp"),Wd=po("rtg"),Kd=po("rtc");function Yd(e,t=wt){Cr("ec",e,t)}const Xd=Symbol.for("v-ndc");function Qe(e,t,o,n){let r;const a=o,s=Pe(e);if(s||tt(e)){const l=s&&Bo(e);let i=!1,c=!1;l&&(i=!Nt(e),c=co(e),e=hr(e)),r=new Array(e.length);for(let u=0,h=e.length;ut(l,i,void 0,a));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),H(),Lo(Ce,null,[ze("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const l=go.length;H();let i;try{const c=s&&Dl(s(o)),u=o.key||a||c&&c.key;i=Lo(Ce,{key:(u&&!Ot(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=go.length;u>l;u--)Ua();throw c}finally{s&&s._c&&(s._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Dl(e){return e.some(t=>Bn(t)?!(t.type===to||t.type===Ce&&!Dl(t.children)):!0)?e:null}const Pa=e=>e?fi(e)?Rr(e):Pa(e.parent):null,Dn=at(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=>Pa(e.parent),$root:e=>Pa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Bl(e),$forceUpdate:e=>e.f||(e.f=()=>{$a(e.update)}),$nextTick:e=>e.n||(e.n=In.bind(e.proxy)),$watch:e=>Rd.bind(e)}),Na=(e,t)=>e!==Je&&!e.__isScriptSetup&&Ke(e,t),Jd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:a,accessCache:s,type:l,appContext:i}=e;if(t[0]!=="$"){const m=s[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 a[t]}else{if(Na(n,t))return s[t]=1,n[t];if(r!==Je&&Ke(r,t))return s[t]=2,r[t];if(Ke(a,t))return s[t]=3,a[t];if(o!==Je&&Ke(o,t))return s[t]=4,o[t];Ia&&(s[t]=0)}}const c=Dn[t];let u,h;if(c)return t==="$attrs"&&mt(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==Je&&Ke(o,t))return s[t]=4,o[t];if(h=i.config.globalProperties,Ke(h,t))return h[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:a}=e;return Na(r,t)?(r[t]=o,!0):n!==Je&&Ke(n,t)?(n[t]=o,!0):Ke(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:a,type:s}},l){let i;return!!(o[l]||e!==Je&&l[0]!=="$"&&Ke(e,l)||Na(t,l)||Ke(a,l)||Ke(n,l)||Ke(Dn,l)||Ke(r.config.globalProperties,l)||(i=s.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ke(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function jl(e){return Pe(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ia=!0;function Zd(e){const t=Bl(e),o=e.proxy,n=e.ctx;Ia=!1,t.beforeCreate&&zl(t.beforeCreate,e,"bc");const{data:r,computed:a,methods:s,watch:l,provide:i,inject:c,created:u,beforeMount:h,mounted:m,beforeUpdate:v,updated:S,activated:$,deactivated:x,beforeDestroy:T,beforeUnmount:b,destroyed:p,unmounted:g,render:y,renderTracked:k,renderTriggered:E,errorCaptured:M,serverPrefetch:F,expose:V,inheritAttrs:W,components:ne,directives:me,filters:j}=t;if(c&&Qd(c,n,null),s)for(const B in s){const N=s[B];Ie(N)&&(n[B]=N.bind(o))}if(r){const B=r.call(o,o);Ye(B)&&(e.data=Uo(B))}if(Ia=!0,a)for(const B in a){const N=a[B],z=Ie(N)?N.bind(o,o):Ie(N.get)?N.get.bind(o,o):Yt,D=!Ie(N)&&Ie(N.set)?N.set.bind(o):Yt,P=se({get:z,set:D});Object.defineProperty(n,B,{enumerable:!0,configurable:!0,get:()=>P.value,set:q=>P.value=q})}if(l)for(const B in l)Ul(l[B],n,o,B);if(i){const B=Ie(i)?i.call(o):i;Reflect.ownKeys(B).forEach(N=>{fo(N,B[N])})}u&&zl(u,e,"c");function K(B,N){Pe(N)?N.forEach(z=>B(z.bind(o))):N&&B(N.bind(o))}if(K(Ol,h),K(_t,m),K(qd,v),K(Hd,S),K(Ud,$),K(Bd,x),K(Yd,M),K(Kd,k),K(Wd,E),K(Ut,b),K(La,g),K(Vd,F),Pe(V))if(V.length){const B=e.exposed||(e.exposed={});V.forEach(N=>{Object.defineProperty(B,N,{get:()=>o[N],set:z=>o[N]=z,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===Yt&&(e.render=y),W!=null&&(e.inheritAttrs=W),ne&&(e.components=ne),me&&(e.directives=me),F&&Il(e)}function Qd(e,t,o=Yt){Pe(e)&&(e=Fa(e));for(const n in e){const r=e[n];let a;Ye(r)?"default"in r?a=De(r.from||n,r.default,!0):a=De(r.from||n):a=De(r),ut(a)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:s=>a.value=s}):t[n]=a}}function zl(e,t,o){zt(Pe(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Ul(e,t,o,n){let r=n.includes(".")?Cl(o,n):()=>o[n];if(tt(e)){const a=t[e];Ie(a)&&pt(r,a)}else if(Ie(e))pt(r,e.bind(o));else if(Ye(e))if(Pe(e))e.forEach(a=>Ul(a,t,o,n));else{const a=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(a)&&pt(r,a,e)}}function Bl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:a,config:{optionMergeStrategies:s}}=e.appContext,l=a.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>Tr(i,c,s,!0)),Tr(i,t,s)),Ye(t)&&a.set(t,i),i}function Tr(e,t,o,n=!1){const{mixins:r,extends:a}=t;a&&Tr(e,a,o,!0),r&&r.forEach(s=>Tr(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const l=ef[s]||o&&o[s];e[s]=l?l(e[s],t[s]):t[s]}return e}const ef={data:Gl,props:ql,emits:ql,methods:jn,computed:jn,beforeCreate:vt,created:vt,beforeMount:vt,mounted:vt,beforeUpdate:vt,updated:vt,beforeDestroy:vt,beforeUnmount:vt,destroyed:vt,unmounted:vt,activated:vt,deactivated:vt,errorCaptured:vt,serverPrefetch:vt,components:jn,directives:jn,watch:of,provide:Gl,inject:tf};function Gl(e,t){return t?e?function(){return at(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function tf(e,t){return jn(Fa(e),Fa(t))}function Fa(e){if(Pe(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Et(t)}Modifiers`]||e[`${Tt(t)}Modifiers`];function sf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Je;let r=o;const a=t.startsWith("update:"),s=a&&af(n,t.slice(7));s&&(s.trim&&(r=o.map(u=>tt(u)?u.trim():u)),s.number&&(r=r.map(ia)));let l,i=n[l=la(t)]||n[l=la(Et(t))];!i&&a&&(i=n[l=la(Tt(t))]),i&&zt(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,zt(c,e,6,r)}}const lf=new WeakMap;function Vl(e,t,o=!1){const n=o?lf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const a=e.emits;let s={},l=!1;if(!Ie(e)){const i=c=>{const u=Vl(c,t,!0);u&&(l=!0,at(s,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!a&&!l?(Ye(e)&&n.set(e,null),null):(Pe(a)?a.forEach(i=>s[i]=null):at(s,a),Ye(e)&&n.set(e,s),s)}function Lr(e,t){return!e||!lr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ke(e,t[0].toLowerCase()+t.slice(1))||Ke(e,Tt(t))||Ke(e,t))}function vw(){}function Wl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[a],slots:s,attrs:l,emit:i,render:c,renderCache:u,props:h,data:m,setupState:v,ctx:S,inheritAttrs:$}=e,x=$r(e);let T,b;try{if(o.shapeFlag&4){const g=r||n,y=g;T=oo(c.call(y,g,u,h,v,m,S)),b=l}else{const g=t;T=oo(g.length>1?g(h,{attrs:l,slots:s,emit:i}):g(h,null)),b=t.props?l:cf(l)}}catch(g){go.length=0,wr(g,e,1),T=ze(to)}let p=T;if(b&&$!==!1){const g=Object.keys(b),{shapeFlag:y}=p;g.length&&y&7&&(a&&g.some(ir)&&(b=uf(b,a)),p=sn(p,b,!1,!0))}if(o.dirs&&(p=sn(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=Sr(p.type)&&Nl(p)||p;Ca(g,o.transition)}return T=p,$r(x),T}const cf=e=>{let t;for(const o in e)(o==="class"||o==="style"||lr(o))&&((t||(t={}))[o]=e[o]);return t},uf=(e,t)=>{const o={};for(const n in e)(!ir(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function df(e,t,o){const{props:n,children:r,component:a}=e,{props:s,children:l,patchFlag:i}=t,c=a.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Kl(n,s,c):!!s;if(i&8){const u=t.dynamicProps;for(let h=0;hObject.create(Xl),Zl=e=>Object.getPrototypeOf(e)===Xl;function pf(e,t,o,n=!1){const r={},a=Jl();e.propsDefaults=Object.create(null),Ql(e,t,r,a);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);o?e.props=n?r:yd(r):e.type.props?e.props=r:e.props=a,e.attrs=a}function gf(e,t,o,n){const{props:r,attrs:a,vnode:{patchFlag:s}}=e,l=Ve(r),[i]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let h=0;h{i=!0;const[m,v]=ei(h,t,!0);at(s,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(!a&&!i)return Ye(e)&&n.set(e,Zo),Zo;if(Pe(a))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Oa=e=>Pe(e)?e.map(oo):[oo(e)],mf=(e,t,o)=>{if(t._n)return t;const n=Co((...r)=>Oa(t(...r)),o);return n._c=!1,n},oi=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ma(r))continue;const a=e[r];if(Ie(a))t[r]=mf(r,a,n);else if(a!=null){const s=Oa(a);t[r]=()=>s}}},ni=(e,t)=>{const o=Oa(t);e.slots.default=()=>o},ri=(e,t,o)=>{for(const n in t)(o||!Ma(n))&&(e[n]=t[n])},bf=(e,t,o)=>{const n=e.slots=Jl();if(e.vnode.shapeFlag&32){const r=t._;r?(ri(n,t,o),o&&qs(n,"_",r,!0)):oi(t,n)}else t&&ni(e,t)},_f=(e,t,o)=>{const{vnode:n,slots:r}=e;let a=!0,s=Je;if(n.shapeFlag&32){const l=t._;l?o&&l===1?a=!1:ri(r,t,o):(a=!t.$stable,oi(t,r)),s=t}else t&&(ni(e,t),s={default:1});if(a)for(const l in r)!Ma(l)&&s[l]==null&&delete r[l]},xt=kf;function yf(e){return vf(e)}function vf(e,t){const o=pr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:a,createElement:s,createText:l,createComment:i,setText:c,setElementText:u,parentNode:h,nextSibling:m,setScopeId:v=Yt,insertStaticContent:S}=e,$=(_,A,w,U=null,Z=null,Q=null,le=void 0,te=null,d=!!A.dynamicChildren)=>{if(_===A)return;_&&!Gn(_,A)&&(U=Le(_),q(_,Z,Q,!0),_=null),A.patchFlag===-2&&(d=!1,A.dynamicChildren=null);const{type:f,ref:L,shapeFlag:O}=A;switch(f){case zn:x(_,A,w,U);break;case to:T(_,A,w,U);break;case za:_==null&&b(A,w,U,le);break;case Ce:ne(_,A,w,U,Z,Q,le,te,d);break;default:O&1?y(_,A,w,U,Z,Q,le,te,d):O&6?me(_,A,w,U,Z,Q,le,te,d):(O&64||O&128)&&f.process(_,A,w,U,Z,Q,le,te,d,ye)}L!=null&&Z?On(L,_&&_.ref,Q,A||_,!A):L==null&&_&&_.ref!=null&&On(_.ref,null,Q,_,!0)},x=(_,A,w,U)=>{if(_==null)n(A.el=l(A.children),w,U);else{const Z=A.el=_.el;A.children!==_.children&&c(Z,A.children)}},T=(_,A,w,U)=>{_==null?n(A.el=i(A.children||""),w,U):A.el=_.el},b=(_,A,w,U)=>{[_.el,_.anchor]=S(_.children,A,w,U,_.el,_.anchor)},p=({el:_,anchor:A},w,U)=>{let Z;for(;_&&_!==A;)Z=m(_),n(_,w,U),_=Z;n(A,w,U)},g=({el:_,anchor:A})=>{let w;for(;_&&_!==A;)w=m(_),r(_),_=w;r(A)},y=(_,A,w,U,Z,Q,le,te,d)=>{if(A.type==="svg"?le="svg":A.type==="math"&&(le="mathml"),_==null)k(A,w,U,Z,Q,le,te,d);else{const f=_.el&&_.el._isVueCE?_.el:null;try{f&&f._beginPatch(),F(_,A,Z,Q,le,te,d)}finally{f&&f._endPatch()}}},k=(_,A,w,U,Z,Q,le,te)=>{let d,f;const{props:L,shapeFlag:O,transition:ae,dirs:oe}=_;if(d=_.el=s(_.type,Q,L&&L.is,L),O&8?u(d,_.children):O&16&&M(_.children,d,null,U,Z,Da(_,Q),le,te),oe&&qo(_,null,U,"created"),E(d,_,_.scopeId,le,U),L){for(const G in L)G!=="value"&&!Sn(G)&&a(d,G,null,L[G],Q,U);"value"in L&&a(d,"value",null,L.value,Q),(f=L.onVnodeBeforeMount)&&no(f,U,_)}oe&&qo(_,null,U,"beforeMount");const C=xf(Z,ae);C&&ae.beforeEnter(d),n(d,A,w),((f=L&&L.onVnodeMounted)||C||oe)&&xt(()=>{try{f&&no(f,U,_),C&&ae.enter(d),oe&&qo(_,null,U,"mounted")}finally{}},Z)},E=(_,A,w,U,Z)=>{if(w&&v(_,w),U)for(let Q=0;Q{for(let f=d;f<_.length;f++){const L=_[f]=te?ho(_[f]):oo(_[f]);$(null,L,A,w,U,Z,Q,le,te)}},F=(_,A,w,U,Z,Q,le)=>{const te=A.el=_.el;let{patchFlag:d,dynamicChildren:f,dirs:L}=A;d|=_.patchFlag&16;const O=_.props||Je,ae=A.props||Je;let oe;if(w&&Wo(w,!1),(oe=ae.onVnodeBeforeUpdate)&&no(oe,w,A,_),L&&qo(A,_,w,"beforeUpdate"),w&&Wo(w,!0),f&&(!_.dynamicChildren||_.dynamicChildren.length!==f.length)&&(d=0,le=!1,f=null),(O.innerHTML&&ae.innerHTML==null||O.textContent&&ae.textContent==null)&&u(te,""),f?V(_.dynamicChildren,f,te,w,U,Da(A,Z),Q):le||N(_,A,te,null,w,U,Da(A,Z),Q,!1),d>0){if(d&16)W(te,O,ae,w,Z);else if(d&2&&O.class!==ae.class&&a(te,"class",null,ae.class,Z),d&4&&a(te,"style",O.style,ae.style,Z),d&8){const C=A.dynamicProps;for(let G=0;G{oe&&no(oe,w,A,_),L&&qo(A,_,w,"updated")},U)},V=(_,A,w,U,Z,Q,le)=>{for(let te=0;te{if(A!==w){if(A!==Je)for(const Q in A)!Sn(Q)&&!(Q in w)&&a(_,Q,A[Q],null,Z,U);for(const Q in w){if(Sn(Q))continue;const le=w[Q],te=A[Q];le!==te&&Q!=="value"&&a(_,Q,te,le,Z,U)}"value"in w&&a(_,"value",A.value,w.value,Z)}},ne=(_,A,w,U,Z,Q,le,te,d)=>{const f=A.el=_?_.el:l(""),L=A.anchor=_?_.anchor:l("");let{patchFlag:O,dynamicChildren:ae,slotScopeIds:oe}=A;oe&&(te=te?te.concat(oe):oe),_==null?(n(f,w,U),n(L,w,U),M(A.children||[],w,L,Z,Q,le,te,d)):O>0&&O&64&&ae&&_.dynamicChildren&&_.dynamicChildren.length===ae.length?(V(_.dynamicChildren,ae,w,Z,Q,le,te),(A.key!=null||Z&&A===Z.subTree)&&ja(_,A,!0)):N(_,A,w,L,Z,Q,le,te,d)},me=(_,A,w,U,Z,Q,le,te,d)=>{A.slotScopeIds=te,_==null?A.shapeFlag&512?Z.ctx.activate(A,w,U,le,d):j(A,w,U,Z,Q,le,d):ee(_,A,d)},j=(_,A,w,U,Z,Q,le)=>{const te=_.component=Tf(_,U,Z);if(Ta(_)&&(te.ctx.renderer=ye),Lf(te,!1,le),te.asyncDep){if(Z&&Z.registerDep(te,K,le),!_.el){const d=te.subTree=ze(to);T(null,d,A,w),_.placeholder=d.el}}else K(te,_,A,w,Z,Q,le)},ee=(_,A,w)=>{const U=A.component=_.component;if(df(_,A,w))if(U.asyncDep&&!U.asyncResolved){B(U,A,w);return}else U.next=A,U.update();else A.el=_.el,U.vnode=A},K=(_,A,w,U,Z,Q,le)=>{const te=()=>{if(_.isMounted){let{next:O,bu:ae,u:oe,parent:C,vnode:G}=_;{const He=ai(_);if(He){O&&(O.el=G.el,B(_,O,le)),He.asyncDep.then(()=>{xt(()=>{_.isUnmounted||f()},Z)});return}}let he=O,we;Wo(_,!1),O?(O.el=G.el,B(_,O,le)):O=G,ae&&fr(ae),(we=O.props&&O.props.onVnodeBeforeUpdate)&&no(we,C,O,G),Wo(_,!0);const Ne=Wl(_),qe=_.subTree;_.subTree=Ne,$(qe,Ne,h(qe.el),Le(qe),_,Z,Q),O.el=Ne.el,he===null&&ff(_,Ne.el),oe&&xt(oe,Z),(we=O.props&&O.props.onVnodeUpdated)&&xt(()=>no(we,C,O,G),Z)}else{let O;const{el:ae,props:oe}=A,{bm:C,m:G,parent:he,root:we,type:Ne}=_,qe=rn(A);Wo(_,!1),C&&fr(C),!qe&&(O=oe&&oe.onVnodeBeforeMount)&&no(O,he,A),Wo(_,!0);{we.ce&&we.ce._hasShadowRoot()&&we.ce._injectChildStyle(Ne,_.parent?_.parent.type:void 0);const He=_.subTree=Wl(_);$(null,He,w,U,_,Z,Q),A.el=He.el}if(G&&xt(G,Z),!qe&&(O=oe&&oe.onVnodeMounted)){const He=A;xt(()=>no(O,he,He),Z)}(A.shapeFlag&256||he&&rn(he.vnode)&&he.vnode.shapeFlag&256)&&_.a&&xt(_.a,Z),_.isMounted=!0,A=w=U=null}};_.scope.on();const d=_.effect=new Qs(te);_.scope.off();const f=_.update=d.run.bind(d),L=_.job=d.runIfDirty.bind(d);L.i=_,L.id=_.uid,d.scheduler=()=>$a(L),Wo(_,!0),f()},B=(_,A,w)=>{A.component=_;const U=_.vnode.props;_.vnode=A,_.next=null,gf(_,A.props,U,w),_f(_,A.children,w),Jt(),kl(_),Zt()},N=(_,A,w,U,Z,Q,le,te,d=!1)=>{const f=_&&_.children,L=_?_.shapeFlag:0,O=A.children,{patchFlag:ae,shapeFlag:oe}=A;if(ae>0){if(ae&128){D(f,O,w,U,Z,Q,le,te,d);return}else if(ae&256){z(f,O,w,U,Z,Q,le,te,d);return}}oe&8?(L&16&&Ae(f,Z,Q),O!==f&&u(w,O)):L&16?oe&16?D(f,O,w,U,Z,Q,le,te,d):Ae(f,Z,Q,!0):(L&8&&u(w,""),oe&16&&M(O,w,U,Z,Q,le,te,d))},z=(_,A,w,U,Z,Q,le,te,d)=>{_=_||Zo,A=A||Zo;const f=_.length,L=A.length,O=Math.min(f,L);let ae;for(ae=0;aeL?Ae(_,Z,Q,!0,!1,O):M(A,w,U,Z,Q,le,te,d,O)},D=(_,A,w,U,Z,Q,le,te,d)=>{let f=0;const L=A.length;let O=_.length-1,ae=L-1;for(;f<=O&&f<=ae;){const oe=_[f],C=A[f]=d?ho(A[f]):oo(A[f]);if(Gn(oe,C))$(oe,C,w,null,Z,Q,le,te,d);else break;f++}for(;f<=O&&f<=ae;){const oe=_[O],C=A[ae]=d?ho(A[ae]):oo(A[ae]);if(Gn(oe,C))$(oe,C,w,null,Z,Q,le,te,d);else break;O--,ae--}if(f>O){if(f<=ae){const oe=ae+1,C=oeae)for(;f<=O;)q(_[f],Z,Q,!0),f++;else{const oe=f,C=f,G=new Map;for(f=C;f<=ae;f++){const Y=A[f]=d?ho(A[f]):oo(A[f]);Y.key!=null&&G.set(Y.key,f)}let he,we=0;const Ne=ae-C+1;let qe=!1,He=0;const rt=new Array(Ne);for(f=0;f=Ne){q(Y,Z,Q,!0);continue}let fe;if(Y.key!=null)fe=G.get(Y.key);else for(he=C;he<=ae;he++)if(rt[he-C]===0&&Gn(Y,A[he])){fe=he;break}fe===void 0?q(Y,Z,Q,!0):(rt[fe-C]=f+1,fe>=He?He=fe:qe=!0,$(Y,A[fe],w,null,Z,Q,le,te,d),we++)}const Rt=qe?wf(rt):Zo;for(he=Rt.length-1,f=Ne-1;f>=0;f--){const Y=C+f,fe=A[Y],ge=A[Y+1],je=Y+1{const{el:Q,type:le,transition:te,children:d,shapeFlag:f}=_;if(f&6){P(_.component.subTree,A,w,U);return}if(f&128){_.suspense.move(A,w,U);return}if(f&64){le.move(_,A,w,ye);return}if(le===Ce){n(Q,A,w);for(let O=0;Ote.enter(Q),Z));else{const{leave:O,delayLeave:ae,afterLeave:oe}=te,C=()=>{_.ctx.isUnmounted?r(Q):n(Q,A,w)},G=()=>{const he=Q._isLeaving||!!Q[Aa];Q._isLeaving&&Q[Aa](!0),te.persisted&&!he?C():O(Q,()=>{C(),oe&&oe()})};ae?ae(Q,C,G):G()}else n(Q,A,w)},q=(_,A,w,U=!1,Z=!1)=>{const{type:Q,props:le,ref:te,children:d,dynamicChildren:f,shapeFlag:L,patchFlag:O,dirs:ae,cacheIndex:oe,memo:C}=_;if(O===-2&&(Z=!1),te!=null&&(Jt(),On(te,null,w,_,!0),Zt()),oe!=null&&(A.renderCache[oe]=void 0),L&256){A.ctx.deactivate(_);return}const G=L&1&&ae,he=!rn(_);let we;if(he&&(we=le&&le.onVnodeBeforeUnmount)&&no(we,A,_),L&6)Ee(_.component,w,U);else{if(L&128){_.suspense.unmount(w,U);return}G&&qo(_,null,A,"beforeUnmount"),L&64?_.type.remove(_,A,w,ye,U):f&&!f.hasOnce&&(Q!==Ce||O>0&&O&64)?Ae(f,A,w,!1,!0):(Q===Ce&&O&384||!Z&&L&16)&&Ae(d,A,w),U&&re(_)}const Ne=C!=null&&oe==null;(he&&(we=le&&le.onVnodeUnmounted)||G||Ne)&&xt(()=>{we&&no(we,A,_),G&&qo(_,null,A,"unmounted"),Ne&&(_.el=null)},w)},re=_=>{const{type:A,el:w,anchor:U,transition:Z}=_;if(A===Ce){be(w,U);return}if(A===za){g(_);return}const Q=()=>{r(w),Z&&!Z.persisted&&Z.afterLeave&&Z.afterLeave()};if(_.shapeFlag&1&&Z&&!Z.persisted){const{leave:le,delayLeave:te}=Z,d=()=>le(w,Q);te?te(_.el,Q,d):d()}else Q()},be=(_,A)=>{let w;for(;_!==A;)w=m(_),r(_),_=w;r(A)},Ee=(_,A,w)=>{const{bum:U,scope:Z,job:Q,subTree:le,um:te,m:d,a:f}=_;si(d),si(f),U&&fr(U),Z.stop(),Q&&(Q.flags|=8,q(le,_,A,w)),te&&xt(te,A),xt(()=>{_.isUnmounted=!0},A)},Ae=(_,A,w,U=!1,Z=!1,Q=0)=>{for(let le=Q;le<_.length;le++)q(_[le],A,w,U,Z)},Le=_=>{if(_.shapeFlag&6)return Le(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const A=m(_.anchor||_.el),w=A&&A[Tl];return w?m(w):A};let xe=!1;const _e=(_,A,w)=>{let U;_==null?A._vnode&&(q(A._vnode,null,null,!0),U=A._vnode.component):$(A._vnode||null,_,A,null,null,null,w),A._vnode=_,xe||(xe=!0,kl(U),$l(),xe=!1)},ye={p:$,um:q,m:P,r:re,mt:j,mc:M,pc:N,pbc:V,n:Le,o:e};return{render:_e,hydrate:void 0,createApp:rf(_e)}}function Da({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 Wo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function xf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ja(e,t,o=!1){const n=e.children,r=t.children;if(Pe(n)&&Pe(r))for(let a=0;a>1,e[o[l]]0&&(t[n]=o[a-1]),o[a]=n)}}for(a=o.length,s=o[a-1];a-- >0;)o[a]=s,s=t[s];return o}function ai(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ai(t)}function si(e){if(e)for(let t=0;te.__isSuspense;function kf(e,t){t&&t.pendingBranch?Pe(e)?t.effects.push(...e):t.effects.push(e):Nd(e)}const Ce=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),to=Symbol.for("v-cmt"),za=Symbol.for("v-stc"),go=[];let Lt=null;function H(e=!1){go.push(Lt=e?null:[])}function Ua(){go.pop(),Lt=go[go.length-1]||null}let Un=1;function Pr(e,t=!1){Un+=e,e<0&&Lt&&t&&(Lt.hasOnce=!0)}function ci(e){return e.dynamicChildren=Un>0?Lt||Zo:null,Ua(),Un>0&&Lt&&Lt.push(e),e}function J(e,t,o,n,r,a){return ci(I(e,t,o,n,r,a,!0))}function Lo(e,t,o,n,r){return ci(ze(e,t,o,n,r,!0))}function Bn(e){return e?e.__v_isVNode===!0:!1}function Gn(e,t){return e.type===t.type&&e.key===t.key}const ui=({key:e})=>e??null,Nr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||ut(e)||Ie(e)?{i:bt,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,r=null,a=e===Ce?0:1,s=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ui(t),ref:t&&Nr(t),scopeId:El,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:a,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:bt};return l?(Ir(i,o),a&128&&e.normalize(i)):o&&(i.shapeFlag|=tt(o)?8:16),Un>0&&!s&&Lt&&(i.patchFlag>0||a&6)&&i.patchFlag!==32&&Lt.push(i),i}const ze=$f;function $f(e,t=null,o=null,n=0,r=null,a=!1){if((!e||e===Xd)&&(e=to),Bn(e)){const l=sn(e,t,!0);return o&&Ir(l,o),Un>0&&!a&&Lt&&(l.shapeFlag&6?Lt[Lt.indexOf(e)]=l:Lt.push(l)),l.patchFlag=-2,l}if(Of(e)&&(e=e.__vccOpts),t){t=Sf(t);let{class:l,style:i}=t;l&&!tt(l)&&(t.class=Ge(l)),Ye(i)&&(wa(i)&&!Pe(i)&&(i=at({},i)),t.style=lt(i))}const s=tt(e)?1:ii(e)?128:Sr(e)?64:Ye(e)?4:Ie(e)?2:0;return I(e,t,o,n,r,s,a,!0)}function Sf(e){return e?wa(e)||Zl(e)?at({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:a,patchFlag:s,children:l,transition:i}=e,c=t?Ef(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ui(c),ref:t&&t.ref?o&&a?Pe(a)?a.concat(Nr(t)):[a,Nr(t)]:Nr(t):a,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!==Ce?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&sn(e.ssContent),ssFallback:e.ssFallback&&sn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&Ca(u,i.clone(u)),u}function it(e=" ",t=0){return ze(zn,null,e,t)}function Re(e="",t=!1){return t?(H(),Lo(to,null,e)):ze(to,null,e)}function oo(e){return e==null||typeof e=="boolean"?ze(to):Pe(e)?ze(Ce,null,e.slice()):Bn(e)?ho(e):ze(zn,null,String(e))}function ho(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Ir(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Pe(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ir(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Zl(t)?t._ctx=bt:r===3&&bt&&(bt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(n&65){Ir(e,{default:t});return}t={default:t,_ctx:bt},o=32}else t=String(t),n&64?(o=16,t=[it(t)]):o=8;e.children=t,e.shapeFlag|=o}function Ef(...e){const t={};for(let o=0;owt||bt;let Fr,qn;{const e=pr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),a=>{r.length>1?r.forEach(s=>s(a)):r[0](a)}};Fr=t("__VUE_INSTANCE_SETTERS__",o=>wt=o),qn=t("__VUE_SSR_SETTERS__",o=>Vn=o)}const Hn=e=>{const t=wt;return Fr(e),e.scope.on(),()=>{e.scope.off(),Fr(t)}},di=()=>{wt&&wt.scope.off(),Fr(null)};function fi(e){return e.vnode.shapeFlag&4}let Vn=!1;function Lf(e,t=!1,o=!1){t&&qn(t);const{props:n,children:r}=e.vnode,a=fi(e);pf(e,n,a,t),bf(e,r,o||t);const s=a?Pf(e,t):void 0;return t&&qn(!1),s}function Pf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Jd);const{setup:n}=o;if(n){Jt();const r=e.setupContext=n.length>1?If(e):null,a=Hn(e),s=tn(n,e,0,[e.props,r]),l=Us(s);if(Zt(),a(),(l||e.sp)&&!rn(e)&&Il(e),l){if(s.then(di,di),t)return s.then(i=>{qn(!0);try{pi(e,i,t)}finally{qn(!1)}}).catch(i=>{wr(i,e,0)});e.asyncDep=s}else pi(e,s)}else gi(e)}function pi(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ye(t)&&(e.setupState=yl(t)),gi(e)}function gi(e,t,o){const n=e.type;e.render||(e.render=n.render||Yt);{const r=Hn(e);Jt();try{Zd(e)}finally{Zt(),r()}}}const Nf={get(e,t){return mt(e,"get",""),e[t]}};function If(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Nf),slots:e.slots,emit:e.emit,expose:t}}function Rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(yl(bl(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Dn)return Dn[o](e)},has(t,o){return o in t||o in Dn}})):e.proxy}const Ff=/(?:^|[-_])\w/g,Rf=e=>e.replace(Ff,t=>t.toUpperCase()).replace(/[-_]/g,"");function Mf(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function hi(e,t,o=!1){let n=Mf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=a=>{for(const s in a)if(a[s]===t)return s};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Rf(n):o?"App":"Anonymous"}function Of(e){return Ie(e)&&"__vccOpts"in e}const se=(e,t)=>kd(e,t,Vn);function mi(e,t,o){try{Pr(-1);const n=arguments.length;return n===2?Ye(t)&&!Pe(t)?Bn(t)?ze(e,null,[t]):ze(e,t):ze(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Bn(o)&&(o=[o]),ze(e,t,o))}finally{Pr(1)}}const Df="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ba;const _i=typeof window<"u"&&window.trustedTypes;if(_i)try{Ba=_i.createPolicy("vue",{createHTML:e=>e})}catch{}const yi=Ba?e=>Ba.createHTML(e):e=>e,zf="http://www.w3.org/2000/svg",Uf="http://www.w3.org/1998/Math/MathML",mo=typeof document<"u"?document:null,vi=mo&&mo.createElement("template"),Bf={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"?mo.createElementNS(zf,e):t==="mathml"?mo.createElementNS(Uf,e):o?mo.createElement(e,{is:o}):mo.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>mo.createTextNode(e),createComment:e=>mo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>mo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,a){const s=o?o.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===a||!(r=r.nextSibling)););else{vi.innerHTML=yi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=vi.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[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Gf=Symbol("_vtc");function qf(e,t,o){const n=e[Gf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Mr=Symbol("_vod"),xi=Symbol("_vsh"),Bt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Mr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Wn(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),Wn(e,!0),n.enter(e)):n.leave(e,()=>{Wn(e,!1)}):Wn(e,t))},beforeUnmount(e,{value:t}){Wn(e,t)}};function Wn(e,t){e.style.display=t?e[Mr]:"none",e[xi]=!t}const Hf=Symbol(""),Vf=/(?:^|;)\s*display\s*:/;function Wf(e,t,o){const n=e.style,r=tt(o);let a=!1;if(o&&!r){if(t)if(tt(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();o[l]==null&&Kn(n,l,"")}else for(const s in t)o[s]==null&&Kn(n,s,"");for(const s in o){s==="display"&&(a=!0);const l=o[s];l!=null?Yf(e,s,!tt(t)&&t?t[s]:void 0,l)||Kn(n,s,l):Kn(n,s,"")}}else if(r){if(t!==o){const s=n[Hf];s&&(o+=";"+s),n.cssText=o,a=Vf.test(o)}}else t&&e.removeAttribute("style");Mr in e&&(e[Mr]=a?n.display:"",e[xi]&&(n.display="none"))}const Or=/\s*!important$/;function Kn(e,t,o){if(Pe(o))o.forEach(n=>Kn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Or.test(o)?e.setProperty(t,o.replace(Or,""),"important"):e.setProperty(t,o);else{const n=Kf(e,t);Or.test(o)?e.setProperty(Tt(n),o.replace(Or,""),"important"):e[n]=o}}const wi=["Webkit","Moz","ms"],Ga={};function Kf(e,t){const o=Ga[t];if(o)return o;let n=Et(t);if(n!=="filter"&&n in e)return Ga[t]=n;n=qs(n);for(let r=0;rqa||(tp.then(()=>qa=0),qa=Date.now());function np(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Pe(r)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const s=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rp=(e,t,o,n,r,a)=>{const s=r==="svg";t==="class"?qf(e,n,s):t==="style"?Wf(e,o,n):lr(t)?ir(t)||Jf(e,t,o,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ap(e,t,n,s))?(Si(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$i(e,t,n,s,a,t!=="value")):e._isVueCE&&(sp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!tt(n)))?Si(e,Et(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),$i(e,t,n,s))};function ap(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ai(t)&&Ie(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 Ai(t)&&tt(o)?!1:t in e}function sp(e,t){const o=e._def.props;if(!o)return!1;const n=Et(t);return Array.isArray(o)?o.some(r=>Et(r)===n):Object.keys(o).some(r=>Et(r)===n)}const Ci={};function lp(e,t,o){let n=Mn(e,t);ur(n)&&(n=at({},n,t));class r extends Ha{constructor(s){super(n,s,o)}}return r.def=n,r}const ip=typeof HTMLElement<"u"?HTMLElement:class{};class Ha extends ip{constructor(t,o={},n=Ii){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!==Ii?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(at({},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 Ha){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,In(()=>{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:a,styles:s}=n;let l;if(a&&!Pe(a))for(const i in a){const c=a[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Vs(this._props[i])),(l||(l=Object.create(null)))[Et(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ke(this,n)||Object.defineProperty(this,n,{get:()=>de(o[n])})}_resolveProps(t){const{props:o}=t,n=Pe(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(Et))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(a){this._setProp(r,a,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ci;const r=Et(t);o&&this._numberProps&&this._numberProps[r]&&(n=Vs(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===Ci?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),o===!0?this.setAttribute(Tt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Tt(t),o+""):o||this.removeAttribute(Tt(t)),a&&a.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),hp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=ze(this._def,at(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(a,s)=>{this.dispatchEvent(new CustomEvent(a,ur(s[0])?at({detail:s},s[0]):{detail:s}))};n.emit=(a,...s)=>{r(a,s),Tt(a)!==a&&r(Tt(a),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,a=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);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],a.insertBefore(c,l||s),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 Pe(t)?o=>fr(t,o):t};function cp(e){e.target.composing=!0}function Li(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Va(e,t,o){return t&&(e=e.trim()),o&&(e=ia(e)),e}const up={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Dr]=Ti(r);const a=n||r.props&&r.props.type==="number";ln(e,t?"change":"input",s=>{s.target.composing||e[Dr](Va(e.value,o,a))}),(o||a)&&ln(e,"change",()=>{e.value=Va(e.value,o,a)}),t||(ln(e,"compositionstart",cp),ln(e,"compositionend",Li),ln(e,"change",Li))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",a=e[jr];delete e[jr],a!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==a?e[Dr](Va(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:a}},s){if(e[Dr]=Ti(s),e.composing)return;const l=(a||e.type==="number")&&!/^0\d/.test(e.value)?ia(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)}},dp=["ctrl","shift","alt","meta"],fp={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)=>dp.some(o=>e[`${o}Key`]&&!t.includes(o))},cn=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...a)=>{for(let s=0;s{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const a=Tt(r.key);if(t.some(s=>s===a||pp[s]===a))return e(r)})},gp=at({patchProp:rp},Bf);let Pi;function Ni(){return Pi||(Pi=vf(gp))}const hp=(...e)=>{Ni().render(...e)},Ii=(...e)=>{const t=Ni().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=bp(n);if(!r)return;const a=t._component;!Ie(a)&&!a.render&&!a.template&&(a.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const s=o(r,!1,mp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},t};function mp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bp(e){return tt(e)?document.querySelector(e):e}/*! +**/let Ba;const bi=typeof window<"u"&&window.trustedTypes;if(bi)try{Ba=bi.createPolicy("vue",{createHTML:e=>e})}catch{}const _i=Ba?e=>Ba.createHTML(e):e=>e,jf="http://www.w3.org/2000/svg",zf="http://www.w3.org/1998/Math/MathML",mo=typeof document<"u"?document:null,yi=mo&&mo.createElement("template"),Uf={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"?mo.createElementNS(jf,e):t==="mathml"?mo.createElementNS(zf,e):o?mo.createElement(e,{is:o}):mo.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>mo.createTextNode(e),createComment:e=>mo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>mo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,a){const s=o?o.previousSibling:t.lastChild;if(r&&(r===a||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===a||!(r=r.nextSibling)););else{yi.innerHTML=_i(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=yi.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[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Bf=Symbol("_vtc");function Gf(e,t,o){const n=e[Bf];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Mr=Symbol("_vod"),vi=Symbol("_vsh"),Bt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Mr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Wn(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),Wn(e,!0),n.enter(e)):n.leave(e,()=>{Wn(e,!1)}):Wn(e,t))},beforeUnmount(e,{value:t}){Wn(e,t)}};function Wn(e,t){e.style.display=t?e[Mr]:"none",e[vi]=!t}const qf=Symbol(""),Hf=/(?:^|;)\s*display\s*:/;function Vf(e,t,o){const n=e.style,r=tt(o);let a=!1;if(o&&!r){if(t)if(tt(t))for(const s of t.split(";")){const l=s.slice(0,s.indexOf(":")).trim();o[l]==null&&Kn(n,l,"")}else for(const s in t)o[s]==null&&Kn(n,s,"");for(const s in o){s==="display"&&(a=!0);const l=o[s];l!=null?Kf(e,s,!tt(t)&&t?t[s]:void 0,l)||Kn(n,s,l):Kn(n,s,"")}}else if(r){if(t!==o){const s=n[qf];s&&(o+=";"+s),n.cssText=o,a=Hf.test(o)}}else t&&e.removeAttribute("style");Mr in e&&(e[Mr]=a?n.display:"",e[vi]&&(n.display="none"))}const Or=/\s*!important$/;function Kn(e,t,o){if(Pe(o))o.forEach(n=>Kn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Or.test(o)?e.setProperty(t,o.replace(Or,""),"important"):e.setProperty(t,o);else{const n=Wf(e,t);Or.test(o)?e.setProperty(Tt(n),o.replace(Or,""),"important"):e[n]=o}}const xi=["Webkit","Moz","ms"],Ga={};function Wf(e,t){const o=Ga[t];if(o)return o;let n=Et(t);if(n!=="filter"&&n in e)return Ga[t]=n;n=Gs(n);for(let r=0;rqa||(ep.then(()=>qa=0),qa=Date.now());function op(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Pe(r)){const a=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{a.call(n),n._stopped=!0};const s=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,np=(e,t,o,n,r,a)=>{const s=r==="svg";t==="class"?Gf(e,n,s):t==="style"?Vf(e,o,n):lr(t)?ir(t)||Xf(e,t,o,n,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):rp(e,t,n,s))?($i(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ki(e,t,n,s,a,t!=="value")):e._isVueCE&&(ap(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!tt(n)))?$i(e,Et(t),n,a,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),ki(e,t,n,s))};function rp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ei(t)&&Ie(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 Ei(t)&&tt(o)?!1:t in e}function ap(e,t){const o=e._def.props;if(!o)return!1;const n=Et(t);return Array.isArray(o)?o.some(r=>Et(r)===n):Object.keys(o).some(r=>Et(r)===n)}const Ai={};function sp(e,t,o){let n=Mn(e,t);ur(n)&&(n=at({},n,t));class r extends Ha{constructor(s){super(n,s,o)}}return r.def=n,r}const lp=typeof HTMLElement<"u"?HTMLElement:class{};class Ha extends lp{constructor(t,o={},n=Ni){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!==Ni?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(at({},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 Ha){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,In(()=>{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:a,styles:s}=n;let l;if(a&&!Pe(a))for(const i in a){const c=a[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Hs(this._props[i])),(l||(l=Object.create(null)))[Et(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ke(this,n)||Object.defineProperty(this,n,{get:()=>de(o[n])})}_resolveProps(t){const{props:o}=t,n=Pe(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(Et))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(a){this._setProp(r,a,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ai;const r=Et(t);o&&this._numberProps&&this._numberProps[r]&&(n=Hs(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===Ai?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const a=this._ob;a&&(this._processMutations(a.takeRecords()),a.disconnect()),o===!0?this.setAttribute(Tt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Tt(t),o+""):o||this.removeAttribute(Tt(t)),a&&a.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),gp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=ze(this._def,at(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(a,s)=>{this.dispatchEvent(new CustomEvent(a,ur(s[0])?at({detail:s},s[0]):{detail:s}))};n.emit=(a,...s)=>{r(a,s),Tt(a)!==a&&r(Tt(a),s)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,a=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(a);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],a.insertBefore(c,l||s),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 Pe(t)?o=>fr(t,o):t};function ip(e){e.target.composing=!0}function Ti(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Va(e,t,o){return t&&(e=e.trim()),o&&(e=ia(e)),e}const cp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Dr]=Ci(r);const a=n||r.props&&r.props.type==="number";ln(e,t?"change":"input",s=>{s.target.composing||e[Dr](Va(e.value,o,a))}),(o||a)&&ln(e,"change",()=>{e.value=Va(e.value,o,a)}),t||(ln(e,"compositionstart",ip),ln(e,"compositionend",Ti),ln(e,"change",Ti))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",a=e[jr];delete e[jr],a!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==a?e[Dr](Va(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:a}},s){if(e[Dr]=Ci(s),e.composing)return;const l=(a||e.type==="number")&&!/^0\d/.test(e.value)?ia(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)}},up=["ctrl","shift","alt","meta"],dp={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)=>up.some(o=>e[`${o}Key`]&&!t.includes(o))},cn=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...a)=>{for(let s=0;s{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const a=Tt(r.key);if(t.some(s=>s===a||fp[s]===a))return e(r)})},pp=at({patchProp:np},Uf);let Li;function Pi(){return Li||(Li=yf(pp))}const gp=(...e)=>{Pi().render(...e)},Ni=(...e)=>{const t=Pi().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=mp(n);if(!r)return;const a=t._component;!Ie(a)&&!a.render&&!a.template&&(a.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const s=o(r,!1,hp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),s},t};function hp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function mp(e){return tt(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const _p=Symbol();var Fi;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Fi||(Fi={}));function yp(){const e=Qs(!0),t=e.run(()=>ie({}));let o=[],n=[];const r=_l({install(a){r._a=a,a.provide(_p,r),a.config.globalProperties.$pinia=r,n.forEach(s=>o.push(s)),n=[]},use(a){return this._a?o.push(a):n.push(a),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const vp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},xp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},wp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},$p={menuComingSoon:"القائمة قادمة قريباً"},Sp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Ep={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ap={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Cp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Tp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Lp={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"},Pp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Np={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"}},Ip={menuComingSoon:"Menü folgt in Kürze"},Fp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Rp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Mp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Op={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"},Dp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},jp={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"},zp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Up={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"}},Bp={menuComingSoon:"Menu coming soon"},Gp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},qp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Hp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Vp={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"}},Wp={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"},Kp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yp={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"},Xp={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."}},Jp={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"}},Zp={menuComingSoon:"Menú próximamente"},Qp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},eg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},tg={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"}},og={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"},ng={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},rg={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"},ag={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sg={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"}},lg={menuComingSoon:"Menu bientôt disponible"},ig={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},ug={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dg={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"}},fg={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"},pg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},hg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mg={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:"कुल"}},bg={menuComingSoon:"मेनू शीघ्र आ रहा है"},_g={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},vg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},wg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},kg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$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"}},Sg={menuComingSoon:"Menu in arrivo"},Eg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ag={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Cg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Tg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Lg={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"},Pg={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."}},Ng={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"}},Ig={menuComingSoon:"Menu em breve"},Fg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Rg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Mg={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"}},Og={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"},Dg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},jg={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ă"},zg={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ă."}},Ug={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"}},Bg={menuComingSoon:"Meniu în curând"},Gg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},qg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Hg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Vg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Wg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Kg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Yg={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:"Языки"}},Xg={menuComingSoon:"Меню скоро появится"},Jg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Zg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Qg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},eh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},th={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},oh={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},nh={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},rh={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:"总计"}},ah={menuComingSoon:"菜单即将推出"},sh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},lh={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},ih={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */const bp=Symbol();var Ii;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ii||(Ii={}));function _p(){const e=Zs(!0),t=e.run(()=>ie({}));let o=[],n=[];const r=bl({install(a){r._a=a,a.provide(bp,r),a.config.globalProperties.$pinia=r,n.forEach(s=>o.push(s)),n=[]},use(a){return this._a?o.push(a):n.push(a),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const yp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},xp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},wp={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:"اللغات"}},kp={menuComingSoon:"القائمة قادمة قريباً"},$p={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Sp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ep={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Ap={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Cp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Tp={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"},Lp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Pp={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"}},Np={menuComingSoon:"Menü folgt in Kürze"},Ip={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Fp={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Rp={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Mp={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"},Op={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Dp={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"},jp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},zp={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"}},Up={menuComingSoon:"Menu coming soon"},Bp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Gp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},qp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Hp={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"}},Vp={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"},Wp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Kp={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"},Yp={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."}},Xp={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"}},Jp={menuComingSoon:"Menú próximamente"},Zp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},eg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},tg={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"},og={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},ng={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"},rg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},ag={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"}},sg={menuComingSoon:"Menu bientôt disponible"},lg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ig={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},cg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},ug={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"}},dg={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"},fg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},pg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},gg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},hg={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:"कुल"}},mg={menuComingSoon:"मेनू शीघ्र आ रहा है"},bg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},_g={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},xg={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"},wg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},kg={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"}},$g={menuComingSoon:"Menu in arrivo"},Sg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Eg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Ag={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Cg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Tg={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"},Lg={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."}},Pg={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"}},Ng={menuComingSoon:"Menu em breve"},Ig={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Rg={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"}},Mg={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"},Og={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Dg={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ă"},jg={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ă."}},zg={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"}},Ug={menuComingSoon:"Meniu în curând"},Bg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Gg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},qg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Hg={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Vg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Wg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Kg={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:"Языки"}},Yg={menuComingSoon:"Меню скоро появится"},Xg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Jg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Qg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},eh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},th={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},oh={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},nh={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:"总计"}},rh={menuComingSoon:"菜单即将推出"},ah={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},sh={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},lh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ch(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",No=(e,t=!1)=>t?Symbol.for(e):Symbol(e),uh=(e,t,o)=>dh({l:e,k:t,s:o}),dh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),st=e=>typeof e=="number"&&isFinite(e),fh=e=>ji(e)==="[object Date]",Io=e=>ji(e)==="[object RegExp]",Br=e=>Fe(e)&&Object.keys(e).length===0,gt=Object.assign,ph=Object.create,Xe=(e=null)=>ph(e);let Ri;const bo=()=>Ri||(Ri=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Xe());function Mi(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Oi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function gh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,a)=>`${r}="${Oi(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,a)=>`${r}='${Oi(a)}'`),/\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 hh=Object.prototype.hasOwnProperty;function Gt(e,t){return hh.call(e,t)}const ot=Array.isArray,et=e=>typeof e=="function",pe=e=>typeof e=="string",Be=e=>typeof e=="boolean",We=e=>e!==null&&typeof e=="object",mh=e=>We(e)&&et(e.then)&&et(e.catch),Di=Object.prototype.toString,ji=e=>Di.call(e),Fe=e=>{if(!We(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},bh=e=>e==null?"":ot(e)||Fe(e)&&e.toString===Di?JSON.stringify(e,null,2):String(e);function _h(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Gr(e){let t=e;return()=>++t}const qr=e=>!We(e)||ot(e);function Hr(e,t){if(qr(e)||qr(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(a=>{a!=="__proto__"&&(We(n[a])&&!We(r[a])&&(r[a]=Array.isArray(n[a])?[]:Xe()),qr(r[a])||qr(n[a])?r[a]=n[a]:o.push({src:n[a],des:r[a]}))})}}/*! + */function ih(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",No=(e,t=!1)=>t?Symbol.for(e):Symbol(e),ch=(e,t,o)=>uh({l:e,k:t,s:o}),uh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),st=e=>typeof e=="number"&&isFinite(e),dh=e=>Di(e)==="[object Date]",Io=e=>Di(e)==="[object RegExp]",Br=e=>Fe(e)&&Object.keys(e).length===0,gt=Object.assign,fh=Object.create,Xe=(e=null)=>fh(e);let Fi;const bo=()=>Fi||(Fi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Xe());function Ri(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Mi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function ph(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,a)=>`${r}="${Mi(a)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,a)=>`${r}='${Mi(a)}'`),/\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 gh=Object.prototype.hasOwnProperty;function Gt(e,t){return gh.call(e,t)}const ot=Array.isArray,et=e=>typeof e=="function",pe=e=>typeof e=="string",Be=e=>typeof e=="boolean",We=e=>e!==null&&typeof e=="object",hh=e=>We(e)&&et(e.then)&&et(e.catch),Oi=Object.prototype.toString,Di=e=>Oi.call(e),Fe=e=>{if(!We(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},mh=e=>e==null?"":ot(e)||Fe(e)&&e.toString===Oi?JSON.stringify(e,null,2):String(e);function bh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Gr(e){let t=e;return()=>++t}const qr=e=>!We(e)||ot(e);function Hr(e,t){if(qr(e)||qr(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(a=>{a!=="__proto__"&&(We(n[a])&&!We(r[a])&&(r[a]=Array.isArray(n[a])?[]:Xe()),qr(r[a])||qr(n[a])?r[a]=n[a]:o.push({src:n[a],des:r[a]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function yh(e,t,o){return{line:e,column:t,offset:o}}function Vr(e,t,o){return{start:e,end:t}}const vh=/\{([0-9a-zA-Z]+)\}/g;function zi(e,...t){return t.length===1&&xh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(vh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ui=Object.assign,Bi=e=>typeof e=="string",xh=e=>e!==null&&typeof e=="object";function Gi(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Wa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},wh={[Wa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function kh(e,t,...o){const n=zi(wh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Te={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={[Te.EXPECTED_TOKEN]:"Expected token: '{0}'",[Te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Te.EMPTY_PLACEHOLDER]:"Empty placeholder",[Te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Te.INVALID_LINKED_FORMAT]:"Invalid linked format",[Te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function un(e,t,o={}){const{domain:n,messages:r,args:a}=o,s=zi((r||$h)[e]||"",...a||[]),l=new SyntaxError(String(s));return l.code=e,t&&(l.location=t),l.domain=n,l}function Sh(e){throw e}const _o=" ",Eh="\r",kt=` -`,Ah="\u2028",Ch="\u2029";function Th(e){const t=e;let o=0,n=1,r=1,a=0;const s=E=>t[E]===Eh&&t[E+1]===kt,l=E=>t[E]===kt,i=E=>t[E]===Ch,c=E=>t[E]===Ah,u=E=>s(E)||l(E)||i(E)||c(E),h=()=>o,m=()=>n,v=()=>r,S=()=>a,$=E=>s(E)||i(E)||c(E)?kt:t[E],x=()=>$(o),T=()=>$(o+a);function b(){return a=0,u(o)&&(n++,r=0),s(o)&&o++,o++,r++,t[o]}function p(){return s(o+a)&&a++,a++,t[o+a]}function g(){o=0,n=1,r=1,a=0}function y(E=0){a=E}function k(){const E=o+a;for(;E!==o;)b();a=0}return{index:h,line:m,column:v,peekOffset:S,charAt:$,currentChar:x,currentPeek:T,next:b,peek:p,reset:g,resetPeek:y,skipToPeek:k}}const Fo=void 0,Lh=".",qi="'",Ph="tokenizer";function Nh(e,t={}){const o=t.location!==!1,n=Th(e),r=()=>n.index(),a=()=>yh(n.line(),n.column(),n.index()),s=a(),l=r(),i={currentType:14,offset:l,startLoc:s,endLoc:s,lastType:14,lastOffset:l,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function h(d,f,L,...O){const ae=c();if(f.column+=L,f.offset+=L,u){const oe=o?Vr(ae.startLoc,f):null,C=un(d,oe,{domain:Ph,args:O});u(C)}}function m(d,f,L){d.endLoc=a(),d.currentType=f;const O={type:f};return o&&(O.loc=Vr(d.startLoc,d.endLoc)),L!=null&&(O.value=L),O}const v=d=>m(d,14);function S(d,f){return d.currentChar()===f?(d.next(),f):(h(Te.EXPECTED_TOKEN,a(),0,f),"")}function $(d){let f="";for(;d.currentPeek()===_o||d.currentPeek()===kt;)f+=d.currentPeek(),d.peek();return f}function x(d){const f=$(d);return d.skipToPeek(),f}function T(d){if(d===Fo)return!1;const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f===95}function b(d){if(d===Fo)return!1;const f=d.charCodeAt(0);return f>=48&&f<=57}function p(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=T(d.currentPeek());return d.resetPeek(),O}function g(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=d.currentPeek()==="-"?d.peek():d.currentPeek(),ae=b(O);return d.resetPeek(),ae}function y(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=d.currentPeek()===qi;return d.resetPeek(),O}function k(d,f){const{currentType:L}=f;if(L!==8)return!1;$(d);const O=d.currentPeek()===".";return d.resetPeek(),O}function E(d,f){const{currentType:L}=f;if(L!==9)return!1;$(d);const O=T(d.currentPeek());return d.resetPeek(),O}function M(d,f){const{currentType:L}=f;if(!(L===8||L===12))return!1;$(d);const O=d.currentPeek()===":";return d.resetPeek(),O}function F(d,f){const{currentType:L}=f;if(L!==10)return!1;const O=()=>{const oe=d.currentPeek();return oe==="{"?T(d.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===_o||!oe?!1:oe===kt?(d.peek(),O()):ne(d,!1)},ae=O();return d.resetPeek(),ae}function V(d){$(d);const f=d.currentPeek()==="|";return d.resetPeek(),f}function W(d){const f=$(d),L=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:L,hasSpace:f.length>0}}function ne(d,f=!0){const L=(ae=!1,oe="",C=!1)=>{const G=d.currentPeek();return G==="{"?oe==="%"?!1:ae:G==="@"||!G?oe==="%"?!0:ae:G==="%"?(d.peek(),L(ae,"%",!0)):G==="|"?oe==="%"||C?!0:!(oe===_o||oe===kt):G===_o?(d.peek(),L(!0,_o,C)):G===kt?(d.peek(),L(!0,kt,C)):!0},O=L();return f&&d.resetPeek(),O}function me(d,f){const L=d.currentChar();return L===Fo?Fo:f(L)?(d.next(),L):null}function j(d){const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||f===95||f===36}function ee(d){return me(d,j)}function K(d){const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||f===95||f===36||f===45}function B(d){return me(d,K)}function N(d){const f=d.charCodeAt(0);return f>=48&&f<=57}function z(d){return me(d,N)}function D(d){const f=d.charCodeAt(0);return f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102}function P(d){return me(d,D)}function q(d){let f="",L="";for(;f=z(d);)L+=f;return L}function re(d){x(d);const f=d.currentChar();return f!=="%"&&h(Te.EXPECTED_TOKEN,a(),0,f),d.next(),"%"}function be(d){let f="";for(;;){const L=d.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L==="%")if(ne(d))f+=L,d.next();else break;else if(L===_o||L===kt)if(ne(d))f+=L,d.next();else{if(V(d))break;f+=L,d.next()}else f+=L,d.next()}return f}function Ee(d){x(d);let f="",L="";for(;f=B(d);)L+=f;return d.currentChar()===Fo&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L}function Ae(d){x(d);let f="";return d.currentChar()==="-"?(d.next(),f+=`-${q(d)}`):f+=q(d),d.currentChar()===Fo&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),f}function Le(d){return d!==qi&&d!==kt}function xe(d){x(d),S(d,"'");let f="",L="";for(;f=me(d,Le);)f==="\\"?L+=_e(d):L+=f;const O=d.currentChar();return O===kt||O===Fo?(h(Te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),O===kt&&(d.next(),S(d,"'")),L):(S(d,"'"),L)}function _e(d){const f=d.currentChar();switch(f){case"\\":case"'":return d.next(),`\\${f}`;case"u":return ye(d,f,4);case"U":return ye(d,f,6);default:return h(Te.UNKNOWN_ESCAPE_SEQUENCE,a(),0,f),""}}function ye(d,f,L){S(d,f);let O="";for(let ae=0;ae{const O=d.currentChar();return O==="{"||O==="%"||O==="@"||O==="|"||O==="("||O===")"||!O||O===_o?L:(L+=O,d.next(),f(L))};return f("")}function U(d){x(d);const f=S(d,"|");return x(d),f}function Z(d,f){let L=null;switch(d.currentChar()){case"{":return f.braceNest>=1&&h(Te.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),d.next(),L=m(f,2,"{"),x(d),f.braceNest++,L;case"}":return f.braceNest>0&&f.currentType===2&&h(Te.EMPTY_PLACEHOLDER,a(),0),d.next(),L=m(f,3,"}"),f.braceNest--,f.braceNest>0&&x(d),f.inLinked&&f.braceNest===0&&(f.inLinked=!1),L;case"@":return f.braceNest>0&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L=Q(d,f)||v(f),f.braceNest=0,L;default:{let ae=!0,oe=!0,C=!0;if(V(d))return f.braceNest>0&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,L;if(f.braceNest>0&&(f.currentType===5||f.currentType===6||f.currentType===7))return h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),f.braceNest=0,le(d,f);if(ae=p(d,f))return L=m(f,5,Ee(d)),x(d),L;if(oe=g(d,f))return L=m(f,6,Ae(d)),x(d),L;if(C=y(d,f))return L=m(f,7,xe(d)),x(d),L;if(!ae&&!oe&&!C)return L=m(f,13,_(d)),h(Te.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,L.value),x(d),L;break}}return L}function Q(d,f){const{currentType:L}=f;let O=null;const ae=d.currentChar();switch((L===8||L===9||L===12||L===10)&&(ae===kt||ae===_o)&&h(Te.INVALID_LINKED_FORMAT,a(),0),ae){case"@":return d.next(),O=m(f,8,"@"),f.inLinked=!0,O;case".":return x(d),d.next(),m(f,9,".");case":":return x(d),d.next(),m(f,10,":");default:return V(d)?(O=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,O):k(d,f)||M(d,f)?(x(d),Q(d,f)):E(d,f)?(x(d),m(f,12,A(d))):F(d,f)?(x(d),ae==="{"?Z(d,f)||O:m(f,11,w(d))):(L===8&&h(Te.INVALID_LINKED_FORMAT,a(),0),f.braceNest=0,f.inLinked=!1,le(d,f))}}function le(d,f){let L={type:14};if(f.braceNest>0)return Z(d,f)||v(f);if(f.inLinked)return Q(d,f)||v(f);switch(d.currentChar()){case"{":return Z(d,f)||v(f);case"}":return h(Te.UNBALANCED_CLOSING_BRACE,a(),0),d.next(),m(f,3,"}");case"@":return Q(d,f)||v(f);default:{if(V(d))return L=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,L;const{isModulo:ae,hasSpace:oe}=W(d);if(ae)return oe?m(f,0,be(d)):m(f,4,re(d));if(ne(d))return m(f,0,be(d));break}}return L}function te(){const{currentType:d,offset:f,startLoc:L,endLoc:O}=i;return i.lastType=d,i.lastOffset=f,i.lastStartLoc=L,i.lastEndLoc=O,i.offset=r(),i.startLoc=a(),n.currentChar()===Fo?m(i,14):le(n,i)}return{nextToken:te,currentOffset:r,currentPosition:a,context:c}}const Ih="parser",Fh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Rh(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 Mh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,y,k,...E){const M=p.currentPosition();if(M.offset+=k,M.column+=k,o){const F=t?Vr(y,M):null,V=un(g,F,{domain:Ih,args:E});o(V)}}function a(p,g,y,k,...E){const M=p.currentPosition();if(M.offset+=k,M.column+=k,n){const F=t?Vr(y,M):null;n(kh(g,F,E))}}function s(p,g,y){const k={type:p};return t&&(k.start=g,k.end=g,k.loc={start:y,end:y}),k}function l(p,g,y,k){t&&(p.end=g,p.loc&&(p.loc.end=y))}function i(p,g){const y=p.context(),k=s(3,y.offset,y.startLoc);return k.value=g,l(k,p.currentOffset(),p.currentPosition()),k}function c(p,g){const y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(5,k,E);return M.index=parseInt(g,10),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function u(p,g,y){const k=p.context(),{lastOffset:E,lastStartLoc:M}=k,F=s(4,E,M);return F.key=g,y===!0&&(F.modulo=!0),p.nextToken(),l(F,p.currentOffset(),p.currentPosition()),F}function h(p,g){const y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(9,k,E);return M.value=g.replace(Fh,Rh),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function m(p){const g=p.nextToken(),y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(8,k,E);return g.type!==12?(r(p,Te.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),M.value="",l(M,k,E),{nextConsumeToken:g,node:M}):(g.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,qt(g)),M.value=g.value||"",l(M,p.currentOffset(),p.currentPosition()),{node:M})}function v(p,g){const y=p.context(),k=s(7,y.offset,y.startLoc);return k.value=g,l(k,p.currentOffset(),p.currentPosition()),k}function S(p){const g=p.context(),y=s(6,g.offset,g.startLoc);let k=p.nextToken();if(k.type===9){const E=m(p);y.modifier=E.node,k=E.nextConsumeToken||p.nextToken()}switch(k.type!==10&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),k=p.nextToken(),k.type===2&&(k=p.nextToken()),k.type){case 11:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=v(p,k.value||"");break;case 5:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=u(p,k.value||"");break;case 6:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=c(p,k.value||"");break;case 7:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=h(p,k.value||"");break;default:{r(p,Te.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const E=p.context(),M=s(7,E.offset,E.startLoc);return M.value="",l(M,E.offset,E.startLoc),y.key=M,l(y,E.offset,E.startLoc),{nextConsumeToken:k,node:y}}}return l(y,p.currentOffset(),p.currentPosition()),{node:y}}function $(p){const g=p.context(),y=g.currentType===1?p.currentOffset():g.offset,k=g.currentType===1?g.endLoc:g.startLoc,E=s(2,y,k);E.items=[];let M=null,F=null;do{const ne=M||p.nextToken();switch(M=null,ne.type){case 0:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(i(p,ne.value||""));break;case 6:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(c(p,ne.value||""));break;case 4:F=!0;break;case 5:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(u(p,ne.value||"",!!F)),F&&(a(p,Wa.USE_MODULO_SYNTAX,g.lastStartLoc,0,qt(ne)),F=null);break;case 7:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(h(p,ne.value||""));break;case 8:{const me=S(p);E.items.push(me.node),M=me.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const V=g.currentType===1?g.lastOffset:p.currentOffset(),W=g.currentType===1?g.lastEndLoc:p.currentPosition();return l(E,V,W),E}function x(p,g,y,k){const E=p.context();let M=k.items.length===0;const F=s(1,g,y);F.cases=[],F.cases.push(k);do{const V=$(p);M||(M=V.items.length===0),F.cases.push(V)}while(E.currentType!==14);return M&&r(p,Te.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),l(F,p.currentOffset(),p.currentPosition()),F}function T(p){const g=p.context(),{offset:y,startLoc:k}=g,E=$(p);return g.currentType===14?E:x(p,y,k,E)}function b(p){const g=Nh(p,Ui({},e)),y=g.context(),k=s(0,y.offset,y.startLoc);return t&&k.loc&&(k.loc.source=p),k.body=T(g),e.onCacheKey&&(k.cacheKey=e.onCacheKey(p)),y.currentType!==14&&r(g,Te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,p[y.offset]||""),l(k,g.currentOffset(),g.currentPosition()),k}return{parse:b}}function qt(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 Oh(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function Hi(e,t){for(let o=0;oVi(o)),e}function Vi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function i($,x){s.code+=$}function c($,x=!0){const T=x?n:"";i(r?T+" ".repeat($):T)}function u($=!0){const x=++s.indentLevel;$&&c(x)}function h($=!0){const x=--s.indentLevel;$&&c(x)}function m(){c(s.indentLevel)}return{context:l,push:i,indent:u,deindent:h,newline:m,helper:$=>`_${$}`,needIndent:()=>s.needIndent}}function Gh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),fn(e,t.key),t.modifier?(e.push(", "),fn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function qh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=Bi(t.mode)?t.mode:"normal",n=Bi(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,a=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],l=Bh(e,{filename:n,breakLineCode:r,needIndent:a});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${Gi(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),fn(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Kh(e,t={}){const o=Ui({},t),n=!!o.jit,r=!!o.minify,a=o.optimize==null?!0:o.optimize,l=Mh(o).parse(e);return n?(a&&jh(l),r&&dn(l),{ast:l,code:""}):(Dh(l,o),Wh(l,o))}/*! + */function _h(e,t,o){return{line:e,column:t,offset:o}}function Vr(e,t,o){return{start:e,end:t}}const yh=/\{([0-9a-zA-Z]+)\}/g;function ji(e,...t){return t.length===1&&vh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(yh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const zi=Object.assign,Ui=e=>typeof e=="string",vh=e=>e!==null&&typeof e=="object";function Bi(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const Wa={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},xh={[Wa.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function wh(e,t,...o){const n=ji(xh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Te={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},kh={[Te.EXPECTED_TOKEN]:"Expected token: '{0}'",[Te.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Te.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Te.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Te.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Te.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Te.EMPTY_PLACEHOLDER]:"Empty placeholder",[Te.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Te.INVALID_LINKED_FORMAT]:"Invalid linked format",[Te.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Te.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Te.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Te.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Te.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Te.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function un(e,t,o={}){const{domain:n,messages:r,args:a}=o,s=ji((r||kh)[e]||"",...a||[]),l=new SyntaxError(String(s));return l.code=e,t&&(l.location=t),l.domain=n,l}function $h(e){throw e}const _o=" ",Sh="\r",kt=` +`,Eh="\u2028",Ah="\u2029";function Ch(e){const t=e;let o=0,n=1,r=1,a=0;const s=E=>t[E]===Sh&&t[E+1]===kt,l=E=>t[E]===kt,i=E=>t[E]===Ah,c=E=>t[E]===Eh,u=E=>s(E)||l(E)||i(E)||c(E),h=()=>o,m=()=>n,v=()=>r,S=()=>a,$=E=>s(E)||i(E)||c(E)?kt:t[E],x=()=>$(o),T=()=>$(o+a);function b(){return a=0,u(o)&&(n++,r=0),s(o)&&o++,o++,r++,t[o]}function p(){return s(o+a)&&a++,a++,t[o+a]}function g(){o=0,n=1,r=1,a=0}function y(E=0){a=E}function k(){const E=o+a;for(;E!==o;)b();a=0}return{index:h,line:m,column:v,peekOffset:S,charAt:$,currentChar:x,currentPeek:T,next:b,peek:p,reset:g,resetPeek:y,skipToPeek:k}}const Fo=void 0,Th=".",Gi="'",Lh="tokenizer";function Ph(e,t={}){const o=t.location!==!1,n=Ch(e),r=()=>n.index(),a=()=>_h(n.line(),n.column(),n.index()),s=a(),l=r(),i={currentType:14,offset:l,startLoc:s,endLoc:s,lastType:14,lastOffset:l,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function h(d,f,L,...O){const ae=c();if(f.column+=L,f.offset+=L,u){const oe=o?Vr(ae.startLoc,f):null,C=un(d,oe,{domain:Lh,args:O});u(C)}}function m(d,f,L){d.endLoc=a(),d.currentType=f;const O={type:f};return o&&(O.loc=Vr(d.startLoc,d.endLoc)),L!=null&&(O.value=L),O}const v=d=>m(d,14);function S(d,f){return d.currentChar()===f?(d.next(),f):(h(Te.EXPECTED_TOKEN,a(),0,f),"")}function $(d){let f="";for(;d.currentPeek()===_o||d.currentPeek()===kt;)f+=d.currentPeek(),d.peek();return f}function x(d){const f=$(d);return d.skipToPeek(),f}function T(d){if(d===Fo)return!1;const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f===95}function b(d){if(d===Fo)return!1;const f=d.charCodeAt(0);return f>=48&&f<=57}function p(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=T(d.currentPeek());return d.resetPeek(),O}function g(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=d.currentPeek()==="-"?d.peek():d.currentPeek(),ae=b(O);return d.resetPeek(),ae}function y(d,f){const{currentType:L}=f;if(L!==2)return!1;$(d);const O=d.currentPeek()===Gi;return d.resetPeek(),O}function k(d,f){const{currentType:L}=f;if(L!==8)return!1;$(d);const O=d.currentPeek()===".";return d.resetPeek(),O}function E(d,f){const{currentType:L}=f;if(L!==9)return!1;$(d);const O=T(d.currentPeek());return d.resetPeek(),O}function M(d,f){const{currentType:L}=f;if(!(L===8||L===12))return!1;$(d);const O=d.currentPeek()===":";return d.resetPeek(),O}function F(d,f){const{currentType:L}=f;if(L!==10)return!1;const O=()=>{const oe=d.currentPeek();return oe==="{"?T(d.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===_o||!oe?!1:oe===kt?(d.peek(),O()):ne(d,!1)},ae=O();return d.resetPeek(),ae}function V(d){$(d);const f=d.currentPeek()==="|";return d.resetPeek(),f}function W(d){const f=$(d),L=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:L,hasSpace:f.length>0}}function ne(d,f=!0){const L=(ae=!1,oe="",C=!1)=>{const G=d.currentPeek();return G==="{"?oe==="%"?!1:ae:G==="@"||!G?oe==="%"?!0:ae:G==="%"?(d.peek(),L(ae,"%",!0)):G==="|"?oe==="%"||C?!0:!(oe===_o||oe===kt):G===_o?(d.peek(),L(!0,_o,C)):G===kt?(d.peek(),L(!0,kt,C)):!0},O=L();return f&&d.resetPeek(),O}function me(d,f){const L=d.currentChar();return L===Fo?Fo:f(L)?(d.next(),L):null}function j(d){const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||f===95||f===36}function ee(d){return me(d,j)}function K(d){const f=d.charCodeAt(0);return f>=97&&f<=122||f>=65&&f<=90||f>=48&&f<=57||f===95||f===36||f===45}function B(d){return me(d,K)}function N(d){const f=d.charCodeAt(0);return f>=48&&f<=57}function z(d){return me(d,N)}function D(d){const f=d.charCodeAt(0);return f>=48&&f<=57||f>=65&&f<=70||f>=97&&f<=102}function P(d){return me(d,D)}function q(d){let f="",L="";for(;f=z(d);)L+=f;return L}function re(d){x(d);const f=d.currentChar();return f!=="%"&&h(Te.EXPECTED_TOKEN,a(),0,f),d.next(),"%"}function be(d){let f="";for(;;){const L=d.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L==="%")if(ne(d))f+=L,d.next();else break;else if(L===_o||L===kt)if(ne(d))f+=L,d.next();else{if(V(d))break;f+=L,d.next()}else f+=L,d.next()}return f}function Ee(d){x(d);let f="",L="";for(;f=B(d);)L+=f;return d.currentChar()===Fo&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L}function Ae(d){x(d);let f="";return d.currentChar()==="-"?(d.next(),f+=`-${q(d)}`):f+=q(d),d.currentChar()===Fo&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),f}function Le(d){return d!==Gi&&d!==kt}function xe(d){x(d),S(d,"'");let f="",L="";for(;f=me(d,Le);)f==="\\"?L+=_e(d):L+=f;const O=d.currentChar();return O===kt||O===Fo?(h(Te.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),O===kt&&(d.next(),S(d,"'")),L):(S(d,"'"),L)}function _e(d){const f=d.currentChar();switch(f){case"\\":case"'":return d.next(),`\\${f}`;case"u":return ye(d,f,4);case"U":return ye(d,f,6);default:return h(Te.UNKNOWN_ESCAPE_SEQUENCE,a(),0,f),""}}function ye(d,f,L){S(d,f);let O="";for(let ae=0;ae{const O=d.currentChar();return O==="{"||O==="%"||O==="@"||O==="|"||O==="("||O===")"||!O||O===_o?L:(L+=O,d.next(),f(L))};return f("")}function U(d){x(d);const f=S(d,"|");return x(d),f}function Z(d,f){let L=null;switch(d.currentChar()){case"{":return f.braceNest>=1&&h(Te.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),d.next(),L=m(f,2,"{"),x(d),f.braceNest++,L;case"}":return f.braceNest>0&&f.currentType===2&&h(Te.EMPTY_PLACEHOLDER,a(),0),d.next(),L=m(f,3,"}"),f.braceNest--,f.braceNest>0&&x(d),f.inLinked&&f.braceNest===0&&(f.inLinked=!1),L;case"@":return f.braceNest>0&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L=Q(d,f)||v(f),f.braceNest=0,L;default:{let ae=!0,oe=!0,C=!0;if(V(d))return f.braceNest>0&&h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),L=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,L;if(f.braceNest>0&&(f.currentType===5||f.currentType===6||f.currentType===7))return h(Te.UNTERMINATED_CLOSING_BRACE,a(),0),f.braceNest=0,le(d,f);if(ae=p(d,f))return L=m(f,5,Ee(d)),x(d),L;if(oe=g(d,f))return L=m(f,6,Ae(d)),x(d),L;if(C=y(d,f))return L=m(f,7,xe(d)),x(d),L;if(!ae&&!oe&&!C)return L=m(f,13,_(d)),h(Te.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,L.value),x(d),L;break}}return L}function Q(d,f){const{currentType:L}=f;let O=null;const ae=d.currentChar();switch((L===8||L===9||L===12||L===10)&&(ae===kt||ae===_o)&&h(Te.INVALID_LINKED_FORMAT,a(),0),ae){case"@":return d.next(),O=m(f,8,"@"),f.inLinked=!0,O;case".":return x(d),d.next(),m(f,9,".");case":":return x(d),d.next(),m(f,10,":");default:return V(d)?(O=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,O):k(d,f)||M(d,f)?(x(d),Q(d,f)):E(d,f)?(x(d),m(f,12,A(d))):F(d,f)?(x(d),ae==="{"?Z(d,f)||O:m(f,11,w(d))):(L===8&&h(Te.INVALID_LINKED_FORMAT,a(),0),f.braceNest=0,f.inLinked=!1,le(d,f))}}function le(d,f){let L={type:14};if(f.braceNest>0)return Z(d,f)||v(f);if(f.inLinked)return Q(d,f)||v(f);switch(d.currentChar()){case"{":return Z(d,f)||v(f);case"}":return h(Te.UNBALANCED_CLOSING_BRACE,a(),0),d.next(),m(f,3,"}");case"@":return Q(d,f)||v(f);default:{if(V(d))return L=m(f,1,U(d)),f.braceNest=0,f.inLinked=!1,L;const{isModulo:ae,hasSpace:oe}=W(d);if(ae)return oe?m(f,0,be(d)):m(f,4,re(d));if(ne(d))return m(f,0,be(d));break}}return L}function te(){const{currentType:d,offset:f,startLoc:L,endLoc:O}=i;return i.lastType=d,i.lastOffset=f,i.lastStartLoc=L,i.lastEndLoc=O,i.offset=r(),i.startLoc=a(),n.currentChar()===Fo?m(i,14):le(n,i)}return{nextToken:te,currentOffset:r,currentPosition:a,context:c}}const Nh="parser",Ih=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Fh(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 Rh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,y,k,...E){const M=p.currentPosition();if(M.offset+=k,M.column+=k,o){const F=t?Vr(y,M):null,V=un(g,F,{domain:Nh,args:E});o(V)}}function a(p,g,y,k,...E){const M=p.currentPosition();if(M.offset+=k,M.column+=k,n){const F=t?Vr(y,M):null;n(wh(g,F,E))}}function s(p,g,y){const k={type:p};return t&&(k.start=g,k.end=g,k.loc={start:y,end:y}),k}function l(p,g,y,k){t&&(p.end=g,p.loc&&(p.loc.end=y))}function i(p,g){const y=p.context(),k=s(3,y.offset,y.startLoc);return k.value=g,l(k,p.currentOffset(),p.currentPosition()),k}function c(p,g){const y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(5,k,E);return M.index=parseInt(g,10),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function u(p,g,y){const k=p.context(),{lastOffset:E,lastStartLoc:M}=k,F=s(4,E,M);return F.key=g,y===!0&&(F.modulo=!0),p.nextToken(),l(F,p.currentOffset(),p.currentPosition()),F}function h(p,g){const y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(9,k,E);return M.value=g.replace(Ih,Fh),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function m(p){const g=p.nextToken(),y=p.context(),{lastOffset:k,lastStartLoc:E}=y,M=s(8,k,E);return g.type!==12?(r(p,Te.UNEXPECTED_EMPTY_LINKED_MODIFIER,y.lastStartLoc,0),M.value="",l(M,k,E),{nextConsumeToken:g,node:M}):(g.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,qt(g)),M.value=g.value||"",l(M,p.currentOffset(),p.currentPosition()),{node:M})}function v(p,g){const y=p.context(),k=s(7,y.offset,y.startLoc);return k.value=g,l(k,p.currentOffset(),p.currentPosition()),k}function S(p){const g=p.context(),y=s(6,g.offset,g.startLoc);let k=p.nextToken();if(k.type===9){const E=m(p);y.modifier=E.node,k=E.nextConsumeToken||p.nextToken()}switch(k.type!==10&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),k=p.nextToken(),k.type===2&&(k=p.nextToken()),k.type){case 11:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=v(p,k.value||"");break;case 5:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=u(p,k.value||"");break;case 6:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=c(p,k.value||"");break;case 7:k.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(k)),y.key=h(p,k.value||"");break;default:{r(p,Te.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const E=p.context(),M=s(7,E.offset,E.startLoc);return M.value="",l(M,E.offset,E.startLoc),y.key=M,l(y,E.offset,E.startLoc),{nextConsumeToken:k,node:y}}}return l(y,p.currentOffset(),p.currentPosition()),{node:y}}function $(p){const g=p.context(),y=g.currentType===1?p.currentOffset():g.offset,k=g.currentType===1?g.endLoc:g.startLoc,E=s(2,y,k);E.items=[];let M=null,F=null;do{const ne=M||p.nextToken();switch(M=null,ne.type){case 0:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(i(p,ne.value||""));break;case 6:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(c(p,ne.value||""));break;case 4:F=!0;break;case 5:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(u(p,ne.value||"",!!F)),F&&(a(p,Wa.USE_MODULO_SYNTAX,g.lastStartLoc,0,qt(ne)),F=null);break;case 7:ne.value==null&&r(p,Te.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,qt(ne)),E.items.push(h(p,ne.value||""));break;case 8:{const me=S(p);E.items.push(me.node),M=me.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const V=g.currentType===1?g.lastOffset:p.currentOffset(),W=g.currentType===1?g.lastEndLoc:p.currentPosition();return l(E,V,W),E}function x(p,g,y,k){const E=p.context();let M=k.items.length===0;const F=s(1,g,y);F.cases=[],F.cases.push(k);do{const V=$(p);M||(M=V.items.length===0),F.cases.push(V)}while(E.currentType!==14);return M&&r(p,Te.MUST_HAVE_MESSAGES_IN_PLURAL,y,0),l(F,p.currentOffset(),p.currentPosition()),F}function T(p){const g=p.context(),{offset:y,startLoc:k}=g,E=$(p);return g.currentType===14?E:x(p,y,k,E)}function b(p){const g=Ph(p,zi({},e)),y=g.context(),k=s(0,y.offset,y.startLoc);return t&&k.loc&&(k.loc.source=p),k.body=T(g),e.onCacheKey&&(k.cacheKey=e.onCacheKey(p)),y.currentType!==14&&r(g,Te.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,p[y.offset]||""),l(k,g.currentOffset(),g.currentPosition()),k}return{parse:b}}function qt(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 Mh(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:a=>(o.helpers.add(a),a)}}function qi(e,t){for(let o=0;oHi(o)),e}function Hi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;os;function i($,x){s.code+=$}function c($,x=!0){const T=x?n:"";i(r?T+" ".repeat($):T)}function u($=!0){const x=++s.indentLevel;$&&c(x)}function h($=!0){const x=--s.indentLevel;$&&c(x)}function m(){c(s.indentLevel)}return{context:l,push:i,indent:u,deindent:h,newline:m,helper:$=>`_${$}`,needIndent:()=>s.needIndent}}function Bh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),fn(e,t.key),t.modifier?(e.push(", "),fn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Gh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let a=0;a1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let a=0;a{const o=Ui(t.mode)?t.mode:"normal",n=Ui(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,a=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],l=Uh(e,{filename:n,breakLineCode:r,needIndent:a});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(a),s.length>0&&(l.push(`const { ${Bi(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),fn(l,e),l.deindent(a),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function Wh(e,t={}){const o=zi({},t),n=!!o.jit,r=!!o.minify,a=o.optimize==null?!0:o.optimize,l=Rh(o).parse(e);return n?(a&&Dh(l),r&&dn(l),{ast:l,code:""}):(Oh(l,o),Vh(l,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Yh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(bo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ro(e){return We(e)&&Ya(e)===0&&(Gt(e,"b")||Gt(e,"body"))}const Wi=["b","body"];function Xh(e){return Ro(e,Wi)}const Ki=["c","cases"];function Jh(e){return Ro(e,Ki,[])}const Yi=["s","static"];function Zh(e){return Ro(e,Yi)}const Xi=["i","items"];function Qh(e){return Ro(e,Xi,[])}const Ji=["t","type"];function Ya(e){return Ro(e,Ji)}const Zi=["v","value"];function Wr(e,t){const o=Ro(e,Zi);if(o!=null)return o;throw Yn(t)}const Qi=["m","modifier"];function em(e){return Ro(e,Qi)}const ec=["k","key"];function tm(e){const t=Ro(e,ec);if(t)return t;throw Yn(6)}function Ro(e,t,o){for(let n=0;n{s===void 0?s=l:s+=l},m[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,s===void 0||(s=sm(s),s===!1))return!1;m[1]()}};function v(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,l="\\"+S,m[0](),!0}for(;n!==null;)if(o++,a=e[o],!(a==="\\"&&v())){if(i=am(a),h=Mo[n],c=h[i]||h.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=a,u()===!1))))return;if(n===7)return t}}const oc=new Map;function im(e,t){return We(e)?e[t]:null}function cm(e,t){if(!We(e))return null;let o=oc.get(t);if(o||(o=lm(t),o&&oc.set(t,o)),!o)return null;const n=o.length;let r=e,a=0;for(;ae,dm=e=>"",fm="text",pm=e=>e.length===0?"":_h(e),gm=bh;function nc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function hm(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function mm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function bm(e={}){const t=e.locale,o=hm(e),n=We(e.pluralRules)&&pe(t)&&et(e.pluralRules[t])?e.pluralRules[t]:nc,r=We(e.pluralRules)&&pe(t)&&et(e.pluralRules[t])?nc:void 0,a=T=>T[n(o,T.length,r)],s=e.list||[],l=T=>s[T],i=e.named||Xe();st(e.pluralIndex)&&mm(o,i);const c=T=>i[T];function u(T){const b=et(e.messages)?e.messages(T):We(e.messages)?e.messages[T]:!1;return b||(e.parent?e.parent.message(T):dm)}const h=T=>e.modifiers?e.modifiers[T]:um,m=Fe(e.processor)&&et(e.processor.normalize)?e.processor.normalize:pm,v=Fe(e.processor)&&et(e.processor.interpolate)?e.processor.interpolate:gm,S=Fe(e.processor)&&pe(e.processor.type)?e.processor.type:fm,x={list:l,named:c,plural:a,linked:(T,...b)=>{const[p,g]=b;let y="text",k="";b.length===1?We(p)?(k=p.modifier||k,y=p.type||y):pe(p)&&(k=p||k):b.length===2&&(pe(p)&&(k=p||k),pe(g)&&(y=g||y));const E=u(T)(x),M=y==="vnode"&&ot(E)&&k?E[0]:E;return k?h(k)(M,y):M},message:u,type:S,interpolate:v,normalize:m,values:gt(Xe(),s,i)};return x}let Xn=null;function _m(e){Xn=e}function ym(e,t,o){Xn&&Xn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const vm=xm("function:translate");function xm(e){return t=>Xn&&Xn.emit(e,t)}const wm=Wa.__EXTEND_POINT__,Ko=Gr(wm),km={FALLBACK_TO_TRANSLATE:Ko(),CANNOT_FORMAT_NUMBER:Ko(),FALLBACK_TO_NUMBER_FORMAT:Ko(),CANNOT_FORMAT_DATE:Ko(),FALLBACK_TO_DATE_FORMAT:Ko(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Ko(),__EXTEND_POINT__:Ko()},rc=Te.__EXTEND_POINT__,Yo=Gr(rc),Ht={INVALID_ARGUMENT:rc,INVALID_DATE_ARGUMENT:Yo(),INVALID_ISO_DATE_ARGUMENT:Yo(),NOT_SUPPORT_NON_STRING_MESSAGE:Yo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Yo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Yo(),NOT_SUPPORT_LOCALE_TYPE:Yo(),__EXTEND_POINT__:Yo()};function ao(e){return un(e,null,void 0)}function Xa(e,t){return t.locale!=null?ac(t.locale):ac(e.locale)}let Ja;function ac(e){if(pe(e))return e;if(et(e)){if(e.resolvedOnce&&Ja!=null)return Ja;if(e.constructor.name==="Function"){const t=e();if(mh(t))throw ao(Ht.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ja=t}else throw ao(Ht.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ao(Ht.NOT_SUPPORT_LOCALE_TYPE)}function $m(e,t,o){return[...new Set([o,...ot(t)?t:We(t)?Object.keys(t):pe(t)?[t]:[o]])]}function sc(e,t,o){const n=pe(o)?o:pn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let a=r.__localeChainCache.get(n);if(!a){a=[];let s=[o];for(;ot(s);)s=lc(a,s,t);const l=ot(t)||!Fe(t)?t:t.default?t.default:null;s=pe(l)?[l]:l,ot(s)&&lc(a,s,!1),r.__localeChainCache.set(n,a)}return a}function lc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Cm(){return{upper:(e,t)=>t==="text"&&pe(e)?e.toUpperCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&pe(e)?e.toLowerCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&pe(e)?cc(e):t==="vnode"&&We(e)&&"__v_isVNode"in e?cc(e.children):e}}let uc;function dc(e){uc=e}let fc;function Tm(e){fc=e}let pc;function Lm(e){pc=e}let gc=null;const Pm=e=>{gc=e},Nm=()=>gc;let hc=null;const mc=e=>{hc=e},Im=()=>hc;let bc=0;function Fm(e={}){const t=et(e.onWarn)?e.onWarn:ch,o=pe(e.version)?e.version:Am,n=pe(e.locale)||et(e.locale)?e.locale:pn,r=et(n)?pn:n,a=ot(e.fallbackLocale)||Fe(e.fallbackLocale)||pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,s=Fe(e.messages)?e.messages:Za(r),l=Fe(e.datetimeFormats)?e.datetimeFormats:Za(r),i=Fe(e.numberFormats)?e.numberFormats:Za(r),c=gt(Xe(),e.modifiers,Cm()),u=e.pluralRules||Xe(),h=et(e.missing)?e.missing:null,m=Be(e.missingWarn)||Io(e.missingWarn)?e.missingWarn:!0,v=Be(e.fallbackWarn)||Io(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,$=!!e.unresolving,x=et(e.postTranslation)?e.postTranslation:null,T=Fe(e.processor)?e.processor:null,b=Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=et(e.messageCompiler)?e.messageCompiler:uc,y=et(e.messageResolver)?e.messageResolver:fc||im,k=et(e.localeFallbacker)?e.localeFallbacker:pc||$m,E=We(e.fallbackContext)?e.fallbackContext:void 0,M=e,F=We(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,V=We(M.__numberFormatters)?M.__numberFormatters:new Map,W=We(M.__meta)?M.__meta:{};bc++;const ne={version:o,cid:bc,locale:n,fallbackLocale:a,messages:s,modifiers:c,pluralRules:u,missing:h,missingWarn:m,fallbackWarn:v,fallbackFormat:S,unresolving:$,postTranslation:x,processor:T,warnHtmlMessage:b,escapeParameter:p,messageCompiler:g,messageResolver:y,localeFallbacker:k,fallbackContext:E,onWarn:t,__meta:W};return ne.datetimeFormats=l,ne.numberFormats=i,ne.__datetimeFormatters=F,ne.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&ym(ne,o,W),ne}const Za=e=>({[e]:Xe()});function Qa(e,t,o,n,r){const{missing:a,onWarn:s}=e;if(a!==null){const l=a(e,o,t,r);return pe(l)?l:t}else return t}function Jn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Rm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Mm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nOm(o,e)}function Om(e,t){const o=Xh(t);if(o==null)throw Yn(0);if(Ya(o)===1){const a=Jh(o);return e.plural(a.reduce((s,l)=>[...s,_c(e,l)],[]))}else return _c(e,o)}function _c(e,t){const o=Zh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Qh(t).reduce((r,a)=>[...r,ts(e,a)],[]);return e.normalize(n)}}function ts(e,t){const o=Ya(t);switch(o){case 3:return Wr(t,o);case 9:return Wr(t,o);case 4:{const n=t;if(Gt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Gt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Yn(o)}case 5:{const n=t;if(Gt(n,"i")&&st(n.i))return e.interpolate(e.list(n.i));if(Gt(n,"index")&&st(n.index))return e.interpolate(e.list(n.index));throw Yn(o)}case 6:{const n=t,r=em(n),a=tm(n);return e.linked(ts(e,a),r?ts(e,r):void 0,e.type)}case 7:return Wr(t,o);case 8:return Wr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const yc=e=>e;let gn=Xe();function vc(e,t={}){let o=!1;const n=t.onError||Sh;return t.onError=r=>{o=!0,n(r)},{...Kh(e,t),detectError:o}}const Dm=(e,t)=>{if(!pe(e))throw ao(Ht.NOT_SUPPORT_NON_STRING_MESSAGE);{Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||yc)(e),r=gn[n];if(r)return r;const{code:a,detectError:s}=vc(e,t),l=new Function(`return ${a}`)();return s?l:gn[n]=l}};function jm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&pe(e)){Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||yc)(e),r=gn[n];if(r)return r;const{ast:a,detectError:s}=vc(e,{...t,location:!1,jit:!0}),l=es(a);return s?l:gn[n]=l}else{const o=e.cacheKey;if(o){const n=gn[o];return n||(gn[o]=es(e))}else return es(e)}}const xc=()=>"",Ft=e=>et(e);function wc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:a,fallbackLocale:s,messages:l}=e,[i,c]=os(...t),u=Be(c.missingWarn)?c.missingWarn:e.missingWarn,h=Be(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Be(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,S=pe(c.default)||Be(c.default)?Be(c.default)?a?i:()=>i:c.default:o?a?i:()=>i:"",$=o||S!=="",x=Xa(e,c);m&&zm(c);let[T,b,p]=v?[i,x,l[x]||Xe()]:kc(e,i,x,s,h,u),g=T,y=i;if(!v&&!(pe(g)||ro(g)||Ft(g))&&$&&(g=S,y=g),!v&&(!(pe(g)||ro(g)||Ft(g))||!pe(b)))return r?Kr:i;let k=!1;const E=()=>{k=!0},M=Ft(g)?g:$c(e,i,b,g,y,E);if(k)return g;const F=Gm(e,b,p,c),V=bm(F),W=Um(e,M,V);let ne=n?n(W,i):W;if(m&&pe(ne)&&(ne=gh(ne)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:pe(i)?i:Ft(g)?g.key:"",locale:b||(Ft(g)?g.locale:""),format:pe(g)?g:Ft(g)?g.source:"",message:ne};me.meta=gt({},e.__meta,Nm()||{}),vm(me)}return ne}function zm(e){ot(e.list)?e.list=e.list.map(t=>pe(t)?Mi(t):t):We(e.named)&&Object.keys(e.named).forEach(t=>{pe(e.named[t])&&(e.named[t]=Mi(e.named[t]))})}function kc(e,t,o,n,r,a){const{messages:s,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let h=Xe(),m,v=null;const S="translate";for(let $=0;$n;return c.locale=o,c.key=t,c}const i=s(n,Bm(e,o,r,n,l,a));return i.locale=o,i.key=t,i.source=n,i}function Um(e,t,o){return t(o)}function os(...e){const[t,o,n]=e,r=Xe();if(!pe(t)&&!st(t)&&!Ft(t)&&!ro(t))throw ao(Ht.INVALID_ARGUMENT);const a=st(t)?String(t):(Ft(t),t);return st(o)?r.plural=o:pe(o)?r.default=o:Fe(o)&&!Br(o)?r.named=o:ot(o)&&(r.list=o),st(n)?r.plural=n:pe(n)?r.default=n:Fe(n)&>(r,n),[a,r]}function Bm(e,t,o,n,r,a){return{locale:t,key:o,warnHtmlMessage:r,onError:s=>{throw a&&a(s),s},onCacheKey:s=>uh(t,o,s)}}function Gm(e,t,o,n){const{modifiers:r,pluralRules:a,messageResolver:s,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:a,messages:v=>{let S=s(o,v);if(S==null&&u){const[,,$]=kc(u,v,t,l,i,c);S=s($,v)}if(pe(S)||ro(S)){let $=!1;const T=$c(e,v,t,S,v,()=>{$=!0});return $?xc:T}else return Ft(S)?S:xc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),st(n.plural)&&(m.pluralIndex=n.plural),m}function Sc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:s}=e,{__datetimeFormatters:l}=e,[i,c,u,h]=ns(...t),m=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,S=Xa(e,u),$=s(e,r,S);if(!pe(i)||i==="")return new Intl.DateTimeFormat(S,h).format(c);let x={},T,b=null;const p="datetime format";for(let k=0;k<$.length&&(T=$[k],x=o[T]||{},b=x[i],!Fe(b));k++)Qa(e,i,T,m,p);if(!Fe(b)||!pe(T))return n?Kr:i;let g=`${T}__${i}`;Br(h)||(g=`${g}__${JSON.stringify(h)}`);let y=l.get(g);return y||(y=new Intl.DateTimeFormat(T,gt({},b,h)),l.set(g,y)),v?y.formatToParts(c):y.format(c)}const Ec=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function ns(...e){const[t,o,n,r]=e,a=Xe();let s=Xe(),l;if(pe(t)){const i=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!i)throw ao(Ht.INVALID_ISO_DATE_ARGUMENT);const c=i[3]?i[3].trim().startsWith("T")?`${i[1].trim()}${i[3].trim()}`:`${i[1].trim()}T${i[3].trim()}`:i[1].trim();l=new Date(c);try{l.toISOString()}catch{throw ao(Ht.INVALID_ISO_DATE_ARGUMENT)}}else if(fh(t)){if(isNaN(t.getTime()))throw ao(Ht.INVALID_DATE_ARGUMENT);l=t}else if(st(t))l=t;else throw ao(Ht.INVALID_ARGUMENT);return pe(o)?a.key=o:Fe(o)&&Object.keys(o).forEach(i=>{Ec.includes(i)?s[i]=o[i]:a[i]=o[i]}),pe(n)?a.locale=n:Fe(n)&&(s=n),Fe(r)&&(s=r),[a.key||"",l,a,s]}function Ac(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function Cc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:s}=e,{__numberFormatters:l}=e,[i,c,u,h]=rs(...t),m=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,S=Xa(e,u),$=s(e,r,S);if(!pe(i)||i==="")return new Intl.NumberFormat(S,h).format(c);let x={},T,b=null;const p="number format";for(let k=0;k<$.length&&(T=$[k],x=o[T]||{},b=x[i],!Fe(b));k++)Qa(e,i,T,m,p);if(!Fe(b)||!pe(T))return n?Kr:i;let g=`${T}__${i}`;Br(h)||(g=`${g}__${JSON.stringify(h)}`);let y=l.get(g);return y||(y=new Intl.NumberFormat(T,gt({},b,h)),l.set(g,y)),v?y.formatToParts(c):y.format(c)}const Tc=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function rs(...e){const[t,o,n,r]=e,a=Xe();let s=Xe();if(!st(t))throw ao(Ht.INVALID_ARGUMENT);const l=t;return pe(o)?a.key=o:Fe(o)&&Object.keys(o).forEach(i=>{Tc.includes(i)?s[i]=o[i]:a[i]=o[i]}),pe(n)?a.locale=n:Fe(n)&&(s=n),Fe(r)&&(s=r),[a.key||"",l,a,s]}function Lc(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}Yh();/*! + */function Kh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(bo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ro(e){return We(e)&&Ya(e)===0&&(Gt(e,"b")||Gt(e,"body"))}const Vi=["b","body"];function Yh(e){return Ro(e,Vi)}const Wi=["c","cases"];function Xh(e){return Ro(e,Wi,[])}const Ki=["s","static"];function Jh(e){return Ro(e,Ki)}const Yi=["i","items"];function Zh(e){return Ro(e,Yi,[])}const Xi=["t","type"];function Ya(e){return Ro(e,Xi)}const Ji=["v","value"];function Wr(e,t){const o=Ro(e,Ji);if(o!=null)return o;throw Yn(t)}const Zi=["m","modifier"];function Qh(e){return Ro(e,Zi)}const Qi=["k","key"];function em(e){const t=Ro(e,Qi);if(t)return t;throw Yn(6)}function Ro(e,t,o){for(let n=0;n{s===void 0?s=l:s+=l},m[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,s===void 0||(s=am(s),s===!1))return!1;m[1]()}};function v(){const S=e[o+1];if(n===5&&S==="'"||n===6&&S==='"')return o++,l="\\"+S,m[0](),!0}for(;n!==null;)if(o++,a=e[o],!(a==="\\"&&v())){if(i=rm(a),h=Mo[n],c=h[i]||h.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=a,u()===!1))))return;if(n===7)return t}}const tc=new Map;function lm(e,t){return We(e)?e[t]:null}function im(e,t){if(!We(e))return null;let o=tc.get(t);if(o||(o=sm(t),o&&tc.set(t,o)),!o)return null;const n=o.length;let r=e,a=0;for(;ae,um=e=>"",dm="text",fm=e=>e.length===0?"":bh(e),pm=mh;function oc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function gm(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function hm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function mm(e={}){const t=e.locale,o=gm(e),n=We(e.pluralRules)&&pe(t)&&et(e.pluralRules[t])?e.pluralRules[t]:oc,r=We(e.pluralRules)&&pe(t)&&et(e.pluralRules[t])?oc:void 0,a=T=>T[n(o,T.length,r)],s=e.list||[],l=T=>s[T],i=e.named||Xe();st(e.pluralIndex)&&hm(o,i);const c=T=>i[T];function u(T){const b=et(e.messages)?e.messages(T):We(e.messages)?e.messages[T]:!1;return b||(e.parent?e.parent.message(T):um)}const h=T=>e.modifiers?e.modifiers[T]:cm,m=Fe(e.processor)&&et(e.processor.normalize)?e.processor.normalize:fm,v=Fe(e.processor)&&et(e.processor.interpolate)?e.processor.interpolate:pm,S=Fe(e.processor)&&pe(e.processor.type)?e.processor.type:dm,x={list:l,named:c,plural:a,linked:(T,...b)=>{const[p,g]=b;let y="text",k="";b.length===1?We(p)?(k=p.modifier||k,y=p.type||y):pe(p)&&(k=p||k):b.length===2&&(pe(p)&&(k=p||k),pe(g)&&(y=g||y));const E=u(T)(x),M=y==="vnode"&&ot(E)&&k?E[0]:E;return k?h(k)(M,y):M},message:u,type:S,interpolate:v,normalize:m,values:gt(Xe(),s,i)};return x}let Xn=null;function bm(e){Xn=e}function _m(e,t,o){Xn&&Xn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const ym=vm("function:translate");function vm(e){return t=>Xn&&Xn.emit(e,t)}const xm=Wa.__EXTEND_POINT__,Ko=Gr(xm),wm={FALLBACK_TO_TRANSLATE:Ko(),CANNOT_FORMAT_NUMBER:Ko(),FALLBACK_TO_NUMBER_FORMAT:Ko(),CANNOT_FORMAT_DATE:Ko(),FALLBACK_TO_DATE_FORMAT:Ko(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Ko(),__EXTEND_POINT__:Ko()},nc=Te.__EXTEND_POINT__,Yo=Gr(nc),Ht={INVALID_ARGUMENT:nc,INVALID_DATE_ARGUMENT:Yo(),INVALID_ISO_DATE_ARGUMENT:Yo(),NOT_SUPPORT_NON_STRING_MESSAGE:Yo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Yo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Yo(),NOT_SUPPORT_LOCALE_TYPE:Yo(),__EXTEND_POINT__:Yo()};function ao(e){return un(e,null,void 0)}function Xa(e,t){return t.locale!=null?rc(t.locale):rc(e.locale)}let Ja;function rc(e){if(pe(e))return e;if(et(e)){if(e.resolvedOnce&&Ja!=null)return Ja;if(e.constructor.name==="Function"){const t=e();if(hh(t))throw ao(Ht.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ja=t}else throw ao(Ht.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ao(Ht.NOT_SUPPORT_LOCALE_TYPE)}function km(e,t,o){return[...new Set([o,...ot(t)?t:We(t)?Object.keys(t):pe(t)?[t]:[o]])]}function ac(e,t,o){const n=pe(o)?o:pn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let a=r.__localeChainCache.get(n);if(!a){a=[];let s=[o];for(;ot(s);)s=sc(a,s,t);const l=ot(t)||!Fe(t)?t:t.default?t.default:null;s=pe(l)?[l]:l,ot(s)&&sc(a,s,!1),r.__localeChainCache.set(n,a)}return a}function sc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Am(){return{upper:(e,t)=>t==="text"&&pe(e)?e.toUpperCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&pe(e)?e.toLowerCase():t==="vnode"&&We(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&pe(e)?ic(e):t==="vnode"&&We(e)&&"__v_isVNode"in e?ic(e.children):e}}let cc;function uc(e){cc=e}let dc;function Cm(e){dc=e}let fc;function Tm(e){fc=e}let pc=null;const Lm=e=>{pc=e},Pm=()=>pc;let gc=null;const hc=e=>{gc=e},Nm=()=>gc;let mc=0;function Im(e={}){const t=et(e.onWarn)?e.onWarn:ih,o=pe(e.version)?e.version:Em,n=pe(e.locale)||et(e.locale)?e.locale:pn,r=et(n)?pn:n,a=ot(e.fallbackLocale)||Fe(e.fallbackLocale)||pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,s=Fe(e.messages)?e.messages:Za(r),l=Fe(e.datetimeFormats)?e.datetimeFormats:Za(r),i=Fe(e.numberFormats)?e.numberFormats:Za(r),c=gt(Xe(),e.modifiers,Am()),u=e.pluralRules||Xe(),h=et(e.missing)?e.missing:null,m=Be(e.missingWarn)||Io(e.missingWarn)?e.missingWarn:!0,v=Be(e.fallbackWarn)||Io(e.fallbackWarn)?e.fallbackWarn:!0,S=!!e.fallbackFormat,$=!!e.unresolving,x=et(e.postTranslation)?e.postTranslation:null,T=Fe(e.processor)?e.processor:null,b=Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=et(e.messageCompiler)?e.messageCompiler:cc,y=et(e.messageResolver)?e.messageResolver:dc||lm,k=et(e.localeFallbacker)?e.localeFallbacker:fc||km,E=We(e.fallbackContext)?e.fallbackContext:void 0,M=e,F=We(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,V=We(M.__numberFormatters)?M.__numberFormatters:new Map,W=We(M.__meta)?M.__meta:{};mc++;const ne={version:o,cid:mc,locale:n,fallbackLocale:a,messages:s,modifiers:c,pluralRules:u,missing:h,missingWarn:m,fallbackWarn:v,fallbackFormat:S,unresolving:$,postTranslation:x,processor:T,warnHtmlMessage:b,escapeParameter:p,messageCompiler:g,messageResolver:y,localeFallbacker:k,fallbackContext:E,onWarn:t,__meta:W};return ne.datetimeFormats=l,ne.numberFormats=i,ne.__datetimeFormatters=F,ne.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&_m(ne,o,W),ne}const Za=e=>({[e]:Xe()});function Qa(e,t,o,n,r){const{missing:a,onWarn:s}=e;if(a!==null){const l=a(e,o,t,r);return pe(l)?l:t}else return t}function Jn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Fm(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Rm(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nMm(o,e)}function Mm(e,t){const o=Yh(t);if(o==null)throw Yn(0);if(Ya(o)===1){const a=Xh(o);return e.plural(a.reduce((s,l)=>[...s,bc(e,l)],[]))}else return bc(e,o)}function bc(e,t){const o=Jh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Zh(t).reduce((r,a)=>[...r,ts(e,a)],[]);return e.normalize(n)}}function ts(e,t){const o=Ya(t);switch(o){case 3:return Wr(t,o);case 9:return Wr(t,o);case 4:{const n=t;if(Gt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Gt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Yn(o)}case 5:{const n=t;if(Gt(n,"i")&&st(n.i))return e.interpolate(e.list(n.i));if(Gt(n,"index")&&st(n.index))return e.interpolate(e.list(n.index));throw Yn(o)}case 6:{const n=t,r=Qh(n),a=em(n);return e.linked(ts(e,a),r?ts(e,r):void 0,e.type)}case 7:return Wr(t,o);case 8:return Wr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const _c=e=>e;let gn=Xe();function yc(e,t={}){let o=!1;const n=t.onError||$h;return t.onError=r=>{o=!0,n(r)},{...Wh(e,t),detectError:o}}const Om=(e,t)=>{if(!pe(e))throw ao(Ht.NOT_SUPPORT_NON_STRING_MESSAGE);{Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||_c)(e),r=gn[n];if(r)return r;const{code:a,detectError:s}=yc(e,t),l=new Function(`return ${a}`)();return s?l:gn[n]=l}};function Dm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&pe(e)){Be(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||_c)(e),r=gn[n];if(r)return r;const{ast:a,detectError:s}=yc(e,{...t,location:!1,jit:!0}),l=es(a);return s?l:gn[n]=l}else{const o=e.cacheKey;if(o){const n=gn[o];return n||(gn[o]=es(e))}else return es(e)}}const vc=()=>"",Ft=e=>et(e);function xc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:a,fallbackLocale:s,messages:l}=e,[i,c]=os(...t),u=Be(c.missingWarn)?c.missingWarn:e.missingWarn,h=Be(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Be(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,S=pe(c.default)||Be(c.default)?Be(c.default)?a?i:()=>i:c.default:o?a?i:()=>i:"",$=o||S!=="",x=Xa(e,c);m&&jm(c);let[T,b,p]=v?[i,x,l[x]||Xe()]:wc(e,i,x,s,h,u),g=T,y=i;if(!v&&!(pe(g)||ro(g)||Ft(g))&&$&&(g=S,y=g),!v&&(!(pe(g)||ro(g)||Ft(g))||!pe(b)))return r?Kr:i;let k=!1;const E=()=>{k=!0},M=Ft(g)?g:kc(e,i,b,g,y,E);if(k)return g;const F=Bm(e,b,p,c),V=mm(F),W=zm(e,M,V);let ne=n?n(W,i):W;if(m&&pe(ne)&&(ne=ph(ne)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:pe(i)?i:Ft(g)?g.key:"",locale:b||(Ft(g)?g.locale:""),format:pe(g)?g:Ft(g)?g.source:"",message:ne};me.meta=gt({},e.__meta,Pm()||{}),ym(me)}return ne}function jm(e){ot(e.list)?e.list=e.list.map(t=>pe(t)?Ri(t):t):We(e.named)&&Object.keys(e.named).forEach(t=>{pe(e.named[t])&&(e.named[t]=Ri(e.named[t]))})}function wc(e,t,o,n,r,a){const{messages:s,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let h=Xe(),m,v=null;const S="translate";for(let $=0;$n;return c.locale=o,c.key=t,c}const i=s(n,Um(e,o,r,n,l,a));return i.locale=o,i.key=t,i.source=n,i}function zm(e,t,o){return t(o)}function os(...e){const[t,o,n]=e,r=Xe();if(!pe(t)&&!st(t)&&!Ft(t)&&!ro(t))throw ao(Ht.INVALID_ARGUMENT);const a=st(t)?String(t):(Ft(t),t);return st(o)?r.plural=o:pe(o)?r.default=o:Fe(o)&&!Br(o)?r.named=o:ot(o)&&(r.list=o),st(n)?r.plural=n:pe(n)?r.default=n:Fe(n)&>(r,n),[a,r]}function Um(e,t,o,n,r,a){return{locale:t,key:o,warnHtmlMessage:r,onError:s=>{throw a&&a(s),s},onCacheKey:s=>ch(t,o,s)}}function Bm(e,t,o,n){const{modifiers:r,pluralRules:a,messageResolver:s,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:a,messages:v=>{let S=s(o,v);if(S==null&&u){const[,,$]=wc(u,v,t,l,i,c);S=s($,v)}if(pe(S)||ro(S)){let $=!1;const T=kc(e,v,t,S,v,()=>{$=!0});return $?vc:T}else return Ft(S)?S:vc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),st(n.plural)&&(m.pluralIndex=n.plural),m}function $c(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:s}=e,{__datetimeFormatters:l}=e,[i,c,u,h]=ns(...t),m=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,S=Xa(e,u),$=s(e,r,S);if(!pe(i)||i==="")return new Intl.DateTimeFormat(S,h).format(c);let x={},T,b=null;const p="datetime format";for(let k=0;k<$.length&&(T=$[k],x=o[T]||{},b=x[i],!Fe(b));k++)Qa(e,i,T,m,p);if(!Fe(b)||!pe(T))return n?Kr:i;let g=`${T}__${i}`;Br(h)||(g=`${g}__${JSON.stringify(h)}`);let y=l.get(g);return y||(y=new Intl.DateTimeFormat(T,gt({},b,h)),l.set(g,y)),v?y.formatToParts(c):y.format(c)}const Sc=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function ns(...e){const[t,o,n,r]=e,a=Xe();let s=Xe(),l;if(pe(t)){const i=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!i)throw ao(Ht.INVALID_ISO_DATE_ARGUMENT);const c=i[3]?i[3].trim().startsWith("T")?`${i[1].trim()}${i[3].trim()}`:`${i[1].trim()}T${i[3].trim()}`:i[1].trim();l=new Date(c);try{l.toISOString()}catch{throw ao(Ht.INVALID_ISO_DATE_ARGUMENT)}}else if(dh(t)){if(isNaN(t.getTime()))throw ao(Ht.INVALID_DATE_ARGUMENT);l=t}else if(st(t))l=t;else throw ao(Ht.INVALID_ARGUMENT);return pe(o)?a.key=o:Fe(o)&&Object.keys(o).forEach(i=>{Sc.includes(i)?s[i]=o[i]:a[i]=o[i]}),pe(n)?a.locale=n:Fe(n)&&(s=n),Fe(r)&&(s=r),[a.key||"",l,a,s]}function Ec(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__datetimeFormatters.has(a)&&n.__datetimeFormatters.delete(a)}}function Ac(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:a,localeFallbacker:s}=e,{__numberFormatters:l}=e,[i,c,u,h]=rs(...t),m=Be(u.missingWarn)?u.missingWarn:e.missingWarn;Be(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,S=Xa(e,u),$=s(e,r,S);if(!pe(i)||i==="")return new Intl.NumberFormat(S,h).format(c);let x={},T,b=null;const p="number format";for(let k=0;k<$.length&&(T=$[k],x=o[T]||{},b=x[i],!Fe(b));k++)Qa(e,i,T,m,p);if(!Fe(b)||!pe(T))return n?Kr:i;let g=`${T}__${i}`;Br(h)||(g=`${g}__${JSON.stringify(h)}`);let y=l.get(g);return y||(y=new Intl.NumberFormat(T,gt({},b,h)),l.set(g,y)),v?y.formatToParts(c):y.format(c)}const Cc=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function rs(...e){const[t,o,n,r]=e,a=Xe();let s=Xe();if(!st(t))throw ao(Ht.INVALID_ARGUMENT);const l=t;return pe(o)?a.key=o:Fe(o)&&Object.keys(o).forEach(i=>{Cc.includes(i)?s[i]=o[i]:a[i]=o[i]}),pe(n)?a.locale=n:Fe(n)&&(s=n),Fe(r)&&(s=r),[a.key||"",l,a,s]}function Tc(e,t,o){const n=e;for(const r in o){const a=`${t}__${r}`;n.__numberFormatters.has(a)&&n.__numberFormatters.delete(a)}}Kh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const qm="9.14.5";function Hm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(bo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(bo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(bo().__INTLIFY_PROD_DEVTOOLS__=!1)}const Vm=km.__EXTEND_POINT__,yo=Gr(Vm);yo(),yo(),yo(),yo(),yo(),yo(),yo(),yo(),yo();const Pc=Ht.__EXTEND_POINT__,At=Gr(Pc),ct={UNEXPECTED_RETURN_TYPE:Pc,INVALID_ARGUMENT:At(),MUST_BE_CALL_SETUP_TOP:At(),NOT_INSTALLED:At(),NOT_AVAILABLE_IN_LEGACY_MODE:At(),REQUIRED_VALUE:At(),INVALID_VALUE:At(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:At(),NOT_INSTALLED_WITH_PROVIDE:At(),UNEXPECTED_ERROR:At(),NOT_COMPATIBLE_LEGACY_VUE_I18N:At(),BRIDGE_SUPPORT_VUE_2_ONLY:At(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:At(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:At(),__EXTEND_POINT__:At()};function dt(e,...t){return un(e,null,void 0)}const as=No("__translateVNode"),ss=No("__datetimeParts"),ls=No("__numberParts"),Nc=No("__setPluralRules"),Ic=No("__injectWithOption"),is=No("__dispose");function Zn(e){if(!We(e)||ro(e))return e;for(const t in e)if(Gt(e,t))if(!t.includes("."))We(e[t])&&Zn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let s=0;s{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(s[i]=s[i]||Xe(),Hr(c,s[i])):Hr(c,s)}else pe(l)&&Hr(JSON.parse(l),s)}),r==null&&a)for(const l in s)Gt(s,l)&&Zn(s[l]);return s}function Fc(e){return e.type}function Rc(e,t,o){let n=We(t.messages)?t.messages:Xe();"__i18nGlobal"in o&&(n=Yr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(We(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(We(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Mc(e){return ze(zn,null,e,0)}const Oc="__INTLIFY_META__",Dc=()=>[],Wm=()=>!1;let jc=0;function zc(e){return(t,o,n,r)=>e(o,n,Po()||void 0,r)}const Km=()=>{const e=Po();let t=null;return e&&(t=Fc(e)[Oc])?{[Oc]:t}:null};function cs(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,s=Ur?ie:Pn,l=!!e.translateExistCompatible;let i=Be(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&i?o.locale.value:pe(e.locale)?e.locale:pn),u=s(o&&i?o.fallbackLocale.value:pe(e.fallbackLocale)||ot(e.fallbackLocale)||Fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=s(Yr(c.value,e)),m=s(Fe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=s(Fe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Be(e.missingWarn)||Io(e.missingWarn)?e.missingWarn:!0,$=o?o.fallbackWarn:Be(e.fallbackWarn)||Io(e.fallbackWarn)?e.fallbackWarn:!0,x=o?o.fallbackRoot:Be(e.fallbackRoot)?e.fallbackRoot:!0,T=!!e.fallbackFormat,b=et(e.missing)?e.missing:null,p=et(e.missing)?zc(e.missing):null,g=et(e.postTranslation)?e.postTranslation:null,y=o?o.warnHtmlMessage:Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const E=o?o.modifiers:Fe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,F;F=(()=>{r&&mc(null);const C={version:qm,locale:c.value,fallbackLocale:u.value,messages:h.value,modifiers:E,pluralRules:M,missing:p===null?void 0:p,missingWarn:S,fallbackWarn:$,fallbackFormat:T,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:y,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};C.datetimeFormats=m.value,C.numberFormats=v.value,C.__datetimeFormatters=Fe(F)?F.__datetimeFormatters:void 0,C.__numberFormatters=Fe(F)?F.__numberFormatters:void 0;const G=Fm(C);return r&&mc(G),G})(),Jn(F,c.value,u.value);function W(){return[c.value,u.value,h.value,m.value,v.value]}const ne=se({get:()=>c.value,set:C=>{c.value=C,F.locale=c.value}}),me=se({get:()=>u.value,set:C=>{u.value=C,F.fallbackLocale=u.value,Jn(F,c.value,C)}}),j=se(()=>h.value),ee=se(()=>m.value),K=se(()=>v.value);function B(){return et(g)?g:null}function N(C){g=C,F.postTranslation=C}function z(){return b}function D(C){C!==null&&(p=zc(C)),b=C,F.missing=p}const P=(C,G,he,we,Ne,qe)=>{W();let He;try{__INTLIFY_PROD_DEVTOOLS__,r||(F.fallbackContext=o?Im():void 0),He=C(F)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(F.fallbackContext=void 0)}if(he!=="translate exists"&&st(He)&&He===Kr||he==="translate exists"&&!He){const[rt,Rt]=G();return o&&x?we(o):Ne(rt)}else{if(qe(He))return He;throw dt(ct.UNEXPECTED_RETURN_TYPE)}};function q(...C){return P(G=>Reflect.apply(wc,null,[G,...C]),()=>os(...C),"translate",G=>Reflect.apply(G.t,G,[...C]),G=>G,G=>pe(G))}function re(...C){const[G,he,we]=C;if(we&&!We(we))throw dt(ct.INVALID_ARGUMENT);return q(G,he,gt({resolvedMessage:!0},we||{}))}function be(...C){return P(G=>Reflect.apply(Sc,null,[G,...C]),()=>ns(...C),"datetime format",G=>Reflect.apply(G.d,G,[...C]),()=>ic,G=>pe(G))}function Ee(...C){return P(G=>Reflect.apply(Cc,null,[G,...C]),()=>rs(...C),"number format",G=>Reflect.apply(G.n,G,[...C]),()=>ic,G=>pe(G))}function Ae(C){return C.map(G=>pe(G)||st(G)||Be(G)?Mc(String(G)):G)}const xe={normalize:Ae,interpolate:C=>C,type:"vnode"};function _e(...C){return P(G=>{let he;const we=G;try{we.processor=xe,he=Reflect.apply(wc,null,[we,...C])}finally{we.processor=null}return he},()=>os(...C),"translate",G=>G[as](...C),G=>[Mc(G)],G=>ot(G))}function ye(...C){return P(G=>Reflect.apply(Cc,null,[G,...C]),()=>rs(...C),"number format",G=>G[ls](...C),Dc,G=>pe(G)||ot(G))}function ve(...C){return P(G=>Reflect.apply(Sc,null,[G,...C]),()=>ns(...C),"datetime format",G=>G[ss](...C),Dc,G=>pe(G)||ot(G))}function _(C){M=C,F.pluralRules=M}function A(C,G){return P(()=>{if(!C)return!1;const he=pe(G)?G:c.value,we=Z(he),Ne=F.messageResolver(we,C);return l?Ne!=null:ro(Ne)||Ft(Ne)||pe(Ne)},()=>[C],"translate exists",he=>Reflect.apply(he.te,he,[C,G]),Wm,he=>Be(he))}function w(C){let G=null;const he=sc(F,u.value,c.value);for(let we=0;we{i&&(c.value=C,F.locale=C,Jn(F,c.value,u.value))}),pt(o.fallbackLocale,C=>{i&&(u.value=C,F.fallbackLocale=C,Jn(F,c.value,u.value))}));const oe={id:jc,locale:ne,fallbackLocale:me,get inheritLocale(){return i},set inheritLocale(C){i=C,C&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Jn(F,c.value,u.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:j,get modifiers(){return E},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(C){S=C,F.missingWarn=S},get fallbackWarn(){return $},set fallbackWarn(C){$=C,F.fallbackWarn=$},get fallbackRoot(){return x},set fallbackRoot(C){x=C},get fallbackFormat(){return T},set fallbackFormat(C){T=C,F.fallbackFormat=T},get warnHtmlMessage(){return y},set warnHtmlMessage(C){y=C,F.warnHtmlMessage=C},get escapeParameter(){return k},set escapeParameter(C){k=C,F.escapeParameter=C},t:q,getLocaleMessage:Z,setLocaleMessage:Q,mergeLocaleMessage:le,getPostTranslationHandler:B,setPostTranslationHandler:N,getMissingHandler:z,setMissingHandler:D,[Nc]:_};return oe.datetimeFormats=ee,oe.numberFormats=K,oe.rt=re,oe.te=A,oe.tm=U,oe.d=be,oe.n=Ee,oe.getDateTimeFormat=te,oe.setDateTimeFormat=d,oe.mergeDateTimeFormat=f,oe.getNumberFormat=L,oe.setNumberFormat=O,oe.mergeNumberFormat=ae,oe[Ic]=n,oe[as]=_e,oe[ss]=ve,oe[ls]=ye,oe}function Ym(e){const t=pe(e.locale)?e.locale:pn,o=pe(e.fallbackLocale)||ot(e.fallbackLocale)||Fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=et(e.missing)?e.missing:void 0,r=Be(e.silentTranslationWarn)||Io(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=Be(e.silentFallbackWarn)||Io(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Be(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Fe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=et(e.postTranslation)?e.postTranslation:void 0,h=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=Be(e.sync)?e.sync:!0;let S=e.messages;if(Fe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,F)=>{const V=M[F]||(M[F]={});return gt(V,k[F]),M},S||{})}const{__i18n:$,__root:x,__injectWithOption:T}=e,b=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:g,datetimeFormats:b,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:s,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:h,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:y,__i18n:$,__root:x,__injectWithOption:T}}function us(e={},t){{const o=cs(Ym(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},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(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return Be(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=Be(a)?!a:a},get silentFallbackWarn(){return Be(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=Be(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[s,l,i]=a,c={};let u=null,h=null;if(!pe(s))throw dt(ct.INVALID_ARGUMENT);const m=s;return pe(l)?c.locale=l:ot(l)?u=l:Fe(l)&&(h=l),ot(i)?u=i:Fe(i)&&(h=i),Reflect.apply(o.t,o,[m,u||h||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[s,l,i]=a,c={plural:1};let u=null,h=null;if(!pe(s))throw dt(ct.INVALID_ARGUMENT);const m=s;return pe(l)?c.locale=l:st(l)?c.plural=l:ot(l)?u=l:Fe(l)&&(h=l),pe(i)?c.locale=i:ot(i)?u=i:Fe(i)&&(h=i),Reflect.apply(o.t,o,[m,u||h||{},c])},te(a,s){return o.te(a,s)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,s){o.setLocaleMessage(a,s)},mergeLocaleMessage(a,s){o.mergeLocaleMessage(a,s)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,s){o.setDateTimeFormat(a,s)},mergeDateTimeFormat(a,s){o.mergeDateTimeFormat(a,s)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,s){o.setNumberFormat(a,s)},mergeNumberFormat(a,s){o.mergeNumberFormat(a,s)},getChoiceIndex(a,s){return-1}};return r.__extender=n,r}}const ds={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Xm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ce?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Xe())}function Uc(e){return Ce}const Bc=Mn({name:"i18n-t",props:gt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},ds),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||hn({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(h=>h!=="_"),s=Xe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const l=Xm(t,a),i=r[as](e.keypath,l,s),c=gt(Xe(),n),u=pe(e.tag)||We(e.tag)?e.tag:Uc();return bi(u,c,i)}}});function Jm(e){return ot(e)&&!pe(e[0])}function Gc(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const s={part:!0};let l=Xe();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:We(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?gt(Xe(),m,{[v]:e.format[v]}):m,Xe()));const i=n(e.value,s,l);let c=[s.key];ot(i)?c=i.map((m,v)=>{const S=r[m.type],$=S?S({[m.type]:m.value,index:v,parts:i}):[m.value];return Jm($)&&($[0].key=`${m.type}-${v}`),$}):pe(i)&&(c=[i]);const u=gt(Xe(),a),h=pe(e.tag)||We(e.tag)?e.tag:Uc();return bi(h,u,c)}}const qc=Mn({name:"i18n-n",props:gt({value:{type:Number,required:!0},format:{type:[String,Object]}},ds),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return Gc(e,t,Tc,(...n)=>o[ls](...n))}}),Hc=Mn({name:"i18n-d",props:gt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ds),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return Gc(e,t,Ec,(...n)=>o[ss](...n))}});function Zm(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 Qm(e){const t=s=>{const{instance:l,modifiers:i,value:c}=s;if(!l||!l.$)throw dt(ct.UNEXPECTED_ERROR);const u=Zm(e,l.$),h=Vc(c);return[Reflect.apply(u.t,u,[...Wc(h)]),u]};return{created:(s,l)=>{const[i,c]=t(l);Ur&&e.global===c&&(s.__i18nWatcher=pt(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),s.__composer=c,s.textContent=i},unmounted:s=>{Ur&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:l})=>{if(s.__composer){const i=s.__composer,c=Vc(l);s.textContent=Reflect.apply(i.t,i,[...Wc(c)])}},getSSRProps:s=>{const[l]=t(s);return{textContent:l}}}}function Vc(e){if(pe(e))return{path:e};if(Fe(e)){if(!("path"in e))throw dt(ct.REQUIRED_VALUE,"path");return e}else throw dt(ct.INVALID_VALUE)}function Wc(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,s={},l=n||{};return pe(o)&&(s.locale=o),st(r)&&(s.plural=r),st(a)&&(s.plural=a),[t,l,s]}function eb(e,t,...o){const n=Fe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Be(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Bc.name,"I18nT"].forEach(s=>e.component(s,Bc)),[qc.name,"I18nN"].forEach(s=>e.component(s,qc)),[Hc.name,"I18nD"].forEach(s=>e.component(s,Hc))),e.directive("t",Qm(t))}function tb(e,t,o){return{beforeCreate(){const n=Po();if(!n)throw dt(ct.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=Kc(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=us(a);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Kc(e,r);else{this.$i18n=us({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Rc(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,s)=>this.$i18n.te(a,s),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Po();if(!n)throw dt(ct.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 Kc(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[Nc](t.pluralizationRules||e.pluralizationRules);const o=Yr(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 ob=No("global-vue-i18n");function nb(e={},t){const o=__VUE_I18N_LEGACY_API__&&Be(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Be(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[s,l]=rb(e,o),i=No("");function c(m){return a.get(m)||null}function u(m,v){a.set(m,v)}function h(m){a.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...S){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Fe(S[0])){const T=S[0];m.__composerExtend=T.__composerExtend,m.__vueI18nExtend=T.__vueI18nExtend}let $=null;!o&&n&&($=pb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&eb(v,m,...S),__VUE_I18N_LEGACY_API__&&o&&v.mixin(tb(l,l.__composer,m));const x=v.unmount;v.unmount=()=>{$&&$(),m.dispose(),x()}},get global(){return l},dispose(){s.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:h};return m}}function hn(e={}){const t=Po();if(t==null)throw dt(ct.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw dt(ct.NOT_INSTALLED);const o=ab(t),n=lb(o),r=Fc(t),a=sb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw dt(ct.NOT_AVAILABLE_IN_LEGACY_MODE);return db(t,a,n,e)}if(a==="global")return Rc(n,e,r),n;if(a==="parent"){let i=ib(o,t,e.__useComponent);return i==null&&(i=n),i}const s=o;let l=s.__getInstance(t);if(l==null){const i=gt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=cs(i),s.__composerExtend&&(l[is]=s.__composerExtend(l)),ub(s,t,l),s.__setInstance(t,l)}return l}function rb(e,t,o){const n=Qs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>us(e)):n.run(()=>cs(e));if(r==null)throw dt(ct.UNEXPECTED_ERROR);return[n,r]}}function ab(e){{const t=De(e.isCE?ob:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw dt(e.isCE?ct.NOT_INSTALLED_WITH_PROVIDE:ct.UNEXPECTED_ERROR);return t}}function sb(e,t){return Br(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function lb(e){return e.mode==="composition"?e.global:e.global.__composer}function ib(e,t,o=!1){let n=null;const r=t.root;let a=cb(t,o);for(;a!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const l=s.__getInstance(a);l!=null&&(n=l.__composer,o&&n&&!n[Ic]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function cb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ub(e,t,o){_t(()=>{},t),La(()=>{const n=o;e.__deleteInstance(t);const r=n[is];r&&(r(),delete n[is])},t)}function db(e,t,o,n={}){const r=t==="local",a=Pn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw dt(ct.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Be(n.inheritLocale)?n.inheritLocale:!pe(n.locale),l=ie(!r||s?o.locale.value:pe(n.locale)?n.locale:pn),i=ie(!r||s?o.fallbackLocale.value:pe(n.fallbackLocale)||ot(n.fallbackLocale)||Fe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ie(Yr(l.value,n)),u=ie(Fe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),h=ie(Fe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:Be(n.missingWarn)||Io(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:Be(n.fallbackWarn)||Io(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Be(n.fallbackRoot)?n.fallbackRoot:!0,$=!!n.fallbackFormat,x=et(n.missing)?n.missing:null,T=et(n.postTranslation)?n.postTranslation:null,b=r?o.warnHtmlMessage:Be(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Fe(n.modifiers)?n.modifiers:{},y=n.pluralRules||r&&o.pluralRules;function k(){return[l.value,i.value,c.value,u.value,h.value]}const E=se({get:()=>a.value?a.value.locale.value:l.value,set:w=>{a.value&&(a.value.locale.value=w),l.value=w}}),M=se({get:()=>a.value?a.value.fallbackLocale.value:i.value,set:w=>{a.value&&(a.value.fallbackLocale.value=w),i.value=w}}),F=se(()=>a.value?a.value.messages.value:c.value),V=se(()=>u.value),W=se(()=>h.value);function ne(){return a.value?a.value.getPostTranslationHandler():T}function me(w){a.value&&a.value.setPostTranslationHandler(w)}function j(){return a.value?a.value.getMissingHandler():x}function ee(w){a.value&&a.value.setMissingHandler(w)}function K(w){return k(),w()}function B(...w){return a.value?K(()=>Reflect.apply(a.value.t,null,[...w])):K(()=>"")}function N(...w){return a.value?Reflect.apply(a.value.rt,null,[...w]):""}function z(...w){return a.value?K(()=>Reflect.apply(a.value.d,null,[...w])):K(()=>"")}function D(...w){return a.value?K(()=>Reflect.apply(a.value.n,null,[...w])):K(()=>"")}function P(w){return a.value?a.value.tm(w):{}}function q(w,U){return a.value?a.value.te(w,U):!1}function re(w){return a.value?a.value.getLocaleMessage(w):{}}function be(w,U){a.value&&(a.value.setLocaleMessage(w,U),c.value[w]=U)}function Ee(w,U){a.value&&a.value.mergeLocaleMessage(w,U)}function Ae(w){return a.value?a.value.getDateTimeFormat(w):{}}function Le(w,U){a.value&&(a.value.setDateTimeFormat(w,U),u.value[w]=U)}function xe(w,U){a.value&&a.value.mergeDateTimeFormat(w,U)}function _e(w){return a.value?a.value.getNumberFormat(w):{}}function ye(w,U){a.value&&(a.value.setNumberFormat(w,U),h.value[w]=U)}function ve(w,U){a.value&&a.value.mergeNumberFormat(w,U)}const _={get id(){return a.value?a.value.id:-1},locale:E,fallbackLocale:M,messages:F,datetimeFormats:V,numberFormats:W,get inheritLocale(){return a.value?a.value.inheritLocale:s},set inheritLocale(w){a.value&&(a.value.inheritLocale=w)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:g},get pluralRules(){return a.value?a.value.pluralRules:y},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:m},set missingWarn(w){a.value&&(a.value.missingWarn=w)},get fallbackWarn(){return a.value?a.value.fallbackWarn:v},set fallbackWarn(w){a.value&&(a.value.missingWarn=w)},get fallbackRoot(){return a.value?a.value.fallbackRoot:S},set fallbackRoot(w){a.value&&(a.value.fallbackRoot=w)},get fallbackFormat(){return a.value?a.value.fallbackFormat:$},set fallbackFormat(w){a.value&&(a.value.fallbackFormat=w)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:b},set warnHtmlMessage(w){a.value&&(a.value.warnHtmlMessage=w)},get escapeParameter(){return a.value?a.value.escapeParameter:p},set escapeParameter(w){a.value&&(a.value.escapeParameter=w)},t:B,getPostTranslationHandler:ne,setPostTranslationHandler:me,getMissingHandler:j,setMissingHandler:ee,rt:N,d:z,n:D,tm:P,te:q,getLocaleMessage:re,setLocaleMessage:be,mergeLocaleMessage:Ee,getDateTimeFormat:Ae,setDateTimeFormat:Le,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ye,mergeNumberFormat:ve};function A(w){w.locale.value=l.value,w.fallbackLocale.value=i.value,Object.keys(c.value).forEach(U=>{w.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{w.mergeDateTimeFormat(U,u.value[U])}),Object.keys(h.value).forEach(U=>{w.mergeNumberFormat(U,h.value[U])}),w.escapeParameter=p,w.fallbackFormat=$,w.fallbackRoot=S,w.fallbackWarn=v,w.missingWarn=m,w.warnHtmlMessage=b}return Dl(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw dt(ct.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const w=a.value=e.proxy.$i18n.__composer;t==="global"?(l.value=w.locale.value,i.value=w.fallbackLocale.value,c.value=w.messages.value,u.value=w.datetimeFormats.value,h.value=w.numberFormats.value):r&&A(w)}),_}const fb=["locale","fallbackLocale","availableLocales"],Yc=["t","rt","d","n","tm","te"];function pb(e,t){const o=Object.create(null);return fb.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw dt(ct.UNEXPECTED_ERROR);const s=ut(a.value)?{get(){return a.value.value},set(l){a.value.value=l}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,s)}),e.config.globalProperties.$i18n=o,Yc.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw dt(ct.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,Yc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(Hm(),__INTLIFY_JIT_COMPILATION__?dc(jm):dc(Dm),Tm(cm),Lm(sc),__INTLIFY_PROD_DEVTOOLS__){const e=bo();e.__INTLIFY__=!0,_m(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const gb=Object.assign({"./locales/ar/aria.json":vp,"./locales/ar/buttons.json":xp,"./locales/ar/detail.json":wp,"./locales/ar/legend.json":kp,"./locales/ar/messages.json":$p,"./locales/ar/options.json":Sp,"./locales/ar/prayerLaps.json":Ep,"./locales/ar/search.json":Ap,"./locales/ar/tabs.json":Cp,"./locales/de/aria.json":Tp,"./locales/de/buttons.json":Lp,"./locales/de/detail.json":Pp,"./locales/de/legend.json":Np,"./locales/de/messages.json":Ip,"./locales/de/options.json":Fp,"./locales/de/prayerLaps.json":Rp,"./locales/de/search.json":Mp,"./locales/de/tabs.json":Op,"./locales/en/aria.json":Dp,"./locales/en/buttons.json":jp,"./locales/en/detail.json":zp,"./locales/en/legend.json":Up,"./locales/en/messages.json":Bp,"./locales/en/options.json":Gp,"./locales/en/popup.json":qp,"./locales/en/prayerLaps.json":Hp,"./locales/en/search.json":Vp,"./locales/en/tabs.json":Wp,"./locales/es/aria.json":Kp,"./locales/es/buttons.json":Yp,"./locales/es/detail.json":Xp,"./locales/es/legend.json":Jp,"./locales/es/messages.json":Zp,"./locales/es/options.json":Qp,"./locales/es/prayerLaps.json":eg,"./locales/es/search.json":tg,"./locales/es/tabs.json":og,"./locales/fr/aria.json":ng,"./locales/fr/buttons.json":rg,"./locales/fr/detail.json":ag,"./locales/fr/legend.json":sg,"./locales/fr/messages.json":lg,"./locales/fr/options.json":ig,"./locales/fr/popup.json":cg,"./locales/fr/prayerLaps.json":ug,"./locales/fr/search.json":dg,"./locales/fr/tabs.json":fg,"./locales/hi/aria.json":pg,"./locales/hi/buttons.json":gg,"./locales/hi/detail.json":hg,"./locales/hi/legend.json":mg,"./locales/hi/messages.json":bg,"./locales/hi/options.json":_g,"./locales/hi/prayerLaps.json":yg,"./locales/hi/search.json":vg,"./locales/it/aria.json":xg,"./locales/it/buttons.json":wg,"./locales/it/detail.json":kg,"./locales/it/legend.json":$g,"./locales/it/messages.json":Sg,"./locales/it/options.json":Eg,"./locales/it/prayerLaps.json":Ag,"./locales/it/search.json":Cg,"./locales/pt/aria.json":Tg,"./locales/pt/buttons.json":Lg,"./locales/pt/detail.json":Pg,"./locales/pt/legend.json":Ng,"./locales/pt/messages.json":Ig,"./locales/pt/options.json":Fg,"./locales/pt/prayerLaps.json":Rg,"./locales/pt/search.json":Mg,"./locales/pt/tabs.json":Og,"./locales/ro/aria.json":Dg,"./locales/ro/buttons.json":jg,"./locales/ro/detail.json":zg,"./locales/ro/legend.json":Ug,"./locales/ro/messages.json":Bg,"./locales/ro/options.json":Gg,"./locales/ro/prayerLaps.json":qg,"./locales/ro/search.json":Hg,"./locales/ru/aria.json":Vg,"./locales/ru/buttons.json":Wg,"./locales/ru/detail.json":Kg,"./locales/ru/legend.json":Yg,"./locales/ru/messages.json":Xg,"./locales/ru/options.json":Jg,"./locales/ru/prayerLaps.json":Zg,"./locales/ru/search.json":Qg,"./locales/ru/tabs.json":eh,"./locales/zh/aria.json":th,"./locales/zh/buttons.json":oh,"./locales/zh/detail.json":nh,"./locales/zh/legend.json":rh,"./locales/zh/messages.json":ah,"./locales/zh/options.json":sh,"./locales/zh/prayerLaps.json":lh,"./locales/zh/search.json":ih}),Qn={};for(const[e,t]of Object.entries(gb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Qn[n]??(Qn[n]={}),Qn[n][r]=t}const hb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function mb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return hb.includes(t)?t:"en"}function bb(){return nb({legacy:!1,globalInjection:!0,locale:mb(),fallbackLocale:"en",messages:Qn,missingWarn:!1,fallbackWarn:!1})}const Xc="adoptionStatus",vo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},_b=vo,fs={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},yb=fs;function Jc(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)?vo.hasAdoption:vo.notAdopted}function ps({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],vo.hasAdoption,["==",t,1],vo.hasAdoption,vo.notAdopted]}const Zc=ps,vb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:_b,ADOPTION_LABELS:yb,LABELS:fs,PALETTE:vo,PROPERTY_KEY:Xc,applyColor:ps,buildColorExpression:Zc,default:{name:"Adoption Progress",propertyKey:Xc,palette:vo,colors:vo,labels:fs,getColor:Jc,applyColor:ps,buildColorExpression:Zc},getColor:Jc},Symbol.toStringTag,{value:"Module"})),Qc="engagementStatus",xo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},xb=xo,gs={notEngaged:"Unengaged",hasEngagement:"Engaged"},wb=gs;function eu(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)?xo.hasEngagement:xo.notEngaged}function hs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xo.hasEngagement,["==",t,1],xo.hasEngagement,xo.notEngaged]}const tu=hs,kb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:xb,ENGAGEMENT_LABELS:wb,LABELS:gs,PALETTE:xo,PROPERTY_KEY:Qc,applyColor:hs,buildColorExpression:tu,default:{name:"Engagement Progress",propertyKey:Qc,palette:xo,colors:xo,labels:gs,getColor:eu,applyColor:hs,buildColorExpression:tu},getColor:eu},Symbol.toStringTag,{value:"Module"})),ms="languageFamily",$b="#000000",wo={"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"},Sb=wo;function bs(e){return wo[e]||$b}const Eb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(wo))t[e(o)]=o;return t})(),Ab={"tai-kadai":"Kra-Dai",none:"Unknown"};function mn(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return Ab[o]||Eb[o]||t}function ou(e){var t;return bs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function _s(){const e=["match",["get",ms]];return Object.entries(wo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const nu=_s,Cb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Sb,PALETTE:wo,PROPERTY_KEY:ms,applyColor:_s,buildColorExpression:nu,canonicalFamilyName:mn,default:{name:"Language Family",propertyKey:ms,palette:wo,colors:wo,getColor:ou,applyColor:_s,buildColorExpression:nu,getLanguageFamilyColor:bs,canonicalFamilyName:mn},defaultFamilyColor:"#95a5a6",getColor:ou,getLanguageFamilyColor:bs,languageFamilyColors:wo},Symbol.toStringTag,{value:"Module"})),ru="peoplePraying",Xr=144,Oo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Tb=Oo,er={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Lb=er;function bn(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>=Xr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function ys(e){return Oo[bn(e)]}function au(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 su(e){return bn(e)==="fullPrayer"}function lu(e){return ys(e)}function Jr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Xr],Oo.fullPrayer,[">",t,0],Oo.hasPrayer,Oo.noPrayer]}const iu=Jr,Pb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Xr,LABELS:er,PALETTE:Oo,PRAYER_COLORS:Tb,PRAYER_LABELS:Lb,PROPERTY_KEY:ru,applyColor:Jr,buildColorExpression:iu,checkHasFullPrayer:su,checkHasPrayer:au,default:{name:"Prayer Progress",propertyKey:ru,palette:Oo,colors:Oo,labels:er,threshold:Xr,getColor:lu,applyColor:Jr,buildColorExpression:iu,getPrayerLevel:bn,getPrayerColor:ys,checkHasPrayer:au,checkHasFullPrayer:su},getColor:lu,getPrayerColor:ys,getPrayerLevel:bn},Symbol.toStringTag,{value:"Module"})),cu="religion",vs="#94a3b8",ko={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Ct={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function xs(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ko[t]?t:"U"}function uu(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 Ct[xs(t)]||vs}function ws(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Ct.C,"M",Ct.M,"H",Ct.H,"B",Ct.B,"E",Ct.E,"J",Ct.J,"S",Ct.S,"N",Ct.N,"O",Ct.O,vs]}const du=ws,Nb=Object.assign({"./adoption.js":vb,"./engagement.js":kb,"./language-family.js":Cb,"./prayer-progress.js":Pb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ct,PROPERTY_KEY:cu,RELIGION_FAMILIES:ko,applyColor:ws,buildColorExpression:du,default:{name:"Religion",propertyKey:cu,palette:Ct,families:ko,getColor:uu,applyColor:ws,buildColorExpression:du,fallback:vs},getColor:uu,getReligionFamily:xs},Symbol.toStringTag,{value:"Module"}))}),Ib=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Fb=e=>e.replace(/-/g,"_").toUpperCase(),$o={...{STATUS:"status",CUSTOM:"custom"}},ks={};function fu(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=Ib(o);$o[Fb(o)]=r,ks[r]=n}}fu(Nb);function Rb(e){e&&fu(e)}function Zr(e){return ks[e]||ks[$o.LANGUAGE_FAMILY]}const Mb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Ob(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Mb,null,!0),!0}catch{return!1}}const pu="affinityBlock",_n="#95a5a6",yn={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"},$s={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"},vn=$s;Object.entries(yn).reduce((e,[t,o])=>(e[o]=t,e),{});const Db=Object.entries(yn).reduce((e,[t,o])=>(e[o]=vn[t],e),{}),jb=yn;function gu(e){return yn[e]||"Unknown"}function hu(e){return vn[e]||_n}function zb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?vn[e]||_n:Db[e]||_n:_n}function Ub(){return Object.entries(yn).map(([e,t])=>({code:e,name:t,color:vn[e]}))}function Bb(e){return{code:e,name:yn[e]||"Unknown",color:vn[e]||_n}}function Gb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return hu(t)}function qb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return gu(t)}function mu(){const e=["match",["get",pu]];return Object.entries(vn).forEach(([t,o])=>{e.push(t,o)}),e.push(_n),e}const Hb={name:"Affinity Block",propertyKey:pu,palette:$s,colors:$s,names:jb,getColor:Gb,applyColor:mu,buildColorExpression:mu,getName:qb,getAffinityBlockName:gu,getAffinityBlockColor:zb,getAffinityBlockColorByCode:hu,getAffinityBlocksArray:Ub,getAffinityBlockData:Bb};function Vb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Ss),e}const Yb={name:"DOXA Region",propertyKey:bu,palette:yu,colors:yu,slugColors:Es,aliases:xu,fallback:Ss,getColor:Kb,applyColor:wu,buildColorExpression:wu,getRegionColor:Wb,getRegionColorBySlug:vu},Xb=Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("dashboard-plus-grid.js",document.baseURI).href,Do=e=>String(e||"").trim().replace(/\/+$/,"");function As(){try{const t=String(Xb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function ku(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Do(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Do(o)}return Do(As()||"")}function Jb(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Do(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Do((e==null?void 0:e.treeBase)||"")||Do(As()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Do(new URL(o+"/../assets",n).href)}catch{return Do(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Zb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",a=e||(n==null?void 0:n.shareUrl);if(typeof a=="string"&&a.trim())return a.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 r?window.location.origin+s:s;const l=ku(n),i=s.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 Pt(e,t){const o=t||Qb(e);_t(()=>{var l;const n=Po();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot)||a.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,a.appendChild(s)})}function Qb(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},tr={};function t_(e){if(!e||/^(https?:)?\/\//.test(e)||e.startsWith("/"))return e;const t=e.replace(/^(\.\.\/)+/,"").replace(/^\.\//,""),o=/^(.*\/doxa-maps\/)/.exec(window.location.pathname);if(o)return o[1]+t;const n=As();return n?String(n).replace(/\/+$/,"")+"/"+t:e}function o_(e){const t=t_(e);return t?(tr[t]||(tr[t]=new Promise((o,n)=>{const r=document.createElement("script");r.src=t,(/^\/plugin-designs\//.test(t)||/\/index\.js(\?|$)/.test(t))&&(r.type="module"),r.onload=()=>o(),r.onerror=()=>{delete tr[t],n(new Error("failed to load "+t))},document.head.appendChild(r)})),tr[t]):Promise.resolve()}function n_(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 r_=` + */const Gm="9.14.5";function qm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(bo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(bo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(bo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(bo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(bo().__INTLIFY_PROD_DEVTOOLS__=!1)}const Hm=wm.__EXTEND_POINT__,yo=Gr(Hm);yo(),yo(),yo(),yo(),yo(),yo(),yo(),yo(),yo();const Lc=Ht.__EXTEND_POINT__,At=Gr(Lc),ct={UNEXPECTED_RETURN_TYPE:Lc,INVALID_ARGUMENT:At(),MUST_BE_CALL_SETUP_TOP:At(),NOT_INSTALLED:At(),NOT_AVAILABLE_IN_LEGACY_MODE:At(),REQUIRED_VALUE:At(),INVALID_VALUE:At(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:At(),NOT_INSTALLED_WITH_PROVIDE:At(),UNEXPECTED_ERROR:At(),NOT_COMPATIBLE_LEGACY_VUE_I18N:At(),BRIDGE_SUPPORT_VUE_2_ONLY:At(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:At(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:At(),__EXTEND_POINT__:At()};function dt(e,...t){return un(e,null,void 0)}const as=No("__translateVNode"),ss=No("__datetimeParts"),ls=No("__numberParts"),Pc=No("__setPluralRules"),Nc=No("__injectWithOption"),is=No("__dispose");function Zn(e){if(!We(e)||ro(e))return e;for(const t in e)if(Gt(e,t))if(!t.includes("."))We(e[t])&&Zn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,a=!1;for(let s=0;s{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(s[i]=s[i]||Xe(),Hr(c,s[i])):Hr(c,s)}else pe(l)&&Hr(JSON.parse(l),s)}),r==null&&a)for(const l in s)Gt(s,l)&&Zn(s[l]);return s}function Ic(e){return e.type}function Fc(e,t,o){let n=We(t.messages)?t.messages:Xe();"__i18nGlobal"in o&&(n=Yr(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(a=>{e.mergeLocaleMessage(a,n[a])});{if(We(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(We(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Rc(e){return ze(zn,null,e,0)}const Mc="__INTLIFY_META__",Oc=()=>[],Vm=()=>!1;let Dc=0;function jc(e){return(t,o,n,r)=>e(o,n,Po()||void 0,r)}const Wm=()=>{const e=Po();let t=null;return e&&(t=Ic(e)[Mc])?{[Mc]:t}:null};function cs(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,a=e.flatJson,s=Ur?ie:Pn,l=!!e.translateExistCompatible;let i=Be(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&i?o.locale.value:pe(e.locale)?e.locale:pn),u=s(o&&i?o.fallbackLocale.value:pe(e.fallbackLocale)||ot(e.fallbackLocale)||Fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),h=s(Yr(c.value,e)),m=s(Fe(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=s(Fe(e.numberFormats)?e.numberFormats:{[c.value]:{}});let S=o?o.missingWarn:Be(e.missingWarn)||Io(e.missingWarn)?e.missingWarn:!0,$=o?o.fallbackWarn:Be(e.fallbackWarn)||Io(e.fallbackWarn)?e.fallbackWarn:!0,x=o?o.fallbackRoot:Be(e.fallbackRoot)?e.fallbackRoot:!0,T=!!e.fallbackFormat,b=et(e.missing)?e.missing:null,p=et(e.missing)?jc(e.missing):null,g=et(e.postTranslation)?e.postTranslation:null,y=o?o.warnHtmlMessage:Be(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const E=o?o.modifiers:Fe(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,F;F=(()=>{r&&hc(null);const C={version:Gm,locale:c.value,fallbackLocale:u.value,messages:h.value,modifiers:E,pluralRules:M,missing:p===null?void 0:p,missingWarn:S,fallbackWarn:$,fallbackFormat:T,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:y,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};C.datetimeFormats=m.value,C.numberFormats=v.value,C.__datetimeFormatters=Fe(F)?F.__datetimeFormatters:void 0,C.__numberFormatters=Fe(F)?F.__numberFormatters:void 0;const G=Im(C);return r&&hc(G),G})(),Jn(F,c.value,u.value);function W(){return[c.value,u.value,h.value,m.value,v.value]}const ne=se({get:()=>c.value,set:C=>{c.value=C,F.locale=c.value}}),me=se({get:()=>u.value,set:C=>{u.value=C,F.fallbackLocale=u.value,Jn(F,c.value,C)}}),j=se(()=>h.value),ee=se(()=>m.value),K=se(()=>v.value);function B(){return et(g)?g:null}function N(C){g=C,F.postTranslation=C}function z(){return b}function D(C){C!==null&&(p=jc(C)),b=C,F.missing=p}const P=(C,G,he,we,Ne,qe)=>{W();let He;try{__INTLIFY_PROD_DEVTOOLS__,r||(F.fallbackContext=o?Nm():void 0),He=C(F)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(F.fallbackContext=void 0)}if(he!=="translate exists"&&st(He)&&He===Kr||he==="translate exists"&&!He){const[rt,Rt]=G();return o&&x?we(o):Ne(rt)}else{if(qe(He))return He;throw dt(ct.UNEXPECTED_RETURN_TYPE)}};function q(...C){return P(G=>Reflect.apply(xc,null,[G,...C]),()=>os(...C),"translate",G=>Reflect.apply(G.t,G,[...C]),G=>G,G=>pe(G))}function re(...C){const[G,he,we]=C;if(we&&!We(we))throw dt(ct.INVALID_ARGUMENT);return q(G,he,gt({resolvedMessage:!0},we||{}))}function be(...C){return P(G=>Reflect.apply($c,null,[G,...C]),()=>ns(...C),"datetime format",G=>Reflect.apply(G.d,G,[...C]),()=>lc,G=>pe(G))}function Ee(...C){return P(G=>Reflect.apply(Ac,null,[G,...C]),()=>rs(...C),"number format",G=>Reflect.apply(G.n,G,[...C]),()=>lc,G=>pe(G))}function Ae(C){return C.map(G=>pe(G)||st(G)||Be(G)?Rc(String(G)):G)}const xe={normalize:Ae,interpolate:C=>C,type:"vnode"};function _e(...C){return P(G=>{let he;const we=G;try{we.processor=xe,he=Reflect.apply(xc,null,[we,...C])}finally{we.processor=null}return he},()=>os(...C),"translate",G=>G[as](...C),G=>[Rc(G)],G=>ot(G))}function ye(...C){return P(G=>Reflect.apply(Ac,null,[G,...C]),()=>rs(...C),"number format",G=>G[ls](...C),Oc,G=>pe(G)||ot(G))}function ve(...C){return P(G=>Reflect.apply($c,null,[G,...C]),()=>ns(...C),"datetime format",G=>G[ss](...C),Oc,G=>pe(G)||ot(G))}function _(C){M=C,F.pluralRules=M}function A(C,G){return P(()=>{if(!C)return!1;const he=pe(G)?G:c.value,we=Z(he),Ne=F.messageResolver(we,C);return l?Ne!=null:ro(Ne)||Ft(Ne)||pe(Ne)},()=>[C],"translate exists",he=>Reflect.apply(he.te,he,[C,G]),Vm,he=>Be(he))}function w(C){let G=null;const he=ac(F,u.value,c.value);for(let we=0;we{i&&(c.value=C,F.locale=C,Jn(F,c.value,u.value))}),pt(o.fallbackLocale,C=>{i&&(u.value=C,F.fallbackLocale=C,Jn(F,c.value,u.value))}));const oe={id:Dc,locale:ne,fallbackLocale:me,get inheritLocale(){return i},set inheritLocale(C){i=C,C&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Jn(F,c.value,u.value))},get availableLocales(){return Object.keys(h.value).sort()},messages:j,get modifiers(){return E},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(C){S=C,F.missingWarn=S},get fallbackWarn(){return $},set fallbackWarn(C){$=C,F.fallbackWarn=$},get fallbackRoot(){return x},set fallbackRoot(C){x=C},get fallbackFormat(){return T},set fallbackFormat(C){T=C,F.fallbackFormat=T},get warnHtmlMessage(){return y},set warnHtmlMessage(C){y=C,F.warnHtmlMessage=C},get escapeParameter(){return k},set escapeParameter(C){k=C,F.escapeParameter=C},t:q,getLocaleMessage:Z,setLocaleMessage:Q,mergeLocaleMessage:le,getPostTranslationHandler:B,setPostTranslationHandler:N,getMissingHandler:z,setMissingHandler:D,[Pc]:_};return oe.datetimeFormats=ee,oe.numberFormats=K,oe.rt=re,oe.te=A,oe.tm=U,oe.d=be,oe.n=Ee,oe.getDateTimeFormat=te,oe.setDateTimeFormat=d,oe.mergeDateTimeFormat=f,oe.getNumberFormat=L,oe.setNumberFormat=O,oe.mergeNumberFormat=ae,oe[Nc]=n,oe[as]=_e,oe[ss]=ve,oe[ls]=ye,oe}function Km(e){const t=pe(e.locale)?e.locale:pn,o=pe(e.fallbackLocale)||ot(e.fallbackLocale)||Fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=et(e.missing)?e.missing:void 0,r=Be(e.silentTranslationWarn)||Io(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=Be(e.silentFallbackWarn)||Io(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Be(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Fe(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=et(e.postTranslation)?e.postTranslation:void 0,h=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=Be(e.sync)?e.sync:!0;let S=e.messages;if(Fe(e.sharedMessages)){const k=e.sharedMessages;S=Object.keys(k).reduce((M,F)=>{const V=M[F]||(M[F]={});return gt(V,k[F]),M},S||{})}const{__i18n:$,__root:x,__injectWithOption:T}=e,b=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,y=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:S,flatJson:g,datetimeFormats:b,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:a,fallbackRoot:s,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:h,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:y,__i18n:$,__root:x,__injectWithOption:T}}function us(e={},t){{const o=cs(Km(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(a){o.locale.value=a},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(a){o.fallbackLocale.value=a},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(a){},get missing(){return o.getMissingHandler()},set missing(a){o.setMissingHandler(a)},get silentTranslationWarn(){return Be(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(a){o.missingWarn=Be(a)?!a:a},get silentFallbackWarn(){return Be(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(a){o.fallbackWarn=Be(a)?!a:a},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(a){o.fallbackFormat=a},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(a){o.setPostTranslationHandler(a)},get sync(){return o.inheritLocale},set sync(a){o.inheritLocale=a},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(a){o.warnHtmlMessage=a!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(a){o.escapeParameter=a},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(a){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...a){const[s,l,i]=a,c={};let u=null,h=null;if(!pe(s))throw dt(ct.INVALID_ARGUMENT);const m=s;return pe(l)?c.locale=l:ot(l)?u=l:Fe(l)&&(h=l),ot(i)?u=i:Fe(i)&&(h=i),Reflect.apply(o.t,o,[m,u||h||{},c])},rt(...a){return Reflect.apply(o.rt,o,[...a])},tc(...a){const[s,l,i]=a,c={plural:1};let u=null,h=null;if(!pe(s))throw dt(ct.INVALID_ARGUMENT);const m=s;return pe(l)?c.locale=l:st(l)?c.plural=l:ot(l)?u=l:Fe(l)&&(h=l),pe(i)?c.locale=i:ot(i)?u=i:Fe(i)&&(h=i),Reflect.apply(o.t,o,[m,u||h||{},c])},te(a,s){return o.te(a,s)},tm(a){return o.tm(a)},getLocaleMessage(a){return o.getLocaleMessage(a)},setLocaleMessage(a,s){o.setLocaleMessage(a,s)},mergeLocaleMessage(a,s){o.mergeLocaleMessage(a,s)},d(...a){return Reflect.apply(o.d,o,[...a])},getDateTimeFormat(a){return o.getDateTimeFormat(a)},setDateTimeFormat(a,s){o.setDateTimeFormat(a,s)},mergeDateTimeFormat(a,s){o.mergeDateTimeFormat(a,s)},n(...a){return Reflect.apply(o.n,o,[...a])},getNumberFormat(a){return o.getNumberFormat(a)},setNumberFormat(a,s){o.setNumberFormat(a,s)},mergeNumberFormat(a,s){o.mergeNumberFormat(a,s)},getChoiceIndex(a,s){return-1}};return r.__extender=n,r}}const ds={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Ym({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ce?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Xe())}function zc(e){return Ce}const Uc=Mn({name:"i18n-t",props:gt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},ds),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||hn({useScope:e.scope,__useComponent:!0});return()=>{const a=Object.keys(o).filter(h=>h!=="_"),s=Xe();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const l=Ym(t,a),i=r[as](e.keypath,l,s),c=gt(Xe(),n),u=pe(e.tag)||We(e.tag)?e.tag:zc();return mi(u,c,i)}}});function Xm(e){return ot(e)&&!pe(e[0])}function Bc(e,t,o,n){const{slots:r,attrs:a}=t;return()=>{const s={part:!0};let l=Xe();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:We(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?gt(Xe(),m,{[v]:e.format[v]}):m,Xe()));const i=n(e.value,s,l);let c=[s.key];ot(i)?c=i.map((m,v)=>{const S=r[m.type],$=S?S({[m.type]:m.value,index:v,parts:i}):[m.value];return Xm($)&&($[0].key=`${m.type}-${v}`),$}):pe(i)&&(c=[i]);const u=gt(Xe(),a),h=pe(e.tag)||We(e.tag)?e.tag:zc();return mi(h,u,c)}}const Gc=Mn({name:"i18n-n",props:gt({value:{type:Number,required:!0},format:{type:[String,Object]}},ds),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return Bc(e,t,Cc,(...n)=>o[ls](...n))}}),qc=Mn({name:"i18n-d",props:gt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ds),setup(e,t){const o=e.i18n||hn({useScope:e.scope,__useComponent:!0});return Bc(e,t,Sc,(...n)=>o[ss](...n))}});function Jm(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 Zm(e){const t=s=>{const{instance:l,modifiers:i,value:c}=s;if(!l||!l.$)throw dt(ct.UNEXPECTED_ERROR);const u=Jm(e,l.$),h=Hc(c);return[Reflect.apply(u.t,u,[...Vc(h)]),u]};return{created:(s,l)=>{const[i,c]=t(l);Ur&&e.global===c&&(s.__i18nWatcher=pt(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),s.__composer=c,s.textContent=i},unmounted:s=>{Ur&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:l})=>{if(s.__composer){const i=s.__composer,c=Hc(l);s.textContent=Reflect.apply(i.t,i,[...Vc(c)])}},getSSRProps:s=>{const[l]=t(s);return{textContent:l}}}}function Hc(e){if(pe(e))return{path:e};if(Fe(e)){if(!("path"in e))throw dt(ct.REQUIRED_VALUE,"path");return e}else throw dt(ct.INVALID_VALUE)}function Vc(e){const{path:t,locale:o,args:n,choice:r,plural:a}=e,s={},l=n||{};return pe(o)&&(s.locale=o),st(r)&&(s.plural=r),st(a)&&(s.plural=a),[t,l,s]}function Qm(e,t,...o){const n=Fe(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Be(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Uc.name,"I18nT"].forEach(s=>e.component(s,Uc)),[Gc.name,"I18nN"].forEach(s=>e.component(s,Gc)),[qc.name,"I18nD"].forEach(s=>e.component(s,qc))),e.directive("t",Zm(t))}function eb(e,t,o){return{beforeCreate(){const n=Po();if(!n)throw dt(ct.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const a=r.i18n;if(r.__i18n&&(a.__i18n=r.__i18n),a.__root=t,this===this.$root)this.$i18n=Wc(e,a);else{a.__injectWithOption=!0,a.__extender=o.__vueI18nExtend,this.$i18n=us(a);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=Wc(e,r);else{this.$i18n=us({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Fc(t,r,r),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$tc=(...a)=>this.$i18n.tc(...a),this.$te=(a,s)=>this.$i18n.te(a,s),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=Po();if(!n)throw dt(ct.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 Wc(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[Pc](t.pluralizationRules||e.pluralizationRules);const o=Yr(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 tb=No("global-vue-i18n");function ob(e={},t){const o=__VUE_I18N_LEGACY_API__&&Be(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Be(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,a=new Map,[s,l]=nb(e,o),i=No("");function c(m){return a.get(m)||null}function u(m,v){a.set(m,v)}function h(m){a.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...S){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Fe(S[0])){const T=S[0];m.__composerExtend=T.__composerExtend,m.__vueI18nExtend=T.__vueI18nExtend}let $=null;!o&&n&&($=fb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Qm(v,m,...S),__VUE_I18N_LEGACY_API__&&o&&v.mixin(eb(l,l.__composer,m));const x=v.unmount;v.unmount=()=>{$&&$(),m.dispose(),x()}},get global(){return l},dispose(){s.stop()},__instances:a,__getInstance:c,__setInstance:u,__deleteInstance:h};return m}}function hn(e={}){const t=Po();if(t==null)throw dt(ct.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw dt(ct.NOT_INSTALLED);const o=rb(t),n=sb(o),r=Ic(t),a=ab(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw dt(ct.NOT_AVAILABLE_IN_LEGACY_MODE);return ub(t,a,n,e)}if(a==="global")return Fc(n,e,r),n;if(a==="parent"){let i=lb(o,t,e.__useComponent);return i==null&&(i=n),i}const s=o;let l=s.__getInstance(t);if(l==null){const i=gt({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=cs(i),s.__composerExtend&&(l[is]=s.__composerExtend(l)),cb(s,t,l),s.__setInstance(t,l)}return l}function nb(e,t,o){const n=Zs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>us(e)):n.run(()=>cs(e));if(r==null)throw dt(ct.UNEXPECTED_ERROR);return[n,r]}}function rb(e){{const t=De(e.isCE?tb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw dt(e.isCE?ct.NOT_INSTALLED_WITH_PROVIDE:ct.UNEXPECTED_ERROR);return t}}function ab(e,t){return Br(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function sb(e){return e.mode==="composition"?e.global:e.global.__composer}function lb(e,t,o=!1){let n=null;const r=t.root;let a=ib(t,o);for(;a!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const l=s.__getInstance(a);l!=null&&(n=l.__composer,o&&n&&!n[Nc]&&(n=null))}if(n!=null||r===a)break;a=a.parent}return n}function ib(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cb(e,t,o){_t(()=>{},t),La(()=>{const n=o;e.__deleteInstance(t);const r=n[is];r&&(r(),delete n[is])},t)}function ub(e,t,o,n={}){const r=t==="local",a=Pn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw dt(ct.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Be(n.inheritLocale)?n.inheritLocale:!pe(n.locale),l=ie(!r||s?o.locale.value:pe(n.locale)?n.locale:pn),i=ie(!r||s?o.fallbackLocale.value:pe(n.fallbackLocale)||ot(n.fallbackLocale)||Fe(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ie(Yr(l.value,n)),u=ie(Fe(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),h=ie(Fe(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:Be(n.missingWarn)||Io(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:Be(n.fallbackWarn)||Io(n.fallbackWarn)?n.fallbackWarn:!0,S=r?o.fallbackRoot:Be(n.fallbackRoot)?n.fallbackRoot:!0,$=!!n.fallbackFormat,x=et(n.missing)?n.missing:null,T=et(n.postTranslation)?n.postTranslation:null,b=r?o.warnHtmlMessage:Be(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Fe(n.modifiers)?n.modifiers:{},y=n.pluralRules||r&&o.pluralRules;function k(){return[l.value,i.value,c.value,u.value,h.value]}const E=se({get:()=>a.value?a.value.locale.value:l.value,set:w=>{a.value&&(a.value.locale.value=w),l.value=w}}),M=se({get:()=>a.value?a.value.fallbackLocale.value:i.value,set:w=>{a.value&&(a.value.fallbackLocale.value=w),i.value=w}}),F=se(()=>a.value?a.value.messages.value:c.value),V=se(()=>u.value),W=se(()=>h.value);function ne(){return a.value?a.value.getPostTranslationHandler():T}function me(w){a.value&&a.value.setPostTranslationHandler(w)}function j(){return a.value?a.value.getMissingHandler():x}function ee(w){a.value&&a.value.setMissingHandler(w)}function K(w){return k(),w()}function B(...w){return a.value?K(()=>Reflect.apply(a.value.t,null,[...w])):K(()=>"")}function N(...w){return a.value?Reflect.apply(a.value.rt,null,[...w]):""}function z(...w){return a.value?K(()=>Reflect.apply(a.value.d,null,[...w])):K(()=>"")}function D(...w){return a.value?K(()=>Reflect.apply(a.value.n,null,[...w])):K(()=>"")}function P(w){return a.value?a.value.tm(w):{}}function q(w,U){return a.value?a.value.te(w,U):!1}function re(w){return a.value?a.value.getLocaleMessage(w):{}}function be(w,U){a.value&&(a.value.setLocaleMessage(w,U),c.value[w]=U)}function Ee(w,U){a.value&&a.value.mergeLocaleMessage(w,U)}function Ae(w){return a.value?a.value.getDateTimeFormat(w):{}}function Le(w,U){a.value&&(a.value.setDateTimeFormat(w,U),u.value[w]=U)}function xe(w,U){a.value&&a.value.mergeDateTimeFormat(w,U)}function _e(w){return a.value?a.value.getNumberFormat(w):{}}function ye(w,U){a.value&&(a.value.setNumberFormat(w,U),h.value[w]=U)}function ve(w,U){a.value&&a.value.mergeNumberFormat(w,U)}const _={get id(){return a.value?a.value.id:-1},locale:E,fallbackLocale:M,messages:F,datetimeFormats:V,numberFormats:W,get inheritLocale(){return a.value?a.value.inheritLocale:s},set inheritLocale(w){a.value&&(a.value.inheritLocale=w)},get availableLocales(){return a.value?a.value.availableLocales:Object.keys(c.value)},get modifiers(){return a.value?a.value.modifiers:g},get pluralRules(){return a.value?a.value.pluralRules:y},get isGlobal(){return a.value?a.value.isGlobal:!1},get missingWarn(){return a.value?a.value.missingWarn:m},set missingWarn(w){a.value&&(a.value.missingWarn=w)},get fallbackWarn(){return a.value?a.value.fallbackWarn:v},set fallbackWarn(w){a.value&&(a.value.missingWarn=w)},get fallbackRoot(){return a.value?a.value.fallbackRoot:S},set fallbackRoot(w){a.value&&(a.value.fallbackRoot=w)},get fallbackFormat(){return a.value?a.value.fallbackFormat:$},set fallbackFormat(w){a.value&&(a.value.fallbackFormat=w)},get warnHtmlMessage(){return a.value?a.value.warnHtmlMessage:b},set warnHtmlMessage(w){a.value&&(a.value.warnHtmlMessage=w)},get escapeParameter(){return a.value?a.value.escapeParameter:p},set escapeParameter(w){a.value&&(a.value.escapeParameter=w)},t:B,getPostTranslationHandler:ne,setPostTranslationHandler:me,getMissingHandler:j,setMissingHandler:ee,rt:N,d:z,n:D,tm:P,te:q,getLocaleMessage:re,setLocaleMessage:be,mergeLocaleMessage:Ee,getDateTimeFormat:Ae,setDateTimeFormat:Le,mergeDateTimeFormat:xe,getNumberFormat:_e,setNumberFormat:ye,mergeNumberFormat:ve};function A(w){w.locale.value=l.value,w.fallbackLocale.value=i.value,Object.keys(c.value).forEach(U=>{w.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{w.mergeDateTimeFormat(U,u.value[U])}),Object.keys(h.value).forEach(U=>{w.mergeNumberFormat(U,h.value[U])}),w.escapeParameter=p,w.fallbackFormat=$,w.fallbackRoot=S,w.fallbackWarn=v,w.missingWarn=m,w.warnHtmlMessage=b}return Ol(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw dt(ct.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const w=a.value=e.proxy.$i18n.__composer;t==="global"?(l.value=w.locale.value,i.value=w.fallbackLocale.value,c.value=w.messages.value,u.value=w.datetimeFormats.value,h.value=w.numberFormats.value):r&&A(w)}),_}const db=["locale","fallbackLocale","availableLocales"],Kc=["t","rt","d","n","tm","te"];function fb(e,t){const o=Object.create(null);return db.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a)throw dt(ct.UNEXPECTED_ERROR);const s=ut(a.value)?{get(){return a.value.value},set(l){a.value.value=l}}:{get(){return a.get&&a.get()}};Object.defineProperty(o,r,s)}),e.config.globalProperties.$i18n=o,Kc.forEach(r=>{const a=Object.getOwnPropertyDescriptor(t,r);if(!a||!a.value)throw dt(ct.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,a)}),()=>{delete e.config.globalProperties.$i18n,Kc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(qm(),__INTLIFY_JIT_COMPILATION__?uc(Dm):uc(Om),Cm(im),Tm(ac),__INTLIFY_PROD_DEVTOOLS__){const e=bo();e.__INTLIFY__=!0,bm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const pb=Object.assign({"./locales/ar/aria.json":yp,"./locales/ar/buttons.json":vp,"./locales/ar/detail.json":xp,"./locales/ar/legend.json":wp,"./locales/ar/messages.json":kp,"./locales/ar/options.json":$p,"./locales/ar/prayerLaps.json":Sp,"./locales/ar/search.json":Ep,"./locales/ar/tabs.json":Ap,"./locales/de/aria.json":Cp,"./locales/de/buttons.json":Tp,"./locales/de/detail.json":Lp,"./locales/de/legend.json":Pp,"./locales/de/messages.json":Np,"./locales/de/options.json":Ip,"./locales/de/prayerLaps.json":Fp,"./locales/de/search.json":Rp,"./locales/de/tabs.json":Mp,"./locales/en/aria.json":Op,"./locales/en/buttons.json":Dp,"./locales/en/detail.json":jp,"./locales/en/legend.json":zp,"./locales/en/messages.json":Up,"./locales/en/options.json":Bp,"./locales/en/popup.json":Gp,"./locales/en/prayerLaps.json":qp,"./locales/en/search.json":Hp,"./locales/en/tabs.json":Vp,"./locales/es/aria.json":Wp,"./locales/es/buttons.json":Kp,"./locales/es/detail.json":Yp,"./locales/es/legend.json":Xp,"./locales/es/messages.json":Jp,"./locales/es/options.json":Zp,"./locales/es/prayerLaps.json":Qp,"./locales/es/search.json":eg,"./locales/es/tabs.json":tg,"./locales/fr/aria.json":og,"./locales/fr/buttons.json":ng,"./locales/fr/detail.json":rg,"./locales/fr/legend.json":ag,"./locales/fr/messages.json":sg,"./locales/fr/options.json":lg,"./locales/fr/popup.json":ig,"./locales/fr/prayerLaps.json":cg,"./locales/fr/search.json":ug,"./locales/fr/tabs.json":dg,"./locales/hi/aria.json":fg,"./locales/hi/buttons.json":pg,"./locales/hi/detail.json":gg,"./locales/hi/legend.json":hg,"./locales/hi/messages.json":mg,"./locales/hi/options.json":bg,"./locales/hi/prayerLaps.json":_g,"./locales/hi/search.json":yg,"./locales/it/aria.json":vg,"./locales/it/buttons.json":xg,"./locales/it/detail.json":wg,"./locales/it/legend.json":kg,"./locales/it/messages.json":$g,"./locales/it/options.json":Sg,"./locales/it/prayerLaps.json":Eg,"./locales/it/search.json":Ag,"./locales/pt/aria.json":Cg,"./locales/pt/buttons.json":Tg,"./locales/pt/detail.json":Lg,"./locales/pt/legend.json":Pg,"./locales/pt/messages.json":Ng,"./locales/pt/options.json":Ig,"./locales/pt/prayerLaps.json":Fg,"./locales/pt/search.json":Rg,"./locales/pt/tabs.json":Mg,"./locales/ro/aria.json":Og,"./locales/ro/buttons.json":Dg,"./locales/ro/detail.json":jg,"./locales/ro/legend.json":zg,"./locales/ro/messages.json":Ug,"./locales/ro/options.json":Bg,"./locales/ro/prayerLaps.json":Gg,"./locales/ro/search.json":qg,"./locales/ru/aria.json":Hg,"./locales/ru/buttons.json":Vg,"./locales/ru/detail.json":Wg,"./locales/ru/legend.json":Kg,"./locales/ru/messages.json":Yg,"./locales/ru/options.json":Xg,"./locales/ru/prayerLaps.json":Jg,"./locales/ru/search.json":Zg,"./locales/ru/tabs.json":Qg,"./locales/zh/aria.json":eh,"./locales/zh/buttons.json":th,"./locales/zh/detail.json":oh,"./locales/zh/legend.json":nh,"./locales/zh/messages.json":rh,"./locales/zh/options.json":ah,"./locales/zh/prayerLaps.json":sh,"./locales/zh/search.json":lh}),Qn={};for(const[e,t]of Object.entries(pb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;Qn[n]??(Qn[n]={}),Qn[n][r]=t}const gb=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function hb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return gb.includes(t)?t:"en"}function mb(){return ob({legacy:!1,globalInjection:!0,locale:hb(),fallbackLocale:"en",messages:Qn,missingWarn:!1,fallbackWarn:!1})}const Yc="adoptionStatus",vo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},bb=vo,fs={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},_b=fs;function Xc(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)?vo.hasAdoption:vo.notAdopted}function ps({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],vo.hasAdoption,["==",t,1],vo.hasAdoption,vo.notAdopted]}const Jc=ps,yb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:bb,ADOPTION_LABELS:_b,LABELS:fs,PALETTE:vo,PROPERTY_KEY:Yc,applyColor:ps,buildColorExpression:Jc,default:{name:"Adoption Progress",propertyKey:Yc,palette:vo,colors:vo,labels:fs,getColor:Xc,applyColor:ps,buildColorExpression:Jc},getColor:Xc},Symbol.toStringTag,{value:"Module"})),Zc="engagementStatus",xo={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},vb=xo,gs={notEngaged:"Unengaged",hasEngagement:"Engaged"},xb=gs;function Qc(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)?xo.hasEngagement:xo.notEngaged}function hs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xo.hasEngagement,["==",t,1],xo.hasEngagement,xo.notEngaged]}const eu=hs,wb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:vb,ENGAGEMENT_LABELS:xb,LABELS:gs,PALETTE:xo,PROPERTY_KEY:Zc,applyColor:hs,buildColorExpression:eu,default:{name:"Engagement Progress",propertyKey:Zc,palette:xo,colors:xo,labels:gs,getColor:Qc,applyColor:hs,buildColorExpression:eu},getColor:Qc},Symbol.toStringTag,{value:"Module"})),ms="languageFamily",kb="#000000",wo={"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"},$b=wo;function bs(e){return wo[e]||kb}const Sb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(wo))t[e(o)]=o;return t})(),Eb={"tai-kadai":"Kra-Dai",none:"Unknown"};function mn(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return Eb[o]||Sb[o]||t}function tu(e){var t;return bs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function _s(){const e=["match",["get",ms]];return Object.entries(wo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const ou=_s,Ab=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:$b,PALETTE:wo,PROPERTY_KEY:ms,applyColor:_s,buildColorExpression:ou,canonicalFamilyName:mn,default:{name:"Language Family",propertyKey:ms,palette:wo,colors:wo,getColor:tu,applyColor:_s,buildColorExpression:ou,getLanguageFamilyColor:bs,canonicalFamilyName:mn},defaultFamilyColor:"#95a5a6",getColor:tu,getLanguageFamilyColor:bs,languageFamilyColors:wo},Symbol.toStringTag,{value:"Module"})),nu="peoplePraying",Xr=144,Oo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Cb=Oo,er={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Tb=er;function bn(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>=Xr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function ys(e){return Oo[bn(e)]}function ru(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 au(e){return bn(e)==="fullPrayer"}function su(e){return ys(e)}function Jr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Xr],Oo.fullPrayer,[">",t,0],Oo.hasPrayer,Oo.noPrayer]}const lu=Jr,Lb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Xr,LABELS:er,PALETTE:Oo,PRAYER_COLORS:Cb,PRAYER_LABELS:Tb,PROPERTY_KEY:nu,applyColor:Jr,buildColorExpression:lu,checkHasFullPrayer:au,checkHasPrayer:ru,default:{name:"Prayer Progress",propertyKey:nu,palette:Oo,colors:Oo,labels:er,threshold:Xr,getColor:su,applyColor:Jr,buildColorExpression:lu,getPrayerLevel:bn,getPrayerColor:ys,checkHasPrayer:ru,checkHasFullPrayer:au},getColor:su,getPrayerColor:ys,getPrayerLevel:bn},Symbol.toStringTag,{value:"Module"})),iu="religion",vs="#94a3b8",ko={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Ct={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function xs(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ko[t]?t:"U"}function cu(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 Ct[xs(t)]||vs}function ws(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Ct.C,"M",Ct.M,"H",Ct.H,"B",Ct.B,"E",Ct.E,"J",Ct.J,"S",Ct.S,"N",Ct.N,"O",Ct.O,vs]}const uu=ws,Pb=Object.assign({"./adoption.js":yb,"./engagement.js":wb,"./language-family.js":Ab,"./prayer-progress.js":Lb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ct,PROPERTY_KEY:iu,RELIGION_FAMILIES:ko,applyColor:ws,buildColorExpression:uu,default:{name:"Religion",propertyKey:iu,palette:Ct,families:ko,getColor:cu,applyColor:ws,buildColorExpression:uu,fallback:vs},getColor:cu,getReligionFamily:xs},Symbol.toStringTag,{value:"Module"}))}),Nb=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Ib=e=>e.replace(/-/g,"_").toUpperCase(),$o={...{STATUS:"status",CUSTOM:"custom"}},ks={};function du(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=Nb(o);$o[Ib(o)]=r,ks[r]=n}}du(Pb);function Fb(e){e&&du(e)}function Zr(e){return ks[e]||ks[$o.LANGUAGE_FAMILY]}const Rb="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Mb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Rb,null,!0),!0}catch{return!1}}const fu="affinityBlock",_n="#95a5a6",yn={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"},$s={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"},vn=$s;Object.entries(yn).reduce((e,[t,o])=>(e[o]=t,e),{});const Ob=Object.entries(yn).reduce((e,[t,o])=>(e[o]=vn[t],e),{}),Db=yn;function pu(e){return yn[e]||"Unknown"}function gu(e){return vn[e]||_n}function jb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?vn[e]||_n:Ob[e]||_n:_n}function zb(){return Object.entries(yn).map(([e,t])=>({code:e,name:t,color:vn[e]}))}function Ub(e){return{code:e,name:yn[e]||"Unknown",color:vn[e]||_n}}function Bb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return gu(t)}function Gb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return pu(t)}function hu(){const e=["match",["get",fu]];return Object.entries(vn).forEach(([t,o])=>{e.push(t,o)}),e.push(_n),e}const qb={name:"Affinity Block",propertyKey:fu,palette:$s,colors:$s,names:Db,getColor:Bb,applyColor:hu,buildColorExpression:hu,getName:Gb,getAffinityBlockName:pu,getAffinityBlockColor:jb,getAffinityBlockColorByCode:gu,getAffinityBlocksArray:zb,getAffinityBlockData:Ub};function Hb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Ss),e}const Kb={name:"DOXA Region",propertyKey:mu,palette:_u,colors:_u,slugColors:Es,aliases:vu,fallback:Ss,getColor:Wb,applyColor:xu,buildColorExpression:xu,getRegionColor:Vb,getRegionColorBySlug:yu},Yb=Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("dashboard-plus-grid.js",document.baseURI).href,Do=e=>String(e||"").trim().replace(/\/+$/,"");function As(){try{const t=String(Yb||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function wu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Do(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Do(o)}return Do(As()||"")}function Xb(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Do(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Do((e==null?void 0:e.treeBase)||"")||Do(As()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Do(new URL(o+"/../assets",n).href)}catch{return Do(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Jb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",a=e||(n==null?void 0:n.shareUrl);if(typeof a=="string"&&a.trim())return a.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 r?window.location.origin+s:s;const l=wu(n),i=s.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 Pt(e,t){const o=t||Zb(e);_t(()=>{var l;const n=Po();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const a=r.getRootNode();if(!(a instanceof ShadowRoot)||a.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,a.appendChild(s)})}function Zb(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},tr={};function e_(e){if(!e||/^(https?:)?\/\//.test(e)||e.startsWith("/"))return e;const t=e.replace(/^(\.\.\/)+/,"").replace(/^\.\//,""),o=/^(.*\/doxa-maps\/)/.exec(window.location.pathname);if(o)return o[1]+t;const n=As();return n?String(n).replace(/\/+$/,"")+"/"+t:e}function t_(e){const t=e_(e);return t?(tr[t]||(tr[t]=new Promise((o,n)=>{const r=document.createElement("script");r.src=t,(/^\/plugin-designs\//.test(t)||/\/index\.js(\?|$)/.test(t))&&(r.type="module"),r.onload=()=>o(),r.onerror=()=>{delete tr[t],n(new Error("failed to load "+t))},document.head.appendChild(r)})),tr[t]):Promise.resolve()}function o_(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 n_=` .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; } -`,a_=Mn({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){Pt(r_,"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&&o_(e.src).then(()=>n_(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const a=n[r];try{o[r]=a}catch{}try{o.setAttribute(r,a==null?"":String(a))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(o=>{const n=o&&o.message||String(o);console.error('[StackLayout] section "'+e.key+'" failed to mount <'+e.element+">"+(e.src?" from "+e.src:"")+": "+n);try{t.innerHTML="";const r=document.createElement("div");r.setAttribute("role","status"),r.style.cssText="box-sizing:border-box;max-width:100%;padding:16px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6d766e;background:#fff;border:1px solid #d1d4cd;border-radius:8px;margin:12px 0;overflow-wrap:anywhere;word-break:break-word",r.textContent="Could not load <"+e.element+">"+(e.src?" from "+e.src:"")+" — "+n,t.appendChild(r)}catch{}})}}}),s_={class:"stl"},l_={key:0,class:"stl-top"},i_={class:"stl-brand"},c_={key:0,class:"stl-title"},u_={class:"stl-meta"},d_={class:"stl-stack"},f_={key:0,class:"stl-sec-head"},p_={class:"stl-sec-title"},g_={key:0,class:"stl-sec-sub"},h_={key:2,class:"stl-slot"},m_={class:"stl-tail"};function b_(e,t,o,n,r,a){return H(),J("div",s_,[e.$slots.brand||e.$slots.meta||e.title?(H(),J("header",l_,[I("span",i_,[Vo(e.$slots,"brand")]),e.title?(H(),J("b",c_,ue(e.title),1)):Re("",!0),I("span",u_,[Vo(e.$slots,"meta")])])):Re("",!0),I("div",d_,[(H(!0),J(Ce,null,Qe(e.sections,s=>(H(),J("section",{key:s.key,class:Ge(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(s)}]),style:lt(e.sectionStyle(s))},[s.title?(H(),J("div",f_,[I("b",p_,ue(s.title),1),s.sub?(H(),J("span",g_,ue(s.sub),1)):Re("",!0)])):Re("",!0),s.element?(H(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(s.key,l)},null,512)):(H(),J("div",h_,[Vo(e.$slots,"section-"+s.key)]))],6))),128)),I("div",m_,[Vo(e.$slots,"default")])])])}const __=xn(a_,[["render",b_],["styles",[e_]]]);function y_(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 a of n)r=r==null?void 0:r[a];return r}function v_(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let a=0,s=o.indexOf(n,a);for(;s!==-1;)r.push([s,s+n.length-1]),a=s+n.length,s=o.indexOf(n,a);return r}function $u(e,t,o){const n=e.toLowerCase(),r=t.toLowerCase(),a=r.length;if(!a||!n.length)return null;const s=Math.floor(o*a);if(s<=0)return null;let l=new Array(n.length+1).fill(0),i=new Array(n.length+1);for(let m=1;m<=a;m++){i[0]=m;for(let v=1;v<=n.length;v++){const S=l[v-1]+(r[m-1]===n[v-1]?0:1);i[v]=Math.min(S,l[v]+1,i[v-1]+1)}[l,i]=[i,l]}let c=1/0,u=-1;for(let m=1;m<=n.length;m++)l[m]s?null:[[Math.max(0,u-a),u-1]]}function x_(e,t,{threshold:o=.4,minMatchCharLength:n=3}={}){const r=String(e??""),a=String(t??"").trim();return a?r?r.toLowerCase().includes(a.toLowerCase())?!0:o===0||a.length({item:a,matches:[]}));if(o.length!t[n[r]].includes(s))):a}}return t}function $_(){const e=Uo({}),t=new Set,o=ie(0),n=ie(""),r=new Map;function a(b,p){return r.has(b)||r.set(b,new Set),r.get(b).add(p),()=>{var g;return(g=r.get(b))==null?void 0:g.delete(p)}}function s(b,p){var g;(g=r.get(b))==null||g.forEach(y=>{try{y(p)}catch{}})}let l={};function i(b){l=k_(b)}function c(b,p){if(p==null){delete e[b];for(const g of l[b]||[])delete e[g]}else e[b]=p;s("filter",e)}function u(){Object.keys(e).forEach(b=>delete e[b]),s("filter",e)}function h(b){n.value=b==null?"":String(b),s("search",n.value)}function m(){o.value++,s("select",t)}function v(b){t.has(b)?t.delete(b):t.add(b),m()}function S(){t.size&&(t.clear(),m())}function $(b,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const y of b)t.has(y)||(t.add(y),g=!0);return g&&m(),g}function x(b){let p=!1;for(const g of b)t.delete(g)&&(p=!0);return p&&m(),p}function T(b){const p=b instanceof Set?b:new Set(b);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:a,emit:s,setFilter:c,clearFilters:u,setSearch:h,configureHierarchy:i,toggleSelect:v,clearSelection:S,selectMany:$,deselectMany:x,setSelection:T}}const Cs={};function Ts(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&(Cs==null?void 0:Cs.VITE_API_BASE_URL)||""}const Vt={_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 S_(e={}){const t=ie(!1),o=ie(null),n=Pn(new Map),r=Pn([]),a=ie(null),s=ie(0),l=e.source||Vt.activeSource;async function i(){var c,u,h,m;t.value=!0,o.value=null;try{const v=((c=Vt==null?void 0:Vt.sources)==null?void 0:c[l])||{},S=Ts(),$=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",x=(v.defaultFields||[]).join(","),T=((h=v.queryParams)==null?void 0:h.lang)||"en",b=`${S}${$}?${x?`fields=${x}&`:""}lang=${T}&_=${Date.now()}`,p=await fetch(b,{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||[],k=new Map;for(const M of y){const F=M&&(M.slug||M.id);F&&k.set(F,M)}n.value=k,r.value=y,s.value=k.size;const E=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${E}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(a.value=await M.json())}catch{}s.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:a,total:s,load:i,sourceId:l}}const Qr=["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 Ls({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:a={},labelFor:s=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var ee,K,B;const y=a.source||Vt.activeSource,k=((ee=Vt==null?void 0:Vt.sources)==null?void 0:ee[y])||{},E=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:Qr,M=((K=k.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",F=((B=k.queryParams)==null?void 0:B.lang)||"en",V=`${Ts()}${M}?fields=${E.join(",")}&lang=${F}`,W=await fetch(V,{cache:"no-store"});if(!W.ok)throw new Error(`export list HTTP ${W.status}`);const ne=await W.json(),me=Array.isArray(ne)?ne:ne.posts||ne.data||ne.results||[],j=new Map;for(const N of me){const z=N&&(N.slug||N.id);z&&j.set(z,N)}return l=j,j})().catch(y=>{throw i=null,y}),i)}function u(y){if(!l)return y;const k=l.get(y&&(y.slug||y.id));return k?{...y,...k}:y}function h(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const y=Object.keys(n);return y.length?(t.value||[]).filter(k=>y.every(E=>{const M=r[E];return M?M(k)===n[E]:!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(k=>v(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof y=="object"?y.label??y.value??y.text??y.name??y.link??JSON.stringify(y):y}function S(y){const k={};for(const E of Object.keys(y))k[E]=v(y[E]);return k}function $(y){let k=y==null?"":String(y);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function x(){const y=h().map(u).map(S),k=y.reduce((W,ne)=>(Object.keys(ne).forEach(me=>W.add(me)),W),new Set),E=[...Qr.filter(W=>k.has(W)),...[...k].filter(W=>!Qr.includes(W))],M=Object.entries(n).map(([W,ne])=>`${W}=${s?s(W,ne):ne}`).join(" | ")||"none",F=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${y.length}`;return[E.map($).join(","),...y.map(W=>E.map(ne=>$(W[ne])).join(",")),F].join(`\r +`,r_=Mn({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){Pt(n_,"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&&t_(e.src).then(()=>o_(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const a=n[r];try{o[r]=a}catch{}try{o.setAttribute(r,a==null?"":String(a))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(o=>{const n=o&&o.message||String(o);console.error('[StackLayout] section "'+e.key+'" failed to mount <'+e.element+">"+(e.src?" from "+e.src:"")+": "+n);try{t.innerHTML="";const r=document.createElement("div");r.setAttribute("role","status"),r.style.cssText="box-sizing:border-box;max-width:100%;padding:16px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6d766e;background:#fff;border:1px solid #d1d4cd;border-radius:8px;margin:12px 0;overflow-wrap:anywhere;word-break:break-word",r.textContent="Could not load <"+e.element+">"+(e.src?" from "+e.src:"")+" — "+n,t.appendChild(r)}catch{}})}}}),a_={class:"stl"},s_={key:0,class:"stl-top"},l_={class:"stl-brand"},i_={key:0,class:"stl-title"},c_={class:"stl-meta"},u_={class:"stl-stack"},d_={key:0,class:"stl-sec-head"},f_={class:"stl-sec-title"},p_={key:0,class:"stl-sec-sub"},g_={key:2,class:"stl-slot"},h_={class:"stl-tail"};function m_(e,t,o,n,r,a){return H(),J("div",a_,[e.$slots.brand||e.$slots.meta||e.title?(H(),J("header",s_,[I("span",l_,[Vo(e.$slots,"brand")]),e.title?(H(),J("b",i_,ue(e.title),1)):Re("",!0),I("span",c_,[Vo(e.$slots,"meta")])])):Re("",!0),I("div",u_,[(H(!0),J(Ce,null,Qe(e.sections,s=>(H(),J("section",{key:s.key,class:Ge(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(s)}]),style:lt(e.sectionStyle(s))},[s.title?(H(),J("div",d_,[I("b",f_,ue(s.title),1),s.sub?(H(),J("span",p_,ue(s.sub),1)):Re("",!0)])):Re("",!0),s.element?(H(),J("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(s.key,l)},null,512)):(H(),J("div",g_,[Vo(e.$slots,"section-"+s.key)]))],6))),128)),I("div",h_,[Vo(e.$slots,"default")])])])}const b_=xn(r_,[["render",m_],["styles",[Qb]]]);function __(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 a of n)r=r==null?void 0:r[a];return r}function y_(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let a=0,s=o.indexOf(n,a);for(;s!==-1;)r.push([s,s+n.length-1]),a=s+n.length,s=o.indexOf(n,a);return r}function ku(e,t,o){const n=e.toLowerCase(),r=t.toLowerCase(),a=r.length;if(!a||!n.length)return null;const s=Math.floor(o*a);if(s<=0)return null;let l=new Array(n.length+1).fill(0),i=new Array(n.length+1);for(let m=1;m<=a;m++){i[0]=m;for(let v=1;v<=n.length;v++){const S=l[v-1]+(r[m-1]===n[v-1]?0:1);i[v]=Math.min(S,l[v]+1,i[v-1]+1)}[l,i]=[i,l]}let c=1/0,u=-1;for(let m=1;m<=n.length;m++)l[m]s?null:[[Math.max(0,u-a),u-1]]}function v_(e,t,{threshold:o=.4,minMatchCharLength:n=3}={}){const r=String(e??""),a=String(t??"").trim();return a?r?r.toLowerCase().includes(a.toLowerCase())?!0:o===0||a.length({item:a,matches:[]}));if(o.length!t[n[r]].includes(s))):a}}return t}function k_(){const e=Uo({}),t=new Set,o=ie(0),n=ie(""),r=new Map;function a(b,p){return r.has(b)||r.set(b,new Set),r.get(b).add(p),()=>{var g;return(g=r.get(b))==null?void 0:g.delete(p)}}function s(b,p){var g;(g=r.get(b))==null||g.forEach(y=>{try{y(p)}catch{}})}let l={};function i(b){l=w_(b)}function c(b,p){if(p==null){delete e[b];for(const g of l[b]||[])delete e[g]}else e[b]=p;s("filter",e)}function u(){Object.keys(e).forEach(b=>delete e[b]),s("filter",e)}function h(b){n.value=b==null?"":String(b),s("search",n.value)}function m(){o.value++,s("select",t)}function v(b){t.has(b)?t.delete(b):t.add(b),m()}function S(){t.size&&(t.clear(),m())}function $(b,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const y of b)t.has(y)||(t.add(y),g=!0);return g&&m(),g}function x(b){let p=!1;for(const g of b)t.delete(g)&&(p=!0);return p&&m(),p}function T(b){const p=b instanceof Set?b:new Set(b);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:a,emit:s,setFilter:c,clearFilters:u,setSearch:h,configureHierarchy:i,toggleSelect:v,clearSelection:S,selectMany:$,deselectMany:x,setSelection:T}}function Cs(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}const Vt={_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 $_(e={}){const t=ie(!1),o=ie(null),n=Pn(new Map),r=Pn([]),a=ie(null),s=ie(0),l=e.source||Vt.activeSource;async function i(){var c,u,h,m;t.value=!0,o.value=null;try{const v=((c=Vt==null?void 0:Vt.sources)==null?void 0:c[l])||{},S=Cs(),$=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",x=(v.defaultFields||[]).join(","),T=((h=v.queryParams)==null?void 0:h.lang)||"en",b=`${S}${$}?${x?`fields=${x}&`:""}lang=${T}&_=${Date.now()}`,p=await fetch(b,{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||[],k=new Map;for(const M of y){const F=M&&(M.slug||M.id);F&&k.set(F,M)}n.value=k,r.value=y,s.value=k.size;const E=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${S}${E}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(a.value=await M.json())}catch{}s.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:a,total:s,load:i,sourceId:l}}const Qr=["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 Ts({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:a={},labelFor:s=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var ee,K,B;const y=a.source||Vt.activeSource,k=((ee=Vt==null?void 0:Vt.sources)==null?void 0:ee[y])||{},E=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:Qr,M=((K=k.endpoints)==null?void 0:K.bulk)||"/api/people-groups/list",F=((B=k.queryParams)==null?void 0:B.lang)||"en",V=`${Cs()}${M}?fields=${E.join(",")}&lang=${F}`,W=await fetch(V,{cache:"no-store"});if(!W.ok)throw new Error(`export list HTTP ${W.status}`);const ne=await W.json(),me=Array.isArray(ne)?ne:ne.posts||ne.data||ne.results||[],j=new Map;for(const N of me){const z=N&&(N.slug||N.id);z&&j.set(z,N)}return l=j,j})().catch(y=>{throw i=null,y}),i)}function u(y){if(!l)return y;const k=l.get(y&&(y.slug||y.id));return k?{...y,...k}:y}function h(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const y=Object.keys(n);return y.length?(t.value||[]).filter(k=>y.every(E=>{const M=r[E];return M?M(k)===n[E]:!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(k=>v(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof y=="object"?y.label??y.value??y.text??y.name??y.link??JSON.stringify(y):y}function S(y){const k={};for(const E of Object.keys(y))k[E]=v(y[E]);return k}function $(y){let k=y==null?"":String(y);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function x(){const y=h().map(u).map(S),k=y.reduce((W,ne)=>(Object.keys(ne).forEach(me=>W.add(me)),W),new Set),E=[...Qr.filter(W=>k.has(W)),...[...k].filter(W=>!Qr.includes(W))],M=Object.entries(n).map(([W,ne])=>`${W}=${s?s(W,ne):ne}`).join(" | ")||"none",F=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${y.length}`;return[E.map($).join(","),...y.map(W=>E.map(ne=>$(W[ne])).join(",")),F].join(`\r `)}const T={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function b(){const y=x(),k=h().length,E=(y.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=y)}catch{}let M=!1,F=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(y).catch(()=>{}),M=!0)}catch{}try{const V=new Blob([y],{type:"text/csv;charset=utf-8"}),W=URL.createObjectURL(V),ne=document.createElement("a");ne.href=W,ne.download="research-dashboard.csv",ne.style.display="none",document.body.appendChild(ne),ne.click(),F=!0,setTimeout(()=>{try{URL.revokeObjectURL(W),ne.remove()}catch{}},200)}catch{}Object.assign(T,{rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l}}catch{}return{csv:y,rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l}}async function p(){try{await c()}catch{}return b()}function g(){try{return c()}catch{return null}}return{exportCsv:b,exportCsvAsync:p,buildCsv:x,pickRows:h,scopeLabel:m,lastExport:T,prefetchExportFields:g,EXPORT_FIELDS:Qr}}const E_="#6b7280";function A_(){const e=Zr($o.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function C_(e,t){const o=A_();return e&&o[e]?o[e]:E_}function T_(e){return(e==null?void 0:e.properties)||e||{}}function Ps(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function L_(e){var t;return String(e.affinityBlock||Ps((t=e._raw)==null?void 0:t.rop1)||"").trim()}function P_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function N_(e){var t;return String(e.cluster||Ps((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function I_(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 F_(e){var t;return String(e.peopleGroup||Ps((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function R_(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 M_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function O_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function D_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function j_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function z_(e){const t=se(()=>{const a=e&&e.value||[],s=new Map;for(const l of a){const i=T_(l),c=L_(i),u=P_(i)||c||"— Unknown —",h=N_(i),m=I_(i)||h||"— Unknown —",v=F_(i),S=R_(i)||v||"— Unknown —",$=M_(i),x=O_(i)||$,T=D_(i),b=j_(i);if(!$)continue;let p=s.get(c||"__unknown__");p||(p={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},s.set(c||"__unknown__",p)),p.count+=1,p.pop+=T,p.memberIds.push($);let g=p.clusters.get(h||"__unknown__");g||(g={code:h,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(h||"__unknown__",g)),g.count+=1,g.pop+=T,g.memberIds.push($);let y=g.peopleGroups.get(v||"__unknown__");y||(y={code:v,label:S,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",y)),y.count+=1,y.pop+=T,y.memberIds.push($),y.instances.push({id:$,name:x,country:b,pop:T})}return s}),o=a=>a&&a.length?["in",["get","uniqueId"],["literal",a]]:["==",["get","uniqueId"],"__none__"],n=se(()=>{const a=t.value,s=[];for(const l of a.values()){const i=C_(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 h={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((S,$)=>$.pop-S.pop||S.country.localeCompare($.country));for(const S of m.instances)v.children.push({id:`pgic:${S.id}`,label:`${S.country?`${S.name}, ${S.country}`:S.name} (PGIC)`,color:i,count:1,pop:S.pop,filter:["==",["get","uniqueId"],S.id],children:[]});h.children.push(v)}h.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(h)}c.children.sort((u,h)=>h.count-u.count||h.pop-u.pop),s.push(c)}return s.sort((l,i)=>i.count-l.count||i.pop-l.pop),s});function r(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),l={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?l.kind="bloc":s.startsWith("cluster:")?l.kind="cluster":s.startsWith("pg:")?l.kind="people-group":s.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function or(e,t,o){const n=se(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=z_(n),a=se(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),s=se(()=>{const[i,c,u]=a.value,h=new Map,m=new Map,v=new Map;for(const $ of r.value.values()){$.code&&h.set($.code,$.label);for(const x of $.clusters.values()){x.code&&m.set(x.code,x.label);for(const T of x.peopleGroups.values())T.code&&v.set(T.code,T.label)}}const S={};return i&&(S[i]=h),c&&(S[c]=m),u&&(S[u]=v),S});function l(i,c){const u=s.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:s,treeFacetKeys:a,labelFor:l}}class Su{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=Vt,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="",a=!1,s=[],l=!0;for(let i=0;i{}),M=!0)}catch{}try{const V=new Blob([y],{type:"text/csv;charset=utf-8"}),W=URL.createObjectURL(V),ne=document.createElement("a");ne.href=W,ne.download="research-dashboard.csv",ne.style.display="none",document.body.appendChild(ne),ne.click(),F=!0,setTimeout(()=>{try{URL.revokeObjectURL(W),ne.remove()}catch{}},200)}catch{}Object.assign(T,{rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l}}catch{}return{csv:y,rows:k,clipboard:M,downloaded:F,fields:E,wide:!!l}}async function p(){try{await c()}catch{}return b()}function g(){try{return c()}catch{return null}}return{exportCsv:b,exportCsvAsync:p,buildCsv:x,pickRows:h,scopeLabel:m,lastExport:T,prefetchExportFields:g,EXPORT_FIELDS:Qr}}const S_="#6b7280";function E_(){const e=Zr($o.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function A_(e,t){const o=E_();return e&&o[e]?o[e]:S_}function C_(e){return(e==null?void 0:e.properties)||e||{}}function Ls(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function T_(e){var t;return String(e.affinityBlock||Ls((t=e._raw)==null?void 0:t.rop1)||"").trim()}function L_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function P_(e){var t;return String(e.cluster||Ls((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function N_(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 I_(e){var t;return String(e.peopleGroup||Ls((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function F_(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 R_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function M_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function O_(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 D_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function j_(e){const t=se(()=>{const a=e&&e.value||[],s=new Map;for(const l of a){const i=C_(l),c=T_(i),u=L_(i)||c||"— Unknown —",h=P_(i),m=N_(i)||h||"— Unknown —",v=I_(i),S=F_(i)||v||"— Unknown —",$=R_(i),x=M_(i)||$,T=O_(i),b=D_(i);if(!$)continue;let p=s.get(c||"__unknown__");p||(p={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},s.set(c||"__unknown__",p)),p.count+=1,p.pop+=T,p.memberIds.push($);let g=p.clusters.get(h||"__unknown__");g||(g={code:h,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(h||"__unknown__",g)),g.count+=1,g.pop+=T,g.memberIds.push($);let y=g.peopleGroups.get(v||"__unknown__");y||(y={code:v,label:S,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",y)),y.count+=1,y.pop+=T,y.memberIds.push($),y.instances.push({id:$,name:x,country:b,pop:T})}return s}),o=a=>a&&a.length?["in",["get","uniqueId"],["literal",a]]:["==",["get","uniqueId"],"__none__"],n=se(()=>{const a=t.value,s=[];for(const l of a.values()){const i=A_(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 h={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((S,$)=>$.pop-S.pop||S.country.localeCompare($.country));for(const S of m.instances)v.children.push({id:`pgic:${S.id}`,label:`${S.country?`${S.name}, ${S.country}`:S.name} (PGIC)`,color:i,count:1,pop:S.pop,filter:["==",["get","uniqueId"],S.id],children:[]});h.children.push(v)}h.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(h)}c.children.sort((u,h)=>h.count-u.count||h.pop-u.pop),s.push(c)}return s.sort((l,i)=>i.count-l.count||i.pop-l.pop),s});function r(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),l={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?l.kind="bloc":s.startsWith("cluster:")?l.kind="cluster":s.startsWith("pg:")?l.kind="people-group":s.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function or(e,t,o){const n=se(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=j_(n),a=se(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),s=se(()=>{const[i,c,u]=a.value,h=new Map,m=new Map,v=new Map;for(const $ of r.value.values()){$.code&&h.set($.code,$.label);for(const x of $.clusters.values()){x.code&&m.set(x.code,x.label);for(const T of x.peopleGroups.values())T.code&&v.set(T.code,T.label)}}const S={};return i&&(S[i]=h),c&&(S[c]=m),u&&(S[u]=v),S});function l(i,c){const u=s.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:s,treeFacetKeys:a,labelFor:l}}class $u{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=Vt,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="",a=!1,s=[],l=!0;for(let i=0;i0){if(s.push(r.trim()),r="",l)n.push(...s),l=!1;else if(s.length>1){const h={};n.forEach((m,v)=>{h[m]=s[v]||""}),o.push(h)}s=[]}}else r+=c}if((r||s.length>0)&&(s.push(r.trim()),!l&&s.length>1)){const i={};n.forEach((c,u)=>{i[c]=s[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:a}=this.parseCSV(n);return this.rawData=a,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(s=>s.trim())),a=[];for(const[s,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||a.push({systemField:s,sourceField:i,isComposite:!0});else l&&!r.has(l)&&a.push({systemField:s,sourceField:l,isComposite:!1});a.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,a)}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=Ts(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",a=[];r&&a.push(`fields=${r}`);const s={...t.queryParams||{}};this.locale&&(s.lang=this.locale);for(const[u,h]of Object.entries(s))a.push(`${u}=${encodeURIComponent(h)}`);const l=`${o}${n}?${a.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const h=u.headers.get("content-type")||"";if(!h.includes("application/json"))throw new Error(`API returned "${h}" 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(h=>this.getFieldValue(n,h));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 a=r.engagementStatus;a!=null&&(typeof a=="object"&&"value"in a?(r.engagementStatusLabel=a.label||a.value,r.engagementStatus=a.value==="engaged"):r.engagementStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const s=r.adoptionStatus;s!=null&&(r.adoptionStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="object"&&!!(s!=null&&s.value)||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,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 Su;const Eu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Au=e=>e==null?"—":Number(e).toLocaleString("en-US");function nr(e){const t=Eu(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 rr(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim();if(!n)return!0;for(const a of t){const s=a(o);if(s!=null&&x_(String(s),n,{threshold:.4,minMatchCharLength:3}))return!0}return!1}}function U_(e,t,o,n,r){return(e||[]).map(a=>{var i,c;let s,l;if(a.kind==="count")s=t.length,a.showDelta&&(l=Math.max(0,o.length-t.length));else if(a.kind==="sum")s=t.reduce((u,h)=>u+(Number(h[a.field])||0),0);else if(a.kind==="pct")s=t.length?Math.round(t.filter(a.test).length/t.length*100)+"%":"—";else if(a.kind==="distinct"){const u=a.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[a.field])==null?void 0:c[a.via]:n[a.field],h=new Set;t.forEach(m=>{const v=u?u(m):m[a.field];v&&h.add(v)}),s=h.size}return{id:a.id,label:a.label,kind:a.kind,value:s,delta:l}})}function B_(e){const t=ie(null),o=ie(!1),n=ie(!1),r=ie(!1),a=ie("map"),s=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ie(!1),c=ie(!1),u=ie(!1);_t(()=>{t.value&&(l=new ResizeObserver(()=>{const x=t.value.clientWidth;o.value=x<760,n.value=x>=760&&x<1180,r.value=x>=760&&x<980}),l.observe(t.value)),e&&e.on("toggleTable",x=>{i.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>l&&l.disconnect());function h(x){const T=x.target.closest("[data-view]");T&&(a.value=T.getAttribute("data-view"))}const m=se(()=>!o.value||a.value==="facets"),v=se(()=>!o.value||a.value==="map"),S=se(()=>!o.value||a.value==="table"),$=se(()=>!o.value||a.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:a,SEG:s,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:h,showFacets:m,showMap:v,showTable:S,showCharts:$}}const G_=e=>String(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40),q_=e=>String(e).replace(/[%;:*+]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase()).replace(/ /g,"+"),H_=e=>{try{return decodeURIComponent(String(e).replace(/\+/g,"%20"))}catch{return String(e).replace(/\+/g," ")}};function V_(e,t){function o(){try{const n=Object.entries(e.filterSet).map(([r,a])=>{const s=typeof t=="function"?t(r,a):null,l=s&&String(s)!==String(a)?G_(s):"";return r+":"+q_(a)+(l?"*"+l:"")});typeof location<"u"&&history.replaceState(null,"","#f="+n.join(";"))}catch{}}pt(()=>({...e.filterSet}),o,{deep:!0}),_t(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(!n)return;const r=n[1];if(r.startsWith("{")||r.startsWith("%7B")||r.startsWith("%7b")){const a=JSON.parse(decodeURIComponent(r));Object.entries(a).forEach(([s,l])=>e.setFilter(s,l));return}for(const a of r.split(";")){const s=a.indexOf(":");if(s<1)continue;const l=a.slice(0,s),i=H_(a.slice(s+1).split("*")[0]);l&&i&&e.setFilter(l,i)}}catch{}})}function W_(e){var $;const t=$_();t.configureHierarchy(e);const o=S_(e.data),n=Eu(e.facets,x=>x.get),r=rr(t,nr(e)),a=se(()=>{var p;const x=o.rows.value||[],T=Object.keys(t.filterSet),b=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!T.length&&!b?x:x.filter(g=>T.every(y=>{const k=n[y];return k?k(g)===t.filterSet[y]:!0})&&r(g))}),s=se(()=>U_(e.kpis,a.value,o.rows.value||[],n,e)),l=B_(t),i=o.sourceId||Vt.activeSource,c=(($=Vt.sources)==null?void 0:$[i])||{},u=new Su,h=se(()=>{const x=o.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return h.value}}}},{labelFor:v}=or(e,m,i);V_(t,v);const S=Ls({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return fo("selectionBus",t),fo("dashboardData",o),fo("dashboardConfig",e),fo("dataStore",m),fo("searchSourceId",i),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:a,kpis:s,exporter:S,responsive:l}}const K_={facetW:296,railW:296,tableH:"34%",mapH:340,shellH:582},Y_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Cu=32,Tu=120,$t=(e,[t,o])=>Math.min(o,Math.max(t,e)),ea=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function X_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:a="rd-dashboard-layout-v5"}=e,s={...K_,...e.defaults||{}},l={...Y_,...e.clamps||{}},i=ie(s.facetW),c=ie(s.railW),u=ie(s.tableH),h=ie(s.mapH),m=ie(s.shellH),v=ie(!1),S=ie(!1),$=ie(!1),x=()=>!!de(n),T=()=>!!de(r);function b(){const D=t&&t.value;if(!D)return m.value;const P=parseFloat(getComputedStyle(D).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const q=D.querySelector('[data-region="map"]'),re=D.querySelector('[data-region="table"]');if(!q||!re)return m.value;const be=q.getBoundingClientRect().height+re.getBoundingClientRect().height;return be>0?Math.round(be):m.value}function p(){const D=t&&t.value;D&&(v.value&&(D.style.setProperty("--facet-w",i.value+"px"),D.style.setProperty("--rail-w",c.value+"px"),D.style.setProperty("--table-h",u.value)),S.value&&D.style.setProperty("--rd-map-h",h.value+"px"),$.value&&D.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const D=t&&t.value;D&&(D.style.removeProperty("--facet-w"),D.style.removeProperty("--rail-w"),D.style.removeProperty("--table-h"),D.style.removeProperty("--rd-map-h"),D.style.removeProperty("--rd-shell-h"))}function y(){try{localStorage.setItem(a,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:h.value,shellH:m.value}))}catch{}}function k(){try{const D=localStorage.getItem(a);if(!D)return!1;const P=JSON.parse(D);return Number.isFinite(P.facetW)&&(i.value=$t(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=$t(P.railW,l.railW)),P.tableH!=null&&(u.value=$t(ea(P.tableH,ea(s.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=$t(P.shellH,l.shellH),$.value=!0),Number.isFinite(P.mapH)&&(h.value=$t(P.mapH,l.mapH),S.value=!0),!0}catch{return!1}}function E(){try{localStorage.removeItem(a)}catch{}i.value=s.facetW,c.value=s.railW,u.value=s.tableH,h.value=s.mapH,m.value=s.shellH,v.value=!1,S.value=!1,$.value=!1,g()}const M=ie(!1);function F(){if(M.value)return;M.value=!0;const D=t&&t.value;if(D&&D.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function V(){if(!M.value)return;M.value=!1;const D=t&&t.value;if(D&&D.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function W(D,P){if(x())return;const q=t&&t.value;if(!q)return;P.preventDefault();const re=q.getBoundingClientRect(),be=P.clientX,Ee=i.value,Ae=c.value,Le=P.currentTarget,xe=D==="table"&&T(),_e=D==="shell"&&T();let ye=0,ve=l.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),d=te?te.getBoundingClientRect():null;ye=d?d.top:P.clientY-h.value,ve=Math.max(l.mapH[0],m.value-(Cu+Tu))}const _=P.clientY,A=_e?b():m.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(P.pointerId)}catch{}F();let w=0,U=null;function Z(){if(w=0,!U)return;const te=U;if(U=null,D==="facet")i.value=Math.round($t(Ee+(te.clientX-be),l.facetW)),v.value=!0;else if(D==="rail")c.value=Math.round($t(Ae-(te.clientX-be),l.railW)),v.value=!0;else if(xe)h.value=Math.round($t(te.clientY-ye,[l.mapH[0],ve])),S.value=!0;else if(D==="table"){const d=(re.bottom-te.clientY)/re.height*100;u.value=Math.round($t(d,l.tableH))+"%",v.value=!0}else _e&&(m.value=Math.round($t(A+(te.clientY-_),l.shellH)),$.value=!0);p()}function Q(te){U={clientX:te.clientX,clientY:te.clientY},w||(w=requestAnimationFrame(Z))}function le(te){window.removeEventListener("pointermove",Q),window.removeEventListener("pointerup",le),window.removeEventListener("pointercancel",le),w&&(cancelAnimationFrame(w),w=0),Z();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(te.pointerId)}catch{}y(),V()}window.addEventListener("pointermove",Q),window.addEventListener("pointerup",le),window.addEventListener("pointercancel",le)}const ne=D=>W("facet",D),me=D=>W("rail",D),j=D=>W("table",D),ee=D=>W("shell",D),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function B(D,P,q){if(!x()){if(D==="facet")i.value=q?P<0?l.facetW[0]:l.facetW[1]:Math.round($t(i.value+P*K.facet,l.facetW)),v.value=!0;else if(D==="rail")c.value=q?P<0?l.railW[1]:l.railW[0]:Math.round($t(c.value-P*K.rail,l.railW)),v.value=!0;else if(D==="table"&&T()){const re=Math.max(l.mapH[0],m.value-(Cu+Tu));h.value=q?P<0?l.mapH[0]:re:Math.round($t(h.value+P*K.mapH,[l.mapH[0],re])),S.value=!0}else if(D==="table"){const re=q?P<0?l.tableH[0]:l.tableH[1]:$t(ea(u.value,ea(s.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(re)+"%",v.value=!0}else D==="shell"&&T()&&(m.value=q?P<0?l.shellH[0]:l.shellH[1]:Math.round($t(m.value+P*K.shellH,l.shellH)),$.value=!0);p(),y()}}function N(D,P){const q=P.key;let re=0;if(D==="table"||D==="shell"?q==="ArrowUp"?re=-1:q==="ArrowDown"&&(re=1):q==="ArrowLeft"?re=-1:q==="ArrowRight"&&(re=1),re){P.preventDefault(),B(D,re);return}(q==="Home"||q==="End")&&(P.preventDefault(),B(D,q==="Home"?-1:1,!0))}let z=null;return _t(()=>{k()&&p(),o&&typeof o.on=="function"&&(z=o.on("resetLayout",E))}),Ut(()=>{try{z&&z()}catch{}try{V()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:h,shellH:m,customized:v,resizing:M,startFacetResize:ne,startRailResize:me,startTableResize:j,startShellResize:ee,startResize:W,reset:E,applyVars:p,stepResize:B,onResizeKeydown:N}}const J_=".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))}",Z_=["value","placeholder","aria-label"],Ns=xn({__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=se(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function a(s){const l=s.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(s,l)=>(H(),J("div",{class:"search-box",style:lt(r.value)},[l[0]||(l[0]=I("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),I("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:a},null,40,Z_)],4))}},[["styles",[J_]]]),Q_=["title","aria-label","disabled"],Is={__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 Pt(` +`&&i++,r||s.length>0){if(s.push(r.trim()),r="",l)n.push(...s),l=!1;else if(s.length>1){const h={};n.forEach((m,v)=>{h[m]=s[v]||""}),o.push(h)}s=[]}}else r+=c}if((r||s.length>0)&&(s.push(r.trim()),!l&&s.length>1)){const i={};n.forEach((c,u)=>{i[c]=s[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:a}=this.parseCSV(n);return this.rawData=a,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(s=>s.trim())),a=[];for(const[s,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||a.push({systemField:s,sourceField:i,isComposite:!0});else l&&!r.has(l)&&a.push({systemField:s,sourceField:l,isComposite:!1});a.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,a)}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=Cs(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",a=[];r&&a.push(`fields=${r}`);const s={...t.queryParams||{}};this.locale&&(s.lang=this.locale);for(const[u,h]of Object.entries(s))a.push(`${u}=${encodeURIComponent(h)}`);const l=`${o}${n}?${a.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const h=u.headers.get("content-type")||"";if(!h.includes("application/json"))throw new Error(`API returned "${h}" 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(h=>this.getFieldValue(n,h));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 a=r.engagementStatus;a!=null&&(typeof a=="object"&&"value"in a?(r.engagementStatusLabel=a.label||a.value,r.engagementStatus=a.value==="engaged"):r.engagementStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const s=r.adoptionStatus;s!=null&&(r.adoptionStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="object"&&!!(s!=null&&s.value)||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,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 $u;const Su=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),Eu=e=>e==null?"—":Number(e).toLocaleString("en-US");function nr(e){const t=Su(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 rr(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim();if(!n)return!0;for(const a of t){const s=a(o);if(s!=null&&v_(String(s),n,{threshold:.4,minMatchCharLength:3}))return!0}return!1}}function z_(e,t,o,n,r){return(e||[]).map(a=>{var i,c;let s,l;if(a.kind==="count")s=t.length,a.showDelta&&(l=Math.max(0,o.length-t.length));else if(a.kind==="sum")s=t.reduce((u,h)=>u+(Number(h[a.field])||0),0);else if(a.kind==="pct")s=t.length?Math.round(t.filter(a.test).length/t.length*100)+"%":"—";else if(a.kind==="distinct"){const u=a.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[a.field])==null?void 0:c[a.via]:n[a.field],h=new Set;t.forEach(m=>{const v=u?u(m):m[a.field];v&&h.add(v)}),s=h.size}return{id:a.id,label:a.label,kind:a.kind,value:s,delta:l}})}function U_(e){const t=ie(null),o=ie(!1),n=ie(!1),r=ie(!1),a=ie("map"),s=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ie(!1),c=ie(!1),u=ie(!1);_t(()=>{t.value&&(l=new ResizeObserver(()=>{const x=t.value.clientWidth;o.value=x<760,n.value=x>=760&&x<1180,r.value=x>=760&&x<980}),l.observe(t.value)),e&&e.on("toggleTable",x=>{i.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>l&&l.disconnect());function h(x){const T=x.target.closest("[data-view]");T&&(a.value=T.getAttribute("data-view"))}const m=se(()=>!o.value||a.value==="facets"),v=se(()=>!o.value||a.value==="map"),S=se(()=>!o.value||a.value==="table"),$=se(()=>!o.value||a.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:a,SEG:s,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:h,showFacets:m,showMap:v,showTable:S,showCharts:$}}const B_=e=>String(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40),G_=e=>String(e).replace(/[%;:*+]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase()).replace(/ /g,"+"),q_=e=>{try{return decodeURIComponent(String(e).replace(/\+/g,"%20"))}catch{return String(e).replace(/\+/g," ")}};function H_(e,t){function o(){try{const n=Object.entries(e.filterSet).map(([r,a])=>{const s=typeof t=="function"?t(r,a):null,l=s&&String(s)!==String(a)?B_(s):"";return r+":"+G_(a)+(l?"*"+l:"")});typeof location<"u"&&history.replaceState(null,"","#f="+n.join(";"))}catch{}}pt(()=>({...e.filterSet}),o,{deep:!0}),_t(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(!n)return;const r=n[1];if(r.startsWith("{")||r.startsWith("%7B")||r.startsWith("%7b")){const a=JSON.parse(decodeURIComponent(r));Object.entries(a).forEach(([s,l])=>e.setFilter(s,l));return}for(const a of r.split(";")){const s=a.indexOf(":");if(s<1)continue;const l=a.slice(0,s),i=q_(a.slice(s+1).split("*")[0]);l&&i&&e.setFilter(l,i)}}catch{}})}function V_(e){var $;const t=k_();t.configureHierarchy(e);const o=$_(e.data),n=Su(e.facets,x=>x.get),r=rr(t,nr(e)),a=se(()=>{var p;const x=o.rows.value||[],T=Object.keys(t.filterSet),b=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!T.length&&!b?x:x.filter(g=>T.every(y=>{const k=n[y];return k?k(g)===t.filterSet[y]:!0})&&r(g))}),s=se(()=>z_(e.kpis,a.value,o.rows.value||[],n,e)),l=U_(t),i=o.sourceId||Vt.activeSource,c=(($=Vt.sources)==null?void 0:$[i])||{},u=new $u,h=se(()=>{const x=o.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return h.value}}}},{labelFor:v}=or(e,m,i);H_(t,v);const S=Ts({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return fo("selectionBus",t),fo("dashboardData",o),fo("dashboardConfig",e),fo("dataStore",m),fo("searchSourceId",i),_t(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:a,kpis:s,exporter:S,responsive:l}}const W_={facetW:296,railW:296,tableH:"34%",mapH:340,shellH:562},K_={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Au=32,Cu=120,$t=(e,[t,o])=>Math.min(o,Math.max(t,e)),ea=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function Y_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:a="rd-dashboard-layout-v6"}=e,s={...W_,...e.defaults||{}},l={...K_,...e.clamps||{}},i=ie(s.facetW),c=ie(s.railW),u=ie(s.tableH),h=ie(s.mapH),m=ie(s.shellH),v=ie(!1),S=ie(!1),$=ie(!1),x=()=>!!de(n),T=()=>!!de(r);function b(){const D=t&&t.value;if(!D)return m.value;const P=parseFloat(getComputedStyle(D).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const q=D.querySelector('[data-region="map"]'),re=D.querySelector('[data-region="table"]');if(!q||!re)return m.value;const be=q.getBoundingClientRect().height+re.getBoundingClientRect().height;return be>0?Math.round(be):m.value}function p(){const D=t&&t.value;D&&(v.value&&(D.style.setProperty("--facet-w",i.value+"px"),D.style.setProperty("--rail-w",c.value+"px"),D.style.setProperty("--table-h",u.value)),S.value&&D.style.setProperty("--rd-map-h",h.value+"px"),$.value&&D.style.setProperty("--rd-shell-h",m.value+"px"))}function g(){const D=t&&t.value;D&&(D.style.removeProperty("--facet-w"),D.style.removeProperty("--rail-w"),D.style.removeProperty("--table-h"),D.style.removeProperty("--rd-map-h"),D.style.removeProperty("--rd-shell-h"))}function y(){try{localStorage.setItem(a,JSON.stringify({facetW:i.value,railW:c.value,tableH:u.value,mapH:h.value,shellH:m.value}))}catch{}}function k(){try{const D=localStorage.getItem(a);if(!D)return!1;const P=JSON.parse(D);return Number.isFinite(P.facetW)&&(i.value=$t(P.facetW,l.facetW)),Number.isFinite(P.railW)&&(c.value=$t(P.railW,l.railW)),P.tableH!=null&&(u.value=$t(ea(P.tableH,ea(s.tableH,34)),l.tableH)+"%"),v.value=!0,Number.isFinite(P.shellH)&&(m.value=$t(P.shellH,l.shellH),$.value=!0),Number.isFinite(P.mapH)&&(h.value=$t(P.mapH,l.mapH),S.value=!0),!0}catch{return!1}}function E(){try{localStorage.removeItem(a)}catch{}i.value=s.facetW,c.value=s.railW,u.value=s.tableH,h.value=s.mapH,m.value=s.shellH,v.value=!1,S.value=!1,$.value=!1,g()}const M=ie(!1);function F(){if(M.value)return;M.value=!0;const D=t&&t.value;if(D&&D.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function V(){if(!M.value)return;M.value=!1;const D=t&&t.value;if(D&&D.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function W(D,P){if(x())return;const q=t&&t.value;if(!q)return;P.preventDefault();const re=q.getBoundingClientRect(),be=P.clientX,Ee=i.value,Ae=c.value,Le=P.currentTarget,xe=D==="table"&&T(),_e=D==="shell"&&T();let ye=0,ve=l.mapH[1];if(xe){const te=q.querySelector('[data-region="map"]'),d=te?te.getBoundingClientRect():null;ye=d?d.top:P.clientY-h.value,ve=Math.max(l.mapH[0],m.value-(Au+Cu))}const _=P.clientY,A=_e?b():m.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(P.pointerId)}catch{}F();let w=0,U=null;function Z(){if(w=0,!U)return;const te=U;if(U=null,D==="facet")i.value=Math.round($t(Ee+(te.clientX-be),l.facetW)),v.value=!0;else if(D==="rail")c.value=Math.round($t(Ae-(te.clientX-be),l.railW)),v.value=!0;else if(xe)h.value=Math.round($t(te.clientY-ye,[l.mapH[0],ve])),S.value=!0;else if(D==="table"){const d=(re.bottom-te.clientY)/re.height*100;u.value=Math.round($t(d,l.tableH))+"%",v.value=!0}else _e&&(m.value=Math.round($t(A+(te.clientY-_),l.shellH)),$.value=!0);p()}function Q(te){U={clientX:te.clientX,clientY:te.clientY},w||(w=requestAnimationFrame(Z))}function le(te){window.removeEventListener("pointermove",Q),window.removeEventListener("pointerup",le),window.removeEventListener("pointercancel",le),w&&(cancelAnimationFrame(w),w=0),Z();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(te.pointerId)}catch{}y(),V()}window.addEventListener("pointermove",Q),window.addEventListener("pointerup",le),window.addEventListener("pointercancel",le)}const ne=D=>W("facet",D),me=D=>W("rail",D),j=D=>W("table",D),ee=D=>W("shell",D),K={facet:16,rail:16,table:24,mapH:24,shellH:24};function B(D,P,q){if(!x()){if(D==="facet")i.value=q?P<0?l.facetW[0]:l.facetW[1]:Math.round($t(i.value+P*K.facet,l.facetW)),v.value=!0;else if(D==="rail")c.value=q?P<0?l.railW[1]:l.railW[0]:Math.round($t(c.value-P*K.rail,l.railW)),v.value=!0;else if(D==="table"&&T()){const re=Math.max(l.mapH[0],m.value-(Au+Cu));h.value=q?P<0?l.mapH[0]:re:Math.round($t(h.value+P*K.mapH,[l.mapH[0],re])),S.value=!0}else if(D==="table"){const re=q?P<0?l.tableH[0]:l.tableH[1]:$t(ea(u.value,ea(s.tableH,34))-P*K.table/4,l.tableH);u.value=Math.round(re)+"%",v.value=!0}else D==="shell"&&T()&&(m.value=q?P<0?l.shellH[0]:l.shellH[1]:Math.round($t(m.value+P*K.shellH,l.shellH)),$.value=!0);p(),y()}}function N(D,P){const q=P.key;let re=0;if(D==="table"||D==="shell"?q==="ArrowUp"?re=-1:q==="ArrowDown"&&(re=1):q==="ArrowLeft"?re=-1:q==="ArrowRight"&&(re=1),re){P.preventDefault(),B(D,re);return}(q==="Home"||q==="End")&&(P.preventDefault(),B(D,q==="Home"?-1:1,!0))}let z=null;return _t(()=>{k()&&p(),o&&typeof o.on=="function"&&(z=o.on("resetLayout",E))}),Ut(()=>{try{z&&z()}catch{}try{V()}catch{}}),{facetW:i,railW:c,tableH:u,mapH:h,shellH:m,customized:v,resizing:M,startFacetResize:ne,startRailResize:me,startTableResize:j,startShellResize:ee,startResize:W,reset:E,applyVars:p,stepResize:B,onResizeKeydown:N}}const X_=".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))}",J_=["value","placeholder","aria-label"],Ps=xn({__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=se(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function a(s){const l=s.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(s,l)=>(H(),J("div",{class:"search-box",style:lt(r.value)},[l[0]||(l[0]=I("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),I("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:a},null,40,J_)],4))}},[["styles",[X_]]]),Z_=["title","aria-label","disabled"],Ns={__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 Pt(` .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)=>(H(),J("button",{class:Ge(["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"))},[Vo(t.$slots,"default")],10,Q_))}},ey=["aria-label"],ty={class:"mcm-header"},oy={class:"mcm-title"},ny={class:"mcm-body"},ry=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Fs="doxa-map-menu-open",ay={__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}){Pt(` +`,"map-control-button"),(t,o)=>(H(),J("button",{class:Ge(["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"))},[Vo(t.$slots,"default")],10,Z_))}},Q_=["aria-label"],ey={class:"mcm-header"},ty={class:"mcm-title"},oy={class:"mcm-body"},ny=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Is="doxa-map-menu-open",ry={__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}){Pt(` .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=De("mapToolbar",null),a=ie(null),s=ie(null),l=ie({});function i(){var F;const v=(F=r==null?void 0:r.el)==null?void 0:F.value,S=a.value;if(!v||!S){l.value={};return}const $=S.getBoundingClientRect(),x=v.getBoundingClientRect(),T=(x.left+x.right)/2>($.left+$.right)/2,b=8,p=12,g=T?$.right-x.left+b:x.right-$.left+b,y=Math.max(200,Math.min(o.width,$.width-g-p)),k=Math.max(0,x.top-$.top);let M=S.getAttribute&&S.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-x.top-p):Math.max(120,$.height-k-p);o.matchToolbar&&(M=Math.max(120,Math.min(M,x.height))),o.maxHeight&&(M=Math.min(M,o.maxHeight)),l.value={top:`${Math.round(k)}px`,[T?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(y)}px`,maxHeight:`${Math.round(M)}px`,...o.height?{height:`${Math.round(Math.min(o.height,M))}px`}:{}}}function c(v){o.open&&v.detail!==s.value&&n("close")}pt(()=>o.open,async v=>{var S;if(v){await In(),i();try{(S=a.value)==null||S.dispatchEvent(new CustomEvent(Fs,{detail:s.value}))}catch{}}});function u(){o.open&&i()}function h(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var $;if(!o.open)return;const S=v.composedPath?v.composedPath():[v.target];s.value&&S.includes(s.value)||($=r==null?void 0:r.el)!=null&&$.value&&S.includes(r.el.value)||S.some(x=>{var T,b,p,g;return((b=(T=x==null?void 0:x.classList)==null?void 0:T.contains)==null?void 0:b.call(T,"mapboxgl-canvas"))||((g=(p=x==null?void 0:x.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return _t(()=>{var v,S,$;a.value=((S=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:S.closest(ry))||null,($=a.value)==null||$.addEventListener(Fs,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",h)}),Ut(()=>{var v;(v=a.value)==null||v.removeEventListener(Fs,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",h)}),(v,S)=>(H(),Lo(zd,{to:a.value,disabled:!a.value},[e.open?(H(),J("div",{key:0,ref_key:"el",ref:s,class:Ge(["mcm",{light:!e.isDark}]),style:lt(l.value),role:"dialog","aria-label":e.title},[I("div",ty,[I("span",oy,ue(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:S[0]||(S[0]=$=>n("close"))},[...S[1]||(S[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",ny,[Vo(v.$slots,"default")])],14,ey)):Re("",!0)],8,["to","disabled"]))}},sy={class:"share-steps"},ly={class:"share-tabs"},iy={key:0,class:"share-body"},cy={class:"share-url-box"},uy={class:"share-url-text"},dy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},fy={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"},py={key:1,class:"share-body"},gy={class:"share-size-pills"},hy=["onClick"],my={class:"share-code-box"},by={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},_y={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"},yy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Pt(` +`,"map-control-menu");const o=e,n=t,r=De("mapToolbar",null),a=ie(null),s=ie(null),l=ie({});function i(){var F;const v=(F=r==null?void 0:r.el)==null?void 0:F.value,S=a.value;if(!v||!S){l.value={};return}const $=S.getBoundingClientRect(),x=v.getBoundingClientRect(),T=(x.left+x.right)/2>($.left+$.right)/2,b=8,p=12,g=T?$.right-x.left+b:x.right-$.left+b,y=Math.max(200,Math.min(o.width,$.width-g-p)),k=Math.max(0,x.top-$.top);let M=S.getAttribute&&S.getAttribute("data-map-area")==="share-fallback"?Math.max(120,(window.innerHeight||900)-x.top-p):Math.max(120,$.height-k-p);o.matchToolbar&&(M=Math.max(120,Math.min(M,x.height))),o.maxHeight&&(M=Math.min(M,o.maxHeight)),l.value={top:`${Math.round(k)}px`,[T?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(y)}px`,maxHeight:`${Math.round(M)}px`,...o.height?{height:`${Math.round(Math.min(o.height,M))}px`}:{}}}function c(v){o.open&&v.detail!==s.value&&n("close")}pt(()=>o.open,async v=>{var S;if(v){await In(),i();try{(S=a.value)==null||S.dispatchEvent(new CustomEvent(Is,{detail:s.value}))}catch{}}});function u(){o.open&&i()}function h(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var $;if(!o.open)return;const S=v.composedPath?v.composedPath():[v.target];s.value&&S.includes(s.value)||($=r==null?void 0:r.el)!=null&&$.value&&S.includes(r.el.value)||S.some(x=>{var T,b,p,g;return((b=(T=x==null?void 0:x.classList)==null?void 0:T.contains)==null?void 0:b.call(T,"mapboxgl-canvas"))||((g=(p=x==null?void 0:x.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return _t(()=>{var v,S,$;a.value=((S=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:S.closest(ny))||null,($=a.value)==null||$.addEventListener(Is,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",h)}),Ut(()=>{var v;(v=a.value)==null||v.removeEventListener(Is,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",h)}),(v,S)=>(H(),Lo(jd,{to:a.value,disabled:!a.value},[e.open?(H(),J("div",{key:0,ref_key:"el",ref:s,class:Ge(["mcm",{light:!e.isDark}]),style:lt(l.value),role:"dialog","aria-label":e.title},[I("div",ey,[I("span",ty,ue(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:S[0]||(S[0]=$=>n("close"))},[...S[1]||(S[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",oy,[Vo(v.$slots,"default")])],14,Q_)):Re("",!0)],8,["to","disabled"]))}},ay={class:"share-steps"},sy={class:"share-tabs"},ly={key:0,class:"share-body"},iy={class:"share-url-box"},cy={class:"share-url-text"},uy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},dy={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"},fy={key:1,class:"share-body"},py={class:"share-size-pills"},gy=["onClick"],hy={class:"share-code-box"},my={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},by={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"},_y={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Pt(` .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); @@ -363,7 +363,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=hn(),r=e,a=ie(null),s=ie(!1),l=ie(null),i=ie(null),c=ie("link"),u=ie(!1),h=ie(!1),m=ie("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=De("profileConfig",null),$=se(()=>Zb({embedPath:r.embedPath,profileConfig:de(S)||null})),x=se(()=>{const V=v[m.value].height;return''});function T(){s.value=!s.value,s.value&&(c.value="link",u.value=!1,h.value=!1)}function b(){s.value=!1}async function p(V){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(V),!0}catch{}try{const W=document.createElement("textarea");W.value=V,W.setAttribute("readonly",""),W.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(W),W.select();const ne=document.execCommand("copy");return document.body.removeChild(W),ne}catch{return!1}}async function g(){await p($.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function y(){await p(x.value)&&(h.value=!0,setTimeout(()=>{h.value=!1},2e3))}const k=De("mapToolbar",null),E=ie(null);fo("mapToolbar",k||{el:E});const M=!k;function F(V){if(a.value=V||null,!M||!V){V||(E.value=null);return}const W=V.offsetParent||V.parentElement;W&&!W.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&W.setAttribute("data-map-area","share-fallback"),E.value=V}return(V,W)=>(H(),J("div",{ref:F,class:"share-wrap","data-share-root":""},[ze(Is,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:s.value,title:de(t)("buttons.share"),onClick:T},{default:Co(()=>[...W[2]||(W[2]=[I("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"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),ze(ay,{open:s.value,title:de(t)("buttons.share"),"is-dark":e.isDark,onClose:b},{default:Co(()=>[I("div",{ref_key:"popoverEl",ref:l,class:Ge(["share-pop",{light:!e.isDark}])},[I("ul",sy,[(H(!0),J(Ce,null,Qe(de(o)("buttons.shareSteps"),(ne,me)=>(H(),J("li",{key:me},ue(de(n)(ne)),1))),128))]),I("div",ly,[I("button",{class:Ge(["share-tab",{active:c.value==="link"}]),onClick:W[0]||(W[0]=ne=>c.value="link")},"Embed link",2),I("button",{class:Ge(["share-tab",{active:c.value==="embed"}]),onClick:W[1]||(W[1]=ne=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(H(),J("div",iy,[I("div",cy,[I("div",uy,ue($.value),1)]),I("button",{class:Ge(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(H(),J("svg",fy,[...W[4]||(W[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),J("svg",dy,[...W[3]||(W[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),it(" "+ue(u.value?"Copied!":"Copy Link"),1)],2)])):Re("",!0),c.value==="embed"?(H(),J("div",py,[W[7]||(W[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",gy,[(H(),J(Ce,null,Qe(v,(ne,me)=>I("button",{key:me,class:Ge(["share-size-pill",{active:m.value===me}]),onClick:j=>m.value=me},ue(ne.label),11,hy)),64))]),I("div",my,ue(x.value),1),I("button",{class:Ge(["share-secondary-btn",{copied:h.value}]),onClick:y},[h.value?(H(),J("svg",_y,[...W[6]||(W[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),J("svg",by,[...W[5]||(W[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),it(" "+ue(h.value?"Copied!":"Copy Code"),1)],2)])):Re("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},So="#c4c8c0",nt=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,vy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function ta(e,t){const o=Zr(e);return o&&o.propertyKey===t?o:null}function xy(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 a=null,s=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>s&&(a=l,s=i.length)}return a||(/^[A-Z]{1,3}$/.test(o)?xs(o):"U")}function Rs(e,t,o){const n=new Map;for(const a of e){const s=t(a);s==null||s===""||n.set(s,(n.get(s)||0)+1)}let r=[...n.entries()].map(([a,s])=>({key:a,value:s})).sort((a,s)=>s.value-a.value);if(o&&r.length>o){const a=r.slice(0,o),s=r.slice(o).reduce((l,i)=>l+i.value,0);s>0&&a.push({key:"Other",value:s,other:!0}),r=a}return r}function wy(e,t,o){const n=new Map;for(const a of e||[]){const s=t&&t(a),l=o&&o(a);if(!s||!l)continue;n.has(s)||n.set(s,new Map);const i=n.get(s);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[a,s]of n){let l=null,i=0,c=!1;for(const[u,h]of s)h>i?(l=u,i=h,c=!1):h===i&&(c=!0);r.set(a,l&&!c?Pu("wagf_region",l):So)}return r}function ky(e,t=132,o=.58,n="",r=null){const a=t/2,s=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((h,m)=>h+m.value,0)||1;let u=-Math.PI/2;return e.map((h,m)=>{const v=u,S=u+h.value/c*Math.PI*2;u=S;const $=S-v>Math.PI?1:0,x=(b,p)=>`${(a+p*Math.cos(b)).toFixed(2)},${(s+p*Math.sin(b)).toFixed(2)}`,T=`M${x(v,l)} A${l},${l} 0 ${$} 1 ${x(S,l)} L${x(S,i)} A${i},${i} 0 ${$} 0 ${x(v,i)} Z`;return{...h,path:T,pct:Math.round(h.value/c*100),color:Lu(n,h.key,r)}})}function $y(e,t="",o=null){const n=e.reduce((r,a)=>Math.max(r,a.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:Lu(t,r.key,o)}))}function Lu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return Pu(e,t)}function Pu(e,t){if(t==null||t===""||t==="Other")return So;if(e==="religion"||e==="religion_family"){const o=ta($o.RELIGION,"religion"),n=o&&o.palette||Ct,r=o&&o.families||ko;return n[xy(t,r)]||So}if(e==="wagf_region"){const o=ta($o.DOXA_REGION,"doxaRegion");if(!o)return So;const n=o.slugColors&&o.slugColors[vy(t)];return n||o.aliases&&o.aliases[t]||So}if(e==="affinity_bloc"){const o=ta($o.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||So}if(e==="language_family"){const o=ta($o.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||So}return So}const Sy={class:"rd-left"},Ey={class:"rd-brand"},Ay={class:"rd-ttl"},Cy={class:"rd-filter-search","data-filter-search":""},Ty={key:0,class:"rd-search","data-search":""},Ly=["data-slug"],Py={class:"nm"},Ny={class:"sub"},Iy={key:1,class:"rd-empty"},Fy=["onKeydown"],Ry="research-dashboard/research-dashboard/index.html",My={__name:"DashboardTopBar",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=se(()=>n.showTopBarSearch===!0);function a(){o&&o.emit("resetLayout")}const s=se(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=se(()=>{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=ie(""),u=ie(!1),h=ie(0),m=se(()=>{var k;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],y=[];for(const E of g)if((E.name||"").toLowerCase().includes(p)&&(y.push(E),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,h.value=0)}function S(){u.value=!0,h.value=0}function $(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),h.value=(h.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),h.value=(h.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[h.value])):p.key==="Escape"&&(c.value="",u.value=!1,h.value=0)}function x(p){var E;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const y=g.getAttribute("data-slug"),k=(((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]).find(M=>M.slug===y);k&&v(k)}const T=ie(null);function b(p){T.value&&!T.value.contains(p.target)&&(u.value=!1)}return _t(()=>{var p,g;try{(g=(p=T.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",b)}catch{}}),Ut(()=>{var p,g;try{(g=(p=T.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",b)}catch{}}),Pt(` +`,"share-button");const{t,tm:o,rt:n}=hn(),r=e,a=ie(null),s=ie(!1),l=ie(null),i=ie(null),c=ie("link"),u=ie(!1),h=ie(!1),m=ie("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},S=De("profileConfig",null),$=se(()=>Jb({embedPath:r.embedPath,profileConfig:de(S)||null})),x=se(()=>{const V=v[m.value].height;return''});function T(){s.value=!s.value,s.value&&(c.value="link",u.value=!1,h.value=!1)}function b(){s.value=!1}async function p(V){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(V),!0}catch{}try{const W=document.createElement("textarea");W.value=V,W.setAttribute("readonly",""),W.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(W),W.select();const ne=document.execCommand("copy");return document.body.removeChild(W),ne}catch{return!1}}async function g(){await p($.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function y(){await p(x.value)&&(h.value=!0,setTimeout(()=>{h.value=!1},2e3))}const k=De("mapToolbar",null),E=ie(null);fo("mapToolbar",k||{el:E});const M=!k;function F(V){if(a.value=V||null,!M||!V){V||(E.value=null);return}const W=V.offsetParent||V.parentElement;W&&!W.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&W.setAttribute("data-map-area","share-fallback"),E.value=V}return(V,W)=>(H(),J("div",{ref:F,class:"share-wrap","data-share-root":""},[ze(Ns,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:s.value,title:de(t)("buttons.share"),onClick:T},{default:Co(()=>[...W[2]||(W[2]=[I("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"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),ze(ry,{open:s.value,title:de(t)("buttons.share"),"is-dark":e.isDark,onClose:b},{default:Co(()=>[I("div",{ref_key:"popoverEl",ref:l,class:Ge(["share-pop",{light:!e.isDark}])},[I("ul",ay,[(H(!0),J(Ce,null,Qe(de(o)("buttons.shareSteps"),(ne,me)=>(H(),J("li",{key:me},ue(de(n)(ne)),1))),128))]),I("div",sy,[I("button",{class:Ge(["share-tab",{active:c.value==="link"}]),onClick:W[0]||(W[0]=ne=>c.value="link")},"Embed link",2),I("button",{class:Ge(["share-tab",{active:c.value==="embed"}]),onClick:W[1]||(W[1]=ne=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(H(),J("div",ly,[I("div",iy,[I("div",cy,ue($.value),1)]),I("button",{class:Ge(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(H(),J("svg",dy,[...W[4]||(W[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),J("svg",uy,[...W[3]||(W[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),it(" "+ue(u.value?"Copied!":"Copy Link"),1)],2)])):Re("",!0),c.value==="embed"?(H(),J("div",fy,[W[7]||(W[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",py,[(H(),J(Ce,null,Qe(v,(ne,me)=>I("button",{key:me,class:Ge(["share-size-pill",{active:m.value===me}]),onClick:j=>m.value=me},ue(ne.label),11,gy)),64))]),I("div",hy,ue(x.value),1),I("button",{class:Ge(["share-secondary-btn",{copied:h.value}]),onClick:y},[h.value?(H(),J("svg",by,[...W[6]||(W[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),J("svg",my,[...W[5]||(W[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),it(" "+ue(h.value?"Copied!":"Copy Code"),1)],2)])):Re("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},So="#c4c8c0",nt=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,yy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function ta(e,t){const o=Zr(e);return o&&o.propertyKey===t?o:null}function vy(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 a=null,s=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>s&&(a=l,s=i.length)}return a||(/^[A-Z]{1,3}$/.test(o)?xs(o):"U")}function Fs(e,t,o){const n=new Map;for(const a of e){const s=t(a);s==null||s===""||n.set(s,(n.get(s)||0)+1)}let r=[...n.entries()].map(([a,s])=>({key:a,value:s})).sort((a,s)=>s.value-a.value);if(o&&r.length>o){const a=r.slice(0,o),s=r.slice(o).reduce((l,i)=>l+i.value,0);s>0&&a.push({key:"Other",value:s,other:!0}),r=a}return r}function xy(e,t,o){const n=new Map;for(const a of e||[]){const s=t&&t(a),l=o&&o(a);if(!s||!l)continue;n.has(s)||n.set(s,new Map);const i=n.get(s);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[a,s]of n){let l=null,i=0,c=!1;for(const[u,h]of s)h>i?(l=u,i=h,c=!1):h===i&&(c=!0);r.set(a,l&&!c?Lu("wagf_region",l):So)}return r}function wy(e,t=132,o=.58,n="",r=null){const a=t/2,s=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((h,m)=>h+m.value,0)||1;let u=-Math.PI/2;return e.map((h,m)=>{const v=u,S=u+h.value/c*Math.PI*2;u=S;const $=S-v>Math.PI?1:0,x=(b,p)=>`${(a+p*Math.cos(b)).toFixed(2)},${(s+p*Math.sin(b)).toFixed(2)}`,T=`M${x(v,l)} A${l},${l} 0 ${$} 1 ${x(S,l)} L${x(S,i)} A${i},${i} 0 ${$} 0 ${x(v,i)} Z`;return{...h,path:T,pct:Math.round(h.value/c*100),color:Tu(n,h.key,r)}})}function ky(e,t="",o=null){const n=e.reduce((r,a)=>Math.max(r,a.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:Tu(t,r.key,o)}))}function Tu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return Lu(e,t)}function Lu(e,t){if(t==null||t===""||t==="Other")return So;if(e==="religion"||e==="religion_family"){const o=ta($o.RELIGION,"religion"),n=o&&o.palette||Ct,r=o&&o.families||ko;return n[vy(t,r)]||So}if(e==="wagf_region"){const o=ta($o.DOXA_REGION,"doxaRegion");if(!o)return So;const n=o.slugColors&&o.slugColors[yy(t)];return n||o.aliases&&o.aliases[t]||So}if(e==="affinity_bloc"){const o=ta($o.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||So}if(e==="language_family"){const o=ta($o.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||So}return So}const $y={class:"rd-left"},Sy={class:"rd-brand"},Ey={class:"rd-ttl"},Ay={class:"rd-filter-search","data-filter-search":""},Cy={key:0,class:"rd-search","data-search":""},Ty=["data-slug"],Ly={class:"nm"},Py={class:"sub"},Ny={key:1,class:"rd-empty"},Iy=["onKeydown"],Fy="research-dashboard/research-dashboard/index.html",Ry={__name:"DashboardTopBar",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=se(()=>n.showTopBarSearch===!0);function a(){o&&o.emit("resetLayout")}const s=se(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=se(()=>{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=ie(""),u=ie(!1),h=ie(0),m=se(()=>{var k;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],y=[];for(const E of g)if((E.name||"").toLowerCase().includes(p)&&(y.push(E),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,h.value=0)}function S(){u.value=!0,h.value=0}function $(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),h.value=(h.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),h.value=(h.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[h.value])):p.key==="Escape"&&(c.value="",u.value=!1,h.value=0)}function x(p){var E;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const y=g.getAttribute("data-slug"),k=(((E=t==null?void 0:t.rows)==null?void 0:E.value)||[]).find(M=>M.slug===y);k&&v(k)}const T=ie(null);function b(p){T.value&&!T.value.contains(p.target)&&(u.value=!1)}return _t(()=>{var p,g;try{(g=(p=T.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",b)}catch{}}),Ut(()=>{var p,g;try{(g=(p=T.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",b)}catch{}}),Pt(` .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); @@ -405,7 +405,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(p,g)=>(H(),J("header",{ref_key:"rootEl",ref:T,class:"rd-topbar","data-region":"topbar"},[I("div",Sy,[I("span",Ey,[I("span",Ay,[it(ue(de(n).title||"Research Dashboard"),1),g[1]||(g[1]=I("span",{class:"dot"},".",-1))])])]),I("div",Cy,[ze(Ns,{"model-value":s.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=I("span",{class:"rd-spacer"},null,-1)),r.value?(H(),J("div",Ty,[g[2]||(g[2]=I("span",{class:"ic"},"⌕",-1)),It(I("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:S,onFocus:S,onKeydown:$},null,544),[[up,c.value]]),u.value&&c.value.trim().length>=2?(H(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:x},[m.value.length?(H(!0),J(Ce,{key:0},Qe(m.value,(y,k)=>(H(),J("div",{key:y.slug,class:Ge(["rd-res",{on:k===h.value}]),"data-slug":y.slug},[I("span",Py,ue(y.name),1),I("span",Ny,ue(de(nt)(y.country_code))+" · "+ue(de(nt)(y.religion)),1)],10,Ly))),128)):(H(),J("div",Iy,"No people groups match “"+ue(c.value.trim())+"”.",1))])):Re("",!0)])):Re("",!0),I("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:a,onKeydown:[zr(cn(a,["prevent"]),["enter"]),zr(cn(a,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Fy),ze(yy,{"embed-path":Ry})],512))}},jo="#c4c8c0";function Oy(e,t){const o=Zr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Dy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function jy(){const e=se(()=>{const o=Zr($o.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,a){if(r==null||r==="")return jo;if(o==="people"){const s=Oy($o.AFFINITY_BLOCK,"affinityBlock");return s&&s[a||r]||jo}if(o==="place"){const{slug:s,alias:l}=e.value,i=a||r;if(s){const c=s[Dy(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return jo}return o==="language"?wo[a||r]||jo:o==="religion"&&Ct[a]||jo}return{colorFor:t,NEUTRAL:jo}}const zy={class:"rd-facets","data-region":"facets"},Uy={class:"fr-head"},By={class:"fr-scope","data-scope-count":""},Gy=["data-facet-section"],qy=["onClick"],Hy={class:"fr-rows"},Vy=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Wy=["data-expand","data-expand-value","aria-expanded","aria-label"],Ky={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Yy={class:"fr-lbl"},Xy={class:"fr-bar"},Jy={class:"fr-cnt"},Zy={key:3,class:"fr-donly","aria-hidden":"true"},Qy={__name:"DashboardFacetRail",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=De("dataStore",null),a=De("searchSourceId",null),s=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([N,z])=>[N,z.get])),i=new Set(Object.entries(n.facets||{}).filter(([,N])=>N&&N.dashboardOnly).map(([N])=>N)),c=rr(o,nr(n));function u(N){var q,re;const z=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],D=Object.keys(s).filter(be=>!N.includes(be)),P=!!(((re=o==null?void 0:o.searchTerm)==null?void 0:re.value)||"").trim();return!D.length&&!P?z:z.filter(be=>D.every(Ee=>{const Ae=l[Ee];return Ae?Ae(be)===s[Ee]:!0})&&c(be))}const h=new Set(["people","place","language","religion"]),m=Uo(Object.fromEntries((n.facetRail||[]).map(N=>[N.id,h.has(N.id)])));function v(N){m[N]=!m[N]}const S=Uo({}),$=(N,z)=>N+":"+z;function x(N,z){const D=$(N,z);S[D]=!T(N,z)}function T(N,z){const D=$(N,z);return D in S?S[D]:s[N]===z}function b(N,z,D){const P=N.reduce((q,re)=>Math.max(q,re.value),0)||1;return N.map(q=>({facet:z,value:q.key,label:q.key,count:q.value,frac:q.value/P,level:D,other:!!q.other,active:!q.other&&s[z]===q.key,dashboardOnly:i.has(z)}))}const p=new Map;function g(N,z,D){if(D)return p.set(N,z.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),z;const P=p.get(N);if(!P)return z;const q=xe=>xe.facet+":"+xe.value,re=new Set(z.map(q));if(!P.filter(xe=>!re.has(q(xe))).length)return z;const Ee=new Map;let Ae="";for(const xe of P){const _e=q(xe);if(re.has(_e)){Ae=_e;continue}Ee.has(Ae)||Ee.set(Ae,[]),Ee.get(Ae).push({...xe,zero:!0})}const Le=[];for(const xe of Ee.get("")||[])Le.push(xe);for(let xe=0;xe_e.level;)Le.push(z[++xe]);for(const ve of ye)Le.push(ve)}}return Le}function y(N,z){return b(Rs(u([N]),l[N],z??24),N,0)}function k(N,z){const D=[],P=(q,re)=>{const be=N[q],Ee=(z&&z[q])??(q===N.length-1?40:30);let Ae=u(N.slice(q));re.length&&(Ae=Ae.filter(xe=>re.every(([_e,ye])=>{const ve=l[_e];return ve?ve(xe)===ye:!0})));const Le=b(Rs(Ae,l[be],Ee),be,q);for(const xe of Le)xe.hasChildren=!xe.other&&q{var D;const N=new Map,z=n.facets&&n.facets.religion_family;if(!z||!z.famKey)return N;for(const P of((D=t==null?void 0:t.rows)==null?void 0:D.value)||[]){const q=z.get(P);q&&!N.has(q)&&N.set(q,z.famKey(P))}return N}),ne=se(()=>{var N;return!Object.keys(s).length&&!(((N=o==null?void 0:o.searchTerm)==null?void 0:N.value)||"").trim()}),me=se(()=>(n.facetRail||[]).map(N=>{let z=N.drill?k(N.drill,N.topN):y(N.facet,N.topN);if(z=g(N.id,z,ne.value),N.tree==="affinity"){const D=M.value;z=z.map(P=>P.other?P:{...P,label:D[P.facet]&&D[P.facet].get(P.value)||P.label})}return z=V(z,N.axis,W.value),{id:N.id,title:N.title,axis:N.axis,rows:E(z)}})),j=se(()=>{var D;const N=((D=t==null?void 0:t.rows)==null?void 0:D.value)||[],z=Object.keys(s);return z.length?N.filter(P=>z.every(q=>{const re=l[q];return re?re(P)===s[q]:!0})).length:N.length});function ee(N){const z=N.target;if(!z||!z.closest)return;const D=z.closest("[data-expand]");if(D){const be=D.getAttribute("data-expand"),Ee=D.getAttribute("data-expand-value");be&&Ee!=null&&(N.stopPropagation(),x(be,Ee));return}const P=z.closest("[data-facet]");if(!P||!o)return;const q=P.getAttribute("data-facet"),re=P.getAttribute("data-value");!q||!re||o.setFilter(q,s[q]===re?null:re)}function K(N){if(N.key!=="Enter"&&N.key!==" "&&N.key!=="Spacebar")return;const z=N.target&&N.target.closest?N.target.closest("[data-facet]"):null;if(!z||!o)return;N.preventDefault();const D=z.getAttribute("data-facet"),P=z.getAttribute("data-value");!D||!P||o.setFilter(D,s[D]===P?null:P)}const B=ie(null);return _t(()=>{o&&o.on("mapFocus",({value:N}={})=>{if(!N||!B.value)return;const D=[...B.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(N));D&&(B.value.scrollTop=Math.max(0,D.offsetTop-8))})}),Pt(` +`,"rd-topbar"),(p,g)=>(H(),J("header",{ref_key:"rootEl",ref:T,class:"rd-topbar","data-region":"topbar"},[I("div",$y,[I("span",Sy,[I("span",Ey,[it(ue(de(n).title||"Research Dashboard"),1),g[1]||(g[1]=I("span",{class:"dot"},".",-1))])])]),I("div",Ay,[ze(Ps,{"model-value":s.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=I("span",{class:"rd-spacer"},null,-1)),r.value?(H(),J("div",Cy,[g[2]||(g[2]=I("span",{class:"ic"},"⌕",-1)),It(I("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:S,onFocus:S,onKeydown:$},null,544),[[cp,c.value]]),u.value&&c.value.trim().length>=2?(H(),J("div",{key:0,class:"rd-results","data-search-results":"",onClick:x},[m.value.length?(H(!0),J(Ce,{key:0},Qe(m.value,(y,k)=>(H(),J("div",{key:y.slug,class:Ge(["rd-res",{on:k===h.value}]),"data-slug":y.slug},[I("span",Ly,ue(y.name),1),I("span",Py,ue(de(nt)(y.country_code))+" · "+ue(de(nt)(y.religion)),1)],10,Ty))),128)):(H(),J("div",Ny,"No people groups match “"+ue(c.value.trim())+"”.",1))])):Re("",!0)])):Re("",!0),I("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:a,onKeydown:[zr(cn(a,["prevent"]),["enter"]),zr(cn(a,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Iy),ze(_y,{"embed-path":Fy})],512))}},jo="#c4c8c0";function My(e,t){const o=Zr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const Oy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Dy(){const e=se(()=>{const o=Zr($o.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,a){if(r==null||r==="")return jo;if(o==="people"){const s=My($o.AFFINITY_BLOCK,"affinityBlock");return s&&s[a||r]||jo}if(o==="place"){const{slug:s,alias:l}=e.value,i=a||r;if(s){const c=s[Oy(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return jo}return o==="language"?wo[a||r]||jo:o==="religion"&&Ct[a]||jo}return{colorFor:t,NEUTRAL:jo}}const jy={class:"rd-facets","data-region":"facets"},zy={class:"fr-head"},Uy={class:"fr-scope","data-scope-count":""},By=["data-facet-section"],Gy=["onClick"],qy={class:"fr-rows"},Hy=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Vy=["data-expand","data-expand-value","aria-expanded","aria-label"],Wy={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Ky={class:"fr-lbl"},Yy={class:"fr-bar"},Xy={class:"fr-cnt"},Jy={key:3,class:"fr-donly","aria-hidden":"true"},Zy={__name:"DashboardFacetRail",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=De("dataStore",null),a=De("searchSourceId",null),s=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([N,z])=>[N,z.get])),i=new Set(Object.entries(n.facets||{}).filter(([,N])=>N&&N.dashboardOnly).map(([N])=>N)),c=rr(o,nr(n));function u(N){var q,re;const z=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],D=Object.keys(s).filter(be=>!N.includes(be)),P=!!(((re=o==null?void 0:o.searchTerm)==null?void 0:re.value)||"").trim();return!D.length&&!P?z:z.filter(be=>D.every(Ee=>{const Ae=l[Ee];return Ae?Ae(be)===s[Ee]:!0})&&c(be))}const h=new Set(["people","place","language","religion"]),m=Uo(Object.fromEntries((n.facetRail||[]).map(N=>[N.id,h.has(N.id)])));function v(N){m[N]=!m[N]}const S=Uo({}),$=(N,z)=>N+":"+z;function x(N,z){const D=$(N,z);S[D]=!T(N,z)}function T(N,z){const D=$(N,z);return D in S?S[D]:s[N]===z}function b(N,z,D){const P=N.reduce((q,re)=>Math.max(q,re.value),0)||1;return N.map(q=>({facet:z,value:q.key,label:q.key,count:q.value,frac:q.value/P,level:D,other:!!q.other,active:!q.other&&s[z]===q.key,dashboardOnly:i.has(z)}))}const p=new Map;function g(N,z,D){if(D)return p.set(N,z.map(xe=>({...xe,count:0,frac:0,active:!1,expanded:!1}))),z;const P=p.get(N);if(!P)return z;const q=xe=>xe.facet+":"+xe.value,re=new Set(z.map(q));if(!P.filter(xe=>!re.has(q(xe))).length)return z;const Ee=new Map;let Ae="";for(const xe of P){const _e=q(xe);if(re.has(_e)){Ae=_e;continue}Ee.has(Ae)||Ee.set(Ae,[]),Ee.get(Ae).push({...xe,zero:!0})}const Le=[];for(const xe of Ee.get("")||[])Le.push(xe);for(let xe=0;xe_e.level;)Le.push(z[++xe]);for(const ve of ye)Le.push(ve)}}return Le}function y(N,z){return b(Fs(u([N]),l[N],z??24),N,0)}function k(N,z){const D=[],P=(q,re)=>{const be=N[q],Ee=(z&&z[q])??(q===N.length-1?40:30);let Ae=u(N.slice(q));re.length&&(Ae=Ae.filter(xe=>re.every(([_e,ye])=>{const ve=l[_e];return ve?ve(xe)===ye:!0})));const Le=b(Fs(Ae,l[be],Ee),be,q);for(const xe of Le)xe.hasChildren=!xe.other&&q{var D;const N=new Map,z=n.facets&&n.facets.religion_family;if(!z||!z.famKey)return N;for(const P of((D=t==null?void 0:t.rows)==null?void 0:D.value)||[]){const q=z.get(P);q&&!N.has(q)&&N.set(q,z.famKey(P))}return N}),ne=se(()=>{var N;return!Object.keys(s).length&&!(((N=o==null?void 0:o.searchTerm)==null?void 0:N.value)||"").trim()}),me=se(()=>(n.facetRail||[]).map(N=>{let z=N.drill?k(N.drill,N.topN):y(N.facet,N.topN);if(z=g(N.id,z,ne.value),N.tree==="affinity"){const D=M.value;z=z.map(P=>P.other?P:{...P,label:D[P.facet]&&D[P.facet].get(P.value)||P.label})}return z=V(z,N.axis,W.value),{id:N.id,title:N.title,axis:N.axis,rows:E(z)}})),j=se(()=>{var D;const N=((D=t==null?void 0:t.rows)==null?void 0:D.value)||[],z=Object.keys(s);return z.length?N.filter(P=>z.every(q=>{const re=l[q];return re?re(P)===s[q]:!0})).length:N.length});function ee(N){const z=N.target;if(!z||!z.closest)return;const D=z.closest("[data-expand]");if(D){const be=D.getAttribute("data-expand"),Ee=D.getAttribute("data-expand-value");be&&Ee!=null&&(N.stopPropagation(),x(be,Ee));return}const P=z.closest("[data-facet]");if(!P||!o)return;const q=P.getAttribute("data-facet"),re=P.getAttribute("data-value");!q||!re||o.setFilter(q,s[q]===re?null:re)}function K(N){if(N.key!=="Enter"&&N.key!==" "&&N.key!=="Spacebar")return;const z=N.target&&N.target.closest?N.target.closest("[data-facet]"):null;if(!z||!o)return;N.preventDefault();const D=z.getAttribute("data-facet"),P=z.getAttribute("data-value");!D||!P||o.setFilter(D,s[D]===P?null:P)}const B=ie(null);return _t(()=>{o&&o.on("mapFocus",({value:N}={})=>{if(!N||!B.value)return;const D=[...B.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(N));D&&(B.value.scrollTop=Math.max(0,D.offsetTop-8))})}),Pt(` .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"),(N,z)=>(H(),J("aside",zy,[I("div",Uy,[z[1]||(z[1]=I("div",{class:"fr-title"},"Vertical Legend",-1)),I("div",By,[I("b",null,ue(j.value.toLocaleString("en-US")),1),z[0]||(z[0]=it(" groups in scope",-1))])]),I("div",{class:"fr-body",ref_key:"railEl",ref:B,onClick:ee,onKeydown:K},[(H(!0),J(Ce,null,Qe(me.value,D=>(H(),J("div",{key:D.id,class:"fr-sec","data-facet-section":D.id},[I("div",{class:Ge(["fr-sech",{closed:!m[D.id]}]),onClick:cn(P=>v(D.id),["stop"])},[I("span",null,ue(D.title),1),z[2]||(z[2]=I("span",{class:"chev"},"▾",-1))],10,qy),It(I("div",Hy,[(H(!0),J(Ce,null,Qe(D.rows,P=>(H(),J("div",{key:P.facet+":"+P.value,class:Ge(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(H(!0),J(Ce,null,Qe(P.trunks,(q,re)=>(H(),J("span",{key:"tr"+re,class:Ge(["fr-trunk","fr-trunk-"+q])},null,2))),128)),P.hasChildren?(H(),J("button",{key:0,type:"button",class:Ge(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...z[3]||(z[3]=[I("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Wy)):(H(),J("span",Ky)),P.swatch?(H(),J("span",{key:2,class:"fr-sw",style:lt({background:P.swatch}),"aria-hidden":"true"},null,4)):Re("",!0),I("span",Yy,ue(P.label),1),I("span",Xy,[I("i",{style:lt({width:Math.max(4,P.frac*100)+"%"})},null,4)]),I("span",Jy,ue(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(H(),J("span",Zy,"◐")):Re("",!0)],10,Vy))),128))],512),[[Bt,m[D.id]]])],8,Gy))),128))],544)]))}},ev=["data-sel-count","data-fullscreen"],tv=["data-collapsed"],ov=["title","aria-expanded"],nv={class:"ct","data-table-count":""},rv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},av=["aria-pressed"],sv=["aria-pressed"],lv={key:2,class:"rd-toast","data-export-toast":""},iv=["aria-pressed","title","aria-label"],cv=["aria-busy","title","onKeydown"],uv={key:0,class:"rd-csv-n"},dv=["data-sort-by","aria-rowcount"],fv=["title"],pv=["checked","aria-label"],gv=["title","aria-sort","data-col","onClick"],hv={class:"ind"},mv=["data-slug","aria-selected","aria-rowindex"],bv={class:"rd-td chk",role:"gridcell"},_v=["checked","aria-label"],yv={class:"rd-foot",role:"row"},vv=90,xv=9.9,wv=12,ar=26,kv={__name:"DashboardDataTable",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=Y=>{if(typeof Y=="number")return Y;const fe=parseFloat(String(Y??"").replace(/[^0-9.\-]/g,""));return isNaN(fe)?null:fe},a=Y=>Y==null?"":Number(Y).toLocaleString("en-US"),s=se(()=>n.columns||[]);function l(Y){const fe=Number(Y&&Y.minW);if(Number.isFinite(fe)&&fe>0)return fe;const ge=String(Y&&Y.label||"");return ge?Math.ceil(ge.length*xv)+wv:vv}function i(Y){const fe=Number(Y&&Y.w);return{flex:`${Number.isFinite(fe)&&fe>0?fe:1} 1 0`,minWidth:l(Y)+"px"}}const c=se(()=>s.value.reduce((Y,fe)=>Y+l(fe),30)),u=se(()=>({minWidth:c.value+"px"})),h=Object.fromEntries(Object.entries(n.facets||{}).map(([Y,fe])=>[Y,fe.get])),m=se(()=>{var Y;return((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]}),v=(o==null?void 0:o.filterSet)||{},S=o==null?void 0:o.selectionSet;function $(Y,fe,ge){const je=h[fe];if(!je)return!0;const Ue=je(Y);return Array.isArray(ge)?ge.includes(Ue):Ue===ge}const x=rr(o,nr(n)),T=se(()=>{var ge;const Y=Object.keys(v),fe=!!(((ge=o==null?void 0:o.searchTerm)==null?void 0:ge.value)||"").trim();return!Y.length&&!fe?m.value:m.value.filter(je=>Y.every(Ue=>$(je,Ue,v[Ue]))&&x(je))}),b=ie([]);function p(Y,fe){const ge=!!(fe&&fe.shiftKey),je=b.value.findIndex(Ue=>Ue.key===Y.key);if(je<0)b.value=(ge?[...b.value]:[]).concat({key:Y.key,dir:"asc"});else if(b.value[je].dir==="asc"){const Ue=[...b.value];Ue[je]={key:Y.key,dir:"desc"},b.value=Ue}else b.value=ge?b.value.filter(Ue=>Ue.key!==Y.key):[]}function g(Y){const fe=b.value.find(ge=>ge.key===Y.key);return fe?fe.dir==="asc"?"ascending":"descending":"none"}const y=se(()=>{const Y=b.value;if(!Y.length)return T.value;const fe=Y.map(ge=>({col:s.value.find(je=>je.key===ge.key),dir:ge.dir==="asc"?1:-1}));return T.value.slice().sort((ge,je)=>{for(const{col:Ue,dir:Wt}of fe){let St=Ue.get(ge),Mt=Ue.get(je);if((St==null||St==="")&&(St=Ue.type==="num"?-1/0:""),(Mt==null||Mt==="")&&(Mt=Ue.type==="num"?-1/0:""),StMt)return 1*Wt}return 0})}),k=ie(!1),E=ie(!1);function M(){k.value=!k.value}function F(){E.value=!E.value}const V=()=>o&&o.selectionVersion?o.selectionVersion.value:0,W=se(()=>{let Y=y.value;if(k.value&&(V(),Y=Y.filter(fe=>S&&S.has(fe.slug))),E.value){V();const fe=[],ge=[];for(const je of Y)(S&&S.has(je.slug)?fe:ge).push(je);Y=fe.concat(ge)}return Y}),ne=ie(0),me=ie(360),j=ie(null);let ee=null;const K=ie(0);function B(Y){ne.value=Y.target.scrollTop,K.value=Y.target.scrollLeft}const N=se(()=>Math.max(0,Math.floor(ne.value/ar)-6)),z=se(()=>Math.ceil(me.value/ar)+12),D=se(()=>W.value.slice(N.value,N.value+z.value)),P=se(()=>N.value*ar),q=se(()=>Math.max(0,(W.value.length-(N.value+D.value.length))*ar));_t(()=>{j.value&&(me.value=j.value.clientHeight||360,ee=new ResizeObserver(()=>{me.value=j.value.clientHeight||me.value}),ee.observe(j.value)),o&&o.on("toggleTable",Y=>{te.value=!!Y}),o&&o.on("focusRow",({slug:Y}={})=>{if(!Y||!j.value)return;const fe=W.value.findIndex(ge=>ge.slug===Y);fe>=0&&(j.value.scrollTop=Math.max(0,fe*ar-me.value/2))})}),_t(()=>{typeof document<"u"&&document.addEventListener("keydown",oe)}),Ut(()=>{ee&&ee.disconnect(),clearTimeout(He),typeof document<"u"&&document.removeEventListener("keydown",oe)});const re=se(()=>(V(),S?S.size:0)),be=Y=>!!(S&&S.has(Y.slug)),Ee=se(()=>V()),Ae=ie(null),Le=ie("select");let xe=new Set;function _e(Y,fe){Ae.value=Y,Le.value=fe,xe=new Set(S)}function ye(Y,fe){const ge=W.value,je=ge.findIndex(so=>so.slug===Y),Ue=ge.findIndex(so=>so.slug===fe);if(je<0||Ue<0)return[];const[Wt,St]=je<=Ue?[je,Ue]:[Ue,je],Mt=[];for(let so=Wt;so<=St;so++)Mt.push(ge[so].slug);return Mt}function ve(Y,fe){if(!o||!Y)return;const ge=!!(fe&&(fe.ctrlKey||fe.metaKey));if(!!(fe&&fe.shiftKey)&&Ae.value){const Ue=ye(Ae.value,Y);if(!Ue.length)return;if(ge){const Wt=new Set(xe);if(Le.value==="deselect")for(const St of Ue)Wt.delete(St);else for(const St of Ue)Wt.add(St);o.setSelection(Wt)}else o.setSelection(Ue);return}if(ge){const Ue=!S.has(Y);_e(Y,Ue?"select":"deselect"),o.toggleSelect(Y),xe=new Set(S);return}_e(Y,"select"),o.setSelection([Y]),xe=new Set(S)}function _(Y){const fe=Y.target;if(!fe||!fe.closest)return;const ge=fe.closest(".rd-row");if(!ge||!o)return;const je=ge.getAttribute("data-slug");if(je){if(fe.closest(".rd-td.chk")){if(Y.shiftKey||Y.ctrlKey||Y.metaKey){ve(je,Y);return}_e(je,S.has(je)?"deselect":"select"),o.toggleSelect(je),xe=new Set(S);return}ve(je,Y)}}function A(Y){Y.shiftKey&&Y.target&&Y.target.closest&&Y.target.closest(".rd-row")&&Y.preventDefault()}const w=se(()=>{V();const Y=T.value;if(!Y.length)return!1;for(const fe of Y)if(!S.has(fe.slug))return!1;return!0}),U=se(()=>{if(V(),w.value)return!1;for(const Y of T.value)if(S.has(Y.slug))return!0;return!1});function Z(){if(!o)return;const Y=T.value.map(fe=>fe.slug);w.value?o.deselectMany(Y):o.selectMany(Y),Ae.value=null,xe=new Set(S)}const Q=ie(null);function le(Y){Q.value=Y||null}pt([U,Q],()=>{Q.value&&(Q.value.indeterminate=U.value)},{immediate:!0}),pt([b,()=>T.value.length,k,E],()=>{Ae.value=null}),pt(re,Y=>{Y||(k.value=!1)});const te=ie(!1);function d(){te.value=!te.value,o&&o.emit("toggleTable",te.value)}const f=ie(!1),L=ie(null);function O(){const Y=L.value,fe=Y&&Y.getRootNode?Y.getRootNode():document,ge=fe&&fe.fullscreenElement||document.fullscreenElement;f.value=!!(ge&&Y&&(ge===Y||ge.contains&&ge.contains(Y)))}typeof document<"u"&&document.addEventListener("fullscreenchange",O),Ut(()=>{typeof document<"u"&&document.removeEventListener("fullscreenchange",O)});function ae(){const Y=L.value;if(Y&&Y.requestFullscreen){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):Y.requestFullscreen().then(O).catch(()=>{f.value=!0}),!f.value&&te.value&&(te.value=!1,o&&o.emit("toggleTable",!1));return}f.value=!f.value,f.value&&te.value&&(te.value=!1,o&&o.emit("toggleTable",!1))}function oe(Y){if(Y.key==="Escape"){if(document.fullscreenElement){document.exitFullscreen().catch(()=>{});return}f.value&&(f.value=!1)}}const C=se(()=>T.value.reduce((Y,fe)=>Y+(r(fe.population)||0),0)),G=se(()=>T.value.length),{labelFor:he}=or(n,De("dataStore",null),De("searchSourceId",null)),we=t&&o?Ls({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:h,dataOpts:n.data,labelFor:he}):null,Ne=ie(""),qe=ie(!1);let He=null;async function rt(){if(!(!we||qe.value)){qe.value=!0;try{const Y=await we.exportCsvAsync(),fe=Y.downloaded?"exported":Y.clipboard?"copied to clipboard":"ready";Ne.value=`✓ ${a(Y.rows)} rows × ${Y.fields} fields ${fe}`}catch{Ne.value="✕ Export failed"}finally{qe.value=!1,clearTimeout(He),He=setTimeout(()=>{Ne.value=""},3200)}}}function Rt(){we&&we.prefetchExportFields()}return Pt(` +`,"rd-facetrail"),(N,z)=>(H(),J("aside",jy,[I("div",zy,[z[1]||(z[1]=I("div",{class:"fr-title"},"Vertical Legend",-1)),I("div",Uy,[I("b",null,ue(j.value.toLocaleString("en-US")),1),z[0]||(z[0]=it(" groups in scope",-1))])]),I("div",{class:"fr-body",ref_key:"railEl",ref:B,onClick:ee,onKeydown:K},[(H(!0),J(Ce,null,Qe(me.value,D=>(H(),J("div",{key:D.id,class:"fr-sec","data-facet-section":D.id},[I("div",{class:Ge(["fr-sech",{closed:!m[D.id]}]),onClick:cn(P=>v(D.id),["stop"])},[I("span",null,ue(D.title),1),z[2]||(z[2]=I("span",{class:"chev"},"▾",-1))],10,Gy),It(I("div",qy,[(H(!0),J(Ce,null,Qe(D.rows,P=>(H(),J("div",{key:P.facet+":"+P.value,class:Ge(["fr-row",["l"+P.level,{on:P.active,other:P.other,zero:P.zero,inert:P.other||P.zero,"dash-only":P.dashboardOnly}]]),"data-facet":P.other||P.zero?null:P.facet,"data-value":P.other||P.zero?null:P.value,tabindex:P.other||P.zero?null:0,role:P.other||P.zero?null:"button","aria-pressed":P.other||P.zero?null:P.active?"true":"false","aria-label":P.other||P.zero?null:(P.active?"Remove filter ":"Filter by ")+P.label+", "+P.count.toLocaleString("en-US")+" groups"+(P.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:P.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+P.label:null},[(H(!0),J(Ce,null,Qe(P.trunks,(q,re)=>(H(),J("span",{key:"tr"+re,class:Ge(["fr-trunk","fr-trunk-"+q])},null,2))),128)),P.hasChildren?(H(),J("button",{key:0,type:"button",class:Ge(["fr-caret-btn",{open:P.expanded}]),"data-expand":P.facet,"data-expand-value":P.value,"aria-expanded":P.expanded?"true":"false","aria-label":(P.expanded?"Collapse ":"Expand ")+P.label},[...z[3]||(z[3]=[I("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Vy)):(H(),J("span",Wy)),P.swatch?(H(),J("span",{key:2,class:"fr-sw",style:lt({background:P.swatch}),"aria-hidden":"true"},null,4)):Re("",!0),I("span",Ky,ue(P.label),1),I("span",Yy,[I("i",{style:lt({width:Math.max(4,P.frac*100)+"%"})},null,4)]),I("span",Xy,ue(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(H(),J("span",Jy,"◐")):Re("",!0)],10,Hy))),128))],512),[[Bt,m[D.id]]])],8,By))),128))],544)]))}},Qy=["data-sel-count","data-fullscreen"],ev=["data-collapsed"],tv=["title","aria-expanded"],ov={class:"ct","data-table-count":""},nv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},rv=["aria-pressed"],av=["aria-pressed"],sv={key:2,class:"rd-toast","data-export-toast":""},lv=["aria-pressed","title","aria-label"],iv=["aria-busy","title","onKeydown"],cv={key:0,class:"rd-csv-n"},uv=["data-sort-by","aria-rowcount"],dv=["title"],fv=["checked","aria-label"],pv=["title","aria-sort","data-col","onClick"],gv={class:"ind"},hv=["data-slug","aria-selected","aria-rowindex"],mv={class:"rd-td chk",role:"gridcell"},bv=["checked","aria-label"],_v={class:"rd-foot",role:"row"},yv=90,vv=9.9,xv=12,ar=26,wv={__name:"DashboardDataTable",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=Y=>{if(typeof Y=="number")return Y;const fe=parseFloat(String(Y??"").replace(/[^0-9.\-]/g,""));return isNaN(fe)?null:fe},a=Y=>Y==null?"":Number(Y).toLocaleString("en-US"),s=se(()=>n.columns||[]);function l(Y){const fe=Number(Y&&Y.minW);if(Number.isFinite(fe)&&fe>0)return fe;const ge=String(Y&&Y.label||"");return ge?Math.ceil(ge.length*vv)+xv:yv}function i(Y){const fe=Number(Y&&Y.w);return{flex:`${Number.isFinite(fe)&&fe>0?fe:1} 1 0`,minWidth:l(Y)+"px"}}const c=se(()=>s.value.reduce((Y,fe)=>Y+l(fe),30)),u=se(()=>({minWidth:c.value+"px"})),h=Object.fromEntries(Object.entries(n.facets||{}).map(([Y,fe])=>[Y,fe.get])),m=se(()=>{var Y;return((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]}),v=(o==null?void 0:o.filterSet)||{},S=o==null?void 0:o.selectionSet;function $(Y,fe,ge){const je=h[fe];if(!je)return!0;const Ue=je(Y);return Array.isArray(ge)?ge.includes(Ue):Ue===ge}const x=rr(o,nr(n)),T=se(()=>{var ge;const Y=Object.keys(v),fe=!!(((ge=o==null?void 0:o.searchTerm)==null?void 0:ge.value)||"").trim();return!Y.length&&!fe?m.value:m.value.filter(je=>Y.every(Ue=>$(je,Ue,v[Ue]))&&x(je))}),b=ie([]);function p(Y,fe){const ge=!!(fe&&fe.shiftKey),je=b.value.findIndex(Ue=>Ue.key===Y.key);if(je<0)b.value=(ge?[...b.value]:[]).concat({key:Y.key,dir:"asc"});else if(b.value[je].dir==="asc"){const Ue=[...b.value];Ue[je]={key:Y.key,dir:"desc"},b.value=Ue}else b.value=ge?b.value.filter(Ue=>Ue.key!==Y.key):[]}function g(Y){const fe=b.value.find(ge=>ge.key===Y.key);return fe?fe.dir==="asc"?"ascending":"descending":"none"}const y=se(()=>{const Y=b.value;if(!Y.length)return T.value;const fe=Y.map(ge=>({col:s.value.find(je=>je.key===ge.key),dir:ge.dir==="asc"?1:-1}));return T.value.slice().sort((ge,je)=>{for(const{col:Ue,dir:Wt}of fe){let St=Ue.get(ge),Mt=Ue.get(je);if((St==null||St==="")&&(St=Ue.type==="num"?-1/0:""),(Mt==null||Mt==="")&&(Mt=Ue.type==="num"?-1/0:""),StMt)return 1*Wt}return 0})}),k=ie(!1),E=ie(!1);function M(){k.value=!k.value}function F(){E.value=!E.value}const V=()=>o&&o.selectionVersion?o.selectionVersion.value:0,W=se(()=>{let Y=y.value;if(k.value&&(V(),Y=Y.filter(fe=>S&&S.has(fe.slug))),E.value){V();const fe=[],ge=[];for(const je of Y)(S&&S.has(je.slug)?fe:ge).push(je);Y=fe.concat(ge)}return Y}),ne=ie(0),me=ie(360),j=ie(null);let ee=null;const K=ie(0);function B(Y){ne.value=Y.target.scrollTop,K.value=Y.target.scrollLeft}const N=se(()=>Math.max(0,Math.floor(ne.value/ar)-6)),z=se(()=>Math.ceil(me.value/ar)+12),D=se(()=>W.value.slice(N.value,N.value+z.value)),P=se(()=>N.value*ar),q=se(()=>Math.max(0,(W.value.length-(N.value+D.value.length))*ar));_t(()=>{j.value&&(me.value=j.value.clientHeight||360,ee=new ResizeObserver(()=>{me.value=j.value.clientHeight||me.value}),ee.observe(j.value)),o&&o.on("toggleTable",Y=>{te.value=!!Y}),o&&o.on("focusRow",({slug:Y}={})=>{if(!Y||!j.value)return;const fe=W.value.findIndex(ge=>ge.slug===Y);fe>=0&&(j.value.scrollTop=Math.max(0,fe*ar-me.value/2))})}),_t(()=>{typeof document<"u"&&document.addEventListener("keydown",oe)}),Ut(()=>{ee&&ee.disconnect(),clearTimeout(He),typeof document<"u"&&document.removeEventListener("keydown",oe)});const re=se(()=>(V(),S?S.size:0)),be=Y=>!!(S&&S.has(Y.slug)),Ee=se(()=>V()),Ae=ie(null),Le=ie("select");let xe=new Set;function _e(Y,fe){Ae.value=Y,Le.value=fe,xe=new Set(S)}function ye(Y,fe){const ge=W.value,je=ge.findIndex(so=>so.slug===Y),Ue=ge.findIndex(so=>so.slug===fe);if(je<0||Ue<0)return[];const[Wt,St]=je<=Ue?[je,Ue]:[Ue,je],Mt=[];for(let so=Wt;so<=St;so++)Mt.push(ge[so].slug);return Mt}function ve(Y,fe){if(!o||!Y)return;const ge=!!(fe&&(fe.ctrlKey||fe.metaKey));if(!!(fe&&fe.shiftKey)&&Ae.value){const Ue=ye(Ae.value,Y);if(!Ue.length)return;if(ge){const Wt=new Set(xe);if(Le.value==="deselect")for(const St of Ue)Wt.delete(St);else for(const St of Ue)Wt.add(St);o.setSelection(Wt)}else o.setSelection(Ue);return}if(ge){const Ue=!S.has(Y);_e(Y,Ue?"select":"deselect"),o.toggleSelect(Y),xe=new Set(S);return}_e(Y,"select"),o.setSelection([Y]),xe=new Set(S)}function _(Y){const fe=Y.target;if(!fe||!fe.closest)return;const ge=fe.closest(".rd-row");if(!ge||!o)return;const je=ge.getAttribute("data-slug");if(je){if(fe.closest(".rd-td.chk")){if(Y.shiftKey||Y.ctrlKey||Y.metaKey){ve(je,Y);return}_e(je,S.has(je)?"deselect":"select"),o.toggleSelect(je),xe=new Set(S);return}ve(je,Y)}}function A(Y){Y.shiftKey&&Y.target&&Y.target.closest&&Y.target.closest(".rd-row")&&Y.preventDefault()}const w=se(()=>{V();const Y=T.value;if(!Y.length)return!1;for(const fe of Y)if(!S.has(fe.slug))return!1;return!0}),U=se(()=>{if(V(),w.value)return!1;for(const Y of T.value)if(S.has(Y.slug))return!0;return!1});function Z(){if(!o)return;const Y=T.value.map(fe=>fe.slug);w.value?o.deselectMany(Y):o.selectMany(Y),Ae.value=null,xe=new Set(S)}const Q=ie(null);function le(Y){Q.value=Y||null}pt([U,Q],()=>{Q.value&&(Q.value.indeterminate=U.value)},{immediate:!0}),pt([b,()=>T.value.length,k,E],()=>{Ae.value=null}),pt(re,Y=>{Y||(k.value=!1)});const te=ie(!1);function d(){te.value=!te.value,o&&o.emit("toggleTable",te.value)}const f=ie(!1),L=ie(null);function O(){const Y=L.value,fe=Y&&Y.getRootNode?Y.getRootNode():document,ge=fe&&fe.fullscreenElement||document.fullscreenElement;f.value=!!(ge&&Y&&(ge===Y||ge.contains&&ge.contains(Y)))}typeof document<"u"&&document.addEventListener("fullscreenchange",O),Ut(()=>{typeof document<"u"&&document.removeEventListener("fullscreenchange",O)});function ae(){const Y=L.value;if(Y&&Y.requestFullscreen){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):Y.requestFullscreen().then(O).catch(()=>{f.value=!0}),!f.value&&te.value&&(te.value=!1,o&&o.emit("toggleTable",!1));return}f.value=!f.value,f.value&&te.value&&(te.value=!1,o&&o.emit("toggleTable",!1))}function oe(Y){if(Y.key==="Escape"){if(document.fullscreenElement){document.exitFullscreen().catch(()=>{});return}f.value&&(f.value=!1)}}const C=se(()=>T.value.reduce((Y,fe)=>Y+(r(fe.population)||0),0)),G=se(()=>T.value.length),{labelFor:he}=or(n,De("dataStore",null),De("searchSourceId",null)),we=t&&o?Ts({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:h,dataOpts:n.data,labelFor:he}):null,Ne=ie(""),qe=ie(!1);let He=null;async function rt(){if(!(!we||qe.value)){qe.value=!0;try{const Y=await we.exportCsvAsync(),fe=Y.downloaded?"exported":Y.clipboard?"copied to clipboard":"ready";Ne.value=`✓ ${a(Y.rows)} rows × ${Y.fields} fields ${fe}`}catch{Ne.value="✕ Export failed"}finally{qe.value=!1,clearTimeout(He),He=setTimeout(()=>{Ne.value=""},3200)}}}function Rt(){we&&we.prefetchExportFields()}return Pt(` .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); } @@ -546,7 +546,7 @@ .rd-table-bar .rd-fs:hover{ color:var(--dx-text,#3b463d); border-color:#b9bdb4; } .rd-table-bar .rd-fs.on{ color:#2b352c; background:var(--rd-primary,#92b195); border-color:#84a487; } .rd-table-bar .rd-fs:focus-visible{ outline:2px solid #6d8a70; outline-offset:2px; } -`,"rd-datatable"),(Y,fe)=>(H(),J("div",{ref_key:"wrapEl",ref:L,class:Ge(["rd-table-wrap",{"is-full":f.value}]),"data-sel-count":re.value,"data-fullscreen":f.value?"1":"0"},[I("div",{class:"rd-table-bar","data-collapsed":te.value?"1":"0"},[I("button",{class:"rd-dock",title:te.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":te.value?"false":"true",onClick:d},ue(te.value?"▴":"▾"),9,ov),fe[0]||(fe[0]=I("span",{class:"ttl"},"People Groups",-1)),I("span",nv,ue(a(G.value))+" "+ue(G.value===1?"group":"groups"),1),re.value?(H(),J("span",rv,[I("span",null,ue(a(re.value))+" selected",1)])):Re("",!0),re.value?(H(),J(Ce,{key:1},[I("button",{class:Ge(["rd-vtog",{on:k.value}]),"data-only-selected":"","aria-pressed":k.value?"true":"false",title:"Show only the selected people groups",onClick:M},"Only selected",10,av),I("button",{class:Ge(["rd-vtog",{on:E.value}]),"data-selected-first":"","aria-pressed":E.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:F},"Selected first",10,sv)],64)):Re("",!0),fe[1]||(fe[1]=I("span",{class:"rd-bar-sp"},null,-1)),Ne.value?(H(),J("span",lv,ue(Ne.value),1)):Re("",!0),I("button",{class:Ge(["rd-fs",{on:f.value}]),"data-table-fullscreen":"","aria-pressed":f.value?"true":"false",title:f.value?"Exit full screen (Esc) — back to seven rows":"Open this table full screen","aria-label":f.value?"Exit full screen":"Open table full screen",onClick:ae},ue(f.value?"⤡ Exit full screen":"⤢ Full screen"),11,iv),I("span",{class:Ge(["rd-csv",{busy:qe.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":qe.value?"true":"false",title:re.value?`Export the ${re.value} selected people groups — all fields`:`Export these ${a(G.value)} people groups — all fields`,onClick:rt,onMouseenter:Rt,onFocus:Rt,onKeydown:[zr(cn(rt,["prevent"]),["enter"]),zr(cn(rt,["prevent"]),["space"])]},[it(ue(qe.value?"…":"↓")+" Export CSV",1),re.value?(H(),J("span",uv,ue(re.value),1)):Re("",!0)],42,cv)],8,tv),It(I("div",{ref_key:"scroller",ref:j,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":b.value.map(ge=>ge.key+":"+ge.dir).join(","),"aria-rowcount":W.value.length+1,onScroll:B,onClick:_,onMousedown:A},[I("div",{class:"rd-thead",role:"row",style:lt(u.value)},[I("div",{class:"rd-th chk",style:{cursor:"pointer"},title:w.value?"Deselect all "+a(G.value):"Select all "+a(G.value),onClick:Z},[I("input",{type:"checkbox",checked:w.value,ref:le,"aria-label":w.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,pv)],8,fv),(H(!0),J(Ce,null,Qe(s.value,ge=>(H(),J("div",{key:ge.key,class:Ge(["rd-th",{num:ge.type==="num"}]),style:lt(i(ge)),title:`Sort this table by ${ge.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":g(ge),"data-col":ge.key,onClick:je=>p(ge,je)},[it(ue(ge.label),1),I("span",hv,ue(g(ge)==="ascending"?"▲":g(ge)==="descending"?"▼":""),1)],14,gv))),128))],4),I("div",{style:lt({height:P.value+"px"})},null,4),(H(!0),J(Ce,null,Qe(D.value,(ge,je)=>(H(),J("div",{key:ge.slug,class:Ge(["rd-row",{sel:Ee.value>=0&&be(ge)}]),role:"row","data-slug":ge.slug,"aria-selected":be(ge)?"true":"false",style:lt(u.value),"aria-rowindex":N.value+je+2},[I("div",bv,[I("input",{type:"checkbox",class:"rd-rowchk",checked:be(ge),"aria-label":"Select "+ge.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,_v)]),(H(!0),J(Ce,null,Qe(s.value,Ue=>(H(),J("div",{key:Ue.key,class:Ge(["rd-td",{num:Ue.type==="num"}]),style:lt(i(Ue)),role:"gridcell"},ue(Ue.type==="num"?a(Ue.get(ge)):Ue.get(ge)),7))),128))],14,mv))),128)),I("div",{style:lt({height:q.value+"px"})},null,4)],40,dv),[[Bt,!te.value]]),It(I("div",yv,[I("div",{class:"rd-foot-inner",style:lt([u.value,{transform:"translateX("+-K.value+"px)"}])},[fe[2]||(fe[2]=I("div",{class:"rd-td chk"},null,-1)),(H(!0),J(Ce,null,Qe(s.value,(ge,je)=>(H(),J("div",{key:"f-"+ge.key,class:Ge(["rd-td",{num:ge.type==="num"}]),style:lt(i(ge))},[je===0?(H(),J(Ce,{key:0},[it("Σ "+ue(a(G.value))+" groups",1)],64)):ge.key==="population"?(H(),J(Ce,{key:1},[it(ue(a(C.value)),1)],64)):Re("",!0)],6))),128))],4)],512),[[Bt,!te.value]])],10,ev))}},$v={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Sv=["aria-selected","disabled","title","data-tab","onClick"],Ev=["data-chart"],Av={class:"rd-ct"},Cv={class:"rd-donutwrap"},Tv=["aria-label"],Lv=["d","fill","data-facet","data-key"],Pv={class:"rd-legend"},Nv=["data-facet","data-key","title"],Iv={class:"rd-lt"},Fv=["data-chart"],Rv={class:"rd-ct"},Mv={class:"rd-bars"},Ov=["data-facet","data-key"],Dv={class:"rd-bl"},jv={class:"rd-bt"},zv={class:"rd-bv"},Uv={__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=ie("charts"),n=De("dashboardData",null),r=De("selectionBus",null),a=De("dashboardConfig",{}),s=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(a.facets||{}).map(([x,T])=>[x,T.get])),i=rr(r,nr(a));function c(x){var g,y;const T=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],b=Object.keys(s).filter(k=>!x.includes(k)),p=!!(((y=r==null?void 0:r.searchTerm)==null?void 0:y.value)||"").trim();return!b.length&&!p?T:T.filter(k=>b.every(E=>{const M=l[E];return M?M(k)===s[E]:!0})&&i(k))}const u=se(()=>{var b,p,g,y,k;const x=(p=(b=a.facets)==null?void 0:b.country_code)==null?void 0:p.get,T=(y=(g=a.facets)==null?void 0:g.wagf_region)==null?void 0:y.get;return!x||!T?null:wy(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],x,T)}),h=se(()=>(a.charts||[]).map(x=>{var g,y;const T=((y=(g=a.facets)==null?void 0:g[x.facet])==null?void 0:y.get)||(k=>nt(k[x.facet])),b=Rs(c([x.facet]),T,x.topN),p=x.facet==="country_code"?u.value:null;return{id:x.id,type:x.type,facet:x.facet,title:x.title,geometry:x.type==="bar"?$y(b,x.facet,p):ky(b,132,.58,x.facet,p)}})),m=(x,T)=>s[x]===T,v=x=>s[x]!=null;function S(x,T){!T||T==="Other"||!r||r.setFilter(x,s[x]===T?null:T)}function $(x){const T=x.target&&x.target.closest&&x.target.closest("[data-facet]");T&&S(T.getAttribute("data-facet"),T.getAttribute("data-key"))}return Pt(` +`,"rd-datatable"),(Y,fe)=>(H(),J("div",{ref_key:"wrapEl",ref:L,class:Ge(["rd-table-wrap",{"is-full":f.value}]),"data-sel-count":re.value,"data-fullscreen":f.value?"1":"0"},[I("div",{class:"rd-table-bar","data-collapsed":te.value?"1":"0"},[I("button",{class:"rd-dock",title:te.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":te.value?"false":"true",onClick:d},ue(te.value?"▴":"▾"),9,tv),fe[0]||(fe[0]=I("span",{class:"ttl"},"People Groups",-1)),I("span",ov,ue(a(G.value))+" "+ue(G.value===1?"group":"groups"),1),re.value?(H(),J("span",nv,[I("span",null,ue(a(re.value))+" selected",1)])):Re("",!0),re.value?(H(),J(Ce,{key:1},[I("button",{class:Ge(["rd-vtog",{on:k.value}]),"data-only-selected":"","aria-pressed":k.value?"true":"false",title:"Show only the selected people groups",onClick:M},"Only selected",10,rv),I("button",{class:Ge(["rd-vtog",{on:E.value}]),"data-selected-first":"","aria-pressed":E.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:F},"Selected first",10,av)],64)):Re("",!0),fe[1]||(fe[1]=I("span",{class:"rd-bar-sp"},null,-1)),Ne.value?(H(),J("span",sv,ue(Ne.value),1)):Re("",!0),I("button",{class:Ge(["rd-fs",{on:f.value}]),"data-table-fullscreen":"","aria-pressed":f.value?"true":"false",title:f.value?"Exit full screen (Esc) — back to seven rows":"Open this table full screen","aria-label":f.value?"Exit full screen":"Open table full screen",onClick:ae},ue(f.value?"⤡ Exit full screen":"⤢ Full screen"),11,lv),I("span",{class:Ge(["rd-csv",{busy:qe.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":qe.value?"true":"false",title:re.value?`Export the ${re.value} selected people groups — all fields`:`Export these ${a(G.value)} people groups — all fields`,onClick:rt,onMouseenter:Rt,onFocus:Rt,onKeydown:[zr(cn(rt,["prevent"]),["enter"]),zr(cn(rt,["prevent"]),["space"])]},[it(ue(qe.value?"…":"↓")+" Export CSV",1),re.value?(H(),J("span",cv,ue(re.value),1)):Re("",!0)],42,iv)],8,ev),It(I("div",{ref_key:"scroller",ref:j,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":b.value.map(ge=>ge.key+":"+ge.dir).join(","),"aria-rowcount":W.value.length+1,onScroll:B,onClick:_,onMousedown:A},[I("div",{class:"rd-thead",role:"row",style:lt(u.value)},[I("div",{class:"rd-th chk",style:{cursor:"pointer"},title:w.value?"Deselect all "+a(G.value):"Select all "+a(G.value),onClick:Z},[I("input",{type:"checkbox",checked:w.value,ref:le,"aria-label":w.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,fv)],8,dv),(H(!0),J(Ce,null,Qe(s.value,ge=>(H(),J("div",{key:ge.key,class:Ge(["rd-th",{num:ge.type==="num"}]),style:lt(i(ge)),title:`Sort this table by ${ge.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":g(ge),"data-col":ge.key,onClick:je=>p(ge,je)},[it(ue(ge.label),1),I("span",gv,ue(g(ge)==="ascending"?"▲":g(ge)==="descending"?"▼":""),1)],14,pv))),128))],4),I("div",{style:lt({height:P.value+"px"})},null,4),(H(!0),J(Ce,null,Qe(D.value,(ge,je)=>(H(),J("div",{key:ge.slug,class:Ge(["rd-row",{sel:Ee.value>=0&&be(ge)}]),role:"row","data-slug":ge.slug,"aria-selected":be(ge)?"true":"false",style:lt(u.value),"aria-rowindex":N.value+je+2},[I("div",mv,[I("input",{type:"checkbox",class:"rd-rowchk",checked:be(ge),"aria-label":"Select "+ge.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,bv)]),(H(!0),J(Ce,null,Qe(s.value,Ue=>(H(),J("div",{key:Ue.key,class:Ge(["rd-td",{num:Ue.type==="num"}]),style:lt(i(Ue)),role:"gridcell"},ue(Ue.type==="num"?a(Ue.get(ge)):Ue.get(ge)),7))),128))],14,hv))),128)),I("div",{style:lt({height:q.value+"px"})},null,4)],40,uv),[[Bt,!te.value]]),It(I("div",_v,[I("div",{class:"rd-foot-inner",style:lt([u.value,{transform:"translateX("+-K.value+"px)"}])},[fe[2]||(fe[2]=I("div",{class:"rd-td chk"},null,-1)),(H(!0),J(Ce,null,Qe(s.value,(ge,je)=>(H(),J("div",{key:"f-"+ge.key,class:Ge(["rd-td",{num:ge.type==="num"}]),style:lt(i(ge))},[je===0?(H(),J(Ce,{key:0},[it("Σ "+ue(a(G.value))+" groups",1)],64)):ge.key==="population"?(H(),J(Ce,{key:1},[it(ue(a(C.value)),1)],64)):Re("",!0)],6))),128))],4)],512),[[Bt,!te.value]])],10,Qy))}},kv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},$v=["aria-selected","disabled","title","data-tab","onClick"],Sv=["data-chart"],Ev={class:"rd-ct"},Av={class:"rd-donutwrap"},Cv=["aria-label"],Tv=["d","fill","data-facet","data-key"],Lv={class:"rd-legend"},Pv=["data-facet","data-key","title"],Nv={class:"rd-lt"},Iv=["data-chart"],Fv={class:"rd-ct"},Rv={class:"rd-bars"},Mv=["data-facet","data-key"],Ov={class:"rd-bl"},Dv={class:"rd-bt"},jv={class:"rd-bv"},zv={__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=ie("charts"),n=De("dashboardData",null),r=De("selectionBus",null),a=De("dashboardConfig",{}),s=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(a.facets||{}).map(([x,T])=>[x,T.get])),i=rr(r,nr(a));function c(x){var g,y;const T=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],b=Object.keys(s).filter(k=>!x.includes(k)),p=!!(((y=r==null?void 0:r.searchTerm)==null?void 0:y.value)||"").trim();return!b.length&&!p?T:T.filter(k=>b.every(E=>{const M=l[E];return M?M(k)===s[E]:!0})&&i(k))}const u=se(()=>{var b,p,g,y,k;const x=(p=(b=a.facets)==null?void 0:b.country_code)==null?void 0:p.get,T=(y=(g=a.facets)==null?void 0:g.wagf_region)==null?void 0:y.get;return!x||!T?null:xy(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],x,T)}),h=se(()=>(a.charts||[]).map(x=>{var g,y;const T=((y=(g=a.facets)==null?void 0:g[x.facet])==null?void 0:y.get)||(k=>nt(k[x.facet])),b=Fs(c([x.facet]),T,x.topN),p=x.facet==="country_code"?u.value:null;return{id:x.id,type:x.type,facet:x.facet,title:x.title,geometry:x.type==="bar"?ky(b,x.facet,p):wy(b,132,.58,x.facet,p)}})),m=(x,T)=>s[x]===T,v=x=>s[x]!=null;function S(x,T){!T||T==="Other"||!r||r.setFilter(x,s[x]===T?null:T)}function $(x){const T=x.target&&x.target.closest&&x.target.closest("[data-facet]");T&&S(T.getAttribute("data-facet"),T.getAttribute("data-key"))}return Pt(` .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; @@ -598,7 +598,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"),(x,T)=>(H(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:$},[I("div",$v,[(H(),J(Ce,null,Qe(t,b=>I("button",{key:b.id,class:Ge(["rd-tab",{on:o.value===b.id,off:b.disabled}]),role:"tab",type:"button","aria-selected":o.value===b.id?"true":"false",disabled:b.disabled,title:b.disabled?b.why:b.label,"data-tab":b.id,onClick:cn(p=>!b.disabled&&(o.value=b.id),["stop"])},ue(b.label),11,Sv)),64))]),(H(!0),J(Ce,null,Qe(h.value,b=>(H(),J(Ce,{key:b.id},[b.type==="donut"?(H(),J("div",{key:0,class:"rd-chart","data-chart":b.facet},[I("div",Av,ue(b.title),1),I("div",Cv,[(H(),J("svg",{class:Ge(["rd-donut",{"has-sel":v(b.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":b.title+" donut"},[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("path",{key:p.key,d:p.path,fill:p.color,class:Ge(["rd-slice",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key},[I("title",null,ue(p.key)+": "+ue(p.value)+" ("+ue(p.pct)+"%)",1)],10,Lv))),128))],10,Tv)),I("div",Pv,[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("span",{key:p.key,class:Ge(["rd-li",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key,title:p.key+": "+p.value},[I("i",{style:lt({background:p.color})},null,4),I("span",Iv,ue(p.key),1),I("b",null,ue(p.value),1)],10,Nv))),128))])])],8,Ev)):(H(),J("div",{key:1,class:"rd-chart","data-chart":b.facet},[I("div",Rv,ue(b.title),1),I("div",Mv,[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("div",{key:p.key,class:Ge(["rd-bar",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key},[I("span",Dv,ue(p.key),1),I("span",jv,[I("span",{class:"rd-bf",style:lt({width:p.frac*100+"%",background:p.color})},null,4)]),I("span",zv,ue(p.value),1)],10,Ov))),128))])],8,Fv))],64))),128))]))}},Bv={class:"rd-detail","data-region":"detail-drawer"},Gv={class:"rd-dh"},qv={key:0,class:"rd-empty","data-detail-empty":""},Hv={class:"rd-top"},Vv=["src","alt"],Wv={key:1,class:"rd-ph","data-detail-thumb":""},Kv={class:"rd-name","data-detail-name":""},Yv={class:"rd-meta"},Xv={class:"rd-actions"},Jv=["href","title"],Zv=["href","title"],Qv={class:"rd-rows"},e0={class:"rd-row"},t0={class:"v"},o0={key:0,class:"fam"},n0={class:"rd-row"},r0={class:"v"},a0={class:"rd-row"},s0={class:"v"},l0={class:"rd-row"},i0={class:"v"},c0={class:"rd-row"},u0={class:"v"},d0={class:"rd-row"},f0={class:"v"},p0={__name:"DashboardDetailDrawer",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,y])=>[g,y.get])),{labelFor:a}=or(n,De("dataStore",null),De("searchSourceId",null)),s=t&&o?Ls({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:a}):null,l=ie(null),i=[];_t(()=>{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])})))}),Ut(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=se(()=>{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"),h=se(()=>{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=se(()=>n.detail||{});function v(g,y,k){if(typeof g=="function")try{return g(y)||k}catch{return k}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(y.slug||"")):k}const S=se(()=>{const g=c.value;if(!g)return null;const y=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(y||m.value.utmSource||n.utmSource||"agwm")),E=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${k}`;return v(m.value.prayUrl,g,E)}),$=se(()=>{var F;const g=c.value;if(!g)return null;const y=typeof window<"u"&&((F=window.location)==null?void 0:F.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),E=encodeURIComponent(String(k||m.value.utmSource||n.utmSource||"agwm")),M=`${y}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${E}`;return v(m.value.moreInfoUrl,g,M)}),x=se(()=>m.value.prayLabel||"Pray for this people group"),T=se(()=>m.value.moreInfoLabel||"More information");function b(){!s||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),s.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return Pt(` +`,"rd-charts"),(x,T)=>(H(),J("aside",{class:"rd-charts","data-region":"charts-rail",onClick:$},[I("div",kv,[(H(),J(Ce,null,Qe(t,b=>I("button",{key:b.id,class:Ge(["rd-tab",{on:o.value===b.id,off:b.disabled}]),role:"tab",type:"button","aria-selected":o.value===b.id?"true":"false",disabled:b.disabled,title:b.disabled?b.why:b.label,"data-tab":b.id,onClick:cn(p=>!b.disabled&&(o.value=b.id),["stop"])},ue(b.label),11,$v)),64))]),(H(!0),J(Ce,null,Qe(h.value,b=>(H(),J(Ce,{key:b.id},[b.type==="donut"?(H(),J("div",{key:0,class:"rd-chart","data-chart":b.facet},[I("div",Ev,ue(b.title),1),I("div",Av,[(H(),J("svg",{class:Ge(["rd-donut",{"has-sel":v(b.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":b.title+" donut"},[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("path",{key:p.key,d:p.path,fill:p.color,class:Ge(["rd-slice",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key},[I("title",null,ue(p.key)+": "+ue(p.value)+" ("+ue(p.pct)+"%)",1)],10,Tv))),128))],10,Cv)),I("div",Lv,[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("span",{key:p.key,class:Ge(["rd-li",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key,title:p.key+": "+p.value},[I("i",{style:lt({background:p.color})},null,4),I("span",Nv,ue(p.key),1),I("b",null,ue(p.value),1)],10,Pv))),128))])])],8,Sv)):(H(),J("div",{key:1,class:"rd-chart","data-chart":b.facet},[I("div",Fv,ue(b.title),1),I("div",Rv,[(H(!0),J(Ce,null,Qe(b.geometry,p=>(H(),J("div",{key:p.key,class:Ge(["rd-bar",{on:m(b.facet,p.key)}]),"data-facet":b.facet,"data-key":p.key},[I("span",Ov,ue(p.key),1),I("span",Dv,[I("span",{class:"rd-bf",style:lt({width:p.frac*100+"%",background:p.color})},null,4)]),I("span",jv,ue(p.value),1)],10,Mv))),128))])],8,Iv))],64))),128))]))}},Uv={class:"rd-detail","data-region":"detail-drawer"},Bv={class:"rd-dh"},Gv={key:0,class:"rd-empty","data-detail-empty":""},qv={class:"rd-top"},Hv=["src","alt"],Vv={key:1,class:"rd-ph","data-detail-thumb":""},Wv={class:"rd-name","data-detail-name":""},Kv={class:"rd-meta"},Yv={class:"rd-actions"},Xv=["href","title"],Jv=["href","title"],Zv={class:"rd-rows"},Qv={class:"rd-row"},e0={class:"v"},t0={key:0,class:"fam"},o0={class:"rd-row"},n0={class:"v"},r0={class:"rd-row"},a0={class:"v"},s0={class:"rd-row"},l0={class:"v"},i0={class:"rd-row"},c0={class:"v"},u0={class:"rd-row"},d0={class:"v"},f0={__name:"DashboardDetailDrawer",setup(e){const t=De("dashboardData",null),o=De("selectionBus",null),n=De("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,y])=>[g,y.get])),{labelFor:a}=or(n,De("dataStore",null),De("searchSourceId",null)),s=t&&o?Ts({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:a}):null,l=ie(null),i=[];_t(()=>{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])})))}),Ut(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=se(()=>{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"),h=se(()=>{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=se(()=>n.detail||{});function v(g,y,k){if(typeof g=="function")try{return g(y)||k}catch{return k}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(y.slug||"")):k}const S=se(()=>{const g=c.value;if(!g)return null;const y=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(y||m.value.utmSource||n.utmSource||"agwm")),E=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${k}`;return v(m.value.prayUrl,g,E)}),$=se(()=>{var F;const g=c.value;if(!g)return null;const y=typeof window<"u"&&((F=window.location)==null?void 0:F.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),E=encodeURIComponent(String(k||m.value.utmSource||n.utmSource||"agwm")),M=`${y}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${E}`;return v(m.value.moreInfoUrl,g,M)}),x=se(()=>m.value.prayLabel||"Pray for this people group"),T=se(()=>m.value.moreInfoLabel||"More information");function b(){!s||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),s.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return Pt(` .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; } @@ -637,7 +637,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,y)=>(H(),J("section",Bv,[I("div",Gv,[y[0]||(y[0]=I("span",null,"Detail",-1)),c.value?(H(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Re("",!0)]),c.value?(H(),J(Ce,{key:1},[I("div",Hv,[h.value?(H(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Vv)):(H(),J("div",Wv,"No photo")),I("div",null,[I("div",Kv,ue(c.value.name||"—"),1),I("div",Yv,ue(de(nt)(c.value.country_code)||"—")+" · "+ue(de(nt)(c.value.religion)||"—"),1)])]),I("div",Xv,[S.value?(H(),J("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:x.value,"data-detail-pray":""},[y[1]||(y[1]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),I("span",null,ue(x.value),1)],8,Jv)):Re("",!0),$.value?(H(),J("a",{key:1,class:"rd-act rd-act-info",href:$.value,target:"_blank",rel:"noopener",title:T.value,"data-detail-moreinfo":""},[y[2]||(y[2]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),I("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("span",null,ue(T.value),1)],8,Zv)):Re("",!0)]),I("div",Qv,[I("div",e0,[y[3]||(y[3]=I("span",{class:"k"},"Language",-1)),I("span",t0,[it(ue(de(nt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(H(),J("span",o0," ("+ue(c.value.imb_language_family)+")",1)):Re("",!0)])]),I("div",n0,[y[4]||(y[4]=I("span",{class:"k"},"Population",-1)),I("span",r0,ue(u(c.value.population)),1)]),I("div",a0,[y[5]||(y[5]=I("span",{class:"k"},"People praying",-1)),I("span",s0,ue(u(c.value.people_praying)),1)]),I("div",l0,[y[6]||(y[6]=I("span",{class:"k"},"People committed",-1)),I("span",i0,ue(u(c.value.people_committed)),1)]),I("div",c0,[y[7]||(y[7]=I("span",{class:"k"},"Adopted by churches",-1)),I("span",u0,ue(u(c.value.adopted_by_churches)),1)]),I("div",d0,[y[8]||(y[8]=I("span",{class:"k"},"Engagement",-1)),I("span",f0,ue(de(nt)(c.value.engagement_status)||"—"),1)])]),I("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:b},"Export this selection ↓")],64)):(H(),J("div",qv,"Select a people group to see detail"))]))}},g0="rgba(120, 128, 134, 0.28)",Nu="36px",Iu=()=>{};function h0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Iu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Iu;const r=b=>b.classList.contains("map-scroll-edge--left");for(const b of n)b.style.background=`linear-gradient(${r(b)?"to right":"to left"}, ${g0} ${Nu}, transparent ${Nu})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const a=b=>{b.style.opacity="1"},s=b=>{b.style.opacity="0"},l=()=>n.find(b=>!r(b))||null,i=new Set;let c=!1,u=null;const h=()=>{for(const b of n)i.has(b)||s(b)},m=()=>{const b=l();b&&(a(b),u&&clearTimeout(u),u=setTimeout(h,250))},v=()=>m(),S=b=>{if(!(b.touches&&b.touches.length===1))return;const p=b.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},$=()=>{u&&clearTimeout(u),h()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",$,{passive:!0}),e.addEventListener("touchcancel",$,{passive:!0});const x=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",x,{passive:!0});const T=[];for(const b of n){const p=()=>{i.add(b),a(b)},g=()=>{i.delete(b),s(b)},y=()=>{c=!0,a(b)},k=()=>{c=!1,s(b)};b.addEventListener("mouseenter",p),b.addEventListener("mouseleave",g),b.addEventListener("touchstart",y,{passive:!0}),b.addEventListener("touchend",k,{passive:!0}),T.push(()=>{b.removeEventListener("mouseenter",p),b.removeEventListener("mouseleave",g),b.removeEventListener("touchstart",y),b.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",$),e.removeEventListener("touchcancel",$),typeof window<"u"&&window.removeEventListener("scroll",x);for(const p of T)p();for(const p of n)s(p)}}const m0=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"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function b0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=m0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function _0(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const wn={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 Fu(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 y0=wn.mapbox.css,v0="https://tiles.openfreemap.org/styles/liberty";function Ms(e){var o;const t=((o=wn[e])==null?void 0:o.global)||wn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function x0(e){const t=wn[e]||wn.mapbox;if(Ms(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(Ms(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 a=document.createElement("script");a.src=t.js,a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function w0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(l=>setTimeout(l,s)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=t,await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0}),o.prepend(a)}),n(2e3)])}function k0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:v0}const $0=85.0511,Os=-2,S0=0,E0=-60;function Ru(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function A0(e,t,o,n){if(!e||e<=0||!t||t<=0)return S0;const r=Math.log2(e/512),a=Ru(n)-Ru($0),s=Math.log2(t/(512*a)),l=Math.max(r,s);return Math.max(Os,Math.min(l,(o??18)-1))}function C0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:a=[20,10],zoom:s=2,minZoom:l=void 0,skipWorldFloor:i=!1,maxZoom:c=18,pitch:u=0,bearing:h=0,renderWorldCopies:m=!0,showEdgeBorders:v=!0,southCutoff:S=E0,maxBounds:$=void 0}){const x=Pn(null),T=ie(!1);let b=null,p=null,g=null;const y=r==="maplibre";async function k(){var D;const M=b0(o,r),F=M.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await x0(r);const V=Ms(r);if(!V){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!y){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 w0(e.value,y?wn.maplibre.css:y0),await new Promise(P=>requestAnimationFrame(P));const W=e.value,ne=W.clientWidth,me=W.clientHeight;if(ne===0||me===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ne}×${me}). Map will be invisible. Check that parent elements have CSS sizing.`);let P=W.parentElement,q=0;for(;P&&q<5;)P=P.parentElement,q++}const j=t;y||(V.accessToken=j);const ee=()=>typeof window<"u"&&window.innerWidth>=1024,K=(P,q)=>{if(i)return typeof l=="number"?l:Os;if(!ee())return Os;const re=A0(P,q,c,S);return typeof l=="number"?Math.max(l,re):re},B=K(W.clientWidth,W.clientHeight);if(y){x.value=new V.Map({container:e.value,style:k0(F),center:a,zoom:s,minZoom:B,maxZoom:c,pitch:u,bearing:h,dragRotate:!1,renderWorldCopies:m,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Fu(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const P=typeof n=="function"?n():n;x.value=new V.Map({accessToken:j,container:e.value,style:F,...P?{config:P}:{},center:a,zoom:s,minZoom:B,maxZoom:c,pitch:u,bearing:h,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Fu(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let P=!1;x.value.on("error",q=>{var Ee,Ae;const re=((Ee=q==null?void 0:q.error)==null?void 0:Ee.status)??(q==null?void 0:q.status),be=String(((Ae=q==null?void 0:q.error)==null?void 0:Ae.url)||(q==null?void 0:q.sourceId)||"");re!==401&&re!==403||P||(P=!0,console.error(`[doxa-maps] Mapbox returned ${re} 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.`+(be?` First failing request: ${be.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}g=h0(((D=e.value)==null?void 0:D.parentElement)||null,{enabled:v});let N=B,z=null;b=()=>{const P=x.value;if(!P)return;const q=K(W.clientWidth,W.clientHeight);q!==N&&(N=q,P.setMinZoom(q)),P.getZoom(){z=null;const re=x.value;if(!re)return;const be=K(W.clientWidth,W.clientHeight);if(re.getZoom(){z&&(clearTimeout(z),z=null)},x.value.on("resize",b),typeof window<"u"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",b)),x.value.on("style.load",()=>{if(M.paint&&x.value){const P=_0(x.value,M.paint);console.info("[useMapInstance] style paint applied ("+r+"):",P.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var P;(P=x.value)==null||P.resize(),x.value&&x.value.setMinZoom(K(W.clientWidth,W.clientHeight)),T.value=!0})})}function E(){if(x.value){if(b&&(x.value.off("resize",b),typeof window<"u"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",b)),b=null),p){try{p()}catch{}p=null}g&&(g(),g=null),x.value.remove(),x.value=null,T.value=!1}}return{map:x,isMapReady:T,initializeMap:k,destroy:E}}const T0={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 L0(e){return T0[e]||null}const kn={center:[20,10],zoom:1.8};function P0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:a=(kn==null?void 0:kn.center)||[20,10],defaultZoom:s=kn==null?void 0:kn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(j,ee,K={x:150,y:0}){const B=t();if(!B)return j;try{const N=B.getCanvas(),z=N.width,D=N.height,P=B.project(j),q=window.devicePixelRatio||1,re=(K.x||0)*q,be=(K.y||0)*q,Ee={x:P.x-re,y:P.y-be},Ae=B.unproject(Ee);return[Ae.lng,Ae.lat]}catch{return j}}function c(j,ee=[]){const K=t();if(!K)return;let B=null,N=5;const z=ee.filter(P=>P.languageFamily===j);if(z.length>0){let P=1/0,q=-1/0,re=1/0,be=-1/0;if(z.forEach(Ee=>{Ee.longitude&&Ee.latitude&&(P=Math.min(P,Ee.longitude),q=Math.max(q,Ee.longitude),re=Math.min(re,Ee.latitude),be=Math.max(be,Ee.latitude))}),P!==1/0){B=[(P+q)/2,(re+be)/2];const Ee=q-P,Ae=be-re,Le=Math.max(Ee,Ae);Le>50?N=2:Le>20?N=3:Le>10?N=4:Le>5?N=5:N=6}}if(!B)return;const D=i(B);K.flyTo({center:D,zoom:N,...l})}function u(j){const ee=t();if(!ee)return;let K=null,B=4;const N=L0(j);if(N)K=N.center,B=N.zoom||4;else if(r!=null&&r.features){const D=r.features.find(P=>{var q,re;return((q=P.properties)==null?void 0:q.region)===j||((re=P.properties)==null?void 0:re.name)===j});D&&(K=h(D))}if(!K)return;const z=i(K);ee.flyTo({center:z,zoom:B,...l})}function h(j){if(!j||!j.geometry)return null;const{type:ee,coordinates:K}=j.geometry;let B=[];if(ee==="Polygon"?B=K[0]||[]:ee==="MultiPolygon"&&K.forEach(D=>{B=B.concat(D[0]||[])}),B.length===0)return null;let N=0,z=0;return B.forEach(D=>{N+=D[0],z+=D[1]}),[N/B.length,z/B.length]}function m(j,ee={}){const K=t();if(!K)return;const B={center:j,...l,...ee};K.flyTo(B)}function v(j,ee){const K=t();if(!K||(j==null?void 0:j.longitude)==null||(j==null?void 0:j.latitude)==null)return;const B=ee??Math.min(K.getZoom()+2,8);m([j.longitude,j.latitude],{zoom:B})}function S(j,ee={top:40,right:40,bottom:40,left:40},K={}){const B=t();if(!B||!j)return;const N=K.maxZoom??4,z=K.duration??900;B.fitBounds(j,{padding:ee,maxZoom:N,duration:z,...l,...K})}function $(){const j=t();j&&j.flyTo({center:a,zoom:s,...l})}const x=80,T=800,b=5,p=5,g=110,y=1.2;function k(j){const ee=j.filter(Number.isFinite).slice().sort((_,A)=>_-A),K=ee.length;if(!K)return null;let B=-1,N=0;for(let _=0;_B&&(B=w,N=_)}const z=(N+1)%K,D=new Array(K);for(let _=0;_0&&A((_+180)%360+360)%360-180,Ae=Ee(re),Le=24,xe=360/Le,_e=new Array(Le).fill(0);for(const _ of ee){let A=Math.floor(((_+180)%360+360)%360/xe);A>=Le&&(A=Le-1),_e[A]++}let ye=0;for(let _=1;__e[ye]&&(ye=_);return{center:Ee(-180+(ye+.5)*xe),minLng:Ae,maxLng:Ae+(be-re),span:be-re}}function E(j){try{const ee=j.getContainer&&j.getContainer().clientWidth||0,K=ee>0?Math.log2(ee/512):y,B=typeof j.getMinZoom=="function"?j.getMinZoom():K;return Math.max(B,K)}catch{return y}}function M(j,ee,K,B){j.easeTo({center:[ee,(K+B)/2],zoom:E(j),duration:T,essential:!0})}function F(j,ee,K){if(K>g)return!0;try{const B=typeof j.cameraForBounds=="function"?j.cameraForBounds(ee,{padding:x,maxZoom:b}):null;return B==null?!0:typeof B.zoom=="number"&&B.zoom<=E(j)+.05}catch{return!1}}function V(j,ee){if(!Array.isArray(j))return j;switch(j[0]){case"get":return ee==null?void 0:ee[j[1]];case"literal":return j[1];case"has":return ee!=null&&j[1]in ee;case"!has":return ee==null||!(j[1]in ee);case"!":return!V(j[1],ee);case"coalesce":{for(let B=1;B2){const z=Number(V(j[2],ee));return Number.isFinite(z)?z:0}return NaN}case"to-string":{const B=V(j[1],ee);return B==null?"":String(B)}case"to-boolean":return!!V(j[1],ee);case"slice":{const B=V(j[1],ee),N=V(j[2],ee),z=j.length>3?V(j[3],ee):void 0;return typeof B!="string"?"":z!=null?B.slice(N,z):B.slice(N)}default:return j}}function W(j,ee){if(j===!0)return!0;if(j===!1)return!1;if(!Array.isArray(j))return!!j;const K=j[0];if(K==="all"){for(let B=1;B"||K===">="||K==="<"||K==="<="){const B=typeof j[1]=="string"?ee==null?void 0:ee[j[1]]:V(j[1],ee),N=V(j[2],ee);switch(K){case"==":return B===N||B==null&&N==null;case"!=":return!(B===N||B==null&&N==null);case">":return B>N;case">=":return B>=N;case"<":return B{const U=(w==null?void 0:w.properties)||{};return U.region===_||U.name===_||U.id===_});if(A){const w=[];let U=1/0,Z=-1/0;const Q=te=>{for(const d of te)Array.isArray(d[0])?Q(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(w.push(d[0]),d[1]Z&&(Z=d[1]))};(_e=A.geometry)!=null&&_e.coordinates&&Q(A.geometry.coordinates);const le=k(w);if(le&&Number.isFinite(U)){const te=[[le.minLng,U],[le.maxLng,Z]];F(K,te,le.span)?M(K,le.center,U,Z):K.fitBounds(te,{padding:x,maxZoom:b,duration:T,essential:!0});return}}}const B=ee.sourceId??"language-families";if(!K.getSource(B))return;const N=ee.matchExpr??j.filter;if(!N)return;const z=ne(K,B);if(!z.length)return;const D=[];let P=1/0,q=-1/0,re=0,be=0,Ee=0;const Ae=new Set;for(const ve of z){const _=ve==null?void 0:ve.properties;if(!W(N,_))continue;const A=_==null?void 0:_.uniqueId;if(A!=null){if(Ae.has(A))continue;Ae.add(A)}const w=(ye=ve.geometry)==null?void 0:ye.coordinates;if(!Array.isArray(w)||w.length<2)continue;const U=w[0],Z=w[1];!Number.isFinite(U)||!Number.isFinite(Z)||(re===0&&(be=U,Ee=Z),D.push(U),Zq&&(q=Z),re++)}if(re===0)return;if(re===1){K.flyTo({center:[be,Ee],zoom:p,duration:T,essential:!0});return}const Le=k(D)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Le.minLng,P],[Le.maxLng,q]];if(F(K,xe,Le.span)){M(K,Le.center,P,q);return}try{K.fitBounds(xe,{padding:x,maxZoom:b,duration:T,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:S,resetView:$,zoomToLegendRow:me,calculateRegionCenterFromPolygon:h}}const N0=150,I0=1200,F0=70,R0=5.5,M0=6,Mu=.01,O0=110,D0=1.45;function j0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function z0(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 U0(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 a=o-t,s=r-n;if(s180?n-360:n;return{minLng:l,maxLng:l+s,span:s}}return{minLng:t,maxLng:o,span:a}}function B0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,a=null,s=0;for(const i of e){const c=z0(t.get(i));c&&(s===0&&(a=c),o.push(c[0]),c[1]r&&(r=c[1]),s++)}if(s===0)return null;if(s===1)return{kind:"point",center:a};const l=U0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let a=null;function s(){if(a=null,!(t&&t())||!r())return;const c=B0(e.selectionSet,o&&o());if(!c)return;const u=j0()?0:I0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:M0,duration:u,essential:!0});return}if(c.span>O0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:D0,duration:u,essential:!0});return}n.fitBounds(c.bounds,F0,{maxZoom:R0,duration:u,essential:!0})}catch{}}const l=pt(()=>e.selectionVersion.value,()=>{a&&clearTimeout(a),a=setTimeout(s,N0)});return function(){a&&(clearTimeout(a),a=null);try{l()}catch{}}}const q0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ie(null);return fo("mapToolbar",{el:t}),Pt(` +`,"rd-detaildrawer"),(g,y)=>(H(),J("section",Uv,[I("div",Bv,[y[0]||(y[0]=I("span",null,"Detail",-1)),c.value?(H(),J("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Re("",!0)]),c.value?(H(),J(Ce,{key:1},[I("div",qv,[h.value?(H(),J("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Hv)):(H(),J("div",Vv,"No photo")),I("div",null,[I("div",Wv,ue(c.value.name||"—"),1),I("div",Kv,ue(de(nt)(c.value.country_code)||"—")+" · "+ue(de(nt)(c.value.religion)||"—"),1)])]),I("div",Yv,[S.value?(H(),J("a",{key:0,class:"rd-act rd-act-pray",href:S.value,target:"_blank",rel:"noopener",title:x.value,"data-detail-pray":""},[y[1]||(y[1]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),I("span",null,ue(x.value),1)],8,Xv)):Re("",!0),$.value?(H(),J("a",{key:1,class:"rd-act rd-act-info",href:$.value,target:"_blank",rel:"noopener",title:T.value,"data-detail-moreinfo":""},[y[2]||(y[2]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),I("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("span",null,ue(T.value),1)],8,Jv)):Re("",!0)]),I("div",Zv,[I("div",Qv,[y[3]||(y[3]=I("span",{class:"k"},"Language",-1)),I("span",e0,[it(ue(de(nt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(H(),J("span",t0," ("+ue(c.value.imb_language_family)+")",1)):Re("",!0)])]),I("div",o0,[y[4]||(y[4]=I("span",{class:"k"},"Population",-1)),I("span",n0,ue(u(c.value.population)),1)]),I("div",r0,[y[5]||(y[5]=I("span",{class:"k"},"People praying",-1)),I("span",a0,ue(u(c.value.people_praying)),1)]),I("div",s0,[y[6]||(y[6]=I("span",{class:"k"},"People committed",-1)),I("span",l0,ue(u(c.value.people_committed)),1)]),I("div",i0,[y[7]||(y[7]=I("span",{class:"k"},"Adopted by churches",-1)),I("span",c0,ue(u(c.value.adopted_by_churches)),1)]),I("div",u0,[y[8]||(y[8]=I("span",{class:"k"},"Engagement",-1)),I("span",d0,ue(de(nt)(c.value.engagement_status)||"—"),1)])]),I("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:b},"Export this selection ↓")],64)):(H(),J("div",Gv,"Select a people group to see detail"))]))}},p0="rgba(120, 128, 134, 0.28)",Pu="36px",Nu=()=>{};function g0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Nu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Nu;const r=b=>b.classList.contains("map-scroll-edge--left");for(const b of n)b.style.background=`linear-gradient(${r(b)?"to right":"to left"}, ${p0} ${Pu}, transparent ${Pu})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const a=b=>{b.style.opacity="1"},s=b=>{b.style.opacity="0"},l=()=>n.find(b=>!r(b))||null,i=new Set;let c=!1,u=null;const h=()=>{for(const b of n)i.has(b)||s(b)},m=()=>{const b=l();b&&(a(b),u&&clearTimeout(u),u=setTimeout(h,250))},v=()=>m(),S=b=>{if(!(b.touches&&b.touches.length===1))return;const p=b.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},$=()=>{u&&clearTimeout(u),h()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",S,{passive:!0}),e.addEventListener("touchend",$,{passive:!0}),e.addEventListener("touchcancel",$,{passive:!0});const x=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",x,{passive:!0});const T=[];for(const b of n){const p=()=>{i.add(b),a(b)},g=()=>{i.delete(b),s(b)},y=()=>{c=!0,a(b)},k=()=>{c=!1,s(b)};b.addEventListener("mouseenter",p),b.addEventListener("mouseleave",g),b.addEventListener("touchstart",y,{passive:!0}),b.addEventListener("touchend",k,{passive:!0}),T.push(()=>{b.removeEventListener("mouseenter",p),b.removeEventListener("mouseleave",g),b.removeEventListener("touchstart",y),b.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",S),e.removeEventListener("touchend",$),e.removeEventListener("touchcancel",$),typeof window<"u"&&window.removeEventListener("scroll",x);for(const p of T)p();for(const p of n)s(p)}}const h0=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"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function m0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=h0[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0,paint:o.paint}:{style:o.mapbox,lightPreset:o.lightPreset,paint:o.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function b0(e,t){if(!e||!Array.isArray(t))return[];const o=[];for(const n of t)if(!(!n||!n.layer||!n.prop))try{if(!e.getLayer(n.layer))continue;e.setPaintProperty(n.layer,n.prop,n.value),o.push(n.layer+"."+n.prop)}catch{}return o}const wn={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 Iu(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 _0=wn.mapbox.css,y0="https://tiles.openfreemap.org/styles/liberty";function Rs(e){var o;const t=((o=wn[e])==null?void 0:o.global)||wn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function v0(e){const t=wn[e]||wn.mapbox;if(Rs(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(Rs(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 a=document.createElement("script");a.src=t.js,a.async=!1,a.addEventListener("load",n,{once:!0}),a.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(a)})}async function x0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=s=>new Promise(l=>setTimeout(l,s)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(s=>{r.addEventListener("load",s,{once:!0}),r.addEventListener("error",s,{once:!0})}),n(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=t,await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0}),o.prepend(a)}),n(2e3)])}function w0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:y0}const k0=85.0511,Ms=-2,$0=0,S0=-60;function Fu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function E0(e,t,o,n){if(!e||e<=0||!t||t<=0)return $0;const r=Math.log2(e/512),a=Fu(n)-Fu(k0),s=Math.log2(t/(512*a)),l=Math.max(r,s);return Math.max(Ms,Math.min(l,(o??18)-1))}function A0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:a=[20,10],zoom:s=2,minZoom:l=void 0,skipWorldFloor:i=!1,maxZoom:c=18,pitch:u=0,bearing:h=0,renderWorldCopies:m=!0,showEdgeBorders:v=!0,southCutoff:S=S0,maxBounds:$=void 0}){const x=Pn(null),T=ie(!1);let b=null,p=null,g=null;const y=r==="maplibre";async function k(){var D;const M=m0(o,r),F=M.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await v0(r);const V=Rs(r);if(!V){console.error(`[useMapInstance] ${y?"maplibregl":"mapboxgl"} is not available. Add the ${y?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!y){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 x0(e.value,y?wn.maplibre.css:_0),await new Promise(P=>requestAnimationFrame(P));const W=e.value,ne=W.clientWidth,me=W.clientHeight;if(ne===0||me===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ne}×${me}). Map will be invisible. Check that parent elements have CSS sizing.`);let P=W.parentElement,q=0;for(;P&&q<5;)P=P.parentElement,q++}const j=t;y||(V.accessToken=j);const ee=()=>typeof window<"u"&&window.innerWidth>=1024,K=(P,q)=>{if(i)return typeof l=="number"?l:Ms;if(!ee())return Ms;const re=E0(P,q,c,S);return typeof l=="number"?Math.max(l,re):re},B=K(W.clientWidth,W.clientHeight);if(y){x.value=new V.Map({container:e.value,style:w0(F),center:a,zoom:s,minZoom:B,maxZoom:c,pitch:u,bearing:h,dragRotate:!1,renderWorldCopies:m,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Iu(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const P=typeof n=="function"?n():n;x.value=new V.Map({accessToken:j,container:e.value,style:F,...P?{config:P}:{},center:a,zoom:s,minZoom:B,maxZoom:c,pitch:u,bearing:h,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Iu(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let P=!1;x.value.on("error",q=>{var Ee,Ae;const re=((Ee=q==null?void 0:q.error)==null?void 0:Ee.status)??(q==null?void 0:q.status),be=String(((Ae=q==null?void 0:q.error)==null?void 0:Ae.url)||(q==null?void 0:q.sourceId)||"");re!==401&&re!==403||P||(P=!0,console.error(`[doxa-maps] Mapbox returned ${re} 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.`+(be?` First failing request: ${be.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}g=g0(((D=e.value)==null?void 0:D.parentElement)||null,{enabled:v});let N=B,z=null;b=()=>{const P=x.value;if(!P)return;const q=K(W.clientWidth,W.clientHeight);q!==N&&(N=q,P.setMinZoom(q)),P.getZoom(){z=null;const re=x.value;if(!re)return;const be=K(W.clientWidth,W.clientHeight);if(re.getZoom(){z&&(clearTimeout(z),z=null)},x.value.on("resize",b),typeof window<"u"&&(window.addEventListener("resize",b),window.addEventListener("orientationchange",b)),x.value.on("style.load",()=>{if(M.paint&&x.value){const P=b0(x.value,M.paint);console.info("[useMapInstance] style paint applied ("+r+"):",P.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var P;(P=x.value)==null||P.resize(),x.value&&x.value.setMinZoom(K(W.clientWidth,W.clientHeight)),T.value=!0})})}function E(){if(x.value){if(b&&(x.value.off("resize",b),typeof window<"u"&&(window.removeEventListener("resize",b),window.removeEventListener("orientationchange",b)),b=null),p){try{p()}catch{}p=null}g&&(g(),g=null),x.value.remove(),x.value=null,T.value=!1}}return{map:x,isMapReady:T,initializeMap:k,destroy:E}}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 T0(e){return C0[e]||null}const kn={center:[20,10],zoom:1.8};function L0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:a=(kn==null?void 0:kn.center)||[20,10],defaultZoom:s=kn==null?void 0:kn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(j,ee,K={x:150,y:0}){const B=t();if(!B)return j;try{const N=B.getCanvas(),z=N.width,D=N.height,P=B.project(j),q=window.devicePixelRatio||1,re=(K.x||0)*q,be=(K.y||0)*q,Ee={x:P.x-re,y:P.y-be},Ae=B.unproject(Ee);return[Ae.lng,Ae.lat]}catch{return j}}function c(j,ee=[]){const K=t();if(!K)return;let B=null,N=5;const z=ee.filter(P=>P.languageFamily===j);if(z.length>0){let P=1/0,q=-1/0,re=1/0,be=-1/0;if(z.forEach(Ee=>{Ee.longitude&&Ee.latitude&&(P=Math.min(P,Ee.longitude),q=Math.max(q,Ee.longitude),re=Math.min(re,Ee.latitude),be=Math.max(be,Ee.latitude))}),P!==1/0){B=[(P+q)/2,(re+be)/2];const Ee=q-P,Ae=be-re,Le=Math.max(Ee,Ae);Le>50?N=2:Le>20?N=3:Le>10?N=4:Le>5?N=5:N=6}}if(!B)return;const D=i(B);K.flyTo({center:D,zoom:N,...l})}function u(j){const ee=t();if(!ee)return;let K=null,B=4;const N=T0(j);if(N)K=N.center,B=N.zoom||4;else if(r!=null&&r.features){const D=r.features.find(P=>{var q,re;return((q=P.properties)==null?void 0:q.region)===j||((re=P.properties)==null?void 0:re.name)===j});D&&(K=h(D))}if(!K)return;const z=i(K);ee.flyTo({center:z,zoom:B,...l})}function h(j){if(!j||!j.geometry)return null;const{type:ee,coordinates:K}=j.geometry;let B=[];if(ee==="Polygon"?B=K[0]||[]:ee==="MultiPolygon"&&K.forEach(D=>{B=B.concat(D[0]||[])}),B.length===0)return null;let N=0,z=0;return B.forEach(D=>{N+=D[0],z+=D[1]}),[N/B.length,z/B.length]}function m(j,ee={}){const K=t();if(!K)return;const B={center:j,...l,...ee};K.flyTo(B)}function v(j,ee){const K=t();if(!K||(j==null?void 0:j.longitude)==null||(j==null?void 0:j.latitude)==null)return;const B=ee??Math.min(K.getZoom()+2,8);m([j.longitude,j.latitude],{zoom:B})}function S(j,ee={top:40,right:40,bottom:40,left:40},K={}){const B=t();if(!B||!j)return;const N=K.maxZoom??4,z=K.duration??900;B.fitBounds(j,{padding:ee,maxZoom:N,duration:z,...l,...K})}function $(){const j=t();j&&j.flyTo({center:a,zoom:s,...l})}const x=80,T=800,b=5,p=5,g=110,y=1.2;function k(j){const ee=j.filter(Number.isFinite).slice().sort((_,A)=>_-A),K=ee.length;if(!K)return null;let B=-1,N=0;for(let _=0;_B&&(B=w,N=_)}const z=(N+1)%K,D=new Array(K);for(let _=0;_0&&A((_+180)%360+360)%360-180,Ae=Ee(re),Le=24,xe=360/Le,_e=new Array(Le).fill(0);for(const _ of ee){let A=Math.floor(((_+180)%360+360)%360/xe);A>=Le&&(A=Le-1),_e[A]++}let ye=0;for(let _=1;__e[ye]&&(ye=_);return{center:Ee(-180+(ye+.5)*xe),minLng:Ae,maxLng:Ae+(be-re),span:be-re}}function E(j){try{const ee=j.getContainer&&j.getContainer().clientWidth||0,K=ee>0?Math.log2(ee/512):y,B=typeof j.getMinZoom=="function"?j.getMinZoom():K;return Math.max(B,K)}catch{return y}}function M(j,ee,K,B){j.easeTo({center:[ee,(K+B)/2],zoom:E(j),duration:T,essential:!0})}function F(j,ee,K){if(K>g)return!0;try{const B=typeof j.cameraForBounds=="function"?j.cameraForBounds(ee,{padding:x,maxZoom:b}):null;return B==null?!0:typeof B.zoom=="number"&&B.zoom<=E(j)+.05}catch{return!1}}function V(j,ee){if(!Array.isArray(j))return j;switch(j[0]){case"get":return ee==null?void 0:ee[j[1]];case"literal":return j[1];case"has":return ee!=null&&j[1]in ee;case"!has":return ee==null||!(j[1]in ee);case"!":return!V(j[1],ee);case"coalesce":{for(let B=1;B2){const z=Number(V(j[2],ee));return Number.isFinite(z)?z:0}return NaN}case"to-string":{const B=V(j[1],ee);return B==null?"":String(B)}case"to-boolean":return!!V(j[1],ee);case"slice":{const B=V(j[1],ee),N=V(j[2],ee),z=j.length>3?V(j[3],ee):void 0;return typeof B!="string"?"":z!=null?B.slice(N,z):B.slice(N)}default:return j}}function W(j,ee){if(j===!0)return!0;if(j===!1)return!1;if(!Array.isArray(j))return!!j;const K=j[0];if(K==="all"){for(let B=1;B"||K===">="||K==="<"||K==="<="){const B=typeof j[1]=="string"?ee==null?void 0:ee[j[1]]:V(j[1],ee),N=V(j[2],ee);switch(K){case"==":return B===N||B==null&&N==null;case"!=":return!(B===N||B==null&&N==null);case">":return B>N;case">=":return B>=N;case"<":return B{const U=(w==null?void 0:w.properties)||{};return U.region===_||U.name===_||U.id===_});if(A){const w=[];let U=1/0,Z=-1/0;const Q=te=>{for(const d of te)Array.isArray(d[0])?Q(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(w.push(d[0]),d[1]Z&&(Z=d[1]))};(_e=A.geometry)!=null&&_e.coordinates&&Q(A.geometry.coordinates);const le=k(w);if(le&&Number.isFinite(U)){const te=[[le.minLng,U],[le.maxLng,Z]];F(K,te,le.span)?M(K,le.center,U,Z):K.fitBounds(te,{padding:x,maxZoom:b,duration:T,essential:!0});return}}}const B=ee.sourceId??"language-families";if(!K.getSource(B))return;const N=ee.matchExpr??j.filter;if(!N)return;const z=ne(K,B);if(!z.length)return;const D=[];let P=1/0,q=-1/0,re=0,be=0,Ee=0;const Ae=new Set;for(const ve of z){const _=ve==null?void 0:ve.properties;if(!W(N,_))continue;const A=_==null?void 0:_.uniqueId;if(A!=null){if(Ae.has(A))continue;Ae.add(A)}const w=(ye=ve.geometry)==null?void 0:ye.coordinates;if(!Array.isArray(w)||w.length<2)continue;const U=w[0],Z=w[1];!Number.isFinite(U)||!Number.isFinite(Z)||(re===0&&(be=U,Ee=Z),D.push(U),Zq&&(q=Z),re++)}if(re===0)return;if(re===1){K.flyTo({center:[be,Ee],zoom:p,duration:T,essential:!0});return}const Le=k(D)||{center:0,minLng:0,maxLng:0,span:0},xe=[[Le.minLng,P],[Le.maxLng,q]];if(F(K,xe,Le.span)){M(K,Le.center,P,q);return}try{K.fitBounds(xe,{padding:x,maxZoom:b,duration:T,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:S,resetView:$,zoomToLegendRow:me,calculateRegionCenterFromPolygon:h}}const P0=150,N0=1200,I0=70,F0=5.5,R0=6,Ru=.01,M0=110,O0=1.45;function D0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function j0(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 z0(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 a=o-t,s=r-n;if(s180?n-360:n;return{minLng:l,maxLng:l+s,span:s}}return{minLng:t,maxLng:o,span:a}}function U0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,a=null,s=0;for(const i of e){const c=j0(t.get(i));c&&(s===0&&(a=c),o.push(c[0]),c[1]r&&(r=c[1]),s++)}if(s===0)return null;if(s===1)return{kind:"point",center:a};const l=z0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let a=null;function s(){if(a=null,!(t&&t())||!r())return;const c=U0(e.selectionSet,o&&o());if(!c)return;const u=D0()?0:N0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:R0,duration:u,essential:!0});return}if(c.span>M0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:O0,duration:u,essential:!0});return}n.fitBounds(c.bounds,I0,{maxZoom:F0,duration:u,essential:!0})}catch{}}const l=pt(()=>e.selectionVersion.value,()=>{a&&clearTimeout(a),a=setTimeout(s,P0)});return function(){a&&(clearTimeout(a),a=null);try{l()}catch{}}}const G0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ie(null);return fo("mapToolbar",{el:t}),Pt(` .map-toolbar { position: absolute; top: 6px; @@ -654,7 +654,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(H(),J("div",{ref_key:"toolbarEl",ref:t,class:Ge(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Vo(o.$slots,"default")],2))}},H0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=hn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,a)=>(H(),Lo(Is,{"is-dark":e.isDark,disabled:e.disabled,title:de(t)("buttons.zoomIn"),onClick:n},{default:Co(()=>[...a[0]||(a[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},V0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=hn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,a)=>(H(),Lo(Is,{"is-dark":e.isDark,disabled:e.disabled,title:de(t)("buttons.zoomOut"),onClick:n},{default:Co(()=>[...a[0]||(a[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},W0=["data-projection"],K0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Ou=2,Y0="#f2f3f0",Du=.78,X0="prayer_level",J0=.1,Z0=12,Q0={__name:"DashboardMapPanel",setup(e){var Wt,St,Mt,so,Uu,Bu,Gu,qu,Hu;const t=De("dashboardData",null),o=De("selectionBus",null),n=De("mapboxToken",ie("")),r=De("dashboardConfig",{}),a=De("profileConfig",ie(null)),s=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(r.facets||{}).map(([R,X])=>[R,X.get])),i=rr(o,nr(r)),c=se(()=>{var ke,Se;const R=((ke=t==null?void 0:t.rows)==null?void 0:ke.value)||[],X=Object.keys(s),ce=!!(((Se=o==null?void 0:o.searchTerm)==null?void 0:Se.value)||"").trim();return!X.length&&!ce?R:R.filter(Oe=>X.every(Me=>{const $e=l[Me];return $e?$e(Oe)===s[Me]:!0})&&i(Oe))}),u=((Wt=r.map)==null?void 0:Wt.geoFacet)||"country_code",h=((Mt=(St=r.facets)==null?void 0:St[u])==null?void 0:Mt.geoIso)||(R=>{const X=R[u];return X&&X.value?X.value:null}),m=l[u]||(R=>nt(R[u])),v=se(()=>{var X;const R=new Map;for(const ce of((X=t==null?void 0:t.rows)==null?void 0:X.value)||[]){const ke=h(ce);ke&&R.set(ke,m(ce)||ke)}return R}),S=se(()=>{const R=new Map;for(const X of c.value){const ce=h(X);ce&&R.set(ce,(R.get(ce)||0)+1)}return R}),$=ie(null),x=se(()=>{var X;return(((X=r.map)==null?void 0:X.provider)||r.provider)==="maplibre"?"maplibre":"mapbox"}),T=se(()=>x.value==="maplibre"),{map:b,isMapReady:p,initializeMap:g,destroy:y}=C0({containerRef:$,accessToken:de(n)||n&&n.value||"",center:[28,18],zoom:1.1,minZoom:.5,skipWorldFloor:!0,provider:x.value,...(so=r.map)!=null&&so.mapStyle||r.mapStyle?{style:((Uu=r.map)==null?void 0:Uu.mapStyle)||r.mapStyle}:{}}),k=P0({getMap:()=>b.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let E=null;E=G0({bus:o,mapFly:k,getMap:()=>b.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>p.value});let M=!1,F=null,V=null,W=null,ne=0,me=!1;function j(){me||ne||(ne=requestAnimationFrame(()=>{ne=0;const R=b.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function ee(R){const X=!!R;if(X!==me){if(me=X,me){ne&&(cancelAnimationFrame(ne),ne=0);return}j(),setTimeout(j,180)}}const K=(()=>{var X;const R={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#c9c9c9","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return R[(X=r.map)==null?void 0:X.colorRamp]||R["heartbeat-red"]})(),B={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function N(R,X){return Number.isFinite(X)?X-1<=R?`${R}`:`${R}–${X-1}`:`${R}+ · heartbeat zone`}function z(R){const ce=B.binThresholds.map(ke=>ke/B.heartbeatThreshold).map(ke=>Math.max(Ou,Math.round(ke*R)));return D(ce,R)}function D(R,X){const ce=[];for(const ke of R){const Se=Math.max(ke,ce.length?ce[ce.length-1]+1:Ou);SeMe>0).sort((Me,$e)=>Me-$e);if(ce.length<8)return null;const ke=Me=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Me*ce.length)))],Se=ke(1-X)+1,Oe=[.25,.5,.75].map(Me=>ke(Me));return{threshold:Se,edges:D(Oe,Se)}}function q(R){var Me;if(Array.isArray((Me=r.map)==null?void 0:Me.bins)&&r.map.bins.length)return r.map.bins;const X=r.map||{};let ce=Number(X.heartbeatThreshold)>0?Number(X.heartbeatThreshold):B.heartbeatThreshold,ke=null;if(X.heartbeatMode==="quantile"){const $e=P(R||[],Number(X.heartbeatQuantile)>0?Number(X.heartbeatQuantile):B.quantile);$e&&(ce=$e.threshold,ke=$e.edges)}ke||(ke=Array.isArray(X.binThresholds)&&X.binThresholds.length?[...new Set(X.binThresholds.map(Number).filter($e=>Number.isFinite($e)&&$e>0&&$e$e-ht):Number(X.heartbeatThreshold)>0?z(ce):B.binThresholds);const Se=[...ke,ce,1/0].slice(0,K.length);for(;Se.length{const Kt={upTo:$e,c:K[ht],l:N(Oe,$e)};return Oe=$e,Kt})}const re=se(()=>q([...S.value.values()])),be=((Bu=r.map)==null?void 0:Bu.noDataColor)||"#f3f3f1";function Ee(R){if(!R)return be;const X=re.value;for(const ce of X)if(R{const Me=parseInt(ce.slice(Oe*2,Oe*2+2),16),$e=parseInt(ke.slice(Oe*2,Oe*2+2),16);return Math.round(Du*Me+(1-Du)*$e)};return"#"+[0,1,2].map(Oe=>Se(Oe).toString(16).padStart(2,"0")).join("")}const Le=se(()=>re.value.map(R=>({c:Ae(R.c),l:R.l}))),xe=((Gu=r.map)==null?void 0:Gu.selectedColor)||"#1a237e";function _e(){const R=S.value,X=[],ce=[];R.forEach((Me,$e)=>{X.push($e,Ee(Me)),ce.push($e)});const ke=X.length?["match",["get","iso_3166_1_alpha_3"],...X,be]:be,Oe=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Me=>[Me,.92]),.12]:.78;return{fillColor:ke,fillOpacity:Oe}}function ye(){return Object.prototype.hasOwnProperty.call(s,X0)}const ve=((qu=r.map)==null?void 0:qu.pinColor)||"#ef6c00",_=((Hu=r.map)==null?void 0:Hu.pinStrokeColor)||"#ffffff";function A(){return ye()?Jr({colorSource:"properties"}):ve}function w(){const R=b.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:X,fillOpacity:ce}=_e();R.setPaintProperty("rd-choropleth","fill-color",X),R.setPaintProperty("rd-choropleth","fill-opacity",ce);const ke=R.getSource("rd-bubbles");ke&&ke.setData(Z()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",A())}function U(R){const X=R==null?void 0:R.people_praying,ce=X&&typeof X=="object"?X.value:X;return Number(ce)||0}function Z(){return{type:"FeatureCollection",features:c.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:U(R)}}))}}function Q(){var ce;const R=o==null?void 0:o.selectionSet,X=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:X.filter(ke=>R.has(ke.slug)&&Number(ke.latitude)&&Number(ke.longitude)).map(ke=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ke.longitude),Number(ke.latitude)]},properties:{slug:ke.slug||"",name:ke.name||""}}))}}function le(){const R=b.value;if(!R)return;const X=R.getSource("rd-bubble-selected");X&&X.setData(Q())}function te(){var ke;const R=b.value;if(!R||M)return;M=!0,R.getSource("rd-countries")||(T.value?(R.addSource("rd-countries",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Jb(a.value)}/boundaries/world-adm0.geojson`).then(Se=>Se.json()).then(Se=>{for(const Me of Se.features||[])Me.properties&&Me.properties.iso3&&(Me.properties.iso_3166_1_alpha_3=Me.properties.iso3);const Oe=b.value&&b.value.getSource("rd-countries");Oe&&Oe.setData(Se)}).catch(Se=>console.warn("[rdash] country boundaries failed to load",Se))):R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}));const{fillColor:X,fillOpacity:ce}=_e();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries",...T.value?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":X,"fill-opacity":ce,"fill-outline-color":((ke=r.map)==null?void 0:ke.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:Z()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":A(),"circle-opacity":1,"circle-stroke-color":_,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:Q()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":xe,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":xe,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",d),R.on("click","rd-bubble-layer",f),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=(Se,Oe)=>{const Me=R.project([Se,Oe]),$e=R.queryRenderedFeatures(Me,{layers:["rd-choropleth"]});return $e&&$e[0]?(d({features:$e}),$e[0].properties&&$e[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Se,Oe)=>{const Me=R.project([Se,Oe]),$e=R.queryRenderedFeatures([[Me.x-7,Me.y-7],[Me.x+7,Me.y+7]],{layers:["rd-bubble-layer"]});return $e&&$e[0]?(f({features:[$e[0]]}),$e[0].properties&&$e[0].properties.slug):null}}catch{}He();try{typeof R.setFog=="function"&&R.setFog({color:"rgb(186, 210, 235)","high-color":"rgb(36, 92, 223)","horizon-blend":.02,"space-color":"#000000","star-intensity":.6})}catch{}o&&o.on("select",le),le(),o&&o.on("focusRow",({slug:Se}={})=>{var $e;if(!Se)return;const Oe=((($e=t==null?void 0:t.rows)==null?void 0:$e.value)||[]).find(ht=>ht.slug===Se),Me=b.value;if(Me&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Me.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function d(R){const X=b.value;if(X&&R.point){const Oe=X.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ce=R.features&&R.features[0];if(!ce||!o)return;const ke=ce.properties&&ce.properties.iso_3166_1_alpha_3,Se=v.value.get(ke);Se&&(o.setFilter(u,s[u]===Se?null:Se),o.emit("mapFocus",{facet:u,value:Se}))}function f(R){const X=R.features&&R.features[0];if(!X||!o)return;const ce=X.properties&&X.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:X.properties&&X.properties.name}))}function L(R){var ce;let X=R&&R.parentNode;for(;X;){if(X.nodeType===1){const ke=getComputedStyle(X);if(/auto|scroll/.test(ke.overflowY)&&X.scrollHeight>X.clientHeight+4)return X}if(X=X.parentElement||((ce=X.parentNode)==null?void 0:ce.host)||(X.parentNode!==X?X.parentNode:null),X&&X.nodeType===9)break}return null}function O(R){if(!(!R||!R.scrollZoom))try{R.scrollZoom.enable()}catch{}}_t(async()=>{await g();const R=b.value;if(!R)return;R.isStyleLoaded()?te():R.on("load",te),O(R);const X=()=>O(R);let ce=null;try{ce=new ResizeObserver(X);const ke=R.getContainer&&R.getContainer()||null;ke&&ce.observe(ke);const Se=ke?L(ke):null;Se&&ce.observe(Se),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",X),Ut(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",X)}),R.on("zoom",C),R.on("zoomend",C),R.on("resize",C),C(),R.on("idle",()=>{!M&&R.isStyleLoaded()&&te()}),typeof ResizeObserver<"u"&&$.value&&(F=new ResizeObserver(j),F.observe($.value)),Ne(),R.on("idle",Ne),R.on("resize",Ne),o&&typeof o.on=="function"&&(V=o.on("toggleTable",()=>{j(),setTimeout(j,280)}),W=o.on("layoutResizing",ee))}),Ut(()=>{try{E&&E()}catch{}E=null;try{V&&V()}catch{}V=null;try{W&&W()}catch{}if(W=null,F){try{F.disconnect()}catch{}F=null}if(he){try{he.disconnect()}catch{}he=null}we=null,ne&&(cancelAnimationFrame(ne),ne=0);try{const R=b.value;R&&(R.off("zoom",C),R.off("zoomend",C),R.off("resize",C),R.off("idle",Ne),R.off("resize",Ne))}catch{}try{y&&y()}catch{}}),pt([c,p],w);const ae=ie(!0),oe=ie(!0);function C(){const R=b.value;if(!R)return;const X=R.getZoom();ae.value=XR.getMinZoom()+.01}const G=ie(null);let he=null,we=null;function Ne(){var ke;const R=G.value;if(!R)return;let X=0;try{const Se=(ke=R.getRootNode)==null?void 0:ke.call(R),Oe=Se&&Se.querySelector?Se.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Me=Oe.getBoundingClientRect(),$e=R.getBoundingClientRect();if(X=Math.max(Me.height||0,$e.bottom-Me.top),we!==Oe&&typeof ResizeObserver<"u"){if(he)try{he.disconnect()}catch{}we=Oe,he=new ResizeObserver(Ne),he.observe(Oe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(X)||20,20),72);R.style.setProperty("--rd-attrib-clear",ce+"px")}const qe=ie("globe");function He(){const R=b.value;if(!(!R||typeof R.setProjection!="function")){try{R.setProjection({type:qe.value});return}catch{}try{R.setProjection(qe.value)}catch{}}}function rt(){qe.value=qe.value==="globe"?"mercator":"globe",He()}function Rt(R){const X=Number(R.longitude),ce=Number(R.latitude);return!Number.isFinite(X)||!Number.isFinite(ce)||X===0&&ce===0||ce<-90||ce>90||X<-180||X>180?null:[X,ce]}function Y(R,X){if(!R.length)return NaN;const ce=Math.min(R.length-1,Math.max(0,Math.round(X*(R.length-1))));return R[ce]}function fe(R){const X=R.slice().sort(($e,ht)=>$e-ht),ce=X.length;if(ce<2)return X;let ke=-1,Se=0;for(let $e=0;$eke&&(ke=Kt,Se=$e)}const Oe=(Se+1)%ce,Me=new Array(ce);for(let $e=0;$e0&&htXo[1]).sort((Xo,na)=>Xo-na),ke=fe(X.map(Xo=>Xo[0])),Se=X.length>=Z0?J0:0,Oe=Y(ce,Se),Me=Y(ce,1-Se),$e=Y(ke,Se),ht=Y(ke,1-Se),Kt=[Y(ke,.5),Y(ce,.5)];return!(ht>$e)||!(Me>Oe)?{bounds:[[Kt[0],Kt[1]],[Kt[0],Kt[1]]],center:Kt}:{bounds:[[$e,Oe],[ht,Me]],center:Kt}}function je(){const R=b.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const X=ge(c.value);if(X)try{R.fitBounds(X.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(X.center)}catch{}}let Ue=null;return pt(()=>JSON.stringify(s),()=>{clearTimeout(Ue),Ue=setTimeout(je,260)}),Pt(` +`,"map-toolbar"),(o,n)=>(H(),J("div",{ref_key:"toolbarEl",ref:t,class:Ge(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Vo(o.$slots,"default")],2))}},q0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=hn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,a)=>(H(),Lo(Ns,{"is-dark":e.isDark,disabled:e.disabled,title:de(t)("buttons.zoomIn"),onClick:n},{default:Co(()=>[...a[0]||(a[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},H0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=hn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,a)=>(H(),Lo(Ns,{"is-dark":e.isDark,disabled:e.disabled,title:de(t)("buttons.zoomOut"),onClick:n},{default:Co(()=>[...a[0]||(a[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},V0=["data-projection"],W0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Mu=2,K0="#f2f3f0",Ou=.78,Y0="prayer_level",X0=.1,J0=12,Z0={__name:"DashboardMapPanel",setup(e){var Wt,St,Mt,so,zu,Uu,Bu,Gu,qu;const t=De("dashboardData",null),o=De("selectionBus",null),n=De("mapboxToken",ie("")),r=De("dashboardConfig",{}),a=De("profileConfig",ie(null)),s=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(r.facets||{}).map(([R,X])=>[R,X.get])),i=rr(o,nr(r)),c=se(()=>{var ke,Se;const R=((ke=t==null?void 0:t.rows)==null?void 0:ke.value)||[],X=Object.keys(s),ce=!!(((Se=o==null?void 0:o.searchTerm)==null?void 0:Se.value)||"").trim();return!X.length&&!ce?R:R.filter(Oe=>X.every(Me=>{const $e=l[Me];return $e?$e(Oe)===s[Me]:!0})&&i(Oe))}),u=((Wt=r.map)==null?void 0:Wt.geoFacet)||"country_code",h=((Mt=(St=r.facets)==null?void 0:St[u])==null?void 0:Mt.geoIso)||(R=>{const X=R[u];return X&&X.value?X.value:null}),m=l[u]||(R=>nt(R[u])),v=se(()=>{var X;const R=new Map;for(const ce of((X=t==null?void 0:t.rows)==null?void 0:X.value)||[]){const ke=h(ce);ke&&R.set(ke,m(ce)||ke)}return R}),S=se(()=>{const R=new Map;for(const X of c.value){const ce=h(X);ce&&R.set(ce,(R.get(ce)||0)+1)}return R}),$=ie(null),x=se(()=>{var X;return(((X=r.map)==null?void 0:X.provider)||r.provider)==="maplibre"?"maplibre":"mapbox"}),T=se(()=>x.value==="maplibre"),{map:b,isMapReady:p,initializeMap:g,destroy:y}=A0({containerRef:$,accessToken:de(n)||n&&n.value||"",center:[28,18],zoom:1.1,minZoom:.5,skipWorldFloor:!0,provider:x.value,...(so=r.map)!=null&&so.mapStyle||r.mapStyle?{style:((zu=r.map)==null?void 0:zu.mapStyle)||r.mapStyle}:{}}),k=L0({getMap:()=>b.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let E=null;E=B0({bus:o,mapFly:k,getMap:()=>b.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>p.value});let M=!1,F=null,V=null,W=null,ne=0,me=!1;function j(){me||ne||(ne=requestAnimationFrame(()=>{ne=0;const R=b.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function ee(R){const X=!!R;if(X!==me){if(me=X,me){ne&&(cancelAnimationFrame(ne),ne=0);return}j(),setTimeout(j,180)}}const K=(()=>{var X;const R={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#c9c9c9","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return R[(X=r.map)==null?void 0:X.colorRamp]||R["heartbeat-red"]})(),B={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function N(R,X){return Number.isFinite(X)?X-1<=R?`${R}`:`${R}–${X-1}`:`${R}+ · heartbeat zone`}function z(R){const ce=B.binThresholds.map(ke=>ke/B.heartbeatThreshold).map(ke=>Math.max(Mu,Math.round(ke*R)));return D(ce,R)}function D(R,X){const ce=[];for(const ke of R){const Se=Math.max(ke,ce.length?ce[ce.length-1]+1:Mu);SeMe>0).sort((Me,$e)=>Me-$e);if(ce.length<8)return null;const ke=Me=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Me*ce.length)))],Se=ke(1-X)+1,Oe=[.25,.5,.75].map(Me=>ke(Me));return{threshold:Se,edges:D(Oe,Se)}}function q(R){var Me;if(Array.isArray((Me=r.map)==null?void 0:Me.bins)&&r.map.bins.length)return r.map.bins;const X=r.map||{};let ce=Number(X.heartbeatThreshold)>0?Number(X.heartbeatThreshold):B.heartbeatThreshold,ke=null;if(X.heartbeatMode==="quantile"){const $e=P(R||[],Number(X.heartbeatQuantile)>0?Number(X.heartbeatQuantile):B.quantile);$e&&(ce=$e.threshold,ke=$e.edges)}ke||(ke=Array.isArray(X.binThresholds)&&X.binThresholds.length?[...new Set(X.binThresholds.map(Number).filter($e=>Number.isFinite($e)&&$e>0&&$e$e-ht):Number(X.heartbeatThreshold)>0?z(ce):B.binThresholds);const Se=[...ke,ce,1/0].slice(0,K.length);for(;Se.length{const Kt={upTo:$e,c:K[ht],l:N(Oe,$e)};return Oe=$e,Kt})}const re=se(()=>q([...S.value.values()])),be=((Uu=r.map)==null?void 0:Uu.noDataColor)||"#f3f3f1";function Ee(R){if(!R)return be;const X=re.value;for(const ce of X)if(R{const Me=parseInt(ce.slice(Oe*2,Oe*2+2),16),$e=parseInt(ke.slice(Oe*2,Oe*2+2),16);return Math.round(Ou*Me+(1-Ou)*$e)};return"#"+[0,1,2].map(Oe=>Se(Oe).toString(16).padStart(2,"0")).join("")}const Le=se(()=>re.value.map(R=>({c:Ae(R.c),l:R.l}))),xe=((Bu=r.map)==null?void 0:Bu.selectedColor)||"#1a237e";function _e(){const R=S.value,X=[],ce=[];R.forEach((Me,$e)=>{X.push($e,Ee(Me)),ce.push($e)});const ke=X.length?["match",["get","iso_3166_1_alpha_3"],...X,be]:be,Oe=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Me=>[Me,.92]),.12]:.78;return{fillColor:ke,fillOpacity:Oe}}function ye(){return Object.prototype.hasOwnProperty.call(s,Y0)}const ve=((Gu=r.map)==null?void 0:Gu.pinColor)||"#ef6c00",_=((qu=r.map)==null?void 0:qu.pinStrokeColor)||"#ffffff";function A(){return ye()?Jr({colorSource:"properties"}):ve}function w(){const R=b.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:X,fillOpacity:ce}=_e();R.setPaintProperty("rd-choropleth","fill-color",X),R.setPaintProperty("rd-choropleth","fill-opacity",ce);const ke=R.getSource("rd-bubbles");ke&&ke.setData(Z()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",A())}function U(R){const X=R==null?void 0:R.people_praying,ce=X&&typeof X=="object"?X.value:X;return Number(ce)||0}function Z(){return{type:"FeatureCollection",features:c.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:U(R)}}))}}function Q(){var ce;const R=o==null?void 0:o.selectionSet,X=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:X.filter(ke=>R.has(ke.slug)&&Number(ke.latitude)&&Number(ke.longitude)).map(ke=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ke.longitude),Number(ke.latitude)]},properties:{slug:ke.slug||"",name:ke.name||""}}))}}function le(){const R=b.value;if(!R)return;const X=R.getSource("rd-bubble-selected");X&&X.setData(Q())}function te(){var ke;const R=b.value;if(!R||M)return;M=!0,R.getSource("rd-countries")||(T.value?(R.addSource("rd-countries",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Xb(a.value)}/boundaries/world-adm0.geojson`).then(Se=>Se.json()).then(Se=>{for(const Me of Se.features||[])Me.properties&&Me.properties.iso3&&(Me.properties.iso_3166_1_alpha_3=Me.properties.iso3);const Oe=b.value&&b.value.getSource("rd-countries");Oe&&Oe.setData(Se)}).catch(Se=>console.warn("[rdash] country boundaries failed to load",Se))):R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}));const{fillColor:X,fillOpacity:ce}=_e();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries",...T.value?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":X,"fill-opacity":ce,"fill-outline-color":((ke=r.map)==null?void 0:ke.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:Z()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":A(),"circle-opacity":1,"circle-stroke-color":_,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:Q()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":xe,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":xe,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",d),R.on("click","rd-bubble-layer",f),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=(Se,Oe)=>{const Me=R.project([Se,Oe]),$e=R.queryRenderedFeatures(Me,{layers:["rd-choropleth"]});return $e&&$e[0]?(d({features:$e}),$e[0].properties&&$e[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Se,Oe)=>{const Me=R.project([Se,Oe]),$e=R.queryRenderedFeatures([[Me.x-7,Me.y-7],[Me.x+7,Me.y+7]],{layers:["rd-bubble-layer"]});return $e&&$e[0]?(f({features:[$e[0]]}),$e[0].properties&&$e[0].properties.slug):null}}catch{}He();try{typeof R.setFog=="function"&&R.setFog({color:"rgb(186, 210, 235)","high-color":"rgb(36, 92, 223)","horizon-blend":.02,"space-color":"#000000","star-intensity":.6})}catch{}o&&o.on("select",le),le(),o&&o.on("focusRow",({slug:Se}={})=>{var $e;if(!Se)return;const Oe=((($e=t==null?void 0:t.rows)==null?void 0:$e.value)||[]).find(ht=>ht.slug===Se),Me=b.value;if(Me&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Me.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function d(R){const X=b.value;if(X&&R.point){const Oe=X.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ce=R.features&&R.features[0];if(!ce||!o)return;const ke=ce.properties&&ce.properties.iso_3166_1_alpha_3,Se=v.value.get(ke);Se&&(o.setFilter(u,s[u]===Se?null:Se),o.emit("mapFocus",{facet:u,value:Se}))}function f(R){const X=R.features&&R.features[0];if(!X||!o)return;const ce=X.properties&&X.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:X.properties&&X.properties.name}))}function L(R){var ce;let X=R&&R.parentNode;for(;X;){if(X.nodeType===1){const ke=getComputedStyle(X);if(/auto|scroll/.test(ke.overflowY)&&X.scrollHeight>X.clientHeight+4)return X}if(X=X.parentElement||((ce=X.parentNode)==null?void 0:ce.host)||(X.parentNode!==X?X.parentNode:null),X&&X.nodeType===9)break}return null}function O(R){if(!(!R||!R.scrollZoom))try{R.scrollZoom.enable()}catch{}}_t(async()=>{await g();const R=b.value;if(!R)return;R.isStyleLoaded()?te():R.on("load",te),O(R);const X=()=>O(R);let ce=null;try{ce=new ResizeObserver(X);const ke=R.getContainer&&R.getContainer()||null;ke&&ce.observe(ke);const Se=ke?L(ke):null;Se&&ce.observe(Se),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",X),Ut(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",X)}),R.on("zoom",C),R.on("zoomend",C),R.on("resize",C),C(),R.on("idle",()=>{!M&&R.isStyleLoaded()&&te()}),typeof ResizeObserver<"u"&&$.value&&(F=new ResizeObserver(j),F.observe($.value)),Ne(),R.on("idle",Ne),R.on("resize",Ne),o&&typeof o.on=="function"&&(V=o.on("toggleTable",()=>{j(),setTimeout(j,280)}),W=o.on("layoutResizing",ee))}),Ut(()=>{try{E&&E()}catch{}E=null;try{V&&V()}catch{}V=null;try{W&&W()}catch{}if(W=null,F){try{F.disconnect()}catch{}F=null}if(he){try{he.disconnect()}catch{}he=null}we=null,ne&&(cancelAnimationFrame(ne),ne=0);try{const R=b.value;R&&(R.off("zoom",C),R.off("zoomend",C),R.off("resize",C),R.off("idle",Ne),R.off("resize",Ne))}catch{}try{y&&y()}catch{}}),pt([c,p],w);const ae=ie(!0),oe=ie(!0);function C(){const R=b.value;if(!R)return;const X=R.getZoom();ae.value=XR.getMinZoom()+.01}const G=ie(null);let he=null,we=null;function Ne(){var ke;const R=G.value;if(!R)return;let X=0;try{const Se=(ke=R.getRootNode)==null?void 0:ke.call(R),Oe=Se&&Se.querySelector?Se.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Me=Oe.getBoundingClientRect(),$e=R.getBoundingClientRect();if(X=Math.max(Me.height||0,$e.bottom-Me.top),we!==Oe&&typeof ResizeObserver<"u"){if(he)try{he.disconnect()}catch{}we=Oe,he=new ResizeObserver(Ne),he.observe(Oe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(X)||20,20),72);R.style.setProperty("--rd-attrib-clear",ce+"px")}const qe=ie("globe");function He(){const R=b.value;if(!(!R||typeof R.setProjection!="function")){try{R.setProjection({type:qe.value});return}catch{}try{R.setProjection(qe.value)}catch{}}}function rt(){qe.value=qe.value==="globe"?"mercator":"globe",He()}function Rt(R){const X=Number(R.longitude),ce=Number(R.latitude);return!Number.isFinite(X)||!Number.isFinite(ce)||X===0&&ce===0||ce<-90||ce>90||X<-180||X>180?null:[X,ce]}function Y(R,X){if(!R.length)return NaN;const ce=Math.min(R.length-1,Math.max(0,Math.round(X*(R.length-1))));return R[ce]}function fe(R){const X=R.slice().sort(($e,ht)=>$e-ht),ce=X.length;if(ce<2)return X;let ke=-1,Se=0;for(let $e=0;$eke&&(ke=Kt,Se=$e)}const Oe=(Se+1)%ce,Me=new Array(ce);for(let $e=0;$e0&&htXo[1]).sort((Xo,na)=>Xo-na),ke=fe(X.map(Xo=>Xo[0])),Se=X.length>=J0?X0:0,Oe=Y(ce,Se),Me=Y(ce,1-Se),$e=Y(ke,Se),ht=Y(ke,1-Se),Kt=[Y(ke,.5),Y(ce,.5)];return!(ht>$e)||!(Me>Oe)?{bounds:[[Kt[0],Kt[1]],[Kt[0],Kt[1]]],center:Kt}:{bounds:[[$e,Oe],[ht,Me]],center:Kt}}function je(){const R=b.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const X=ge(c.value);if(X)try{R.fitBounds(X.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(X.center)}catch{}}let Ue=null;return pt(()=>JSON.stringify(s),()=>{clearTimeout(Ue),Ue=setTimeout(je,260)}),Pt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap[data-projection="globe"]{ background:#000; } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } @@ -685,11 +685,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"),(R,X)=>(H(),J("div",{ref_key:"mapWrap",ref:G,class:"rd-mapwrap","data-sub":"map","data-projection":qe.value},[I("div",{ref_key:"mapContainer",ref:$,class:"rd-mapc","data-map-canvas":""},null,512),X[1]||(X[1]=I("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),X[2]||(X[2]=I("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ze(q0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Co(()=>[ze(H0,{map:de(b),disabled:!ae.value},null,8,["map","disabled"]),ze(V0,{map:de(b),disabled:!oe.value},null,8,["map","disabled"])]),_:1}),I("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:rt},ue(qe.value==="globe"?"🌐 Globe":"▭ Flat"),1),I("div",K0,[X[0]||(X[0]=I("div",{class:"lg-h"},"UPGs / country",-1)),(H(!0),J(Ce,null,Qe(Le.value,ce=>(H(),J("div",{key:ce.l,class:"lg-row"},[I("span",{class:"lg-sw",style:lt({background:ce.c})},null,4),I("span",null,ue(ce.l),1)]))),128))])],8,W0))}},ex=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);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}",tx=["data-active","aria-expanded"],ox={class:"filter-dropdown__label"},nx=["value","placeholder"],rx={class:"filter-dropdown__options"},ax={key:0,class:"filter-dropdown__no-options"},sx=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],lx={class:"filter-dropdown__count"},sr=xn({__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=ie(!1),a=ie(""),s=ie(-1),l=ie(null),i=ie(null),c=ie(null),u=ie({});function h(F){const V=F.ownerDocument,W=V.createElement("div");W.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(F.parentElement||F.getRootNode().body||V.body).appendChild(W);const me=W.getBoundingClientRect();return W.remove(),{x:me.left,y:me.top}}function m(){const F=c.value;if(!F)return;const V=F.getBoundingClientRect(),W=window.innerWidth,ne=window.innerHeight,me=320,j=4,ee=8,B=Math.round(Math.min(Math.max(V.width,240),W-ee*2)),N=V.right>ee&&V.leftW-ee?z=Math.round(Math.max(V.right-B,ee)):z=Math.round(Math.max(V.left,ee)):z=Math.round(Math.min(Math.max(V.left,ee),W-B-ee));const D=ne-V.bottom,P=D<180&&V.top>D,q=h(F),re=Math.round(z-q.x);u.value=P?{top:"auto",bottom:`${Math.round(ne-V.top+j+q.y)}px`,left:`${re}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(me,V.top-j-ee))}px`}:{top:`${Math.round(V.bottom+j-q.y)}px`,bottom:"auto",left:`${re}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(me,D-j-ee))}px`}}function v(){r.value&&m()}const S=se(()=>{if(!a.value)return o.options;const F=a.value.toLowerCase();return o.options.filter(V=>V.label.toLowerCase().includes(F))}),$=se(()=>o.options.find(F=>F.value===o.value));function x(F){var W;const V=((W=F.composedPath)==null?void 0:W.call(F))??[];l.value&&!V.includes(l.value)&&p()}function T(){r.value?p():b()}function b(){r.value=!0,a.value="",s.value=-1,m(),document.addEventListener("click",x),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),In(()=>{var F;m(),(F=i.value)==null||F.focus()})}function p(){r.value=!1,a.value="",s.value=-1,document.removeEventListener("click",x),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(F){a.value=F.target.value,s.value=-1}function y(F){const V=S.value;switch(F.key){case"ArrowDown":F.preventDefault(),s.value=Math.min(s.value+1,V.length-1),k();break;case"ArrowUp":F.preventDefault(),s.value=Math.max(s.value-1,0),k();break;case"Enter":{F.preventDefault();const W=V[s.value];W&&E(W);break}case"Escape":F.preventDefault(),p();break}}function k(){In(()=>{var V;const F=(V=l.value)==null?void 0:V.querySelector(".filter-dropdown__option[data-highlighted]");F==null||F.scrollIntoView({block:"nearest"})})}function E(F){n("filter-change",{name:o.name,value:F.value,label:F.label,type:F.type}),p()}function M(){n("filter-clear",{name:o.name}),p()}return Ut(()=>{document.removeEventListener("click",x),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(F,V)=>(H(),J("div",{ref_key:"rootRef",ref:l,class:Ge(["filter-dropdown",{"is-open":r.value}])},[I("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:T},[I("span",ox,[$.value?(H(),J(Ce,{key:0},[it(ue(e.label)+": ",1),I("strong",null,ue($.value.label),1)],64)):(H(),J(Ce,{key:1},[it(ue(e.label),1)],64))]),V[0]||(V[0]=I("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,tx),r.value?(H(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:lt(u.value)},[I("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:a.value,placeholder:e.placeholder,onInput:g,onKeydown:y},null,40,nx),e.value?(H(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Re("",!0),I("div",rx,[S.value.length===0?(H(),J("div",ax,"No options found")):(H(!0),J(Ce,{key:1},Qe(S.value,(W,ne)=>(H(),J("div",{key:W.value,class:"filter-dropdown__option",role:"option","data-highlighted":ne===s.value?"":void 0,"data-selected":W.value===e.value?"":void 0,"aria-selected":W.value===e.value,onClick:me=>E(W),onMouseenter:me=>s.value=ne},[I("span",null,ue(W.label),1),I("span",lx,ue(W.count),1)],40,sx))),128))])],4)):Re("",!0)],2))}},[["styles",[ex]]]),ix=".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)}",cx={class:"sfh"},ux={key:0,class:"sfh__search-row"},dx=["aria-expanded"],fx=["aria-label"],px=["data-active","onClick"],gx={class:"sfh__chip-strip"},hx={class:"sfh__sel-label"},mx=["aria-label","onClick"],bx={key:1,class:"sfh__sel-world"},_x=xn({__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=b=>!(b===!1||b==="false"||b==="0"||b===0),a=se(()=>r(o.showSearch)),s=se(()=>r(o.showFilters)),l=se(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ie(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=se(()=>!o.collapsible||!a.value||i.value),h=se(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const b=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(y=>y.value===p.value);b.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&b.push({name:p.name,label:p.label});return b});function m(b){const p=(b==null?void 0:b.value)??"";n("update:search",p),n("search",{value:p})}function v(b){n("filter-change",b)}function S(b){n("filter-clear",b)}function $(b){n("toggle",{name:b.name,active:!b.active})}function x(b){n("remove-filter",{name:b})}function T(){n("clear-all")}return(b,p)=>(H(),J("div",cx,[a.value?(H(),J("div",ux,[ze(Ns,{"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"]),s.value&&e.collapsible?(H(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[it(ue(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=I("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,dx)):Re("",!0)])):Re("",!0),s.value&&u.value?(H(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(H(!0),J(Ce,null,Qe(e.filters,g=>(H(),Lo(sr,{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:S},null,8,["label","name","options","value","placeholder"]))),128)),(H(!0),J(Ce,null,Qe(e.toggles,g=>(H(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:y=>$(g)},ue(g.label),9,px))),128))],8,fx)):Re("",!0),s.value?(H(),J("div",{key:2,class:Ge(["sfh__chips",{"is-empty":!h.value.length}])},[I("div",gx,[I("span",hx,ue(l.value.selected||"Selected"),1),h.value.length?(H(),J(Ce,{key:0},[(H(!0),J(Ce,null,Qe(h.value,g=>(H(),J("span",{key:g.name,class:"sfh__chip"},[it(ue(g.label)+" ",1),I("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:y=>x(g.name)},"×",8,mx)]))),128)),I("button",{class:"sfh__clear",type:"button",onClick:T},ue(l.value.clear_all),1)],64)):(H(),J("span",bx,ue(l.value.world||"World"),1))])],2)):Re("",!0)]))}},[["styles",[ix]]]),yx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},oa="prayer_level",vx={__name:"DashboardResearchFilters",setup(e){const t=De("selectionBus",null),o=De("dashboardData",null),n=De("dashboardConfig",{}),r=se(()=>{var E;return((E=o==null?void 0:o.rows)==null?void 0:E.value)||[]}),a=(t==null?void 0:t.filterSet)||{},s={label:"Prayer",get:E=>{const M=E==null?void 0:E.people_praying,F=M&&typeof M=="object"?M.value:M;return er[bn({peoplePraying:F??null})]}},l=se(()=>({[oa]:s,...n.facets||{}})),i=se(()=>Object.fromEntries(Object.entries(l.value).map(([E,M])=>[E,M.get]))),c=se(()=>n.researchFilters||{}),u=se(()=>{const E=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[oa,...E.filter(M=>M!==oa)]}),h=se(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m(E,M){const F=Object.keys(E);return F.length?M.filter(V=>F.every(W=>{const ne=i.value[W];return ne?ne(V)===E[W]:!0})):M}function v(E){var me;const M=i.value[E];if(!M)return[];const F=(me=l.value[E])==null?void 0:me.optionLabel,V={};for(const[j,ee]of Object.entries(a))j!==E&&(V[j]=ee);const W=m(V,r.value),ne=new Map;for(const j of W){const ee=M(j);if(ee==null||ee==="")continue;const K=ne.get(ee);K?K.count+=1:ne.set(ee,{label:F&&F(j)||ee,count:1})}return Array.from(ne.entries()).map(([j,{label:ee,count:K}])=>({value:j,label:ee,count:K})).sort((j,ee)=>String(j.label).localeCompare(String(ee.label)))}const S=se(()=>u.value.map(E=>{var M;return{name:E,label:((M=l.value[E])==null?void 0:M.label)||E,options:v(E),value:a[E]||""}})),{labelFor:$}=or(n,De("dataStore",null),De("searchSourceId",null)),x=se(()=>{var F;const E=Object.keys(a).map(V=>{var ne;const W=a[V];return{name:V,label:`${((ne=l.value[V])==null?void 0:ne.label)||V}: ${V===oa?W:$(V,W)}`}}),M=(((F=t==null?void 0:t.searchTerm)==null?void 0:F.value)||"").trim();return M&&E.push({name:"__search__",label:`Search: ${M}`}),E}),T=se(()=>{var E;return((E=t==null?void 0:t.searchTerm)==null?void 0:E.value)||""});function b(E){t==null||t.setSearch((E==null?void 0:E.value)??"")}function p(E){t==null||t.setFilter(E.name,E.value)}function g(E){t==null||t.setFilter(E.name,null)}function y(E){if(E.name==="__search__"){t==null||t.setSearch("");return}t==null||t.setFilter(E.name,null)}function k(){t==null||t.clearFilters(),t==null||t.setSearch("")}return Pt(` +`,"rd-mappanel"),(R,X)=>(H(),J("div",{ref_key:"mapWrap",ref:G,class:"rd-mapwrap","data-sub":"map","data-projection":qe.value},[I("div",{ref_key:"mapContainer",ref:$,class:"rd-mapc","data-map-canvas":""},null,512),X[1]||(X[1]=I("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),X[2]||(X[2]=I("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ze(G0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Co(()=>[ze(q0,{map:de(b),disabled:!ae.value},null,8,["map","disabled"]),ze(H0,{map:de(b),disabled:!oe.value},null,8,["map","disabled"])]),_:1}),I("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:rt},ue(qe.value==="globe"?"🌐 Globe":"▭ Flat"),1),I("div",W0,[X[0]||(X[0]=I("div",{class:"lg-h"},"UPGs / country",-1)),(H(!0),J(Ce,null,Qe(Le.value,ce=>(H(),J("div",{key:ce.l,class:"lg-row"},[I("span",{class:"lg-sw",style:lt({background:ce.c})},null,4),I("span",null,ue(ce.l),1)]))),128))])],8,V0))}},Q0=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);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}",ex=["data-active","aria-expanded"],tx={class:"filter-dropdown__label"},ox=["value","placeholder"],nx={class:"filter-dropdown__options"},rx={key:0,class:"filter-dropdown__no-options"},ax=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],sx={class:"filter-dropdown__count"},sr=xn({__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=ie(!1),a=ie(""),s=ie(-1),l=ie(null),i=ie(null),c=ie(null),u=ie({});function h(F){const V=F.ownerDocument,W=V.createElement("div");W.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(F.parentElement||F.getRootNode().body||V.body).appendChild(W);const me=W.getBoundingClientRect();return W.remove(),{x:me.left,y:me.top}}function m(){const F=c.value;if(!F)return;const V=F.getBoundingClientRect(),W=window.innerWidth,ne=window.innerHeight,me=320,j=4,ee=8,B=Math.round(Math.min(Math.max(V.width,240),W-ee*2)),N=V.right>ee&&V.leftW-ee?z=Math.round(Math.max(V.right-B,ee)):z=Math.round(Math.max(V.left,ee)):z=Math.round(Math.min(Math.max(V.left,ee),W-B-ee));const D=ne-V.bottom,P=D<180&&V.top>D,q=h(F),re=Math.round(z-q.x);u.value=P?{top:"auto",bottom:`${Math.round(ne-V.top+j+q.y)}px`,left:`${re}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(me,V.top-j-ee))}px`}:{top:`${Math.round(V.bottom+j-q.y)}px`,bottom:"auto",left:`${re}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(me,D-j-ee))}px`}}function v(){r.value&&m()}const S=se(()=>{if(!a.value)return o.options;const F=a.value.toLowerCase();return o.options.filter(V=>V.label.toLowerCase().includes(F))}),$=se(()=>o.options.find(F=>F.value===o.value));function x(F){var W;const V=((W=F.composedPath)==null?void 0:W.call(F))??[];l.value&&!V.includes(l.value)&&p()}function T(){r.value?p():b()}function b(){r.value=!0,a.value="",s.value=-1,m(),document.addEventListener("click",x),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),In(()=>{var F;m(),(F=i.value)==null||F.focus()})}function p(){r.value=!1,a.value="",s.value=-1,document.removeEventListener("click",x),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(F){a.value=F.target.value,s.value=-1}function y(F){const V=S.value;switch(F.key){case"ArrowDown":F.preventDefault(),s.value=Math.min(s.value+1,V.length-1),k();break;case"ArrowUp":F.preventDefault(),s.value=Math.max(s.value-1,0),k();break;case"Enter":{F.preventDefault();const W=V[s.value];W&&E(W);break}case"Escape":F.preventDefault(),p();break}}function k(){In(()=>{var V;const F=(V=l.value)==null?void 0:V.querySelector(".filter-dropdown__option[data-highlighted]");F==null||F.scrollIntoView({block:"nearest"})})}function E(F){n("filter-change",{name:o.name,value:F.value,label:F.label,type:F.type}),p()}function M(){n("filter-clear",{name:o.name}),p()}return Ut(()=>{document.removeEventListener("click",x),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(F,V)=>(H(),J("div",{ref_key:"rootRef",ref:l,class:Ge(["filter-dropdown",{"is-open":r.value}])},[I("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:T},[I("span",tx,[$.value?(H(),J(Ce,{key:0},[it(ue(e.label)+": ",1),I("strong",null,ue($.value.label),1)],64)):(H(),J(Ce,{key:1},[it(ue(e.label),1)],64))]),V[0]||(V[0]=I("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ex),r.value?(H(),J("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:lt(u.value)},[I("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:a.value,placeholder:e.placeholder,onInput:g,onKeydown:y},null,40,ox),e.value?(H(),J("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Re("",!0),I("div",nx,[S.value.length===0?(H(),J("div",rx,"No options found")):(H(!0),J(Ce,{key:1},Qe(S.value,(W,ne)=>(H(),J("div",{key:W.value,class:"filter-dropdown__option",role:"option","data-highlighted":ne===s.value?"":void 0,"data-selected":W.value===e.value?"":void 0,"aria-selected":W.value===e.value,onClick:me=>E(W),onMouseenter:me=>s.value=ne},[I("span",null,ue(W.label),1),I("span",sx,ue(W.count),1)],40,ax))),128))])],4)):Re("",!0)],2))}},[["styles",[Q0]]]),lx=".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)}",ix={class:"sfh"},cx={key:0,class:"sfh__search-row"},ux=["aria-expanded"],dx=["aria-label"],fx=["data-active","onClick"],px={class:"sfh__chip-strip"},gx={class:"sfh__sel-label"},hx=["aria-label","onClick"],mx={key:1,class:"sfh__sel-world"},bx=xn({__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=b=>!(b===!1||b==="false"||b==="0"||b===0),a=se(()=>r(o.showSearch)),s=se(()=>r(o.showFilters)),l=se(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ie(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=se(()=>!o.collapsible||!a.value||i.value),h=se(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const b=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(y=>y.value===p.value);b.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&b.push({name:p.name,label:p.label});return b});function m(b){const p=(b==null?void 0:b.value)??"";n("update:search",p),n("search",{value:p})}function v(b){n("filter-change",b)}function S(b){n("filter-clear",b)}function $(b){n("toggle",{name:b.name,active:!b.active})}function x(b){n("remove-filter",{name:b})}function T(){n("clear-all")}return(b,p)=>(H(),J("div",ix,[a.value?(H(),J("div",cx,[ze(Ps,{"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"]),s.value&&e.collapsible?(H(),J("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[it(ue(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=I("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,ux)):Re("",!0)])):Re("",!0),s.value&&u.value?(H(),J("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(H(!0),J(Ce,null,Qe(e.filters,g=>(H(),Lo(sr,{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:S},null,8,["label","name","options","value","placeholder"]))),128)),(H(!0),J(Ce,null,Qe(e.toggles,g=>(H(),J("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:y=>$(g)},ue(g.label),9,fx))),128))],8,dx)):Re("",!0),s.value?(H(),J("div",{key:2,class:Ge(["sfh__chips",{"is-empty":!h.value.length}])},[I("div",px,[I("span",gx,ue(l.value.selected||"Selected"),1),h.value.length?(H(),J(Ce,{key:0},[(H(!0),J(Ce,null,Qe(h.value,g=>(H(),J("span",{key:g.name,class:"sfh__chip"},[it(ue(g.label)+" ",1),I("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:y=>x(g.name)},"×",8,hx)]))),128)),I("button",{class:"sfh__clear",type:"button",onClick:T},ue(l.value.clear_all),1)],64)):(H(),J("span",mx,ue(l.value.world||"World"),1))])],2)):Re("",!0)]))}},[["styles",[lx]]]),_x={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},oa="prayer_level",yx={__name:"DashboardResearchFilters",setup(e){const t=De("selectionBus",null),o=De("dashboardData",null),n=De("dashboardConfig",{}),r=se(()=>{var E;return((E=o==null?void 0:o.rows)==null?void 0:E.value)||[]}),a=(t==null?void 0:t.filterSet)||{},s={label:"Prayer",get:E=>{const M=E==null?void 0:E.people_praying,F=M&&typeof M=="object"?M.value:M;return er[bn({peoplePraying:F??null})]}},l=se(()=>({[oa]:s,...n.facets||{}})),i=se(()=>Object.fromEntries(Object.entries(l.value).map(([E,M])=>[E,M.get]))),c=se(()=>n.researchFilters||{}),u=se(()=>{const E=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[oa,...E.filter(M=>M!==oa)]}),h=se(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m(E,M){const F=Object.keys(E);return F.length?M.filter(V=>F.every(W=>{const ne=i.value[W];return ne?ne(V)===E[W]:!0})):M}function v(E){var me;const M=i.value[E];if(!M)return[];const F=(me=l.value[E])==null?void 0:me.optionLabel,V={};for(const[j,ee]of Object.entries(a))j!==E&&(V[j]=ee);const W=m(V,r.value),ne=new Map;for(const j of W){const ee=M(j);if(ee==null||ee==="")continue;const K=ne.get(ee);K?K.count+=1:ne.set(ee,{label:F&&F(j)||ee,count:1})}return Array.from(ne.entries()).map(([j,{label:ee,count:K}])=>({value:j,label:ee,count:K})).sort((j,ee)=>String(j.label).localeCompare(String(ee.label)))}const S=se(()=>u.value.map(E=>{var M;return{name:E,label:((M=l.value[E])==null?void 0:M.label)||E,options:v(E),value:a[E]||""}})),{labelFor:$}=or(n,De("dataStore",null),De("searchSourceId",null)),x=se(()=>{var F;const E=Object.keys(a).map(V=>{var ne;const W=a[V];return{name:V,label:`${((ne=l.value[V])==null?void 0:ne.label)||V}: ${V===oa?W:$(V,W)}`}}),M=(((F=t==null?void 0:t.searchTerm)==null?void 0:F.value)||"").trim();return M&&E.push({name:"__search__",label:`Search: ${M}`}),E}),T=se(()=>{var E;return((E=t==null?void 0:t.searchTerm)==null?void 0:E.value)||""});function b(E){t==null||t.setSearch((E==null?void 0:E.value)??"")}function p(E){t==null||t.setFilter(E.name,E.value)}function g(E){t==null||t.setFilter(E.name,null)}function y(E){if(E.name==="__search__"){t==null||t.setSearch("");return}t==null||t.setFilter(E.name,null)}function k(){t==null||t.clearFilters(),t==null||t.setSearch("")}return Pt(` .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"),(E,M)=>(H(),J("div",yx,[ze(_x,{search:T.value,filters:S.value,"active-chips":x.value,"search-placeholder":h.value,"show-search":!1,"start-expanded":"",onSearch:b,onFilterChange:p,onFilterClear:g,onRemoveFilter:y,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},ju={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"},zu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ds=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",js={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 er[bn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>nt(e.religion)},religion_family:{label:"Religion Family",get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&ko[o]?ko[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return ko[o]?o:""}},wagf_region:{label:"Region",get:e=>nt(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>nt(e.wagf_block)},country_code:{label:"Country",get:e=>nt(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>nt(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>nt(e.imb_gsec)},language_family:{label:"Language Family",get:e=>{const t=nt(e.imb_language_family);if(t)return mn(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&ju[o];return n?mn(n):""}},primary_language:{label:"Language",get:e=>nt(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ds(e.rop1),optionLabel:e=>nt(e.rop1)},cluster:{label:"Cluster",get:e=>Ds(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ds(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>nt(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(nt(e.engagement_status))||/unengaged/i.test(nt(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=>nt(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>nt(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>nt(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>nt(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>zu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>zu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>nt(e.engagement_status),type:"str",w:.97}],map:{provider:"mapbox",mapStyle:"galaxy",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"greyscale"},charts:[{id:"religion",type:"donut",facet:"religion_family",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"]}]},xx=["data-row-count","data-loading","data-error","data-narrow"],wx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},kx=["data-kpi"],$x={class:"l"},Sx={key:0,class:"d","data-kpi-delta":""},Ex={class:"rd-cell-map","data-region":"map"},Ax=["title"],Cx=["title"],Tx={class:"rd-cell-table","data-region":"table"},Lx={class:"rd-rail","data-region":"rail"},Px=["aria-valuenow"],Nx=["aria-valuenow"],Ix=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],Fx=["aria-valuenow"],Rx=["data-view"],Mx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=De("profileConfig",ie(null)),n=se(()=>{const _e=de(o);if(!_e||typeof _e!="object")return js;const ye={...js,..._e};return _e.map&&typeof _e.map=="object"&&(ye.map={...js.map,..._e.map}),ye}),r=se(()=>{var _e;return((_e=de(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:a,data:s,kpis:l,exporter:i,responsive:c}=W_(n.value),u=t;pt(()=>{var _e;return{filters:{...a.filterSet},q:((_e=a.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ye})=>u("dashboard-filter",{filterSet:_e,searchTerm:ye}),{deep:!0});const h=s.total,m=s.loading,v=s.error,{shell:S,isNarrow:$,slimRail:x,slimFacet:T,mobileView:b,SEG:p,tableCollapsed:g,facetCollapsed:y,railCollapsed:k,setView:E,showFacets:M,showMap:F,showTable:V,showCharts:W}=c,{startFacetResize:ne,startRailResize:me,startTableResize:j,startShellResize:ee,onResizeKeydown:K,facetW:B,railW:N,tableH:z,mapH:D,shellH:P}=X_({shellRef:S,bus:a,isNarrow:$,pageScroll:r,storageKey:"rd-dashboard-layout"});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Au(_e.value)}const re=se(()=>{var _e;return(_e=a.selectionVersion)==null||_e.value,a.selectionSet?a.selectionSet.size:0});function be(){i.exportCsvAsync()}function Ee(){a.clearSelection()}function Ae(){a.emit("toggleFacet",!y.value)}function Le(){a.emit("toggleRail",!k.value)}function xe(_e){const ye=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ye&&(ye.hasAttribute("data-bar-export")?be():Ee())}return Pt(` +`,"rd-research-filters"),(E,M)=>(H(),J("div",_x,[ze(bx,{search:T.value,filters:S.value,"active-chips":x.value,"search-placeholder":h.value,"show-search":!1,"start-expanded":"",onSearch:b,onFilterChange:p,onFilterClear:g,onRemoveFilter:y,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Du={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"},ju=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Os=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ds={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 er[bn({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>nt(e.religion)},religion_family:{label:"Religion Family",get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&ko[o]?ko[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return ko[o]?o:""}},wagf_region:{label:"Region",get:e=>nt(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>nt(e.wagf_block)},country_code:{label:"Country",get:e=>nt(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>nt(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>nt(e.imb_gsec)},language_family:{label:"Language Family",get:e=>{const t=nt(e.imb_language_family);if(t)return mn(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Du[o];return n?mn(n):""}},primary_language:{label:"Language",get:e=>nt(e.primary_language)},affinity_bloc:{label:"People",get:e=>Os(e.rop1),optionLabel:e=>nt(e.rop1)},cluster:{label:"Cluster",get:e=>Os(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Os(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>nt(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(nt(e.engagement_status))||/unengaged/i.test(nt(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=>nt(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>nt(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>nt(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>nt(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>ju(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>ju(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>nt(e.engagement_status),type:"str",w:.97}],map:{provider:"mapbox",mapStyle:"galaxy",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"greyscale"},charts:[{id:"religion",type:"donut",facet:"religion_family",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"]}]},vx=["data-row-count","data-loading","data-error","data-narrow"],xx={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},wx=["data-kpi"],kx={class:"l"},$x={key:0,class:"d","data-kpi-delta":""},Sx={class:"rd-cell-map","data-region":"map"},Ex=["title"],Ax=["title"],Cx={class:"rd-cell-table","data-region":"table"},Tx={class:"rd-rail","data-region":"rail"},Lx=["aria-valuenow"],Px=["aria-valuenow"],Nx=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],Ix=["aria-valuenow"],Fx=["data-view"],Rx={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=De("profileConfig",ie(null)),n=se(()=>{const _e=de(o);if(!_e||typeof _e!="object")return Ds;const ye={...Ds,..._e};return _e.map&&typeof _e.map=="object"&&(ye.map={...Ds.map,..._e.map}),ye}),r=se(()=>{var _e;return((_e=de(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:a,data:s,kpis:l,exporter:i,responsive:c}=V_(n.value),u=t;pt(()=>{var _e;return{filters:{...a.filterSet},q:((_e=a.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:ye})=>u("dashboard-filter",{filterSet:_e,searchTerm:ye}),{deep:!0});const h=s.total,m=s.loading,v=s.error,{shell:S,isNarrow:$,slimRail:x,slimFacet:T,mobileView:b,SEG:p,tableCollapsed:g,facetCollapsed:y,railCollapsed:k,setView:E,showFacets:M,showMap:F,showTable:V,showCharts:W}=c,{startFacetResize:ne,startRailResize:me,startTableResize:j,startShellResize:ee,onResizeKeydown:K,facetW:B,railW:N,tableH:z,mapH:D,shellH:P}=Y_({shellRef:S,bus:a,isNarrow:$,pageScroll:r,storageKey:"rd-dashboard-layout"});function q(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":Eu(_e.value)}const re=se(()=>{var _e;return(_e=a.selectionVersion)==null||_e.value,a.selectionSet?a.selectionSet.size:0});function be(){i.exportCsvAsync()}function Ee(){a.clearSelection()}function Ae(){a.emit("toggleFacet",!y.value)}function Le(){a.emit("toggleRail",!k.value)}function xe(_e){const ye=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");ye&&(ye.hasAttribute("data-bar-export")?be():Ee())}return Pt(` :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; @@ -760,17 +760,17 @@ grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) var(--rd-map-h,340px) auto; } .rd-shell.rd-page-scroll.rd-table-collapsed{ grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) - calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } + calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } .rd-shell.rd-page-scroll.rd-table-collapsed > [data-region="map"]{ - height:calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)); } + height:calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)); } .rd-shell.rd-page-scroll > [data-region="map"]{ height:var(--rd-map-h, 340px); overflow:hidden; } .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-shell-h, 582px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } + max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 562px) - var(--rd-map-h, 340px) - 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-shell-h, 582px) + 1px); } + max-height:calc(var(--rd-shell-h, 562px) + 1px); } :host([data-page-scroll="true"]){ height:auto; min-height:0; } .rd-shell.rd-narrow{ grid-template-columns:1fr; grid-template-rows:var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) minmax(0,1fr) 46px; grid-template-areas:"topbar" "filters" "stats" "body" "seg"; } @@ -797,4 +797,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ye=ve=>_e.setAttribute("data-page-scroll",ve?"true":"false");ye(de(r)),pt(()=>de(r),ye)}),(_e,ye)=>(H(),J("div",{ref_key:"shell",ref:S,class:Ge(["rd-shell",{"rd-narrow":de($),"rd-slim-rail":de(x),"rd-slim-facet":de(T),"rd-table-collapsed":de(g),"rd-facet-collapsed":de(y),"rd-rail-collapsed":de(k),"rd-page-scroll":r.value}]),"data-row-count":de(h),"data-loading":de(m)?"1":"0","data-error":de(v)||"","data-narrow":de($)?"1":"0"},[ze(de(My)),ze(de(vx)),I("div",wx,[(H(!0),J(Ce,null,Qe(de(l),ve=>(H(),J("div",{class:"kpi",key:ve.id},[I("span",{class:"n","data-kpi":ve.id},ue(ve.kind==="count"&&de(m)?"…":q(ve)),9,kx),I("span",$x,ue(ve.label),1),ve.delta?(H(),J("span",Sx,"↓"+ue(de(Au)(ve.delta)),1)):Re("",!0)]))),128))]),It(ze(de(Qy),null,null,512),[[Bt,de(M)]]),It(I("div",Ex,[ze(de(Q0)),de($)?Re("",!0):(H(),J("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:Ae},ue(de(y)?"▸":"◂"),9,Ax)),de($)?Re("",!0):(H(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:de(k)?"Show charts":"Hide charts — grow the map",onClick:Le},ue(de(k)?"◂":"▸"),9,Cx))],512),[[Bt,de(F)]]),It(I("div",Tx,[ze(de(kv))],512),[[Bt,de(V)]]),It(I("aside",Lx,[ze(de(p0)),ze(de(Uv))],512),[[Bt,de(W)]]),It(I("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(B),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ye[0]||(ye[0]=(...ve)=>de(ne)&&de(ne)(...ve)),onKeydown:ye[1]||(ye[1]=ve=>de(K)("facet",ve))},null,40,Px),[[Bt,!de($)&&!de(y)]]),It(I("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(N),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ye[2]||(ye[2]=(...ve)=>de(me)&&de(me)(...ve)),onKeydown:ye[3]||(ye[3]=ve=>de(K)("rail",ve))},null,40,Nx),[[Bt,!de($)&&!de(k)]]),It(I("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(D):parseFloat(de(z))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ye[4]||(ye[4]=(...ve)=>de(j)&&de(j)(...ve)),onKeydown:ye[5]||(ye[5]=ve=>de(K)("table",ve))},null,40,Ix),[[Bt,!de($)&&!de(g)]]),It(I("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(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ye[6]||(ye[6]=(...ve)=>de(ee)&&de(ee)(...ve)),onKeydown:ye[7]||(ye[7]=ve=>de(K)("shell",ve))},null,40,Fx),[[Bt,!de($)&&r.value]]),I("div",{class:"rd-seg","data-segmented":"",onClick:ye[8]||(ye[8]=(...ve)=>de(E)&&de(E)(...ve))},[(H(!0),J(Ce,null,Qe(de(p),ve=>(H(),J("button",{key:ve.k,class:Ge({on:de(b)===ve.k}),"data-view-btn":"","data-view":ve.k},ue(ve.l),11,Rx))),128))]),re.value?(H(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[I("b",null,ue(re.value)+" selected",1),ye[9]||(ye[9]=I("span",{class:"sp"},null,-1)),ye[10]||(ye[10]=I("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ye[11]||(ye[11]=I("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,xx))}};function Ox(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Dx=":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))}",jx={class:"pgg-root"},zx={key:0,id:"filters",class:"filters"},Ux={key:0,class:"pgg-search"},Bx=["aria-expanded"],Gx={key:0,class:"filters__toggle-count"},qx={class:"filters__panel"},Hx={class:"filters__panel"},Vx=["data-active"],Wx={key:3,class:"filters__active"},Kx=["onClick"],Yx={class:"pgg-body"},Xx={key:0,class:"repel"},Jx={class:"font-size-sm"},Zx={key:1},Qx={id:"results",class:"grid uupgs-list"},ew=["src","alt"],tw={class:"uupg__header"},ow=["innerHTML"],nw={key:0,class:"uupg__country"},rw=["href"],aw=["innerHTML"],sw=["innerHTML"],lw=["innerHTML"],iw={key:1,class:"uupg__content"},cw=["href"],uw={key:0,class:"loading"},dw={key:1,class:"pgg-empty pgg-failed",role:"status"},fw={key:2,class:"pgg-empty"},pw=xn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},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:""},religionFamily:{type:String,default:""},languageFamily:{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=se(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),a=se(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),s=se(()=>o.languageCode||r.value.languageCode||""),l=se(()=>o.researchUrl||r.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),i=se(()=>({...r.value.t||{},...o.t||{}})),c=d=>!(d===!1||d==="false"||d==="0"||d===0),u=se(()=>c(o.showSearch)),h=se(()=>c(o.showFilters)),m=se(()=>c(o.showTotal)),v=ie([]),S=ie([]),$=ie(0),x=ie(1),T=ie(!0),b=ie(!1),p=ie(!0),g=ie({}),y=ie(""),k=ie({}),E=se(()=>u.value?y.value:o.query||""),M=se(()=>{const d={},f=L=>L;return o.wagfRegion&&(d.wagf_region={value:o.wagfRegion,label:f(o.wagfRegion)}),o.wagfBlock&&(d.wagf_block={value:o.wagfBlock,label:f(o.wagfBlock)}),o.rop1&&(d.rop1={value:o.rop1,label:f(o.rop1)}),o.religion&&(d.religion={value:o.religion,label:f(o.religion)}),o.countryCode&&(d.country_code={value:o.countryCode,label:f(o.countryCode)}),o.primaryLanguage&&(d.primary_language={value:o.primaryLanguage,label:f(o.primaryLanguage)}),o.engagementStatus&&(d.engagement_status={value:o.engagementStatus,label:f(o.engagementStatus)}),o.cluster&&(d.imb_reg_of_people_2={value:o.cluster,label:f(o.cluster)}),o.peopleGroup&&(d.imb_reg_of_people_25={value:o.peopleGroup,label:f(o.peopleGroup)}),o.gospelAccess&&(d.imb_gsec={value:o.gospelAccess,label:f(o.gospelAccess)}),o.religionFamily&&(d.__religion_family={value:o.religionFamily,label:f(o.religionFamily)}),o.languageFamily&&(d.__language_family={value:o.languageFamily,label:f(o.languageFamily)}),d}),F=se(()=>h.value?k.value:M.value),V=se(()=>Object.values(F.value||{}).filter(d=>d&&d.value!==""&&d.value!=null).length),W=se(()=>Object.keys(F.value).length),ne=se(()=>V.value>0||!!(E.value||"").trim());function me(d){return d.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function j(d,f=500){let L;return(...O)=>{clearTimeout(L),L=setTimeout(()=>d(...O),f)}}const ee=j(()=>{T.value=!0,x.value=1,ve()},500);function K(d){y.value=(d==null?void 0:d.value)??"",ee()}function B(){p.value=!p.value}function N(d){k.value={...k.value,[d.name]:{value:d.value,label:d.label}},x.value=1,ve()}function z(d){D(d.name)}function D(d){const f={...k.value};delete f[d],k.value=f,x.value=1,ve()}function P(){k.value={},x.value=1,ve()}function q(){if(k.value.exact)return D("exact");k.value={...k.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},x.value=1,ve()}const re=d=>String(d??"").toLowerCase().replace(/[\s_&-]+/g,""),be={__religion_family:d=>{const f=d.religion&&typeof d.religion=="object"?d.religion.value:d.religion,L=String(f||"").charAt(0).toUpperCase(),O=L&&ko[L]?ko[L]:"";return O?{value:O,label:O}:null},__language_family:d=>{const f=d.imb_language_family,L=f&&typeof f=="object"?f.label||f.value:f;let O="";if(L)O=mn(L);else{const ae=d.primary_language&&typeof d.primary_language=="object"?d.primary_language.value:null,oe=ae&&ju[ae];O=oe?mn(oe):""}return O?{value:O,label:O}:null}},Ee=(d,f)=>be[f]?be[f](d):d[f];function Ae(d,f){if(!d)return!1;const L=re(f==null?void 0:f.value);return L?re(d.value)===L||re(d.label)===L:!1}function Le(d){let f=d;for(const[L,O]of Object.entries(F.value))L==="exact"?f=f:f=f.filter(ae=>Ae(Ee(ae,L),O));return f}function xe(){const d=f=>{const L=new Map;for(const O of v.value){const ae=O[f];if(!(ae!=null&&ae.value))continue;const oe=L.get(ae.value);oe?oe.count++:L.set(ae.value,{label:ae.label,count:1})}return Array.from(L.entries()).map(([O,{label:ae,count:oe}])=>({value:O,label:ae,count:oe})).sort((O,ae)=>O.label.localeCompare(ae.label))};g.value={wagf_region:d("wagf_region"),wagf_block:d("wagf_block"),rop1:d("rop1"),religion:d("religion")}}function _e(){const d=Object.keys(g.value),f={};for(const L of d){const O={};for(const[C,G]of Object.entries(F.value))C!==L&&(O[C]=G);const ae=ye(O,v.value),oe=new Map;for(const C of ae){const G=C[L];G!=null&&G.value&&oe.set(G.value,(oe.get(G.value)??0)+1)}f[L]=(g.value[L]??[]).map(C=>({...C,count:oe.get(C.value)??0}))}g.value=f}function ye(d,f){let L=f;for(const[O,ae]of Object.entries(d))O!=="exact"&&(L=L.filter(oe=>Ae(Ee(oe,O),ae)));return L}function ve(){v.value=v.value.map(oe=>(oe.matches=[],oe.country_label="",oe.rop1_label="",oe));const f=Object.keys(F.value).length>0?Le(v.value):v.value,L=E.value;if(!L){S.value=f,$.value=S.value.length,T.value=!1,_e(),w();return}const ae=new w_(f,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:F.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(L);S.value=ae.map(oe=>{var G;const C={...oe.item};if(!oe.matches)return C;C.matches=[];for(const he of oe.matches){const we=he.key;if(!we)continue;let Ne="";if(String(we).includes(".")){const[qe,He]=String(we).split(".");Ne=(G=C[qe])==null?void 0:G[He]}else Ne=C[String(we)];if(Ne&&typeof Ne=="string"){let qe=0,He="";if(he.indices.forEach((rt,Rt)=>{const Y=rt[0],fe=rt[1],ge=he.indices.length-1===Rt;He+=me(Ne.slice(qe,Y))+`${me(Ne.slice(Y,fe+1))}`+(ge?me(Ne.slice(fe+1)):""),qe=fe+1}),String(we).includes("imb_alternate_name"))C.matches.push({key:i.value.alternate_name??"Also known as",label:He});else if(String(we).includes(".")){const[rt]=String(we).split("."),Rt={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};rt==="rop1"?C.rop1_label=He:rt==="country_code"?C.country_label=He:rt==="wagf_region"||C.matches.push({key:Rt[rt]??rt,label:He})}else C[String(we)]=He}}return C}),$.value=S.value.length,T.value=!1,_e(),w()}const _=Po();function A(){var f,L;const d=((f=_==null?void 0:_.vnode)==null?void 0:f.el)||((L=_==null?void 0:_.proxy)==null?void 0:L.$el);try{const O=d&&d.getRootNode&&d.getRootNode();if(O&&O.host)return O.host}catch{}return d}function w(){const d={query:E.value,activeFilters:F.value,total:$.value,slugs:S.value.map(L=>L.slug)};n("groups-filtered",d);const f=A();f&&typeof f.dispatchEvent=="function"&&f.dispatchEvent(new CustomEvent("groups-filtered",{detail:d,bubbles:!0,composed:!0}))}function U(){return o.morePerPage>0?$.value>o.perPage+(x.value-1)*o.morePerPage&&!T.value&&S.value.length>0:$.value>x.value*o.perPage&&!T.value&&S.value.length>0}function Z(){x.value=x.value+1}const Q=se(()=>o.morePerPage>0?S.value.slice(0,o.perPage+(x.value-1)*o.morePerPage):S.value.slice(0,x.value*o.perPage)),le=se(()=>U());async function te(){const d=`${a.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,imb_language_family&lang=${s.value}`;T.value=!0,b.value=!1;try{const f=await fetch(d);if(!f.ok)throw new Error(`HTTP ${f.status}`);const L=await f.json();$.value=L.total,v.value=Array.isArray(L.posts)?L.posts:[],xe(),ve()}catch(f){console.error("[people-groups-grid] fetch error:",f),b.value=!0,v.value=[],T.value=!1}}return pt(()=>[o.query,M.value,u.value,h.value],()=>{x.value=1,ve()}),_t(te),(d,f)=>{var L,O,ae,oe;return H(),J("div",jx,[u.value||h.value?(H(),J("div",zx,[u.value?(H(),J("div",Ux,[ze(Ns,{"model-value":y.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),h.value?(H(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:B},[f[0]||(f[0]=I("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),it(" "+ue(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),V.value?(H(),J("span",Gx,ue(V.value),1)):Re("",!0),f[1]||(f[1]=I("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Bx)):Re("",!0),h.value&&p.value?(H(),J(Ce,{key:2},[I("div",qx,[ze(sr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((L=F.value.wagf_region)==null?void 0:L.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((O=F.value.wagf_block)==null?void 0:O.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((ae=F.value.rop1)==null?void 0:ae.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((oe=F.value.religion)==null?void 0:oe.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"])]),I("div",Hx,[I("button",{class:"filter-toggle",type:"button","data-active":F.value.exact?"":void 0,onClick:q},ue(i.value.exact_filter||"Exact"),9,Vx)])],64)):Re("",!0),h.value&&W.value>0?(H(),J("div",Wx,[(H(!0),J(Ce,null,Qe(F.value,(C,G)=>(H(),J("span",{key:G,class:"filter-chip"},[it(ue(C.label)+" ",1),I("button",{class:"filter-chip__remove",type:"button",onClick:he=>D(String(G))},"×",8,Kx)]))),128)),I("button",{class:"filters__clear-all",type:"button",onClick:P},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),I("div",Yx,[m.value||ne.value?(H(),J("div",Xx,[I("div",Jx,[T.value?(H(),J("span",Zx," ")):(H(),J(Ce,{key:0},[it(ue(ne.value&&!m.value?(i.value.showing||"Showing")+" "+$.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+$.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),I("div",Qx,[(H(!0),J(Ce,null,Qe(Q.value,C=>(H(),J("div",{key:C.slug,class:"card uupg__card"},[C.image_url?(H(),J("img",{key:0,class:"uupg__image",src:C.image_url,alt:C.name},null,8,ew)):Re("",!0),I("div",tw,[I("h3",{class:"uupg__name",innerHTML:C.name},null,8,ow),C.country_code?(H(),J("p",nw,[I("a",{class:"uupg__country-link",href:`${l.value}../countries/${de(Ox)(C.country_code.value,C.country_code.label)}`},[I("span",{innerHTML:C.country_label?C.country_label:C.country_code.label},null,8,aw)],8,rw),C.rop1?(H(),J(Ce,{key:0},[f[2]||(f[2]=it(" (",-1)),I("span",{innerHTML:C.rop1_label?C.rop1_label:C.rop1.label},null,8,sw),f[3]||(f[3]=it(")",-1))],64)):Re("",!0)])):Re("",!0),C.matches?(H(!0),J(Ce,{key:1},Qe(C.matches,(G,he)=>(H(),J("p",{key:he,class:"uupg__match"},[I("strong",null,ue(G.key),1),f[4]||(f[4]=it(": ",-1)),I("span",{innerHTML:G.label},null,8,lw)]))),128)):Re("",!0)]),C.location_description?(H(),J("p",iw,ue(C.location_description),1)):Re("",!0),I("a",{class:"uupg__more-button",href:`${l.value}${C.slug}`},ue(i.value.full_profile||"Full profile"),9,cw)]))),128)),T.value?(H(),J("div",uw,ue(i.value.loading||"Loading…"),1)):b.value?(H(),J("div",dw,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):Q.value.length?Re("",!0):(H(),J("div",fw,ue(i.value.no_results||"No people groups match this filter."),1))]),le.value?(H(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:Z},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Dx]]]),gw=":host{display:block;width:100%}",hw="dashboard-plus-grid/dashboard-plus-grid/index.html",mw=xn({__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",religion_family:"religionFamily",language_family:"languageFamily"},o=Uo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:"",religionFamily:"",languageFamily:""});function n({filterSet:s={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(s)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=ku(null);fo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+hw}));const a=[{key:"dashboard"},{key:"grid"}];return(s,l)=>(H(),Lo(__,{sections:a},{"section-dashboard":Co(()=>[ze(Mx,{onDashboardFilter:n})]),"section-grid":Co(()=>[ze(pw,{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,"religion-family":o.religionFamily,"language-family":o.languageFamily,"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","religion-family","language-family"])]),_:1}))}},[["styles",[gw]]]);Rb({"./affinity-block.js":{default:Hb},"./doxa-region.js":{default:Yb}}),Ob();const bw=lp(mw,{configureApp(e){e.use(yp());const t=bb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",bw))})(); +`,"rd-shell-layout"),_t(()=>{const _e=S.value&&S.value.getRootNode&&S.value.getRootNode().host;if(!_e)return;const ye=ve=>_e.setAttribute("data-page-scroll",ve?"true":"false");ye(de(r)),pt(()=>de(r),ye)}),(_e,ye)=>(H(),J("div",{ref_key:"shell",ref:S,class:Ge(["rd-shell",{"rd-narrow":de($),"rd-slim-rail":de(x),"rd-slim-facet":de(T),"rd-table-collapsed":de(g),"rd-facet-collapsed":de(y),"rd-rail-collapsed":de(k),"rd-page-scroll":r.value}]),"data-row-count":de(h),"data-loading":de(m)?"1":"0","data-error":de(v)||"","data-narrow":de($)?"1":"0"},[ze(de(Ry)),ze(de(yx)),I("div",xx,[(H(!0),J(Ce,null,Qe(de(l),ve=>(H(),J("div",{class:"kpi",key:ve.id},[I("span",{class:"n","data-kpi":ve.id},ue(ve.kind==="count"&&de(m)?"…":q(ve)),9,wx),I("span",kx,ue(ve.label),1),ve.delta?(H(),J("span",$x,"↓"+ue(de(Eu)(ve.delta)),1)):Re("",!0)]))),128))]),It(ze(de(Zy),null,null,512),[[Bt,de(M)]]),It(I("div",Sx,[ze(de(Z0)),de($)?Re("",!0):(H(),J("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:Ae},ue(de(y)?"▸":"◂"),9,Ex)),de($)?Re("",!0):(H(),J("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:de(k)?"Show charts":"Hide charts — grow the map",onClick:Le},ue(de(k)?"◂":"▸"),9,Ax))],512),[[Bt,de(F)]]),It(I("div",Cx,[ze(de(wv))],512),[[Bt,de(V)]]),It(I("aside",Tx,[ze(de(f0)),ze(de(zv))],512),[[Bt,de(W)]]),It(I("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(B),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:ye[0]||(ye[0]=(...ve)=>de(ne)&&de(ne)(...ve)),onKeydown:ye[1]||(ye[1]=ve=>de(K)("facet",ve))},null,40,Lx),[[Bt,!de($)&&!de(y)]]),It(I("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(N),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:ye[2]||(ye[2]=(...ve)=>de(me)&&de(me)(...ve)),onKeydown:ye[3]||(ye[3]=ve=>de(K)("rail",ve))},null,40,Px),[[Bt,!de($)&&!de(k)]]),It(I("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(D):parseFloat(de(z))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:ye[4]||(ye[4]=(...ve)=>de(j)&&de(j)(...ve)),onKeydown:ye[5]||(ye[5]=ve=>de(K)("table",ve))},null,40,Nx),[[Bt,!de($)&&!de(g)]]),It(I("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(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:ye[6]||(ye[6]=(...ve)=>de(ee)&&de(ee)(...ve)),onKeydown:ye[7]||(ye[7]=ve=>de(K)("shell",ve))},null,40,Ix),[[Bt,!de($)&&r.value]]),I("div",{class:"rd-seg","data-segmented":"",onClick:ye[8]||(ye[8]=(...ve)=>de(E)&&de(E)(...ve))},[(H(!0),J(Ce,null,Qe(de(p),ve=>(H(),J("button",{key:ve.k,class:Ge({on:de(b)===ve.k}),"data-view-btn":"","data-view":ve.k},ue(ve.l),11,Fx))),128))]),re.value?(H(),J("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:xe},[I("b",null,ue(re.value)+" selected",1),ye[9]||(ye[9]=I("span",{class:"sp"},null,-1)),ye[10]||(ye[10]=I("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ye[11]||(ye[11]=I("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,vx))}};function Mx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ox=":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))}",Dx={class:"pgg-root"},jx={key:0,id:"filters",class:"filters"},zx={key:0,class:"pgg-search"},Ux=["aria-expanded"],Bx={key:0,class:"filters__toggle-count"},Gx={class:"filters__panel"},qx={class:"filters__panel"},Hx=["data-active"],Vx={key:3,class:"filters__active"},Wx=["onClick"],Kx={class:"pgg-body"},Yx={key:0,class:"repel"},Xx={class:"font-size-sm"},Jx={key:1},Zx={id:"results",class:"grid uupgs-list"},Qx=["src","alt"],ew={class:"uupg__header"},tw=["innerHTML"],ow={key:0,class:"uupg__country"},nw=["href"],rw=["innerHTML"],aw=["innerHTML"],sw=["innerHTML"],lw={key:1,class:"uupg__content"},iw=["href"],cw={key:0,class:"loading"},uw={key:1,class:"pgg-empty pgg-failed",role:"status"},dw={key:2,class:"pgg-empty"},fw=xn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},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:""},religionFamily:{type:String,default:""},languageFamily:{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=se(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),a=se(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),s=se(()=>o.languageCode||r.value.languageCode||""),l=se(()=>o.researchUrl||r.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),i=se(()=>({...r.value.t||{},...o.t||{}})),c=d=>!(d===!1||d==="false"||d==="0"||d===0),u=se(()=>c(o.showSearch)),h=se(()=>c(o.showFilters)),m=se(()=>c(o.showTotal)),v=ie([]),S=ie([]),$=ie(0),x=ie(1),T=ie(!0),b=ie(!1),p=ie(!0),g=ie({}),y=ie(""),k=ie({}),E=se(()=>u.value?y.value:o.query||""),M=se(()=>{const d={},f=L=>L;return o.wagfRegion&&(d.wagf_region={value:o.wagfRegion,label:f(o.wagfRegion)}),o.wagfBlock&&(d.wagf_block={value:o.wagfBlock,label:f(o.wagfBlock)}),o.rop1&&(d.rop1={value:o.rop1,label:f(o.rop1)}),o.religion&&(d.religion={value:o.religion,label:f(o.religion)}),o.countryCode&&(d.country_code={value:o.countryCode,label:f(o.countryCode)}),o.primaryLanguage&&(d.primary_language={value:o.primaryLanguage,label:f(o.primaryLanguage)}),o.engagementStatus&&(d.engagement_status={value:o.engagementStatus,label:f(o.engagementStatus)}),o.cluster&&(d.imb_reg_of_people_2={value:o.cluster,label:f(o.cluster)}),o.peopleGroup&&(d.imb_reg_of_people_25={value:o.peopleGroup,label:f(o.peopleGroup)}),o.gospelAccess&&(d.imb_gsec={value:o.gospelAccess,label:f(o.gospelAccess)}),o.religionFamily&&(d.__religion_family={value:o.religionFamily,label:f(o.religionFamily)}),o.languageFamily&&(d.__language_family={value:o.languageFamily,label:f(o.languageFamily)}),d}),F=se(()=>h.value?k.value:M.value),V=se(()=>Object.values(F.value||{}).filter(d=>d&&d.value!==""&&d.value!=null).length),W=se(()=>Object.keys(F.value).length),ne=se(()=>V.value>0||!!(E.value||"").trim());function me(d){return d.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function j(d,f=500){let L;return(...O)=>{clearTimeout(L),L=setTimeout(()=>d(...O),f)}}const ee=j(()=>{T.value=!0,x.value=1,ve()},500);function K(d){y.value=(d==null?void 0:d.value)??"",ee()}function B(){p.value=!p.value}function N(d){k.value={...k.value,[d.name]:{value:d.value,label:d.label}},x.value=1,ve()}function z(d){D(d.name)}function D(d){const f={...k.value};delete f[d],k.value=f,x.value=1,ve()}function P(){k.value={},x.value=1,ve()}function q(){if(k.value.exact)return D("exact");k.value={...k.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},x.value=1,ve()}const re=d=>String(d??"").toLowerCase().replace(/[\s_&-]+/g,""),be={__religion_family:d=>{const f=d.religion&&typeof d.religion=="object"?d.religion.value:d.religion,L=String(f||"").charAt(0).toUpperCase(),O=L&&ko[L]?ko[L]:"";return O?{value:O,label:O}:null},__language_family:d=>{const f=d.imb_language_family,L=f&&typeof f=="object"?f.label||f.value:f;let O="";if(L)O=mn(L);else{const ae=d.primary_language&&typeof d.primary_language=="object"?d.primary_language.value:null,oe=ae&&Du[ae];O=oe?mn(oe):""}return O?{value:O,label:O}:null}},Ee=(d,f)=>be[f]?be[f](d):d[f];function Ae(d,f){if(!d)return!1;const L=re(f==null?void 0:f.value);return L?re(d.value)===L||re(d.label)===L:!1}function Le(d){let f=d;for(const[L,O]of Object.entries(F.value))L==="exact"?f=f:f=f.filter(ae=>Ae(Ee(ae,L),O));return f}function xe(){const d=f=>{const L=new Map;for(const O of v.value){const ae=O[f];if(!(ae!=null&&ae.value))continue;const oe=L.get(ae.value);oe?oe.count++:L.set(ae.value,{label:ae.label,count:1})}return Array.from(L.entries()).map(([O,{label:ae,count:oe}])=>({value:O,label:ae,count:oe})).sort((O,ae)=>O.label.localeCompare(ae.label))};g.value={wagf_region:d("wagf_region"),wagf_block:d("wagf_block"),rop1:d("rop1"),religion:d("religion")}}function _e(){const d=Object.keys(g.value),f={};for(const L of d){const O={};for(const[C,G]of Object.entries(F.value))C!==L&&(O[C]=G);const ae=ye(O,v.value),oe=new Map;for(const C of ae){const G=C[L];G!=null&&G.value&&oe.set(G.value,(oe.get(G.value)??0)+1)}f[L]=(g.value[L]??[]).map(C=>({...C,count:oe.get(C.value)??0}))}g.value=f}function ye(d,f){let L=f;for(const[O,ae]of Object.entries(d))O!=="exact"&&(L=L.filter(oe=>Ae(Ee(oe,O),ae)));return L}function ve(){v.value=v.value.map(oe=>(oe.matches=[],oe.country_label="",oe.rop1_label="",oe));const f=Object.keys(F.value).length>0?Le(v.value):v.value,L=E.value;if(!L){S.value=f,$.value=S.value.length,T.value=!1,_e(),w();return}const ae=new x_(f,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:F.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(L);S.value=ae.map(oe=>{var G;const C={...oe.item};if(!oe.matches)return C;C.matches=[];for(const he of oe.matches){const we=he.key;if(!we)continue;let Ne="";if(String(we).includes(".")){const[qe,He]=String(we).split(".");Ne=(G=C[qe])==null?void 0:G[He]}else Ne=C[String(we)];if(Ne&&typeof Ne=="string"){let qe=0,He="";if(he.indices.forEach((rt,Rt)=>{const Y=rt[0],fe=rt[1],ge=he.indices.length-1===Rt;He+=me(Ne.slice(qe,Y))+`${me(Ne.slice(Y,fe+1))}`+(ge?me(Ne.slice(fe+1)):""),qe=fe+1}),String(we).includes("imb_alternate_name"))C.matches.push({key:i.value.alternate_name??"Also known as",label:He});else if(String(we).includes(".")){const[rt]=String(we).split("."),Rt={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};rt==="rop1"?C.rop1_label=He:rt==="country_code"?C.country_label=He:rt==="wagf_region"||C.matches.push({key:Rt[rt]??rt,label:He})}else C[String(we)]=He}}return C}),$.value=S.value.length,T.value=!1,_e(),w()}const _=Po();function A(){var f,L;const d=((f=_==null?void 0:_.vnode)==null?void 0:f.el)||((L=_==null?void 0:_.proxy)==null?void 0:L.$el);try{const O=d&&d.getRootNode&&d.getRootNode();if(O&&O.host)return O.host}catch{}return d}function w(){const d={query:E.value,activeFilters:F.value,total:$.value,slugs:S.value.map(L=>L.slug)};n("groups-filtered",d);const f=A();f&&typeof f.dispatchEvent=="function"&&f.dispatchEvent(new CustomEvent("groups-filtered",{detail:d,bubbles:!0,composed:!0}))}function U(){return o.morePerPage>0?$.value>o.perPage+(x.value-1)*o.morePerPage&&!T.value&&S.value.length>0:$.value>x.value*o.perPage&&!T.value&&S.value.length>0}function Z(){x.value=x.value+1}const Q=se(()=>o.morePerPage>0?S.value.slice(0,o.perPage+(x.value-1)*o.morePerPage):S.value.slice(0,x.value*o.perPage)),le=se(()=>U());async function te(){const d=`${a.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,imb_language_family&lang=${s.value}`;T.value=!0,b.value=!1;try{const f=await fetch(d);if(!f.ok)throw new Error(`HTTP ${f.status}`);const L=await f.json();$.value=L.total,v.value=Array.isArray(L.posts)?L.posts:[],xe(),ve()}catch(f){console.error("[people-groups-grid] fetch error:",f),b.value=!0,v.value=[],T.value=!1}}return pt(()=>[o.query,M.value,u.value,h.value],()=>{x.value=1,ve()}),_t(te),(d,f)=>{var L,O,ae,oe;return H(),J("div",Dx,[u.value||h.value?(H(),J("div",jx,[u.value?(H(),J("div",zx,[ze(Ps,{"model-value":y.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:K},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),h.value?(H(),J("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:B},[f[0]||(f[0]=I("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),it(" "+ue(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),V.value?(H(),J("span",Bx,ue(V.value),1)):Re("",!0),f[1]||(f[1]=I("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ux)):Re("",!0),h.value&&p.value?(H(),J(Ce,{key:2},[I("div",Gx,[ze(sr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((L=F.value.wagf_region)==null?void 0:L.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((O=F.value.wagf_block)==null?void 0:O.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((ae=F.value.rop1)==null?void 0:ae.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"]),ze(sr,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((oe=F.value.religion)==null?void 0:oe.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:z},null,8,["label","options","value","placeholder"])]),I("div",qx,[I("button",{class:"filter-toggle",type:"button","data-active":F.value.exact?"":void 0,onClick:q},ue(i.value.exact_filter||"Exact"),9,Hx)])],64)):Re("",!0),h.value&&W.value>0?(H(),J("div",Vx,[(H(!0),J(Ce,null,Qe(F.value,(C,G)=>(H(),J("span",{key:G,class:"filter-chip"},[it(ue(C.label)+" ",1),I("button",{class:"filter-chip__remove",type:"button",onClick:he=>D(String(G))},"×",8,Wx)]))),128)),I("button",{class:"filters__clear-all",type:"button",onClick:P},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),I("div",Kx,[m.value||ne.value?(H(),J("div",Yx,[I("div",Xx,[T.value?(H(),J("span",Jx," ")):(H(),J(Ce,{key:0},[it(ue(ne.value&&!m.value?(i.value.showing||"Showing")+" "+$.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+$.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),I("div",Zx,[(H(!0),J(Ce,null,Qe(Q.value,C=>(H(),J("div",{key:C.slug,class:"card uupg__card"},[C.image_url?(H(),J("img",{key:0,class:"uupg__image",src:C.image_url,alt:C.name},null,8,Qx)):Re("",!0),I("div",ew,[I("h3",{class:"uupg__name",innerHTML:C.name},null,8,tw),C.country_code?(H(),J("p",ow,[I("a",{class:"uupg__country-link",href:`${l.value}../countries/${de(Mx)(C.country_code.value,C.country_code.label)}`},[I("span",{innerHTML:C.country_label?C.country_label:C.country_code.label},null,8,rw)],8,nw),C.rop1?(H(),J(Ce,{key:0},[f[2]||(f[2]=it(" (",-1)),I("span",{innerHTML:C.rop1_label?C.rop1_label:C.rop1.label},null,8,aw),f[3]||(f[3]=it(")",-1))],64)):Re("",!0)])):Re("",!0),C.matches?(H(!0),J(Ce,{key:1},Qe(C.matches,(G,he)=>(H(),J("p",{key:he,class:"uupg__match"},[I("strong",null,ue(G.key),1),f[4]||(f[4]=it(": ",-1)),I("span",{innerHTML:G.label},null,8,sw)]))),128)):Re("",!0)]),C.location_description?(H(),J("p",lw,ue(C.location_description),1)):Re("",!0),I("a",{class:"uupg__more-button",href:`${l.value}${C.slug}`},ue(i.value.full_profile||"Full profile"),9,iw)]))),128)),T.value?(H(),J("div",cw,ue(i.value.loading||"Loading…"),1)):b.value?(H(),J("div",uw,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):Q.value.length?Re("",!0):(H(),J("div",dw,ue(i.value.no_results||"No people groups match this filter."),1))]),le.value?(H(),J("button",{key:1,class:"pgg-loadmore",type:"button",onClick:Z},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Ox]]]),pw=":host{display:block;width:100%}",gw="dashboard-plus-grid/dashboard-plus-grid/index.html",hw=xn({__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",religion_family:"religionFamily",language_family:"languageFamily"},o=Uo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:"",religionFamily:"",languageFamily:""});function n({filterSet:s={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(s)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=wu(null);fo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+gw}));const a=[{key:"dashboard"},{key:"grid"}];return(s,l)=>(H(),Lo(b_,{sections:a},{"section-dashboard":Co(()=>[ze(Rx,{onDashboardFilter:n})]),"section-grid":Co(()=>[ze(fw,{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,"religion-family":o.religionFamily,"language-family":o.languageFamily,"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","religion-family","language-family"])]),_:1}))}},[["styles",[pw]]]);Fb({"./affinity-block.js":{default:qb},"./doxa-region.js":{default:Kb}}),Mb();const mw=sp(hw,{configureApp(e){e.use(_p());const t=mb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",mw))})(); 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 bcb4f369a..ea3f8ef08 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":32,"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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH","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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH\" 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-MG/HIBfHvBjodOyOgVlzhgK5sZhEg2BI4DGPBc7yUmjGM9CDWI5JMvQh9nHRbJz4","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-MG/HIBfHvBjodOyOgVlzhgK5sZhEg2BI4DGPBc7yUmjGM9CDWI5JMvQh9nHRbJz4\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q","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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55","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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ","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-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ\" 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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D","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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-rX8Z6H4/pnGt+1GrwGQRCooJ21TL4dQE7JZBD19mV0ow7bdagmo9TS0qbVtYrbx5","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-rX8Z6H4/pnGt+1GrwGQRCooJ21TL4dQE7JZBD19mV0ow7bdagmo9TS0qbVtYrbx5\" 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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+","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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X","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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE","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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-SKWGRiLzac7kgXqwKmZ6zztgnwonaWQuelRXos+pToKjq9s7H1DgpKb/t+4zVsIq","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-SKWGRiLzac7kgXqwKmZ6zztgnwonaWQuelRXos+pToKjq9s7H1DgpKb/t+4zVsIq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr","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-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr\" 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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw","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-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw\" 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-K7QdQDF5WffVlrlBuvJDUzH7wXLdXUhAQMjgB+svavqQimYzD9O4Jq/zanhiFjhG","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-K7QdQDF5WffVlrlBuvJDUzH7wXLdXUhAQMjgB+svavqQimYzD9O4Jq/zanhiFjhG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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": [ { @@ -878,7 +878,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-uYPQZjDB+0BMyy/Vit6cXnhYiBLVAsqMGWzdYnczTXdMR9OCCLTXFbwUL3GE7pGd", + "integrity": "sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw", "elements": [ "research-dashboard-map" ], @@ -894,7 +894,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/research-dashboard/research-dashboard.js b/public/doxa-maps/research-dashboard/research-dashboard.js index 74df607ff..b4cece2fa 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -73,7 +73,7 @@ `)}const A={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function h(){const p=y(),k=g().length,S=(p.split(`\r `)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=p)}catch{}let P=!1,T=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(p).catch(()=>{}),P=!0)}catch{}try{const z=new Blob([p],{type:"text/csv;charset=utf-8"}),G=URL.createObjectURL(z),ee=document.createElement("a");ee.href=G,ee.download="research-dashboard.csv",ee.style.display="none",document.body.appendChild(ee),ee.click(),T=!0,setTimeout(()=>{try{URL.revokeObjectURL(G),ee.remove()}catch{}},200)}catch{}Object.assign(A,{rows:k,clipboard:P,downloaded:T,fields:S,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:P,downloaded:T,fields:S,wide:!!i}}catch{}return{csv:p,rows:k,clipboard:P,downloaded:T,fields:S,wide:!!i}}async function d(){try{await c()}catch{}return h()}function f(){try{return c()}catch{return null}}return{exportCsv:h,exportCsvAsync:d,buildCsv:y,pickRows:g,scopeLabel:m,lastExport:A,prefetchExportFields:f,EXPORT_FIELDS:ls}}const G_="#6b7280";function q_(){const e=is(Sn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function H_(e,t){const n=q_();return e&&n[e]?n[e]:G_}function V_(e){return(e==null?void 0:e.properties)||e||{}}function Ba(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function W_(e){var t;return String(e.affinityBlock||Ba((t=e._raw)==null?void 0:t.rop1)||"").trim()}function K_(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||Ba((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function X_(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 J_(e){var t;return String(e.peopleGroup||Ba((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function Z_(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 Q_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function ey(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function ty(e){var n;const t=Number(e.population??e.populationNum??((n=e._raw)==null?void 0:n.population)??0);return Number.isFinite(t)?t:0}function ny(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function oy(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=V_(i),c=W_(l),u=K_(l)||c||"— Unknown —",g=Y_(l),m=X_(l)||g||"— Unknown —",v=J_(l),$=Z_(l)||v||"— Unknown —",x=Q_(l),y=ey(l)||x,A=ty(l),h=ny(l);if(!x)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=A,d.memberIds.push(x);let f=d.clusters.get(g||"__unknown__");f||(f={code:g,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(g||"__unknown__",f)),f.count+=1,f.pop+=A,f.memberIds.push(x);let p=f.peopleGroups.get(v||"__unknown__");p||(p={code:v,label:$,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(v||"__unknown__",p)),p.count+=1,p.pop+=A,p.memberIds.push(x),p.instances.push({id:x,name:y,country:h,pop:A})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=H_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:n(i.memberIds),children:[]};for(const u of i.clusters.values()){const g={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:n(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const v={id:`pg:${i.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:l,count:m.count,pop:m.pop,filter:n(m.memberIds),children:[]};m.instances.sort(($,x)=>x.pop-$.pop||$.country.localeCompare(x.country));for(const $ of m.instances)v.children.push({id:`pgic:${$.id}`,label:`${$.country?`${$.name}, ${$.country}`:$.name} (PGIC)`,color:l,count:1,pop:$.pop,filter:["==",["get","uniqueId"],$.id],children:[]});g.children.push(v)}g.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(g)}c.children.sort((u,g)=>g.count-u.count||g.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:o,highlight:r}}function or(e,t,n){const o=re(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=oy(o),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,g=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&g.set(x.code,x.label);for(const y of x.clusters.values()){y.code&&m.set(y.code,y.label);for(const A of y.peopleGroups.values())A.code&&v.set(A.code,A.label)}}const $={};return l&&($[l]=g),c&&($[c]=m),u&&($[u]=v),$});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:o,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class ju{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=Dt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let r="",s=!1,a=[],i=!0;for(let l=0;l0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const g={};o.forEach((m,v)=>{g[m]=a[v]||""}),n.push(g)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=ja(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,g]of Object.entries(a))s.push(`${u}=${encodeURIComponent(g)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(o,g));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new ju;const zu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Bu=e=>e==null?"—":Number(e).toLocaleString("en-US");function rr(e){const t=zu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function sr(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&j_(String(a),o,{threshold:.4,minMatchCharLength:3}))return!0}return!1}}function ry(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,g)=>u+(Number(g[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],g=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&g.add(v)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function sy(e){const t=le(null),n=le(!1),o=le(!1),r=le(!1),s=le("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=le(!1),c=le(!1),u=le(!1);vt(()=>{t.value&&(i=new ResizeObserver(()=>{const y=t.value.clientWidth;n.value=y<760,o.value=y>=760&&y<1180,r.value=y>=760&&y<980}),i.observe(t.value)),e&&e.on("toggleTable",y=>{l.value=!!y}),e&&e.on("toggleFacet",y=>{c.value=!!y}),e&&e.on("toggleRail",y=>{u.value=!!y})}),Ft(()=>i&&i.disconnect());function g(y){const A=y.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!n.value||s.value==="facets"),v=re(()=>!n.value||s.value==="map"),$=re(()=>!n.value||s.value==="table"),x=re(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:g,showFacets:m,showMap:v,showTable:$,showCharts:x}}const ay=e=>String(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40),iy=e=>String(e).replace(/[%;:*+]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase()).replace(/ /g,"+"),ly=e=>{try{return decodeURIComponent(String(e).replace(/\+/g,"%20"))}catch{return String(e).replace(/\+/g," ")}};function cy(e,t){function n(){try{const o=Object.entries(e.filterSet).map(([r,s])=>{const a=typeof t=="function"?t(r,s):null,i=a&&String(a)!==String(s)?ay(a):"";return r+":"+iy(s)+(i?"*"+i:"")});typeof location<"u"&&history.replaceState(null,"","#f="+o.join(";"))}catch{}}ht(()=>({...e.filterSet}),n,{deep:!0}),vt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(!o)return;const r=o[1];if(r.startsWith("{")||r.startsWith("%7B")||r.startsWith("%7b")){const s=JSON.parse(decodeURIComponent(r));Object.entries(s).forEach(([a,i])=>e.setFilter(a,i));return}for(const s of r.split(";")){const a=s.indexOf(":");if(a<1)continue;const i=s.slice(0,a),l=ly(s.slice(a+1).split("*")[0]);i&&l&&e.setFilter(i,l)}}catch{}})}function uy(e){var x;const t=B_();t.configureHierarchy(e);const n=U_(e.data),o=zu(e.facets,y=>y.get),r=sr(t,rr(e)),s=re(()=>{var d;const y=n.rows.value||[],A=Object.keys(t.filterSet),h=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!h?y:y.filter(f=>A.every(p=>{const k=o[p];return k?k(f)===t.filterSet[p]:!0})&&r(f))}),a=re(()=>ry(e.kpis,s.value,n.rows.value||[],o,e)),i=sy(t),l=n.sourceId||Dt.activeSource,c=((x=Dt.sources)==null?void 0:x[l])||{},u=new ju,g=re(()=>{const y=n.rows.value||[];return y.length?(u.rawData=y.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return g.value}}}},{labelFor:v}=or(e,m,l);cy(t,v);const $=za({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:v});return gt("selectionBus",t),gt("dashboardData",n),gt("dashboardConfig",e),gt("dataStore",m),gt("searchSourceId",l),vt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:$,responsive:i}}const dy={facetW:296,railW:296,tableH:"34%",mapH:340,shellH:582},fy={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Uu=32,Gu=120,St=(e,[t,n])=>Math.min(n,Math.max(t,e)),cs=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function py(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout-v5"}=e,a={...dy,...e.defaults||{}},i={...fy,...e.clamps||{}},l=le(a.facetW),c=le(a.railW),u=le(a.tableH),g=le(a.mapH),m=le(a.shellH),v=le(!1),$=le(!1),x=le(!1),y=()=>!!ce(o),A=()=>!!ce(r);function h(){const D=t&&t.value;if(!D)return m.value;const L=parseFloat(getComputedStyle(D).getPropertyValue("--rd-shell-h"));if(Number.isFinite(L)&&L>0)return Math.round(L);const q=D.querySelector('[data-region="map"]'),oe=D.querySelector('[data-region="table"]');if(!q||!oe)return m.value;const me=q.getBoundingClientRect().height+oe.getBoundingClientRect().height;return me>0?Math.round(me):m.value}function d(){const D=t&&t.value;D&&(v.value&&(D.style.setProperty("--facet-w",l.value+"px"),D.style.setProperty("--rail-w",c.value+"px"),D.style.setProperty("--table-h",u.value)),$.value&&D.style.setProperty("--rd-map-h",g.value+"px"),x.value&&D.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const D=t&&t.value;D&&(D.style.removeProperty("--facet-w"),D.style.removeProperty("--rail-w"),D.style.removeProperty("--table-h"),D.style.removeProperty("--rd-map-h"),D.style.removeProperty("--rd-shell-h"))}function p(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:g.value,shellH:m.value}))}catch{}}function k(){try{const D=localStorage.getItem(s);if(!D)return!1;const L=JSON.parse(D);return Number.isFinite(L.facetW)&&(l.value=St(L.facetW,i.facetW)),Number.isFinite(L.railW)&&(c.value=St(L.railW,i.railW)),L.tableH!=null&&(u.value=St(cs(L.tableH,cs(a.tableH,34)),i.tableH)+"%"),v.value=!0,Number.isFinite(L.shellH)&&(m.value=St(L.shellH,i.shellH),x.value=!0),Number.isFinite(L.mapH)&&(g.value=St(L.mapH,i.mapH),$.value=!0),!0}catch{return!1}}function S(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,g.value=a.mapH,m.value=a.shellH,v.value=!1,$.value=!1,x.value=!1,f()}const P=le(!1);function T(){if(P.value)return;P.value=!0;const D=t&&t.value;if(D&&D.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function z(){if(!P.value)return;P.value=!1;const D=t&&t.value;if(D&&D.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function G(D,L){if(y())return;const q=t&&t.value;if(!q)return;L.preventDefault();const oe=q.getBoundingClientRect(),me=L.clientX,Ae=l.value,Te=c.value,Le=L.currentTarget,ve=D==="table"&&A(),_e=D==="shell"&&A();let be=0,we=i.mapH[1];if(ve){const Q=q.querySelector('[data-region="map"]'),b=Q?Q.getBoundingClientRect():null;be=b?b.top:L.clientY-g.value,we=Math.max(i.mapH[0],m.value-(Uu+Gu))}const w=L.clientY,C=_e?h():m.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(L.pointerId)}catch{}T();let E=0,B=null;function X(){if(E=0,!B)return;const Q=B;if(B=null,D==="facet")l.value=Math.round(St(Ae+(Q.clientX-me),i.facetW)),v.value=!0;else if(D==="rail")c.value=Math.round(St(Te-(Q.clientX-me),i.railW)),v.value=!0;else if(ve)g.value=Math.round(St(Q.clientY-be,[i.mapH[0],we])),$.value=!0;else if(D==="table"){const b=(oe.bottom-Q.clientY)/oe.height*100;u.value=Math.round(St(b,i.tableH))+"%",v.value=!0}else _e&&(m.value=Math.round(St(C+(Q.clientY-w),i.shellH)),x.value=!0);d()}function Z(Q){B={clientX:Q.clientX,clientY:Q.clientY},E||(E=requestAnimationFrame(X))}function ae(Q){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),X();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(Q.pointerId)}catch{}p(),z()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const ee=D=>G("facet",D),ge=D=>G("rail",D),j=D=>G("table",D),J=D=>G("shell",D),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function F(D,L,q){if(!y()){if(D==="facet")l.value=q?L<0?i.facetW[0]:i.facetW[1]:Math.round(St(l.value+L*H.facet,i.facetW)),v.value=!0;else if(D==="rail")c.value=q?L<0?i.railW[1]:i.railW[0]:Math.round(St(c.value-L*H.rail,i.railW)),v.value=!0;else if(D==="table"&&A()){const oe=Math.max(i.mapH[0],m.value-(Uu+Gu));g.value=q?L<0?i.mapH[0]:oe:Math.round(St(g.value+L*H.mapH,[i.mapH[0],oe])),$.value=!0}else if(D==="table"){const oe=q?L<0?i.tableH[0]:i.tableH[1]:St(cs(u.value,cs(a.tableH,34))-L*H.table/4,i.tableH);u.value=Math.round(oe)+"%",v.value=!0}else D==="shell"&&A()&&(m.value=q?L<0?i.shellH[0]:i.shellH[1]:Math.round(St(m.value+L*H.shellH,i.shellH)),x.value=!0);d(),p()}}function M(D,L){const q=L.key;let oe=0;if(D==="table"||D==="shell"?q==="ArrowUp"?oe=-1:q==="ArrowDown"&&(oe=1):q==="ArrowLeft"?oe=-1:q==="ArrowRight"&&(oe=1),oe){L.preventDefault(),F(D,oe);return}(q==="Home"||q==="End")&&(L.preventDefault(),F(D,q==="Home"?-1:1,!0))}let U=null;return vt(()=>{k()&&d(),n&&typeof n.on=="function"&&(U=n.on("resetLayout",S))}),Ft(()=>{try{U&&U()}catch{}try{z()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:g,shellH:m,customized:v,resizing:P,startFacetResize:ee,startRailResize:ge,startTableResize:j,startShellResize:J,startResize:G,reset:S,applyVars:d,stepResize:F,onResizeKeydown:M}}const gy=".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))}",hy=["value","placeholder","aria-label"],qu=os({__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 n=e,o=t,r=re(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(te(),ne("div",{class:"search-box",style:lt(r.value)},[i[0]||(i[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,hy)],4))}},[["styles",[gy]]]),my=Zn&&Zn.tagName.toUpperCase()==="SCRIPT"&&Zn.src||new URL("research-dashboard.js",document.baseURI).href,On=e=>String(e||"").trim().replace(/\/+$/,"");function Hu(){try{const t=String(my||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function by(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return On(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return On(n)}return On(Hu()||"")}function _y(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const o=On(t);if(/^https?:\/\//i.test(o)||o.startsWith("/"))return o}const n=On((e==null?void 0:e.treeBase)||"")||On(Hu()||"");if(n)try{const o=typeof document<"u"?document.baseURI:void 0;return On(new URL(n+"/../assets",o).href)}catch{return On(n.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function yy({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=by(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const vy=["title","aria-label","disabled"],Ua={__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 It(` +`&&l++,r||a.length>0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const g={};o.forEach((m,v)=>{g[m]=a[v]||""}),n.push(g)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=ja(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,g]of Object.entries(a))s.push(`${u}=${encodeURIComponent(g)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const g=u.headers.get("content-type")||"";if(!g.includes("application/json"))throw new Error(`API returned "${g}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(o,g));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new ju;const zu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Bu=e=>e==null?"—":Number(e).toLocaleString("en-US");function rr(e){const t=zu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function sr(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&j_(String(a),o,{threshold:.4,minMatchCharLength:3}))return!0}return!1}}function ry(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,g)=>u+(Number(g[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],g=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&g.add(v)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function sy(e){const t=le(null),n=le(!1),o=le(!1),r=le(!1),s=le("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=le(!1),c=le(!1),u=le(!1);vt(()=>{t.value&&(i=new ResizeObserver(()=>{const y=t.value.clientWidth;n.value=y<760,o.value=y>=760&&y<1180,r.value=y>=760&&y<980}),i.observe(t.value)),e&&e.on("toggleTable",y=>{l.value=!!y}),e&&e.on("toggleFacet",y=>{c.value=!!y}),e&&e.on("toggleRail",y=>{u.value=!!y})}),Ft(()=>i&&i.disconnect());function g(y){const A=y.target.closest("[data-view]");A&&(s.value=A.getAttribute("data-view"))}const m=re(()=>!n.value||s.value==="facets"),v=re(()=>!n.value||s.value==="map"),$=re(()=>!n.value||s.value==="table"),x=re(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:g,showFacets:m,showMap:v,showTable:$,showCharts:x}}const ay=e=>String(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40),iy=e=>String(e).replace(/[%;:*+]/g,t=>"%"+t.charCodeAt(0).toString(16).toUpperCase()).replace(/ /g,"+"),ly=e=>{try{return decodeURIComponent(String(e).replace(/\+/g,"%20"))}catch{return String(e).replace(/\+/g," ")}};function cy(e,t){function n(){try{const o=Object.entries(e.filterSet).map(([r,s])=>{const a=typeof t=="function"?t(r,s):null,i=a&&String(a)!==String(s)?ay(a):"";return r+":"+iy(s)+(i?"*"+i:"")});typeof location<"u"&&history.replaceState(null,"","#f="+o.join(";"))}catch{}}ht(()=>({...e.filterSet}),n,{deep:!0}),vt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(!o)return;const r=o[1];if(r.startsWith("{")||r.startsWith("%7B")||r.startsWith("%7b")){const s=JSON.parse(decodeURIComponent(r));Object.entries(s).forEach(([a,i])=>e.setFilter(a,i));return}for(const s of r.split(";")){const a=s.indexOf(":");if(a<1)continue;const i=s.slice(0,a),l=ly(s.slice(a+1).split("*")[0]);i&&l&&e.setFilter(i,l)}}catch{}})}function uy(e){var x;const t=B_();t.configureHierarchy(e);const n=U_(e.data),o=zu(e.facets,y=>y.get),r=sr(t,rr(e)),s=re(()=>{var d;const y=n.rows.value||[],A=Object.keys(t.filterSet),h=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!A.length&&!h?y:y.filter(f=>A.every(p=>{const k=o[p];return k?k(f)===t.filterSet[p]:!0})&&r(f))}),a=re(()=>ry(e.kpis,s.value,n.rows.value||[],o,e)),i=sy(t),l=n.sourceId||Dt.activeSource,c=((x=Dt.sources)==null?void 0:x[l])||{},u=new ju,g=re(()=>{const y=n.rows.value||[];return y.length?(u.rawData=y.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[l]:{get features(){return g.value}}}},{labelFor:v}=or(e,m,l);cy(t,v);const $=za({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:v});return gt("selectionBus",t),gt("dashboardData",n),gt("dashboardConfig",e),gt("dataStore",m),gt("searchSourceId",l),vt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:$,responsive:i}}const dy={facetW:296,railW:296,tableH:"34%",mapH:340,shellH:562},fy={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},Uu=32,Gu=120,St=(e,[t,n])=>Math.min(n,Math.max(t,e)),cs=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function py(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout-v6"}=e,a={...dy,...e.defaults||{}},i={...fy,...e.clamps||{}},l=le(a.facetW),c=le(a.railW),u=le(a.tableH),g=le(a.mapH),m=le(a.shellH),v=le(!1),$=le(!1),x=le(!1),y=()=>!!ce(o),A=()=>!!ce(r);function h(){const D=t&&t.value;if(!D)return m.value;const L=parseFloat(getComputedStyle(D).getPropertyValue("--rd-shell-h"));if(Number.isFinite(L)&&L>0)return Math.round(L);const q=D.querySelector('[data-region="map"]'),oe=D.querySelector('[data-region="table"]');if(!q||!oe)return m.value;const me=q.getBoundingClientRect().height+oe.getBoundingClientRect().height;return me>0?Math.round(me):m.value}function d(){const D=t&&t.value;D&&(v.value&&(D.style.setProperty("--facet-w",l.value+"px"),D.style.setProperty("--rail-w",c.value+"px"),D.style.setProperty("--table-h",u.value)),$.value&&D.style.setProperty("--rd-map-h",g.value+"px"),x.value&&D.style.setProperty("--rd-shell-h",m.value+"px"))}function f(){const D=t&&t.value;D&&(D.style.removeProperty("--facet-w"),D.style.removeProperty("--rail-w"),D.style.removeProperty("--table-h"),D.style.removeProperty("--rd-map-h"),D.style.removeProperty("--rd-shell-h"))}function p(){try{localStorage.setItem(s,JSON.stringify({facetW:l.value,railW:c.value,tableH:u.value,mapH:g.value,shellH:m.value}))}catch{}}function k(){try{const D=localStorage.getItem(s);if(!D)return!1;const L=JSON.parse(D);return Number.isFinite(L.facetW)&&(l.value=St(L.facetW,i.facetW)),Number.isFinite(L.railW)&&(c.value=St(L.railW,i.railW)),L.tableH!=null&&(u.value=St(cs(L.tableH,cs(a.tableH,34)),i.tableH)+"%"),v.value=!0,Number.isFinite(L.shellH)&&(m.value=St(L.shellH,i.shellH),x.value=!0),Number.isFinite(L.mapH)&&(g.value=St(L.mapH,i.mapH),$.value=!0),!0}catch{return!1}}function S(){try{localStorage.removeItem(s)}catch{}l.value=a.facetW,c.value=a.railW,u.value=a.tableH,g.value=a.mapH,m.value=a.shellH,v.value=!1,$.value=!1,x.value=!1,f()}const P=le(!1);function T(){if(P.value)return;P.value=!0;const D=t&&t.value;if(D&&D.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function z(){if(!P.value)return;P.value=!1;const D=t&&t.value;if(D&&D.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function G(D,L){if(y())return;const q=t&&t.value;if(!q)return;L.preventDefault();const oe=q.getBoundingClientRect(),me=L.clientX,Ae=l.value,Te=c.value,Le=L.currentTarget,ve=D==="table"&&A(),_e=D==="shell"&&A();let be=0,we=i.mapH[1];if(ve){const Q=q.querySelector('[data-region="map"]'),b=Q?Q.getBoundingClientRect():null;be=b?b.top:L.clientY-g.value,we=Math.max(i.mapH[0],m.value-(Uu+Gu))}const w=L.clientY,C=_e?h():m.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(L.pointerId)}catch{}T();let E=0,B=null;function X(){if(E=0,!B)return;const Q=B;if(B=null,D==="facet")l.value=Math.round(St(Ae+(Q.clientX-me),i.facetW)),v.value=!0;else if(D==="rail")c.value=Math.round(St(Te-(Q.clientX-me),i.railW)),v.value=!0;else if(ve)g.value=Math.round(St(Q.clientY-be,[i.mapH[0],we])),$.value=!0;else if(D==="table"){const b=(oe.bottom-Q.clientY)/oe.height*100;u.value=Math.round(St(b,i.tableH))+"%",v.value=!0}else _e&&(m.value=Math.round(St(C+(Q.clientY-w),i.shellH)),x.value=!0);d()}function Z(Q){B={clientX:Q.clientX,clientY:Q.clientY},E||(E=requestAnimationFrame(X))}function ae(Q){window.removeEventListener("pointermove",Z),window.removeEventListener("pointerup",ae),window.removeEventListener("pointercancel",ae),E&&(cancelAnimationFrame(E),E=0),X();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(Q.pointerId)}catch{}p(),z()}window.addEventListener("pointermove",Z),window.addEventListener("pointerup",ae),window.addEventListener("pointercancel",ae)}const ee=D=>G("facet",D),ge=D=>G("rail",D),j=D=>G("table",D),J=D=>G("shell",D),H={facet:16,rail:16,table:24,mapH:24,shellH:24};function F(D,L,q){if(!y()){if(D==="facet")l.value=q?L<0?i.facetW[0]:i.facetW[1]:Math.round(St(l.value+L*H.facet,i.facetW)),v.value=!0;else if(D==="rail")c.value=q?L<0?i.railW[1]:i.railW[0]:Math.round(St(c.value-L*H.rail,i.railW)),v.value=!0;else if(D==="table"&&A()){const oe=Math.max(i.mapH[0],m.value-(Uu+Gu));g.value=q?L<0?i.mapH[0]:oe:Math.round(St(g.value+L*H.mapH,[i.mapH[0],oe])),$.value=!0}else if(D==="table"){const oe=q?L<0?i.tableH[0]:i.tableH[1]:St(cs(u.value,cs(a.tableH,34))-L*H.table/4,i.tableH);u.value=Math.round(oe)+"%",v.value=!0}else D==="shell"&&A()&&(m.value=q?L<0?i.shellH[0]:i.shellH[1]:Math.round(St(m.value+L*H.shellH,i.shellH)),x.value=!0);d(),p()}}function M(D,L){const q=L.key;let oe=0;if(D==="table"||D==="shell"?q==="ArrowUp"?oe=-1:q==="ArrowDown"&&(oe=1):q==="ArrowLeft"?oe=-1:q==="ArrowRight"&&(oe=1),oe){L.preventDefault(),F(D,oe);return}(q==="Home"||q==="End")&&(L.preventDefault(),F(D,q==="Home"?-1:1,!0))}let U=null;return vt(()=>{k()&&d(),n&&typeof n.on=="function"&&(U=n.on("resetLayout",S))}),Ft(()=>{try{U&&U()}catch{}try{z()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:g,shellH:m,customized:v,resizing:P,startFacetResize:ee,startRailResize:ge,startTableResize:j,startShellResize:J,startResize:G,reset:S,applyVars:d,stepResize:F,onResizeKeydown:M}}const gy=".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))}",hy=["value","placeholder","aria-label"],qu=os({__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 n=e,o=t,r=re(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(te(),ne("div",{class:"search-box",style:lt(r.value)},[i[0]||(i[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,hy)],4))}},[["styles",[gy]]]),my=Zn&&Zn.tagName.toUpperCase()==="SCRIPT"&&Zn.src||new URL("research-dashboard.js",document.baseURI).href,On=e=>String(e||"").trim().replace(/\/+$/,"");function Hu(){try{const t=String(my||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function by(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return On(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return On(n)}return On(Hu()||"")}function _y(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const o=On(t);if(/^https?:\/\//i.test(o)||o.startsWith("/"))return o}const n=On((e==null?void 0:e.treeBase)||"")||On(Hu()||"");if(n)try{const o=typeof document<"u"?document.baseURI:void 0;return On(new URL(n+"/../assets",o).href)}catch{return On(n.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function yy({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=by(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const vy=["title","aria-label","disabled"],Ua={__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 It(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -762,17 +762,17 @@ grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) var(--rd-map-h,340px) auto; } .rd-shell.rd-page-scroll.rd-table-collapsed{ grid-template-rows: var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) - calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } + calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)) var(--table-bar-h,30px); } .rd-shell.rd-page-scroll.rd-table-collapsed > [data-region="map"]{ - height:calc(var(--rd-shell-h, 582px) - var(--table-bar-h,30px)); } + height:calc(var(--rd-shell-h, 562px) - var(--table-bar-h,30px)); } .rd-shell.rd-page-scroll > [data-region="map"]{ height:var(--rd-map-h, 340px); overflow:hidden; } .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-shell-h, 582px) - var(--rd-map-h, 340px) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } + max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 562px) - var(--rd-map-h, 340px) - 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-shell-h, 582px) + 1px); } + max-height:calc(var(--rd-shell-h, 562px) + 1px); } :host([data-page-scroll="true"]){ height:auto; min-height:0; } .rd-shell.rd-narrow{ grid-template-columns:1fr; grid-template-rows:var(--rd-topbar-h,38px) auto var(--rd-stats-h,22px) minmax(0,1fr) 46px; grid-template-areas:"topbar" "filters" "stats" "body" "seg"; } diff --git a/public/doxa-maps/research-dashboard/research-dashboard/index.html b/public/doxa-maps/research-dashboard/research-dashboard/index.html index b74686922..e4b2d80b3 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard/index.html +++ b/public/doxa-maps/research-dashboard/research-dashboard/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":21,"profileCount":32,"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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH","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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH\" 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-LcTqxsi0hgbx7m3gsJQwpYSZkCHP1KDLkwUmBknrOBo6vvPxS10MhozDcVCdCwMG","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-LcTqxsi0hgbx7m3gsJQwpYSZkCHP1KDLkwUmBknrOBo6vvPxS10MhozDcVCdCwMG\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q","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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55","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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-RwMGtLXZFtctic8xn5T2NZgovHMoiebxlDlXF6ywWqYIaei+Dr6Ujt+Zuf0HoS7X","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-RwMGtLXZFtctic8xn5T2NZgovHMoiebxlDlXF6ywWqYIaei+Dr6Ujt+Zuf0HoS7X\" 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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D","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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-rX8Z6H4/pnGt+1GrwGQRCooJ21TL4dQE7JZBD19mV0ow7bdagmo9TS0qbVtYrbx5","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-rX8Z6H4/pnGt+1GrwGQRCooJ21TL4dQE7JZBD19mV0ow7bdagmo9TS0qbVtYrbx5\" 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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+","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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X","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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE","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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-KqXR+HLamYnXTwmZ0Cxxz/0OP6mS8hkwu0GPsVsZ2CydWAUtNTl7yNZkQMm0BKPE\" 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-ktuMhVzpB05It1q3/X0mtY6H9bbjBSeamFjKx0BoQu1DuoNXNZBtDNs9itrbcHPG","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-ktuMhVzpB05It1q3/X0mtY6H9bbjBSeamFjKx0BoQu1DuoNXNZBtDNs9itrbcHPG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr","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-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr\" 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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-9/hF/6WuV7HVDQuZS1MbAOJCtvh+RsNVEcRoPBTbfTn8SUNYnW2A46OY8EXcznsO","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-9/hF/6WuV7HVDQuZS1MbAOJCtvh+RsNVEcRoPBTbfTn8SUNYnW2A46OY8EXcznsO\" 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-K7QdQDF5WffVlrlBuvJDUzH7wXLdXUhAQMjgB+svavqQimYzD9O4Jq/zanhiFjhG","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-K7QdQDF5WffVlrlBuvJDUzH7wXLdXUhAQMjgB+svavqQimYzD9O4Jq/zanhiFjhG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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": [ { @@ -193,7 +193,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-Cxz3IYNCaS4mySFmoH5wbVt8CKCDx6lmMDmgJcqPbj1g3vsZRDcoc2j7GsGCnrXZ", + "integrity": "sha384-RwMGtLXZFtctic8xn5T2NZgovHMoiebxlDlXF6ywWqYIaei+Dr6Ujt+Zuf0HoS7X", "elements": [ "dashboard-plus-grid" ], @@ -213,7 +213,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -680,7 +680,7 @@ "bundle": "people-groups-grid", "scriptUrl": "./people-groups-grid/people-groups-grid.js", "output": "doxa-maps/people-groups-grid/people-groups-grid.js", - "integrity": "sha384-SKWGRiLzac7kgXqwKmZ6zztgnwonaWQuelRXos+pToKjq9s7H1DgpKb/t+4zVsIq", + "integrity": "sha384-ktuMhVzpB05It1q3/X0mtY6H9bbjBSeamFjKx0BoQu1DuoNXNZBtDNs9itrbcHPG", "elements": [ "people-groups-grid" ], @@ -696,7 +696,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -878,7 +878,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-DKCSj4V1+kZlJVOueTMVpDvbJEwExTr8HgLq+YiX+vMiaCmXRDsTfVdseKMRJ+Dw", + "integrity": "sha384-9/hF/6WuV7HVDQuZS1MbAOJCtvh+RsNVEcRoPBTbfTn8SUNYnW2A46OY8EXcznsO", "elements": [ "research-dashboard-map" ], @@ -894,7 +894,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/people-groups-grid/people-groups-grid.js b/public/doxa-maps/people-groups-grid/people-groups-grid.js index dee5c5dd2..b8907f17d 100644 --- a/public/doxa-maps/people-groups-grid/people-groups-grid.js +++ b/public/doxa-maps/people-groups-grid/people-groups-grid.js @@ -2,19 +2,19 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Mn(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const Z={},_e=[],Ft=()=>{},xo=()=>!1,Ye=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Xe=t=>t.startsWith("onUpdate:"),st=Object.assign,Ln=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},hi=Object.prototype.hasOwnProperty,W=(t,e)=>hi.call(t,e),I=Array.isArray,re=t=>Te(t)==="[object Map]",Ze=t=>Te(t)==="[object Set]",ko=t=>Te(t)==="[object Date]",M=t=>typeof t=="function",nt=t=>typeof t=="string",Ht=t=>typeof t=="symbol",X=t=>t!==null&&typeof t=="object",wo=t=>(X(t)||M(t))&&M(t.then)&&M(t.catch),Ao=Object.prototype.toString,Te=t=>Ao.call(t),pi=t=>Te(t).slice(8,-1),Qe=t=>Te(t)==="[object Object]",zn=t=>nt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ee=Mn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tn=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},bi=/-\w/g,Ct=tn(t=>t.replace(bi,e=>e.slice(1).toUpperCase())),mi=/\B([A-Z])/g,Mt=tn(t=>t.replace(mi,"-$1").toLowerCase()),So=tn(t=>t.charAt(0).toUpperCase()+t.slice(1)),Pn=tn(t=>t?`on${So(t)}`:""),Kt=(t,e)=>!Object.is(t,e),On=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:o,value:n})},_i=t=>{const e=parseFloat(t);return isNaN(e)?t:e},No=t=>{const e=nt(t)?Number(t):NaN;return isNaN(e)?t:e};let To;const en=()=>To||(To=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function je(t){if(I(t)){const e={};for(let n=0;n{if(n){const o=n.split(yi);o.length>1&&(e[o[0].trim()]=o[1].trim())}}),e}function nn(t){let e="";if(nt(t))e=t;else if(I(t))for(let n=0;n!!(t&&t.__v_isRef===!0),rt=t=>nt(t)?t:t==null?"":I(t)||X(t)&&(t.toString===Ao||!M(t.toString))?qo(t)?rt(t.value):JSON.stringify(t,Io,2):String(t),Io=(t,e)=>qo(e)?Io(t,e.value):re(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[o,s],i)=>(n[Dn(o,i)+" =>"]=s,n),{})}:Ze(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>Dn(n))}:Ht(e)?Dn(e):X(e)&&!I(e)&&!Qe(e)?String(e):e,Dn=(t,e="")=>{var n;return Ht(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/** +**/function Mn(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const Z={},_e=[],Ft=()=>{},xo=()=>!1,Ye=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),Xe=t=>t.startsWith("onUpdate:"),st=Object.assign,Ln=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},pi=Object.prototype.hasOwnProperty,W=(t,e)=>pi.call(t,e),I=Array.isArray,re=t=>Te(t)==="[object Map]",Ze=t=>Te(t)==="[object Set]",ko=t=>Te(t)==="[object Date]",M=t=>typeof t=="function",nt=t=>typeof t=="string",Ht=t=>typeof t=="symbol",X=t=>t!==null&&typeof t=="object",wo=t=>(X(t)||M(t))&&M(t.then)&&M(t.catch),Ao=Object.prototype.toString,Te=t=>Ao.call(t),bi=t=>Te(t).slice(8,-1),Qe=t=>Te(t)==="[object Object]",zn=t=>nt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ee=Mn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tn=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},mi=/-\w/g,Ct=tn(t=>t.replace(mi,e=>e.slice(1).toUpperCase())),_i=/\B([A-Z])/g,Mt=tn(t=>t.replace(_i,"-$1").toLowerCase()),So=tn(t=>t.charAt(0).toUpperCase()+t.slice(1)),Pn=tn(t=>t?`on${So(t)}`:""),Kt=(t,e)=>!Object.is(t,e),On=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:o,value:n})},vi=t=>{const e=parseFloat(t);return isNaN(e)?t:e},No=t=>{const e=nt(t)?Number(t):NaN;return isNaN(e)?t:e};let To;const en=()=>To||(To=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function je(t){if(I(t)){const e={};for(let n=0;n{if(n){const o=n.split(xi);o.length>1&&(e[o[0].trim()]=o[1].trim())}}),e}function nn(t){let e="";if(nt(t))e=t;else if(I(t))for(let n=0;n!!(t&&t.__v_isRef===!0),rt=t=>nt(t)?t:t==null?"":I(t)||X(t)&&(t.toString===Ao||!M(t.toString))?qo(t)?rt(t.value):JSON.stringify(t,Io,2):String(t),Io=(t,e)=>qo(e)?Io(t,e.value):re(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[o,s],i)=>(n[Dn(o,i)+" =>"]=s,n),{})}:Ze(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>Dn(n))}:Ht(e)?Dn(e):X(e)&&!I(e)&&!Qe(e)?String(e):e,Dn=(t,e="")=>{var n;return Ht(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ut;class Si{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&ut&&(ut.active?(this.parent=ut,this.index=(ut.scopes||(ut.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes){const o=this.scopes.slice();for(e=0,n=o.length;e0&&--this._on===0){if(ut===this)ut=this.prevScope;else{let e=ut;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Ie){let e=Ie;for(Ie=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;qe;){let e=qe;for(qe=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(o){t||(t=o)}e=n}}if(t)throw t}function Po(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Oo(t){let e,n=t.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),$n(o),Ni(o)):e=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}t.deps=e,t.depsTail=n}function Kn(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Do(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Do(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Me)||(t.globalVersion=Me,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Kn(t))))return;t.flags|=2;const e=t.dep,n=Q,o=Pt;Q=t,Pt=!0;try{Po(t);const s=t.fn(t._value);(e.version===0||Kt(s,t._value))&&(t.flags|=128,t._value=s,e.version++)}catch(s){throw e.version++,s}finally{Q=n,Pt=o,Oo(t),t.flags&=-3}}function $n(t,e=!1){const{dep:n,prevSub:o,nextSub:s}=t;if(o&&(o.nextSub=s,t.prevSub=void 0),s&&(s.prevSub=o,t.nextSub=void 0),n.subs===t&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)$n(i,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ni(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let Pt=!0;const Ro=[];function $t(){Ro.push(Pt),Pt=!1}function Ut(){const t=Ro.pop();Pt=t===void 0?!0:t}function Fo(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=Q;Q=void 0;try{e()}finally{Q=n}}}let Me=0;class Ti{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Un{constructor(e){this.computed=e,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(e){if(!Q||!Pt||Q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Q)n=this.activeLink=new Ti(Q,this),Q.deps?(n.prevDep=Q.depsTail,Q.depsTail.nextDep=n,Q.depsTail=n):Q.deps=Q.depsTail=n,Ho(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Q.depsTail,n.nextDep=void 0,Q.depsTail.nextDep=n,Q.depsTail=n,Q.deps===n&&(Q.deps=o)}return n}trigger(e){this.version++,Me++,this.notify(e)}notify(e){Fn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Hn()}}}function Ho(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let o=e.deps;o;o=o.nextDep)Ho(o)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const Bn=new WeakMap,fe=Symbol(""),Vn=Symbol(""),Le=Symbol("");function pt(t,e,n){if(Pt&&Q){let o=Bn.get(t);o||Bn.set(t,o=new Map);let s=o.get(n);s||(o.set(n,s=new Un),s.map=o,s.key=n),s.track()}}function Xt(t,e,n,o,s,i){const r=Bn.get(t);if(!r){Me++;return}const a=l=>{l&&l.trigger()};if(Fn(),e==="clear")r.forEach(a);else{const l=I(t),h=l&&zn(n);if(l&&n==="length"){const f=Number(o);r.forEach((b,w)=>{(w==="length"||w===Le||!Ht(w)&&w>=f)&&a(b)})}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),h&&a(r.get(Le)),e){case"add":l?h&&a(r.get("length")):(a(r.get(fe)),re(t)&&a(r.get(Vn)));break;case"delete":l||(a(r.get(fe)),re(t)&&a(r.get(Vn)));break;case"set":re(t)&&a(r.get(fe));break}}Hn()}function ve(t){const e=V(t);return e===t?e:(pt(e,"iterate",Le),Lt(t)?e:e.map(Ot))}function sn(t){return pt(t=V(t),"iterate",Le),t}function Bt(t,e){return Qt(t)?ye(de(t)?Ot(e):e):Ot(e)}const Ei={__proto__:null,[Symbol.iterator](){return Wn(this,Symbol.iterator,t=>Bt(this,t))},concat(...t){return ve(this).concat(...t.map(e=>I(e)?ve(e):e))},entries(){return Wn(this,"entries",t=>(t[1]=Bt(this,t[1]),t))},every(t,e){return Zt(this,"every",t,e,void 0,arguments)},filter(t,e){return Zt(this,"filter",t,e,n=>n.map(o=>Bt(this,o)),arguments)},find(t,e){return Zt(this,"find",t,e,n=>Bt(this,n),arguments)},findIndex(t,e){return Zt(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Zt(this,"findLast",t,e,n=>Bt(this,n),arguments)},findLastIndex(t,e){return Zt(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Zt(this,"forEach",t,e,void 0,arguments)},includes(...t){return Gn(this,"includes",t)},indexOf(...t){return Gn(this,"indexOf",t)},join(t){return ve(this).join(t)},lastIndexOf(...t){return Gn(this,"lastIndexOf",t)},map(t,e){return Zt(this,"map",t,e,void 0,arguments)},pop(){return ze(this,"pop")},push(...t){return ze(this,"push",t)},reduce(t,...e){return Ko(this,"reduce",t,e)},reduceRight(t,...e){return Ko(this,"reduceRight",t,e)},shift(){return ze(this,"shift")},some(t,e){return Zt(this,"some",t,e,void 0,arguments)},splice(...t){return ze(this,"splice",t)},toReversed(){return ve(this).toReversed()},toSorted(t){return ve(this).toSorted(t)},toSpliced(...t){return ve(this).toSpliced(...t)},unshift(...t){return ze(this,"unshift",t)},values(){return Wn(this,"values",t=>Bt(this,t))}};function Wn(t,e,n){const o=sn(t),s=o[e]();return o!==t&&!Lt(t)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const ji=Array.prototype;function Zt(t,e,n,o,s,i){const r=sn(t),a=r!==t&&!Lt(t),l=r[e];if(l!==ji[e]){const b=l.apply(t,i);return a?Ot(b):b}let h=n;r!==t&&(a?h=function(b,w){return n.call(this,Bt(t,b),w,t)}:n.length>2&&(h=function(b,w){return n.call(this,b,w,t)}));const f=l.call(r,h,o);return a&&s?s(f):f}function Ko(t,e,n,o){const s=sn(t),i=s!==t&&!Lt(t);let r=n,a=!1;s!==t&&(i?(a=o.length===0,r=function(h,f,b){return a&&(a=!1,h=Bt(t,h)),n.call(this,h,Bt(t,f),b,t)}):n.length>3&&(r=function(h,f,b){return n.call(this,h,f,b,t)}));const l=s[e](r,...o);return a?Bt(t,l):l}function Gn(t,e,n){const o=V(t);pt(o,"iterate",Le);const s=o[e](...n);return(s===-1||s===!1)&&Zn(n[0])?(n[0]=V(n[0]),o[e](...n)):s}function ze(t,e,n=[]){$t(),Fn();const o=V(t)[e].apply(t,n);return Hn(),Ut(),o}const qi=Mn("__proto__,__v_isRef,__isVue"),$o=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ht));function Ii(t){Ht(t)||(t=String(t));const e=V(this);return pt(e,"has",t),e.hasOwnProperty(t)}class Uo{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,o){if(n==="__v_skip")return e.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(s?i?Yo:Jo:i?Go:Wo).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(o)?e:void 0;const r=I(e);if(!s){let l;if(r&&(l=Ei[n]))return l;if(n==="hasOwnProperty")return Ii}const a=Reflect.get(e,n,ft(e)?e:o);if((Ht(n)?$o.has(n):qi(n))||(s||pt(e,"get",n),i))return a;if(ft(a)){const l=r&&zn(n)?a:a.value;return s&&X(l)?Xn(l):l}return X(a)?s?Xn(a):Yn(a):a}}class Bo extends Uo{constructor(e=!1){super(!1,e)}set(e,n,o,s){let i=e[n];const r=I(e)&&zn(n);if(!this._isShallow){const h=Qt(i);if(!Lt(o)&&!Qt(o)&&(i=V(i),o=V(o)),!r&&ft(i)&&!ft(o))return h||(i.value=o),!0}const a=r?Number(n)t,rn=t=>Reflect.getPrototypeOf(t);function Oi(t,e,n){return function(...o){const s=this.__v_raw,i=V(s),r=re(i),a=t==="entries"||t===Symbol.iterator&&r,l=t==="keys"&&r,h=s[t](...o),f=n?Jn:e?ye:Ot;return!e&&pt(i,"iterate",l?Vn:fe),st(Object.create(h),{next(){const{value:b,done:w}=h.next();return w?{value:b,done:w}:{value:a?[f(b[0]),f(b[1])]:f(b),done:w}}})}}function an(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Di(t,e){const n={get(s){const i=this.__v_raw,r=V(i),a=V(s);t||(Kt(s,a)&&pt(r,"get",s),pt(r,"get",a));const{has:l}=rn(r),h=e?Jn:t?ye:Ot;if(l.call(r,s))return h(i.get(s));if(l.call(r,a))return h(i.get(a));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!t&&pt(V(s),"iterate",fe),s.size},has(s){const i=this.__v_raw,r=V(i),a=V(s);return t||(Kt(s,a)&&pt(r,"has",s),pt(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,l=V(a),h=e?Jn:t?ye:Ot;return!t&&pt(l,"iterate",fe),a.forEach((f,b)=>s.call(i,h(f),h(b),r))}};return st(n,t?{add:an("add"),set:an("set"),delete:an("delete"),clear:an("clear")}:{add(s){const i=V(this),r=rn(i),a=V(s),l=!e&&!Lt(s)&&!Qt(s)?a:s;return r.has.call(i,l)||Kt(s,l)&&r.has.call(i,s)||Kt(a,l)&&r.has.call(i,a)||(i.add(l),Xt(i,"add",l,l)),this},set(s,i){!e&&!Lt(i)&&!Qt(i)&&(i=V(i));const r=V(this),{has:a,get:l}=rn(r);let h=a.call(r,s);h||(s=V(s),h=a.call(r,s));const f=l.call(r,s);return r.set(s,i),h?Kt(i,f)&&Xt(r,"set",s,i):Xt(r,"add",s,i),this},delete(s){const i=V(this),{has:r,get:a}=rn(i);let l=r.call(i,s);l||(s=V(s),l=r.call(i,s)),a&&a.call(i,s);const h=i.delete(s);return l&&Xt(i,"delete",s,void 0),h},clear(){const s=V(this),i=s.size!==0,r=s.clear();return i&&Xt(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Oi(s,t,e)}),n}function ln(t,e){const n=Di(t,e);return(o,s,i)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?o:Reflect.get(W(n,s)&&s in o?n:o,s,i)}const Ri={get:ln(!1,!1)},Fi={get:ln(!1,!0)},Hi={get:ln(!0,!1)},Ki={get:ln(!0,!0)},Wo=new WeakMap,Go=new WeakMap,Jo=new WeakMap,Yo=new WeakMap;function $i(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Yn(t){return Qt(t)?t:cn(t,!1,Mi,Ri,Wo)}function Ui(t){return cn(t,!1,zi,Fi,Go)}function Xn(t){return cn(t,!0,Li,Hi,Jo)}function Rl(t){return cn(t,!0,Pi,Ki,Yo)}function cn(t,e,n,o,s){if(!X(t)||t.__v_raw&&!(e&&t.__v_isReactive)||t.__v_skip||!Object.isExtensible(t))return t;const i=s.get(t);if(i)return i;const r=$i(pi(t));if(r===0)return t;const a=new Proxy(t,r===2?o:n);return s.set(t,a),a}function de(t){return Qt(t)?de(t.__v_raw):!!(t&&t.__v_isReactive)}function Qt(t){return!!(t&&t.__v_isReadonly)}function Lt(t){return!!(t&&t.__v_isShallow)}function Zn(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function Bi(t){return!W(t,"__v_skip")&&Object.isExtensible(t)&&Co(t,"__v_skip",!0),t}const Ot=t=>X(t)?Yn(t):t,ye=t=>X(t)?Xn(t):t;function ft(t){return t?t.__v_isRef===!0:!1}function dt(t){return Vi(t,!1)}function Vi(t,e){return ft(t)?t:new Wi(t,e)}class Wi{constructor(e,n){this.dep=new Un,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:V(e),this._value=n?e:Ot(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,o=this.__v_isShallow||Lt(e)||Qt(e);e=o?e:V(e),Kt(e,n)&&(this._rawValue=e,this._value=o?e:Ot(e),this.dep.trigger())}}function Qn(t){return ft(t)?t.value:t}const Gi={get:(t,e,n)=>e==="__v_raw"?t:Qn(Reflect.get(t,e,n)),set:(t,e,n,o)=>{const s=t[e];return ft(s)&&!ft(n)?(s.value=n,!0):Reflect.set(t,e,n,o)}};function Xo(t){return de(t)?t:new Proxy(t,Gi)}class Ji{constructor(e,n,o){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Un(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Me-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return zo(this,!0),!0}get value(){const e=this.dep.track();return Do(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Yi(t,e,n=!1){let o,s;return M(t)?o=t:(o=t.get,s=t.set),new Ji(o,s,n)}const un={},fn=new WeakMap;let ge;function Xi(t,e=!1,n=ge){if(n){let o=fn.get(n);o||fn.set(n,o=[]),o.push(t)}}function Zi(t,e,n=Z){const{immediate:o,deep:s,once:i,scheduler:r,augmentJob:a,call:l}=n,h=E=>s?E:Lt(E)||s===!1||s===0?ae(E,1):ae(E);let f,b,w,A,L=!1,j=!1;if(ft(t)?(b=()=>t.value,L=Lt(t)):de(t)?(b=()=>h(t),L=!0):I(t)?(j=!0,L=t.some(E=>de(E)||Lt(E)),b=()=>t.map(E=>{if(ft(E))return E.value;if(de(E))return h(E);if(M(E))return l?l(E,2):E()})):M(t)?e?b=l?()=>l(t,2):t:b=()=>{if(w){$t();try{w()}finally{Ut()}}const E=ge;ge=f;try{return l?l(t,3,[A]):t(A)}finally{ge=E}}:b=Ft,e&&s){const E=b,tt=s===!0?1/0:s;b=()=>ae(E(),tt)}const R=Ci(),F=()=>{f.stop(),R&&R.active&&Ln(R.effects,f)};if(i&&e){const E=e;e=(...tt)=>{const ot=E(...tt);return F(),ot}}let D=j?new Array(t.length).fill(un):un;const P=E=>{if(!(!(f.flags&1)||!f.dirty&&!E))if(e){const tt=f.run();if(E||s||L||(j?tt.some((ot,gt)=>Kt(ot,D[gt])):Kt(tt,D))){w&&w();const ot=ge;ge=f;try{const gt=[tt,D===un?void 0:j&&D[0]===un?[]:D,A];D=tt,l?l(e,3,gt):e(...gt)}finally{ge=ot}}}else f.run()};return a&&a(P),f=new Mo(b),f.scheduler=r?()=>r(P,!1):P,A=E=>Xi(E,!1,f),w=f.onStop=()=>{const E=fn.get(f);if(E){if(l)l(E,4);else for(const tt of E)tt();fn.delete(f)}},e?o?P(!0):D=f.run():r?r(P.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function ae(t,e=1/0,n){if(e<=0||!X(t)||t.__v_skip||(n=n||new Map,(n.get(t)||0)>=e))return t;if(n.set(t,e),e--,ft(t))ae(t.value,e,n);else if(I(t))for(let o=0;o{ae(o,e,n)});else if(Qe(t)){for(const o in t)ae(t[o],e,n);for(const o of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,o)&&ae(t[o],e,n)}return t}/** +**/let ut;class Ci{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&ut&&(ut.active?(this.parent=ut,this.index=(ut.scopes||(ut.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes){const o=this.scopes.slice();for(e=0,n=o.length;e0&&--this._on===0){if(ut===this)ut=this.prevScope;else{let e=ut;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Ie){let e=Ie;for(Ie=void 0;e;){const n=e.next;e.next=void 0,e.flags&=-9,e=n}}let t;for(;qe;){let e=qe;for(qe=void 0;e;){const n=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(o){t||(t=o)}e=n}}if(t)throw t}function Po(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Oo(t){let e,n=t.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),$n(o),Ti(o)):e=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}t.deps=e,t.depsTail=n}function Kn(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(Do(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function Do(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===Me)||(t.globalVersion=Me,!t.isSSR&&t.flags&128&&(!t.deps&&!t._dirty||!Kn(t))))return;t.flags|=2;const e=t.dep,n=Q,o=Pt;Q=t,Pt=!0;try{Po(t);const s=t.fn(t._value);(e.version===0||Kt(s,t._value))&&(t.flags|=128,t._value=s,e.version++)}catch(s){throw e.version++,s}finally{Q=n,Pt=o,Oo(t),t.flags&=-3}}function $n(t,e=!1){const{dep:n,prevSub:o,nextSub:s}=t;if(o&&(o.nextSub=s,t.prevSub=void 0),s&&(s.prevSub=o,t.nextSub=void 0),n.subs===t&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)$n(i,!0)}!e&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ti(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let Pt=!0;const Ro=[];function $t(){Ro.push(Pt),Pt=!1}function Ut(){const t=Ro.pop();Pt=t===void 0?!0:t}function Fo(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=Q;Q=void 0;try{e()}finally{Q=n}}}let Me=0;class Ei{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Un{constructor(e){this.computed=e,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(e){if(!Q||!Pt||Q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Q)n=this.activeLink=new Ei(Q,this),Q.deps?(n.prevDep=Q.depsTail,Q.depsTail.nextDep=n,Q.depsTail=n):Q.deps=Q.depsTail=n,Ho(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Q.depsTail,n.nextDep=void 0,Q.depsTail.nextDep=n,Q.depsTail=n,Q.deps===n&&(Q.deps=o)}return n}trigger(e){this.version++,Me++,this.notify(e)}notify(e){Fn();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Hn()}}}function Ho(t){if(t.dep.sc++,t.sub.flags&4){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let o=e.deps;o;o=o.nextDep)Ho(o)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}}const Bn=new WeakMap,fe=Symbol(""),Vn=Symbol(""),Le=Symbol("");function pt(t,e,n){if(Pt&&Q){let o=Bn.get(t);o||Bn.set(t,o=new Map);let s=o.get(n);s||(o.set(n,s=new Un),s.map=o,s.key=n),s.track()}}function Xt(t,e,n,o,s,i){const r=Bn.get(t);if(!r){Me++;return}const a=l=>{l&&l.trigger()};if(Fn(),e==="clear")r.forEach(a);else{const l=I(t),h=l&&zn(n);if(l&&n==="length"){const f=Number(o);r.forEach((b,w)=>{(w==="length"||w===Le||!Ht(w)&&w>=f)&&a(b)})}else switch((n!==void 0||r.has(void 0))&&a(r.get(n)),h&&a(r.get(Le)),e){case"add":l?h&&a(r.get("length")):(a(r.get(fe)),re(t)&&a(r.get(Vn)));break;case"delete":l||(a(r.get(fe)),re(t)&&a(r.get(Vn)));break;case"set":re(t)&&a(r.get(fe));break}}Hn()}function ve(t){const e=V(t);return e===t?e:(pt(e,"iterate",Le),Lt(t)?e:e.map(Ot))}function sn(t){return pt(t=V(t),"iterate",Le),t}function Bt(t,e){return Qt(t)?ye(de(t)?Ot(e):e):Ot(e)}const ji={__proto__:null,[Symbol.iterator](){return Wn(this,Symbol.iterator,t=>Bt(this,t))},concat(...t){return ve(this).concat(...t.map(e=>I(e)?ve(e):e))},entries(){return Wn(this,"entries",t=>(t[1]=Bt(this,t[1]),t))},every(t,e){return Zt(this,"every",t,e,void 0,arguments)},filter(t,e){return Zt(this,"filter",t,e,n=>n.map(o=>Bt(this,o)),arguments)},find(t,e){return Zt(this,"find",t,e,n=>Bt(this,n),arguments)},findIndex(t,e){return Zt(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Zt(this,"findLast",t,e,n=>Bt(this,n),arguments)},findLastIndex(t,e){return Zt(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Zt(this,"forEach",t,e,void 0,arguments)},includes(...t){return Gn(this,"includes",t)},indexOf(...t){return Gn(this,"indexOf",t)},join(t){return ve(this).join(t)},lastIndexOf(...t){return Gn(this,"lastIndexOf",t)},map(t,e){return Zt(this,"map",t,e,void 0,arguments)},pop(){return ze(this,"pop")},push(...t){return ze(this,"push",t)},reduce(t,...e){return Ko(this,"reduce",t,e)},reduceRight(t,...e){return Ko(this,"reduceRight",t,e)},shift(){return ze(this,"shift")},some(t,e){return Zt(this,"some",t,e,void 0,arguments)},splice(...t){return ze(this,"splice",t)},toReversed(){return ve(this).toReversed()},toSorted(t){return ve(this).toSorted(t)},toSpliced(...t){return ve(this).toSpliced(...t)},unshift(...t){return ze(this,"unshift",t)},values(){return Wn(this,"values",t=>Bt(this,t))}};function Wn(t,e,n){const o=sn(t),s=o[e]();return o!==t&&!Lt(t)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const qi=Array.prototype;function Zt(t,e,n,o,s,i){const r=sn(t),a=r!==t&&!Lt(t),l=r[e];if(l!==qi[e]){const b=l.apply(t,i);return a?Ot(b):b}let h=n;r!==t&&(a?h=function(b,w){return n.call(this,Bt(t,b),w,t)}:n.length>2&&(h=function(b,w){return n.call(this,b,w,t)}));const f=l.call(r,h,o);return a&&s?s(f):f}function Ko(t,e,n,o){const s=sn(t),i=s!==t&&!Lt(t);let r=n,a=!1;s!==t&&(i?(a=o.length===0,r=function(h,f,b){return a&&(a=!1,h=Bt(t,h)),n.call(this,h,Bt(t,f),b,t)}):n.length>3&&(r=function(h,f,b){return n.call(this,h,f,b,t)}));const l=s[e](r,...o);return a?Bt(t,l):l}function Gn(t,e,n){const o=V(t);pt(o,"iterate",Le);const s=o[e](...n);return(s===-1||s===!1)&&Zn(n[0])?(n[0]=V(n[0]),o[e](...n)):s}function ze(t,e,n=[]){$t(),Fn();const o=V(t)[e].apply(t,n);return Hn(),Ut(),o}const Ii=Mn("__proto__,__v_isRef,__isVue"),$o=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ht));function Mi(t){Ht(t)||(t=String(t));const e=V(this);return pt(e,"has",t),e.hasOwnProperty(t)}class Uo{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,o){if(n==="__v_skip")return e.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return o===(s?i?Yo:Jo:i?Go:Wo).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(o)?e:void 0;const r=I(e);if(!s){let l;if(r&&(l=ji[n]))return l;if(n==="hasOwnProperty")return Mi}const a=Reflect.get(e,n,ft(e)?e:o);if((Ht(n)?$o.has(n):Ii(n))||(s||pt(e,"get",n),i))return a;if(ft(a)){const l=r&&zn(n)?a:a.value;return s&&X(l)?Xn(l):l}return X(a)?s?Xn(a):Yn(a):a}}class Bo extends Uo{constructor(e=!1){super(!1,e)}set(e,n,o,s){let i=e[n];const r=I(e)&&zn(n);if(!this._isShallow){const h=Qt(i);if(!Lt(o)&&!Qt(o)&&(i=V(i),o=V(o)),!r&&ft(i)&&!ft(o))return h||(i.value=o),!0}const a=r?Number(n)t,rn=t=>Reflect.getPrototypeOf(t);function Di(t,e,n){return function(...o){const s=this.__v_raw,i=V(s),r=re(i),a=t==="entries"||t===Symbol.iterator&&r,l=t==="keys"&&r,h=s[t](...o),f=n?Jn:e?ye:Ot;return!e&&pt(i,"iterate",l?Vn:fe),st(Object.create(h),{next(){const{value:b,done:w}=h.next();return w?{value:b,done:w}:{value:a?[f(b[0]),f(b[1])]:f(b),done:w}}})}}function an(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Ri(t,e){const n={get(s){const i=this.__v_raw,r=V(i),a=V(s);t||(Kt(s,a)&&pt(r,"get",s),pt(r,"get",a));const{has:l}=rn(r),h=e?Jn:t?ye:Ot;if(l.call(r,s))return h(i.get(s));if(l.call(r,a))return h(i.get(a));i!==r&&i.get(s)},get size(){const s=this.__v_raw;return!t&&pt(V(s),"iterate",fe),s.size},has(s){const i=this.__v_raw,r=V(i),a=V(s);return t||(Kt(s,a)&&pt(r,"has",s),pt(r,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const r=this,a=r.__v_raw,l=V(a),h=e?Jn:t?ye:Ot;return!t&&pt(l,"iterate",fe),a.forEach((f,b)=>s.call(i,h(f),h(b),r))}};return st(n,t?{add:an("add"),set:an("set"),delete:an("delete"),clear:an("clear")}:{add(s){const i=V(this),r=rn(i),a=V(s),l=!e&&!Lt(s)&&!Qt(s)?a:s;return r.has.call(i,l)||Kt(s,l)&&r.has.call(i,s)||Kt(a,l)&&r.has.call(i,a)||(i.add(l),Xt(i,"add",l,l)),this},set(s,i){!e&&!Lt(i)&&!Qt(i)&&(i=V(i));const r=V(this),{has:a,get:l}=rn(r);let h=a.call(r,s);h||(s=V(s),h=a.call(r,s));const f=l.call(r,s);return r.set(s,i),h?Kt(i,f)&&Xt(r,"set",s,i):Xt(r,"add",s,i),this},delete(s){const i=V(this),{has:r,get:a}=rn(i);let l=r.call(i,s);l||(s=V(s),l=r.call(i,s)),a&&a.call(i,s);const h=i.delete(s);return l&&Xt(i,"delete",s,void 0),h},clear(){const s=V(this),i=s.size!==0,r=s.clear();return i&&Xt(s,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Di(s,t,e)}),n}function ln(t,e){const n=Ri(t,e);return(o,s,i)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?o:Reflect.get(W(n,s)&&s in o?n:o,s,i)}const Fi={get:ln(!1,!1)},Hi={get:ln(!1,!0)},Ki={get:ln(!0,!1)},$i={get:ln(!0,!0)},Wo=new WeakMap,Go=new WeakMap,Jo=new WeakMap,Yo=new WeakMap;function Ui(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Yn(t){return Qt(t)?t:cn(t,!1,Li,Fi,Wo)}function Bi(t){return cn(t,!1,Pi,Hi,Go)}function Xn(t){return cn(t,!0,zi,Ki,Jo)}function Rl(t){return cn(t,!0,Oi,$i,Yo)}function cn(t,e,n,o,s){if(!X(t)||t.__v_raw&&!(e&&t.__v_isReactive)||t.__v_skip||!Object.isExtensible(t))return t;const i=s.get(t);if(i)return i;const r=Ui(bi(t));if(r===0)return t;const a=new Proxy(t,r===2?o:n);return s.set(t,a),a}function de(t){return Qt(t)?de(t.__v_raw):!!(t&&t.__v_isReactive)}function Qt(t){return!!(t&&t.__v_isReadonly)}function Lt(t){return!!(t&&t.__v_isShallow)}function Zn(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function Vi(t){return!W(t,"__v_skip")&&Object.isExtensible(t)&&Co(t,"__v_skip",!0),t}const Ot=t=>X(t)?Yn(t):t,ye=t=>X(t)?Xn(t):t;function ft(t){return t?t.__v_isRef===!0:!1}function dt(t){return Wi(t,!1)}function Wi(t,e){return ft(t)?t:new Gi(t,e)}class Gi{constructor(e,n){this.dep=new Un,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?e:V(e),this._value=n?e:Ot(e),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(e){const n=this._rawValue,o=this.__v_isShallow||Lt(e)||Qt(e);e=o?e:V(e),Kt(e,n)&&(this._rawValue=e,this._value=o?e:Ot(e),this.dep.trigger())}}function Qn(t){return ft(t)?t.value:t}const Ji={get:(t,e,n)=>e==="__v_raw"?t:Qn(Reflect.get(t,e,n)),set:(t,e,n,o)=>{const s=t[e];return ft(s)&&!ft(n)?(s.value=n,!0):Reflect.set(t,e,n,o)}};function Xo(t){return de(t)?t:new Proxy(t,Ji)}class Yi{constructor(e,n,o){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Un(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Me-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return zo(this,!0),!0}get value(){const e=this.dep.track();return Do(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function Xi(t,e,n=!1){let o,s;return M(t)?o=t:(o=t.get,s=t.set),new Yi(o,s,n)}const un={},fn=new WeakMap;let ge;function Zi(t,e=!1,n=ge){if(n){let o=fn.get(n);o||fn.set(n,o=[]),o.push(t)}}function Qi(t,e,n=Z){const{immediate:o,deep:s,once:i,scheduler:r,augmentJob:a,call:l}=n,h=E=>s?E:Lt(E)||s===!1||s===0?ae(E,1):ae(E);let f,b,w,A,L=!1,j=!1;if(ft(t)?(b=()=>t.value,L=Lt(t)):de(t)?(b=()=>h(t),L=!0):I(t)?(j=!0,L=t.some(E=>de(E)||Lt(E)),b=()=>t.map(E=>{if(ft(E))return E.value;if(de(E))return h(E);if(M(E))return l?l(E,2):E()})):M(t)?e?b=l?()=>l(t,2):t:b=()=>{if(w){$t();try{w()}finally{Ut()}}const E=ge;ge=f;try{return l?l(t,3,[A]):t(A)}finally{ge=E}}:b=Ft,e&&s){const E=b,tt=s===!0?1/0:s;b=()=>ae(E(),tt)}const R=Ni(),F=()=>{f.stop(),R&&R.active&&Ln(R.effects,f)};if(i&&e){const E=e;e=(...tt)=>{const ot=E(...tt);return F(),ot}}let D=j?new Array(t.length).fill(un):un;const P=E=>{if(!(!(f.flags&1)||!f.dirty&&!E))if(e){const tt=f.run();if(E||s||L||(j?tt.some((ot,gt)=>Kt(ot,D[gt])):Kt(tt,D))){w&&w();const ot=ge;ge=f;try{const gt=[tt,D===un?void 0:j&&D[0]===un?[]:D,A];D=tt,l?l(e,3,gt):e(...gt)}finally{ge=ot}}}else f.run()};return a&&a(P),f=new Mo(b),f.scheduler=r?()=>r(P,!1):P,A=E=>Zi(E,!1,f),w=f.onStop=()=>{const E=fn.get(f);if(E){if(l)l(E,4);else for(const tt of E)tt();fn.delete(f)}},e?o?P(!0):D=f.run():r?r(P.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function ae(t,e=1/0,n){if(e<=0||!X(t)||t.__v_skip||(n=n||new Map,(n.get(t)||0)>=e))return t;if(n.set(t,e),e--,ft(t))ae(t.value,e,n);else if(I(t))for(let o=0;o{ae(o,e,n)});else if(Qe(t)){for(const o in t)ae(t[o],e,n);for(const o of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,o)&&ae(t[o],e,n)}return t}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Pe=[];let to=!1;function Fl(t,...e){if(to)return;to=!0,$t();const n=Pe.length?Pe[Pe.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=Qi();if(o)xe(o,n,11,[t+e.map(i=>{var r,a;return(a=(r=i.toString)==null?void 0:r.call(i))!=null?a:JSON.stringify(i)}).join(""),n&&n.proxy,s.map(({vnode:i})=>`at <${Ys(n,i.type)}>`).join(` +**/const Pe=[];let to=!1;function Fl(t,...e){if(to)return;to=!0,$t();const n=Pe.length?Pe[Pe.length-1].component:null,o=n&&n.appContext.config.warnHandler,s=tr();if(o)xe(o,n,11,[t+e.map(i=>{var r,a;return(a=(r=i.toString)==null?void 0:r.call(i))!=null?a:JSON.stringify(i)}).join(""),n&&n.proxy,s.map(({vnode:i})=>`at <${Ys(n,i.type)}>`).join(` `),s]);else{const i=[`[Vue warn]: ${t}`,...e];s.length&&i.push(` -`,...tr(s)),console.warn(...i)}Ut(),to=!1}function Qi(){let t=Pe[Pe.length-1];if(!t)return[];const e=[];for(;t;){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const o=t.component&&t.component.parent;t=o&&o.vnode}return e}function tr(t){const e=[];return t.forEach((n,o)=>{e.push(...o===0?[]:[` -`],...er(n))}),e}function er({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",o=t.component?t.component.parent==null:!1,s=` at <${Ys(t.component,t.type,o)}`,i=">"+n;return t.props?[s,...nr(t.props),i]:[s+i]}function nr(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(o=>{e.push(...Zo(o,t[o]))}),n.length>3&&e.push(" ..."),e}function Zo(t,e,n){return nt(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?n?e:[`${t}=${e}`]:ft(e)?(e=Zo(t,V(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):M(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=V(e),n?e:[`${t}=`,e])}function xe(t,e,n,o){try{return o?t(...o):t()}catch(s){dn(s,e,n)}}function Dt(t,e,n,o){if(M(t)){const s=xe(t,e,n,o);return s&&wo(s)&&s.catch(i=>{dn(i,e,n)}),s}if(I(t)){const s=[];for(let i=0;i>>1,s=yt[o],i=Oe(s);i=Oe(n)?yt.push(t):yt.splice(sr(e),0,t),t.flags|=1,ts()}}function ts(){gn||(gn=Qo.then(os))}function ir(t){if(!I(t))le&&t.id===-1?le.splice(we+1,0,t):t.flags&1||(ke.push(t),t.flags|=1);else for(let e=0;eOe(n)-Oe(o));if(ke.length=0,le){for(let n=0;nt.id==null?t.flags&2?-1:1/0:t.id;function os(t){try{for(Vt=0;Vt{o._d&&Hs(-1);const i=pn(e),r=be.length;let a;try{a=t(...s)}finally{for(let l=be.length;l>r;l--)Fs();pn(i),o._d&&Hs(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function he(t,e,n,o){const s=t.dirs,i=e&&e.dirs;for(let r=0;r1)return n&&M(e)?e.call(o&&o.proxy):e}}const lr=Symbol.for("v-scx"),cr=()=>bn(lr);function mn(t,e,n){return is(t,e,n)}function is(t,e,n=Z){const{immediate:o,deep:s,flush:i,once:r}=n,a=st({},n),l=e&&o||!e&&i!=="post";let h;if(Ve){if(i==="sync"){const A=cr();h=A.__watcherHandles||(A.__watcherHandles=[])}else if(!l){const A=()=>{};return A.stop=Ft,A.resume=Ft,A.pause=Ft,A}}const f=wt;a.call=(A,L,j)=>Dt(A,f,L,j);let b=!1;i==="post"?a.scheduler=A=>{Nt(A,f&&f.suspense)}:i!=="sync"&&(b=!0,a.scheduler=(A,L)=>{L?A():eo(A)}),a.augmentJob=A=>{e&&(A.flags|=4),b&&(A.flags|=2,f&&(A.id=f.uid,A.i=f))};const w=Zi(t,e,a);return Ve&&(h?h.push(w):l&&w()),w}function ur(t,e,n){const o=this.proxy,s=nt(t)?t.includes(".")?rs(o,t):()=>o[t]:t.bind(o,o);let i;M(e)?i=e:(i=e.handler,n=e);const r=Be(this),a=is(s,i.bind(o),n);return r(),a}function rs(t,e){const n=e.split(".");return()=>{let o=t;for(let s=0;st.__isTeleport,no=Symbol("_leaveCb");function dr(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==ee){e=n;break}}return e}function as(t){if(!so(t))return _n(t.type)&&t.children?dr(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:n}=t;if(n){if(e&16)return n[0];if(e&32&&M(n.default))return n.default()}}function oo(t,e){if(t.shapeFlag&6&&t.component){t.transition=e;const n=t.component.subTree;oo(_n(n.type)&&as(n)||n,e)}else t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function gr(t,e){return M(t)?st({name:t.name},e,{setup:t}):t}function ls(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function cs(t,e){let n;return!!((n=Object.getOwnPropertyDescriptor(t,e))&&!n.configurable)}const vn=new WeakMap;function De(t,e,n,o,s=!1){if(I(t)){t.forEach((j,R)=>De(j,e&&(I(e)?e[R]:e),n,o,s));return}if(Re(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&De(t,e,n,o.component.subTree);return}const i=o.shapeFlag&4?po(o.component):o.el,r=s?null:i,{i:a,r:l}=t,h=e&&e.r,f=a.refs===Z?a.refs={}:a.refs,b=a.setupState,w=V(b),A=b===Z?xo:j=>cs(f,j)?!1:W(w,j),L=(j,R)=>!(R&&cs(f,R));if(h!=null&&h!==l){if(us(e),nt(h))f[h]=null,A(h)&&(b[h]=null);else if(ft(h)){const j=e;L(h,j.k)&&(h.value=null),j.k&&(f[j.k]=null)}}if(M(l))xe(l,a,12,[r,f]);else{const j=nt(l),R=ft(l);if(j||R){const F=()=>{if(t.f){const D=j?A(l)?b[l]:f[l]:L()||!t.k?l.value:f[t.k];if(s)I(D)&&Ln(D,i);else if(I(D))D.includes(i)||D.push(i);else if(j)f[l]=[i],A(l)&&(b[l]=f[l]);else{const P=[i];L(l,t.k)&&(l.value=P),t.k&&(f[t.k]=P)}}else j?(f[l]=r,A(l)&&(b[l]=r)):R&&(L(l,t.k)&&(l.value=r),t.k&&(f[t.k]=r))};if(r){const D=()=>{F(),vn.delete(t)};D.id=-1,vn.set(t,D),Nt(D,n)}else us(t),F()}}}function us(t){const e=vn.get(t);e&&(e.flags|=8,vn.delete(t))}en().requestIdleCallback,en().cancelIdleCallback;const Re=t=>!!t.type.__asyncLoader,so=t=>t.type.__isKeepAlive;function hr(t,e){fs(t,"a",e)}function pr(t,e){fs(t,"da",e)}function fs(t,e,n=wt){const o=t.__wdc||(t.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return t()});if(yn(e,o,n),n){let s=n.parent;for(;s&&s.parent;)so(s.parent.vnode)&&br(o,e,n,s),s=s.parent}}function br(t,e,n,o){const s=yn(e,t,o,!0);hs(()=>{Ln(o[e],s)},n)}function yn(t,e,n=wt,o=!1){if(n){const s=n[t]||(n[t]=[]),i=e.__weh||(e.__weh=(...r)=>{$t();const a=Be(n),l=Dt(e,n,t,r);return a(),Ut(),l});return o?s.unshift(i):s.push(i),i}}const te=t=>(e,n=wt)=>{(!Ve||t==="sp")&&yn(t,(...o)=>e(...o),n)},mr=te("bm"),ds=te("m"),_r=te("bu"),vr=te("u"),gs=te("bum"),hs=te("um"),yr=te("sp"),xr=te("rtg"),kr=te("rtc");function wr(t,e=wt){yn("ec",t,e)}const Ar=Symbol.for("v-ndc");function xn(t,e,n,o){let s;const i=n,r=I(t);if(r||nt(t)){const a=r&&de(t);let l=!1,h=!1;a&&(l=!Lt(t),h=Qt(t),t=sn(t)),s=new Array(t.length);for(let f=0,b=t.length;fe(a,l,void 0,i));else{const a=Object.keys(t);s=new Array(a.length);for(let l=0,h=a.length;lt?Ws(t)?po(t):io(t.parent):null,Fe=st(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>io(t.parent),$root:t=>io(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>_s(t),$forceUpdate:t=>t.f||(t.f=()=>{eo(t.update)}),$nextTick:t=>t.n||(t.n=hn.bind(t.proxy)),$watch:t=>ur.bind(t)}),ro=(t,e)=>t!==Z&&!t.__isScriptSetup&&W(t,e),Sr={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:i,accessCache:r,type:a,appContext:l}=t;if(e[0]!=="$"){const w=r[e];if(w!==void 0)switch(w){case 1:return o[e];case 2:return s[e];case 4:return n[e];case 3:return i[e]}else{if(ro(o,e))return r[e]=1,o[e];if(s!==Z&&W(s,e))return r[e]=2,s[e];if(W(i,e))return r[e]=3,i[e];if(n!==Z&&W(n,e))return r[e]=4,n[e];ao&&(r[e]=0)}}const h=Fe[e];let f,b;if(h)return e==="$attrs"&&pt(t.attrs,"get",""),h(t);if((f=a.__cssModules)&&(f=f[e]))return f;if(n!==Z&&W(n,e))return r[e]=4,n[e];if(b=l.config.globalProperties,W(b,e))return b[e]},set({_:t},e,n){const{data:o,setupState:s,ctx:i}=t;return ro(s,e)?(s[e]=n,!0):o!==Z&&W(o,e)?(o[e]=n,!0):W(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(i[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:s,props:i,type:r}},a){let l;return!!(n[a]||t!==Z&&a[0]!=="$"&&W(t,a)||ro(e,a)||W(i,a)||W(o,a)||W(Fe,a)||W(s.config.globalProperties,a)||(l=r.__cssModules)&&l[a])},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:W(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function ps(t){return I(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let ao=!0;function Cr(t){const e=_s(t),n=t.proxy,o=t.ctx;ao=!1,e.beforeCreate&&bs(e.beforeCreate,t,"bc");const{data:s,computed:i,methods:r,watch:a,provide:l,inject:h,created:f,beforeMount:b,mounted:w,beforeUpdate:A,updated:L,activated:j,deactivated:R,beforeDestroy:F,beforeUnmount:D,destroyed:P,unmounted:E,render:tt,renderTracked:ot,renderTriggered:gt,errorCaptured:It,serverPrefetch:q,expose:O,inheritAttrs:J,components:Tt,directives:mt,filters:Yt}=e;if(h&&Nr(h,o,null),r)for(const G in r){const B=r[G];M(B)&&(o[G]=B.bind(n))}if(s){const G=s.call(n,n);X(G)&&(t.data=Yn(G))}if(ao=!0,i)for(const G in i){const B=i[G],ht=M(B)?B.bind(n,n):M(B.get)?B.get.bind(n,n):Ft,zt=!M(B)&&M(B.set)?B.set.bind(n):Ft,Rt=it({get:ht,set:zt});Object.defineProperty(o,G,{enumerable:!0,configurable:!0,get:()=>Rt.value,set:_t=>Rt.value=_t})}if(a)for(const G in a)ms(a[G],o,n,G);if(l){const G=M(l)?l.call(n):l;Reflect.ownKeys(G).forEach(B=>{ar(B,G[B])})}f&&bs(f,t,"c");function ct(G,B){I(B)?B.forEach(ht=>G(ht.bind(n))):B&&G(B.bind(n))}if(ct(mr,b),ct(ds,w),ct(_r,A),ct(vr,L),ct(hr,j),ct(pr,R),ct(wr,It),ct(kr,ot),ct(xr,gt),ct(gs,D),ct(hs,E),ct(yr,q),I(O))if(O.length){const G=t.exposed||(t.exposed={});O.forEach(B=>{Object.defineProperty(G,B,{get:()=>n[B],set:ht=>n[B]=ht,enumerable:!0})})}else t.exposed||(t.exposed={});tt&&t.render===Ft&&(t.render=tt),J!=null&&(t.inheritAttrs=J),Tt&&(t.components=Tt),mt&&(t.directives=mt),q&&ls(t)}function Nr(t,e,n=Ft){I(t)&&(t=lo(t));for(const o in t){const s=t[o];let i;X(s)?"default"in s?i=bn(s.from||o,s.default,!0):i=bn(s.from||o):i=bn(s),ft(i)?Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):e[o]=i}}function bs(t,e,n){Dt(I(t)?t.map(o=>o.bind(e.proxy)):t.bind(e.proxy),e,n)}function ms(t,e,n,o){let s=o.includes(".")?rs(n,o):()=>n[o];if(nt(t)){const i=e[t];M(i)&&mn(s,i)}else if(M(t))mn(s,t.bind(n));else if(X(t))if(I(t))t.forEach(i=>ms(i,e,n,o));else{const i=M(t.handler)?t.handler.bind(n):e[t.handler];M(i)&&mn(s,i,t)}}function _s(t){const e=t.type,{mixins:n,extends:o}=e,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=t.appContext,a=i.get(e);let l;return a?l=a:!s.length&&!n&&!o?l=e:(l={},s.length&&s.forEach(h=>kn(l,h,r,!0)),kn(l,e,r)),X(e)&&i.set(e,l),l}function kn(t,e,n,o=!1){const{mixins:s,extends:i}=e;i&&kn(t,i,n,!0),s&&s.forEach(r=>kn(t,r,n,!0));for(const r in e)if(!(o&&r==="expose")){const a=Tr[r]||n&&n[r];t[r]=a?a(t[r],e[r]):e[r]}return t}const Tr={data:vs,props:ys,emits:ys,methods:He,computed:He,beforeCreate:xt,created:xt,beforeMount:xt,mounted:xt,beforeUpdate:xt,updated:xt,beforeDestroy:xt,beforeUnmount:xt,destroyed:xt,unmounted:xt,activated:xt,deactivated:xt,errorCaptured:xt,serverPrefetch:xt,components:He,directives:He,watch:jr,provide:vs,inject:Er};function vs(t,e){return e?t?function(){return st(M(t)?t.call(this,this):t,M(e)?e.call(this,this):e)}:e:t}function Er(t,e){return He(lo(t),lo(e))}function lo(t){if(I(t)){const e={};for(let n=0;ne==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ct(e)}Modifiers`]||t[`${Mt(e)}Modifiers`];function Lr(t,e,...n){if(t.isUnmounted)return;const o=t.vnode.props||Z;let s=n;const i=e.startsWith("update:"),r=i&&Mr(o,e.slice(7));r&&(r.trim&&(s=n.map(f=>nt(f)?f.trim():f)),r.number&&(s=s.map(_i)));let a,l=o[a=Pn(e)]||o[a=Pn(Ct(e))];!l&&i&&(l=o[a=Pn(Mt(e))]),l&&Dt(l,t,6,s);const h=o[a+"Once"];if(h){if(!t.emitted)t.emitted={};else if(t.emitted[a])return;t.emitted[a]=!0,Dt(h,t,6,s)}}const zr=new WeakMap;function ks(t,e,n=!1){const o=n?zr:e.emitsCache,s=o.get(t);if(s!==void 0)return s;const i=t.emits;let r={},a=!1;if(!M(t)){const l=h=>{const f=ks(h,e,!0);f&&(a=!0,st(r,f))};!n&&e.mixins.length&&e.mixins.forEach(l),t.extends&&l(t.extends),t.mixins&&t.mixins.forEach(l)}return!i&&!a?(X(t)&&o.set(t,null),null):(I(i)?i.forEach(l=>r[l]=null):st(r,i),X(t)&&o.set(t,r),r)}function wn(t,e){return!t||!Ye(e)?!1:(e=e.slice(2),e=e==="Once"?e:e.replace(/Once$/,""),W(t,e[0].toLowerCase()+e.slice(1))||W(t,Mt(e))||W(t,e))}function Hl(){}function ws(t){const{type:e,vnode:n,proxy:o,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:l,render:h,renderCache:f,props:b,data:w,setupState:A,ctx:L,inheritAttrs:j}=t,R=pn(t);let F,D;try{if(n.shapeFlag&4){const E=s||o,tt=E;F=Gt(h.call(tt,E,f,b,A,w,L)),D=a}else{const E=e;F=Gt(E.length>1?E(b,{attrs:a,slots:r,emit:l}):E(b,null)),D=e.props?a:Pr(a)}}catch(E){be.length=0,dn(E,t,1),F=kt(ee)}let P=F;if(D&&j!==!1){const E=Object.keys(D),{shapeFlag:tt}=P;E.length&&tt&7&&(i&&E.some(Xe)&&(D=Or(D,i)),P=Se(P,D,!1,!0))}if(n.dirs&&(P=Se(P,null,!1,!0),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition){const E=_n(P.type)&&as(P)||P;oo(E,n.transition)}return F=P,pn(R),F}const Pr=t=>{let e;for(const n in t)(n==="class"||n==="style"||Ye(n))&&((e||(e={}))[n]=t[n]);return e},Or=(t,e)=>{const n={};for(const o in t)(!Xe(o)||!(o.slice(9)in e))&&(n[o]=t[o]);return n};function Dr(t,e,n){const{props:o,children:s,component:i}=t,{props:r,children:a,patchFlag:l}=e,h=i.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?As(o,r,h):!!r;if(l&8){const f=e.dynamicProps;for(let b=0;bObject.create(Cs),Ts=t=>Object.getPrototypeOf(t)===Cs;function Fr(t,e,n,o=!1){const s={},i=Ns();t.propsDefaults=Object.create(null),Es(t,e,s,i);for(const r in t.propsOptions[0])r in s||(s[r]=void 0);n?t.props=o?s:Ui(s):t.type.props?t.props=s:t.props=i,t.attrs=i}function Hr(t,e,n,o){const{props:s,attrs:i,vnode:{patchFlag:r}}=t,a=V(s),[l]=t.propsOptions;let h=!1;if((o||r>0)&&!(r&16)){if(r&8){const f=t.vnode.dynamicProps;for(let b=0;b{l=!0;const[w,A]=js(b,e,!0);st(r,w),A&&a.push(...A)};!n&&e.mixins.length&&e.mixins.forEach(f),t.extends&&f(t.extends),t.mixins&&t.mixins.forEach(f)}if(!i&&!l)return X(t)&&o.set(t,_e),_e;if(I(i))for(let f=0;ft==="_"||t==="_ctx"||t==="$stable",fo=t=>I(t)?t.map(Gt):[Gt(t)],$r=(t,e,n)=>{if(e._n)return e;const o=rr((...s)=>fo(e(...s)),n);return o._c=!1,o},Is=(t,e,n)=>{const o=t._ctx;for(const s in t){if(uo(s))continue;const i=t[s];if(M(i))e[s]=$r(s,i,o);else if(i!=null){const r=fo(i);e[s]=()=>r}}},Ms=(t,e)=>{const n=fo(e);t.slots.default=()=>n},Ls=(t,e,n)=>{for(const o in e)(n||!uo(o))&&(t[o]=e[o])},Ur=(t,e,n)=>{const o=t.slots=Ns();if(t.vnode.shapeFlag&32){const s=e._;s?(Ls(o,e,n),n&&Co(o,"_",s,!0)):Is(e,o)}else e&&Ms(t,e)},Br=(t,e,n)=>{const{vnode:o,slots:s}=t;let i=!0,r=Z;if(o.shapeFlag&32){const a=e._;a?n&&a===1?i=!1:Ls(s,e,n):(i=!e.$stable,Is(e,s)),r=e}else e&&(Ms(t,e),r={default:1});if(i)for(const a in s)!uo(a)&&r[a]==null&&delete s[a]},Nt=Yr;function Vr(t){return Wr(t)}function Wr(t,e){const n=en();n.__VUE__=!0;const{insert:o,remove:s,patchProp:i,createElement:r,createText:a,createComment:l,setText:h,setElementText:f,parentNode:b,nextSibling:w,setScopeId:A=Ft,insertStaticContent:L}=t,j=(c,u,p,y=null,v=null,m=null,C=void 0,k=null,g=!!u.dynamicChildren)=>{if(c===u)return;c&&!$e(c,u)&&(y=Ce(c),_t(c,v,m,!0),c=null),u.patchFlag===-2&&(g=!1,u.dynamicChildren=null);const{type:d,ref:x,shapeFlag:_}=u;switch(d){case An:R(c,u,p,y);break;case ee:F(c,u,p,y);break;case ho:c==null&&D(u,p,y,C);break;case lt:Tt(c,u,p,y,v,m,C,k,g);break;default:_&1?tt(c,u,p,y,v,m,C,k,g):_&6?mt(c,u,p,y,v,m,C,k,g):(_&64||_&128)&&d.process(c,u,p,y,v,m,C,k,g,me)}x!=null&&v?De(x,c&&c.ref,m,u||c,!u):x==null&&c&&c.ref!=null&&De(c.ref,null,m,c,!0)},R=(c,u,p,y)=>{if(c==null)o(u.el=a(u.children),p,y);else{const v=u.el=c.el;u.children!==c.children&&h(v,u.children)}},F=(c,u,p,y)=>{c==null?o(u.el=l(u.children||""),p,y):u.el=c.el},D=(c,u,p,y)=>{[c.el,c.anchor]=L(c.children,u,p,y,c.el,c.anchor)},P=({el:c,anchor:u},p,y)=>{let v;for(;c&&c!==u;)v=w(c),o(c,p,y),c=v;o(u,p,y)},E=({el:c,anchor:u})=>{let p;for(;c&&c!==u;)p=w(c),s(c),c=p;s(u)},tt=(c,u,p,y,v,m,C,k,g)=>{if(u.type==="svg"?C="svg":u.type==="math"&&(C="mathml"),c==null)ot(u,p,y,v,m,C,k,g);else{const d=c.el&&c.el._isVueCE?c.el:null;try{d&&d._beginPatch(),q(c,u,v,m,C,k,g)}finally{d&&d._endPatch()}}},ot=(c,u,p,y,v,m,C,k)=>{let g,d;const{props:x,shapeFlag:_,transition:S,dirs:T}=c;if(g=c.el=r(c.type,m,x&&x.is,x),_&8?f(g,c.children):_&16&&It(c.children,g,null,y,v,go(c,m),C,k),T&&he(c,null,y,"created"),gt(g,c,c.scopeId,C,y),x){for(const z in x)z!=="value"&&!Ee(z)&&i(g,z,null,x[z],m,y);"value"in x&&i(g,"value",null,x.value,m),(d=x.onVnodeBeforeMount)&&Jt(d,y,c)}T&&he(c,null,y,"beforeMount");const N=Gr(v,S);N&&S.beforeEnter(g),o(g,u,p),((d=x&&x.onVnodeMounted)||N||T)&&Nt(()=>{try{d&&Jt(d,y,c),N&&S.enter(g),T&&he(c,null,y,"mounted")}finally{}},v)},gt=(c,u,p,y,v)=>{if(p&&A(c,p),y)for(let m=0;m{for(let d=g;d{const k=u.el=c.el;let{patchFlag:g,dynamicChildren:d,dirs:x}=u;g|=c.patchFlag&16;const _=c.props||Z,S=u.props||Z;let T;if(p&&pe(p,!1),(T=S.onVnodeBeforeUpdate)&&Jt(T,p,u,c),x&&he(u,c,p,"beforeUpdate"),p&&pe(p,!0),d&&(!c.dynamicChildren||c.dynamicChildren.length!==d.length)&&(g=0,C=!1,d=null),(_.innerHTML&&S.innerHTML==null||_.textContent&&S.textContent==null)&&f(k,""),d?O(c.dynamicChildren,d,k,p,y,go(u,v),m):C||B(c,u,k,null,p,y,go(u,v),m,!1),g>0){if(g&16)J(k,_,S,p,v);else if(g&2&&_.class!==S.class&&i(k,"class",null,S.class,v),g&4&&i(k,"style",_.style,S.style,v),g&8){const N=u.dynamicProps;for(let z=0;z{T&&Jt(T,p,u,c),x&&he(u,c,p,"updated")},y)},O=(c,u,p,y,v,m,C)=>{for(let k=0;k{if(u!==p){if(u!==Z)for(const m in u)!Ee(m)&&!(m in p)&&i(c,m,u[m],null,v,y);for(const m in p){if(Ee(m))continue;const C=p[m],k=u[m];C!==k&&m!=="value"&&i(c,m,k,C,v,y)}"value"in p&&i(c,"value",u.value,p.value,v)}},Tt=(c,u,p,y,v,m,C,k,g)=>{const d=u.el=c?c.el:a(""),x=u.anchor=c?c.anchor:a("");let{patchFlag:_,dynamicChildren:S,slotScopeIds:T}=u;T&&(k=k?k.concat(T):T),c==null?(o(d,p,y),o(x,p,y),It(u.children||[],p,x,v,m,C,k,g)):_>0&&_&64&&S&&c.dynamicChildren&&c.dynamicChildren.length===S.length?(O(c.dynamicChildren,S,p,v,m,C,k),(u.key!=null||v&&u===v.subTree)&&zs(c,u,!0)):B(c,u,p,x,v,m,C,k,g)},mt=(c,u,p,y,v,m,C,k,g)=>{u.slotScopeIds=k,c==null?u.shapeFlag&512?v.ctx.activate(u,p,y,C,g):Yt(u,p,y,v,m,C,g):At(c,u,g)},Yt=(c,u,p,y,v,m,C)=>{const k=c.component=oa(c,y,v);if(so(c)&&(k.ctx.renderer=me),sa(k,!1,C),k.asyncDep){if(v&&v.registerDep(k,ct,C),!c.el){const g=k.subTree=kt(ee);F(null,g,u,p),c.placeholder=g.el}}else ct(k,c,u,p,v,m,C)},At=(c,u,p)=>{const y=u.component=c.component;if(Dr(c,u,p))if(y.asyncDep&&!y.asyncResolved){G(y,u,p);return}else y.next=u,y.update();else u.el=c.el,y.vnode=u},ct=(c,u,p,y,v,m,C)=>{const k=()=>{if(c.isMounted){let{next:_,bu:S,u:T,parent:N,vnode:z}=c;{const at=Ps(c);if(at){_&&(_.el=z.el,G(c,_,C)),at.asyncDep.then(()=>{Nt(()=>{c.isUnmounted||d()},v)});return}}let K=_,Y;pe(c,!1),_?(_.el=z.el,G(c,_,C)):_=z,S&&On(S),(Y=_.props&&_.props.onVnodeBeforeUpdate)&&Jt(Y,N,_,z),pe(c,!0);const et=ws(c),St=c.subTree;c.subTree=et,j(St,et,b(St.el),Ce(St),c,v,m),_.el=et.el,K===null&&Rr(c,et.el),T&&Nt(T,v),(Y=_.props&&_.props.onVnodeUpdated)&&Nt(()=>Jt(Y,N,_,z),v)}else{let _;const{el:S,props:T}=u,{bm:N,m:z,parent:K,root:Y,type:et}=c,St=Re(u);pe(c,!1),N&&On(N),!St&&(_=T&&T.onVnodeBeforeMount)&&Jt(_,K,u),pe(c,!0);{Y.ce&&Y.ce._hasShadowRoot()&&Y.ce._injectChildStyle(et,c.parent?c.parent.type:void 0);const at=c.subTree=ws(c);j(null,at,p,y,c,v,m),u.el=at.el}if(z&&Nt(z,v),!St&&(_=T&&T.onVnodeMounted)){const at=u;Nt(()=>Jt(_,K,at),v)}(u.shapeFlag&256||K&&Re(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&Nt(c.a,v),c.isMounted=!0,u=p=y=null}};c.scope.on();const g=c.effect=new Mo(k);c.scope.off();const d=c.update=g.run.bind(g),x=c.job=g.runIfDirty.bind(g);x.i=c,x.id=c.uid,g.scheduler=()=>eo(x),pe(c,!0),d()},G=(c,u,p)=>{u.component=c;const y=c.vnode.props;c.vnode=u,c.next=null,Hr(c,u.props,y,p),Br(c,u.children,p),$t(),es(c),Ut()},B=(c,u,p,y,v,m,C,k,g=!1)=>{const d=c&&c.children,x=c?c.shapeFlag:0,_=u.children,{patchFlag:S,shapeFlag:T}=u;if(S>0){if(S&128){zt(d,_,p,y,v,m,C,k,g);return}else if(S&256){ht(d,_,p,y,v,m,C,k,g);return}}T&8?(x&16&&ce(d,v,m),_!==d&&f(p,_)):x&16?T&16?zt(d,_,p,y,v,m,C,k,g):ce(d,v,m,!0):(x&8&&f(p,""),T&16&&It(_,p,y,v,m,C,k,g))},ht=(c,u,p,y,v,m,C,k,g)=>{c=c||_e,u=u||_e;const d=c.length,x=u.length,_=Math.min(d,x);let S;for(S=0;S<_;S++){const T=u[S]=g?oe(u[S]):Gt(u[S]);j(c[S],T,p,null,v,m,C,k,g)}d>x?ce(c,v,m,!0,!1,_):It(u,p,y,v,m,C,k,g,_)},zt=(c,u,p,y,v,m,C,k,g)=>{let d=0;const x=u.length;let _=c.length-1,S=x-1;for(;d<=_&&d<=S;){const T=c[d],N=u[d]=g?oe(u[d]):Gt(u[d]);if($e(T,N))j(T,N,p,null,v,m,C,k,g);else break;d++}for(;d<=_&&d<=S;){const T=c[_],N=u[S]=g?oe(u[S]):Gt(u[S]);if($e(T,N))j(T,N,p,null,v,m,C,k,g);else break;_--,S--}if(d>_){if(d<=S){const T=S+1,N=TS)for(;d<=_;)_t(c[d],v,m,!0),d++;else{const T=d,N=d,z=new Map;for(d=N;d<=S;d++){const vt=u[d]=g?oe(u[d]):Gt(u[d]);vt.key!=null&&z.set(vt.key,d)}let K,Y=0;const et=S-N+1;let St=!1,at=0;const Et=new Array(et);for(d=0;d=et){_t(vt,v,m,!0);continue}let jt;if(vt.key!=null)jt=z.get(vt.key);else for(K=N;K<=S;K++)if(Et[K-N]===0&&$e(vt,u[K])){jt=K;break}jt===void 0?_t(vt,v,m,!0):(Et[jt-N]=d+1,jt>=at?at=jt:St=!0,j(vt,u[jt],p,null,v,m,C,k,g),Y++)}const Ne=St?Jr(Et):_e;for(K=Ne.length-1,d=et-1;d>=0;d--){const vt=N+d,jt=u[vt],In=u[vt+1],gi=vt+1{const{el:m,type:C,transition:k,children:g,shapeFlag:d}=c;if(d&6){Rt(c.component.subTree,u,p,y);return}if(d&128){c.suspense.move(u,p,y);return}if(d&64){C.move(c,u,p,me);return}if(C===lt){o(m,u,p);for(let _=0;_k.enter(m),v));else{const{leave:_,delayLeave:S,afterLeave:T}=k,N=()=>{c.ctx.isUnmounted?s(m):o(m,u,p)},z=()=>{const K=m._isLeaving||!!m[no];m._isLeaving&&m[no](!0),k.persisted&&!K?N():_(m,()=>{N(),T&&T()})};S?S(m,N,z):z()}else o(m,u,p)},_t=(c,u,p,y=!1,v=!1)=>{const{type:m,props:C,ref:k,children:g,dynamicChildren:d,shapeFlag:x,patchFlag:_,dirs:S,cacheIndex:T,memo:N}=c;if(_===-2&&(v=!1),k!=null&&($t(),De(k,null,p,c,!0),Ut()),T!=null&&(u.renderCache[T]=void 0),x&256){u.ctx.deactivate(c);return}const z=x&1&&S,K=!Re(c);let Y;if(K&&(Y=C&&C.onVnodeBeforeUnmount)&&Jt(Y,u,c),x&6)qn(c.component,p,y);else{if(x&128){c.suspense.unmount(p,y);return}z&&he(c,null,u,"beforeUnmount"),x&64?c.type.remove(c,u,p,me,y):d&&!d.hasOnce&&(m!==lt||_>0&&_&64)?ce(d,u,p,!1,!0):(m===lt&&_&384||!v&&x&16)&&ce(g,u,p),y&&ie(c)}const et=N!=null&&T==null;(K&&(Y=C&&C.onVnodeUnmounted)||z||et)&&Nt(()=>{Y&&Jt(Y,u,c),z&&he(c,null,u,"unmounted"),et&&(c.el=null)},p)},ie=c=>{const{type:u,el:p,anchor:y,transition:v}=c;if(u===lt){jn(p,y);return}if(u===ho){E(c);return}const m=()=>{s(p),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:C,delayLeave:k}=v,g=()=>C(p,m);k?k(c.el,m,g):g()}else m()},jn=(c,u)=>{let p;for(;c!==u;)p=w(c),s(c),c=p;s(u)},qn=(c,u,p)=>{const{bum:y,scope:v,job:m,subTree:C,um:k,m:g,a:d}=c;Os(g),Os(d),y&&On(y),v.stop(),m&&(m.flags|=8,_t(C,c,u,p)),k&&Nt(k,u),Nt(()=>{c.isUnmounted=!0},u)},ce=(c,u,p,y=!1,v=!1,m=0)=>{for(let C=m;C{if(c.shapeFlag&6)return Ce(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=w(c.anchor||c.el),p=u&&u[fr];return p?w(p):u};let Ge=!1;const Je=(c,u,p)=>{let y;c==null?u._vnode&&(_t(u._vnode,null,null,!0),y=u._vnode.component):j(u._vnode||null,c,u,null,null,null,p),u._vnode=c,Ge||(Ge=!0,es(y),ns(),Ge=!1)},me={p:j,um:_t,m:Rt,r:ie,mt:Yt,mc:It,pc:B,pbc:O,n:Ce,o:t};return{render:Je,hydrate:void 0,createApp:Ir(Je)}}function go({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function pe({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Gr(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function zs(t,e,n=!1){const o=t.children,s=e.children;if(I(o)&&I(s))for(let i=0;i>1,t[n[a]]0&&(e[o]=n[i-1]),n[i]=o)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=e[r];return n}function Ps(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Ps(e)}function Os(t){if(t)for(let e=0;et.__isSuspense;function Yr(t,e){e&&e.pendingBranch?I(t)?e.effects.push(...t):e.effects.push(t):ir(t)}const lt=Symbol.for("v-fgt"),An=Symbol.for("v-txt"),ee=Symbol.for("v-cmt"),ho=Symbol.for("v-stc"),be=[];let qt=null;function $(t=!1){be.push(qt=t?null:[])}function Fs(){be.pop(),qt=be[be.length-1]||null}let Ke=1;function Hs(t,e=!1){Ke+=t,t<0&&qt&&e&&(qt.hasOnce=!0)}function Ks(t){return t.dynamicChildren=Ke>0?qt||_e:null,Fs(),Ke>0&&qt&&qt.push(t),t}function U(t,e,n,o,s,i){return Ks(H(t,e,n,o,s,i,!0))}function Xr(t,e,n,o,s){return Ks(kt(t,e,n,o,s,!0))}function $s(t){return t?t.__v_isVNode===!0:!1}function $e(t,e){return t.type===e.type&&t.key===e.key}const Us=({key:t})=>t??null,Sn=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?nt(t)||ft(t)||M(t)?{i:Wt,r:t,k:e,f:!!n}:t:null);function H(t,e=null,n=null,o=0,s=null,i=t===lt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Us(e),ref:e&&Sn(e),scopeId:ss,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Wt};return a?(Cn(l,n),i&128&&t.normalize(l)):n&&(l.shapeFlag|=nt(n)?8:16),Ke>0&&!r&&qt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&qt.push(l),l}const kt=Zr;function Zr(t,e=null,n=null,o=0,s=null,i=!1){if((!t||t===Ar)&&(t=ee),$s(t)){const a=Se(t,e,!0);return n&&Cn(a,n),Ke>0&&!i&&qt&&(a.shapeFlag&6?qt[qt.indexOf(t)]=a:qt.push(a)),a.patchFlag=-2,a}if(fa(t)&&(t=t.__vccOpts),e){e=Qr(e);let{class:a,style:l}=e;a&&!nt(a)&&(e.class=nn(a)),X(l)&&(Zn(l)&&!I(l)&&(l=st({},l)),e.style=je(l))}const r=nt(t)?1:Rs(t)?128:_n(t)?64:X(t)?4:M(t)?2:0;return H(t,e,n,o,s,r,i,!0)}function Qr(t){return t?Zn(t)||Ts(t)?st({},t):t:null}function Se(t,e,n=!1,o=!1){const{props:s,ref:i,patchFlag:r,children:a,transition:l}=t,h=e?ta(s||{},e):s,f={__v_isVNode:!0,__v_skip:!0,type:t.type,props:h,key:h&&Us(h),ref:e&&e.ref?n&&i?I(i)?i.concat(Sn(e)):[i,Sn(e)]:Sn(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==lt?r===-1?16:r|16:r,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:l,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Se(t.ssContent),ssFallback:t.ssFallback&&Se(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return l&&o&&oo(f,l.clone(f)),f}function ne(t=" ",e=0){return kt(An,null,t,e)}function bt(t="",e=!1){return e?($(),Xr(ee,null,t)):kt(ee,null,t)}function Gt(t){return t==null||typeof t=="boolean"?kt(ee):I(t)?kt(lt,null,t.slice()):$s(t)?oe(t):kt(An,null,String(t))}function oe(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Se(t)}function Cn(t,e){let n=0;const{shapeFlag:o}=t;if(e==null)e=null;else if(I(e))n=16;else if(typeof e=="object")if(o&65){const s=e.default;s&&(s._c&&(s._d=!1),Cn(t,s()),s._c&&(s._d=!0));return}else{n=32;const s=e._;!s&&!Ts(e)?e._ctx=Wt:s===3&&Wt&&(Wt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else if(M(e)){if(o&65){Cn(t,{default:e});return}e={default:e,_ctx:Wt},n=32}else e=String(e),o&64?(n=16,e=[ne(e)]):n=8;t.children=e,t.shapeFlag|=n}function ta(...t){const e={};for(let n=0;nwt||Wt;let Nn,Ue;{const t=en(),e=(n,o)=>{let s;return(s=t[n])||(s=t[n]=[]),s.push(o),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};Nn=e("__VUE_INSTANCE_SETTERS__",n=>wt=n),Ue=e("__VUE_SSR_SETTERS__",n=>Ve=n)}const Be=t=>{const e=wt;return Nn(t),t.scope.on(),()=>{t.scope.off(),Nn(e)}},Vs=()=>{wt&&wt.scope.off(),Nn(null)};function Ws(t){return t.vnode.shapeFlag&4}let Ve=!1;function sa(t,e=!1,n=!1){e&&Ue(e);const{props:o,children:s}=t.vnode,i=Ws(t);Fr(t,o,i,e),Ur(t,s,n||e);const r=i?ia(t,e):void 0;return e&&Ue(!1),r}function ia(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Sr);const{setup:o}=n;if(o){$t();const s=t.setupContext=o.length>1?aa(t):null,i=Be(t),r=xe(o,t,0,[t.props,s]),a=wo(r);if(Ut(),i(),(a||t.sp)&&!Re(t)&&ls(t),a){if(r.then(Vs,Vs),e)return r.then(l=>{Ue(!0);try{Gs(t,l,e)}finally{Ue(!1)}}).catch(l=>{dn(l,t,0)});t.asyncDep=r}else Gs(t,r)}else Js(t)}function Gs(t,e,n){M(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:X(e)&&(t.setupState=Xo(e)),Js(t)}function Js(t,e,n){const o=t.type;t.render||(t.render=o.render||Ft);{const s=Be(t);$t();try{Cr(t)}finally{Ut(),s()}}}const ra={get(t,e){return pt(t,"get",""),t[e]}};function aa(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,ra),slots:t.slots,emit:t.emit,expose:e}}function po(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Xo(Bi(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Fe)return Fe[n](t)},has(e,n){return n in e||n in Fe}})):t.proxy}const la=/(?:^|[-_])\w/g,ca=t=>t.replace(la,e=>e.toUpperCase()).replace(/[-_]/g,"");function ua(t,e=!0){return M(t)?t.displayName||t.name:t.name||e&&t.__name}function Ys(t,e,n=!1){let o=ua(e);if(!o&&e.__file){const s=e.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&t){const s=i=>{for(const r in i)if(i[r]===e)return r};o=s(t.components)||t.parent&&s(t.parent.type.components)||s(t.appContext.components)}return o?ca(o):n?"App":"Anonymous"}function fa(t){return M(t)&&"__vccOpts"in t}const it=(t,e)=>Yi(t,e,Ve),da="3.5.42";/** +`,...er(s)),console.warn(...i)}Ut(),to=!1}function tr(){let t=Pe[Pe.length-1];if(!t)return[];const e=[];for(;t;){const n=e[0];n&&n.vnode===t?n.recurseCount++:e.push({vnode:t,recurseCount:0});const o=t.component&&t.component.parent;t=o&&o.vnode}return e}function er(t){const e=[];return t.forEach((n,o)=>{e.push(...o===0?[]:[` +`],...nr(n))}),e}function nr({vnode:t,recurseCount:e}){const n=e>0?`... (${e} recursive calls)`:"",o=t.component?t.component.parent==null:!1,s=` at <${Ys(t.component,t.type,o)}`,i=">"+n;return t.props?[s,...or(t.props),i]:[s+i]}function or(t){const e=[],n=Object.keys(t);return n.slice(0,3).forEach(o=>{e.push(...Zo(o,t[o]))}),n.length>3&&e.push(" ..."),e}function Zo(t,e,n){return nt(e)?(e=JSON.stringify(e),n?e:[`${t}=${e}`]):typeof e=="number"||typeof e=="boolean"||e==null?n?e:[`${t}=${e}`]:ft(e)?(e=Zo(t,V(e.value),!0),n?e:[`${t}=Ref<`,e,">"]):M(e)?[`${t}=fn${e.name?`<${e.name}>`:""}`]:(e=V(e),n?e:[`${t}=`,e])}function xe(t,e,n,o){try{return o?t(...o):t()}catch(s){dn(s,e,n)}}function Dt(t,e,n,o){if(M(t)){const s=xe(t,e,n,o);return s&&wo(s)&&s.catch(i=>{dn(i,e,n)}),s}if(I(t)){const s=[];for(let i=0;i>>1,s=yt[o],i=Oe(s);i=Oe(n)?yt.push(t):yt.splice(ir(e),0,t),t.flags|=1,ts()}}function ts(){gn||(gn=Qo.then(os))}function rr(t){if(!I(t))le&&t.id===-1?le.splice(we+1,0,t):t.flags&1||(ke.push(t),t.flags|=1);else for(let e=0;eOe(n)-Oe(o));if(ke.length=0,le){for(let n=0;nt.id==null?t.flags&2?-1:1/0:t.id;function os(t){try{for(Vt=0;Vt{o._d&&Hs(-1);const i=pn(e),r=be.length;let a;try{a=t(...s)}finally{for(let l=be.length;l>r;l--)Fs();pn(i),o._d&&Hs(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function he(t,e,n,o){const s=t.dirs,i=e&&e.dirs;for(let r=0;r1)return n&&M(e)?e.call(o&&o.proxy):e}}const cr=Symbol.for("v-scx"),ur=()=>bn(cr);function mn(t,e,n){return is(t,e,n)}function is(t,e,n=Z){const{immediate:o,deep:s,flush:i,once:r}=n,a=st({},n),l=e&&o||!e&&i!=="post";let h;if(Ve){if(i==="sync"){const A=ur();h=A.__watcherHandles||(A.__watcherHandles=[])}else if(!l){const A=()=>{};return A.stop=Ft,A.resume=Ft,A.pause=Ft,A}}const f=wt;a.call=(A,L,j)=>Dt(A,f,L,j);let b=!1;i==="post"?a.scheduler=A=>{Nt(A,f&&f.suspense)}:i!=="sync"&&(b=!0,a.scheduler=(A,L)=>{L?A():eo(A)}),a.augmentJob=A=>{e&&(A.flags|=4),b&&(A.flags|=2,f&&(A.id=f.uid,A.i=f))};const w=Qi(t,e,a);return Ve&&(h?h.push(w):l&&w()),w}function fr(t,e,n){const o=this.proxy,s=nt(t)?t.includes(".")?rs(o,t):()=>o[t]:t.bind(o,o);let i;M(e)?i=e:(i=e.handler,n=e);const r=Be(this),a=is(s,i.bind(o),n);return r(),a}function rs(t,e){const n=e.split(".");return()=>{let o=t;for(let s=0;st.__isTeleport,no=Symbol("_leaveCb");function gr(t){let e=t[0];if(t.length>1){for(const n of t)if(n.type!==ee){e=n;break}}return e}function as(t){if(!so(t))return _n(t.type)&&t.children?gr(t.children):t;if(t.component)return t.component.subTree;const{shapeFlag:e,children:n}=t;if(n){if(e&16)return n[0];if(e&32&&M(n.default))return n.default()}}function oo(t,e){if(t.shapeFlag&6&&t.component){t.transition=e;const n=t.component.subTree;oo(_n(n.type)&&as(n)||n,e)}else t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function hr(t,e){return M(t)?st({name:t.name},e,{setup:t}):t}function ls(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function cs(t,e){let n;return!!((n=Object.getOwnPropertyDescriptor(t,e))&&!n.configurable)}const vn=new WeakMap;function De(t,e,n,o,s=!1){if(I(t)){t.forEach((j,R)=>De(j,e&&(I(e)?e[R]:e),n,o,s));return}if(Re(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&De(t,e,n,o.component.subTree);return}const i=o.shapeFlag&4?po(o.component):o.el,r=s?null:i,{i:a,r:l}=t,h=e&&e.r,f=a.refs===Z?a.refs={}:a.refs,b=a.setupState,w=V(b),A=b===Z?xo:j=>cs(f,j)?!1:W(w,j),L=(j,R)=>!(R&&cs(f,R));if(h!=null&&h!==l){if(us(e),nt(h))f[h]=null,A(h)&&(b[h]=null);else if(ft(h)){const j=e;L(h,j.k)&&(h.value=null),j.k&&(f[j.k]=null)}}if(M(l))xe(l,a,12,[r,f]);else{const j=nt(l),R=ft(l);if(j||R){const F=()=>{if(t.f){const D=j?A(l)?b[l]:f[l]:L()||!t.k?l.value:f[t.k];if(s)I(D)&&Ln(D,i);else if(I(D))D.includes(i)||D.push(i);else if(j)f[l]=[i],A(l)&&(b[l]=f[l]);else{const P=[i];L(l,t.k)&&(l.value=P),t.k&&(f[t.k]=P)}}else j?(f[l]=r,A(l)&&(b[l]=r)):R&&(L(l,t.k)&&(l.value=r),t.k&&(f[t.k]=r))};if(r){const D=()=>{F(),vn.delete(t)};D.id=-1,vn.set(t,D),Nt(D,n)}else us(t),F()}}}function us(t){const e=vn.get(t);e&&(e.flags|=8,vn.delete(t))}en().requestIdleCallback,en().cancelIdleCallback;const Re=t=>!!t.type.__asyncLoader,so=t=>t.type.__isKeepAlive;function pr(t,e){fs(t,"a",e)}function br(t,e){fs(t,"da",e)}function fs(t,e,n=wt){const o=t.__wdc||(t.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return t()});if(yn(e,o,n),n){let s=n.parent;for(;s&&s.parent;)so(s.parent.vnode)&&mr(o,e,n,s),s=s.parent}}function mr(t,e,n,o){const s=yn(e,t,o,!0);hs(()=>{Ln(o[e],s)},n)}function yn(t,e,n=wt,o=!1){if(n){const s=n[t]||(n[t]=[]),i=e.__weh||(e.__weh=(...r)=>{$t();const a=Be(n),l=Dt(e,n,t,r);return a(),Ut(),l});return o?s.unshift(i):s.push(i),i}}const te=t=>(e,n=wt)=>{(!Ve||t==="sp")&&yn(t,(...o)=>e(...o),n)},_r=te("bm"),ds=te("m"),vr=te("bu"),yr=te("u"),gs=te("bum"),hs=te("um"),xr=te("sp"),kr=te("rtg"),wr=te("rtc");function Ar(t,e=wt){yn("ec",t,e)}const Sr=Symbol.for("v-ndc");function xn(t,e,n,o){let s;const i=n,r=I(t);if(r||nt(t)){const a=r&&de(t);let l=!1,h=!1;a&&(l=!Lt(t),h=Qt(t),t=sn(t)),s=new Array(t.length);for(let f=0,b=t.length;fe(a,l,void 0,i));else{const a=Object.keys(t);s=new Array(a.length);for(let l=0,h=a.length;lt?Ws(t)?po(t):io(t.parent):null,Fe=st(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>io(t.parent),$root:t=>io(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>_s(t),$forceUpdate:t=>t.f||(t.f=()=>{eo(t.update)}),$nextTick:t=>t.n||(t.n=hn.bind(t.proxy)),$watch:t=>fr.bind(t)}),ro=(t,e)=>t!==Z&&!t.__isScriptSetup&&W(t,e),Cr={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:i,accessCache:r,type:a,appContext:l}=t;if(e[0]!=="$"){const w=r[e];if(w!==void 0)switch(w){case 1:return o[e];case 2:return s[e];case 4:return n[e];case 3:return i[e]}else{if(ro(o,e))return r[e]=1,o[e];if(s!==Z&&W(s,e))return r[e]=2,s[e];if(W(i,e))return r[e]=3,i[e];if(n!==Z&&W(n,e))return r[e]=4,n[e];ao&&(r[e]=0)}}const h=Fe[e];let f,b;if(h)return e==="$attrs"&&pt(t.attrs,"get",""),h(t);if((f=a.__cssModules)&&(f=f[e]))return f;if(n!==Z&&W(n,e))return r[e]=4,n[e];if(b=l.config.globalProperties,W(b,e))return b[e]},set({_:t},e,n){const{data:o,setupState:s,ctx:i}=t;return ro(s,e)?(s[e]=n,!0):o!==Z&&W(o,e)?(o[e]=n,!0):W(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(i[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:o,appContext:s,props:i,type:r}},a){let l;return!!(n[a]||t!==Z&&a[0]!=="$"&&W(t,a)||ro(e,a)||W(i,a)||W(o,a)||W(Fe,a)||W(s.config.globalProperties,a)||(l=r.__cssModules)&&l[a])},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:W(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function ps(t){return I(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let ao=!0;function Nr(t){const e=_s(t),n=t.proxy,o=t.ctx;ao=!1,e.beforeCreate&&bs(e.beforeCreate,t,"bc");const{data:s,computed:i,methods:r,watch:a,provide:l,inject:h,created:f,beforeMount:b,mounted:w,beforeUpdate:A,updated:L,activated:j,deactivated:R,beforeDestroy:F,beforeUnmount:D,destroyed:P,unmounted:E,render:tt,renderTracked:ot,renderTriggered:gt,errorCaptured:It,serverPrefetch:q,expose:O,inheritAttrs:J,components:Tt,directives:mt,filters:Yt}=e;if(h&&Tr(h,o,null),r)for(const G in r){const B=r[G];M(B)&&(o[G]=B.bind(n))}if(s){const G=s.call(n,n);X(G)&&(t.data=Yn(G))}if(ao=!0,i)for(const G in i){const B=i[G],ht=M(B)?B.bind(n,n):M(B.get)?B.get.bind(n,n):Ft,zt=!M(B)&&M(B.set)?B.set.bind(n):Ft,Rt=it({get:ht,set:zt});Object.defineProperty(o,G,{enumerable:!0,configurable:!0,get:()=>Rt.value,set:_t=>Rt.value=_t})}if(a)for(const G in a)ms(a[G],o,n,G);if(l){const G=M(l)?l.call(n):l;Reflect.ownKeys(G).forEach(B=>{lr(B,G[B])})}f&&bs(f,t,"c");function ct(G,B){I(B)?B.forEach(ht=>G(ht.bind(n))):B&&G(B.bind(n))}if(ct(_r,b),ct(ds,w),ct(vr,A),ct(yr,L),ct(pr,j),ct(br,R),ct(Ar,It),ct(wr,ot),ct(kr,gt),ct(gs,D),ct(hs,E),ct(xr,q),I(O))if(O.length){const G=t.exposed||(t.exposed={});O.forEach(B=>{Object.defineProperty(G,B,{get:()=>n[B],set:ht=>n[B]=ht,enumerable:!0})})}else t.exposed||(t.exposed={});tt&&t.render===Ft&&(t.render=tt),J!=null&&(t.inheritAttrs=J),Tt&&(t.components=Tt),mt&&(t.directives=mt),q&&ls(t)}function Tr(t,e,n=Ft){I(t)&&(t=lo(t));for(const o in t){const s=t[o];let i;X(s)?"default"in s?i=bn(s.from||o,s.default,!0):i=bn(s.from||o):i=bn(s),ft(i)?Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:r=>i.value=r}):e[o]=i}}function bs(t,e,n){Dt(I(t)?t.map(o=>o.bind(e.proxy)):t.bind(e.proxy),e,n)}function ms(t,e,n,o){let s=o.includes(".")?rs(n,o):()=>n[o];if(nt(t)){const i=e[t];M(i)&&mn(s,i)}else if(M(t))mn(s,t.bind(n));else if(X(t))if(I(t))t.forEach(i=>ms(i,e,n,o));else{const i=M(t.handler)?t.handler.bind(n):e[t.handler];M(i)&&mn(s,i,t)}}function _s(t){const e=t.type,{mixins:n,extends:o}=e,{mixins:s,optionsCache:i,config:{optionMergeStrategies:r}}=t.appContext,a=i.get(e);let l;return a?l=a:!s.length&&!n&&!o?l=e:(l={},s.length&&s.forEach(h=>kn(l,h,r,!0)),kn(l,e,r)),X(e)&&i.set(e,l),l}function kn(t,e,n,o=!1){const{mixins:s,extends:i}=e;i&&kn(t,i,n,!0),s&&s.forEach(r=>kn(t,r,n,!0));for(const r in e)if(!(o&&r==="expose")){const a=Er[r]||n&&n[r];t[r]=a?a(t[r],e[r]):e[r]}return t}const Er={data:vs,props:ys,emits:ys,methods:He,computed:He,beforeCreate:xt,created:xt,beforeMount:xt,mounted:xt,beforeUpdate:xt,updated:xt,beforeDestroy:xt,beforeUnmount:xt,destroyed:xt,unmounted:xt,activated:xt,deactivated:xt,errorCaptured:xt,serverPrefetch:xt,components:He,directives:He,watch:qr,provide:vs,inject:jr};function vs(t,e){return e?t?function(){return st(M(t)?t.call(this,this):t,M(e)?e.call(this,this):e)}:e:t}function jr(t,e){return He(lo(t),lo(e))}function lo(t){if(I(t)){const e={};for(let n=0;ne==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ct(e)}Modifiers`]||t[`${Mt(e)}Modifiers`];function zr(t,e,...n){if(t.isUnmounted)return;const o=t.vnode.props||Z;let s=n;const i=e.startsWith("update:"),r=i&&Lr(o,e.slice(7));r&&(r.trim&&(s=n.map(f=>nt(f)?f.trim():f)),r.number&&(s=s.map(vi)));let a,l=o[a=Pn(e)]||o[a=Pn(Ct(e))];!l&&i&&(l=o[a=Pn(Mt(e))]),l&&Dt(l,t,6,s);const h=o[a+"Once"];if(h){if(!t.emitted)t.emitted={};else if(t.emitted[a])return;t.emitted[a]=!0,Dt(h,t,6,s)}}const Pr=new WeakMap;function ks(t,e,n=!1){const o=n?Pr:e.emitsCache,s=o.get(t);if(s!==void 0)return s;const i=t.emits;let r={},a=!1;if(!M(t)){const l=h=>{const f=ks(h,e,!0);f&&(a=!0,st(r,f))};!n&&e.mixins.length&&e.mixins.forEach(l),t.extends&&l(t.extends),t.mixins&&t.mixins.forEach(l)}return!i&&!a?(X(t)&&o.set(t,null),null):(I(i)?i.forEach(l=>r[l]=null):st(r,i),X(t)&&o.set(t,r),r)}function wn(t,e){return!t||!Ye(e)?!1:(e=e.slice(2),e=e==="Once"?e:e.replace(/Once$/,""),W(t,e[0].toLowerCase()+e.slice(1))||W(t,Mt(e))||W(t,e))}function Hl(){}function ws(t){const{type:e,vnode:n,proxy:o,withProxy:s,propsOptions:[i],slots:r,attrs:a,emit:l,render:h,renderCache:f,props:b,data:w,setupState:A,ctx:L,inheritAttrs:j}=t,R=pn(t);let F,D;try{if(n.shapeFlag&4){const E=s||o,tt=E;F=Gt(h.call(tt,E,f,b,A,w,L)),D=a}else{const E=e;F=Gt(E.length>1?E(b,{attrs:a,slots:r,emit:l}):E(b,null)),D=e.props?a:Or(a)}}catch(E){be.length=0,dn(E,t,1),F=kt(ee)}let P=F;if(D&&j!==!1){const E=Object.keys(D),{shapeFlag:tt}=P;E.length&&tt&7&&(i&&E.some(Xe)&&(D=Dr(D,i)),P=Se(P,D,!1,!0))}if(n.dirs&&(P=Se(P,null,!1,!0),P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition){const E=_n(P.type)&&as(P)||P;oo(E,n.transition)}return F=P,pn(R),F}const Or=t=>{let e;for(const n in t)(n==="class"||n==="style"||Ye(n))&&((e||(e={}))[n]=t[n]);return e},Dr=(t,e)=>{const n={};for(const o in t)(!Xe(o)||!(o.slice(9)in e))&&(n[o]=t[o]);return n};function Rr(t,e,n){const{props:o,children:s,component:i}=t,{props:r,children:a,patchFlag:l}=e,h=i.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?As(o,r,h):!!r;if(l&8){const f=e.dynamicProps;for(let b=0;bObject.create(Cs),Ts=t=>Object.getPrototypeOf(t)===Cs;function Hr(t,e,n,o=!1){const s={},i=Ns();t.propsDefaults=Object.create(null),Es(t,e,s,i);for(const r in t.propsOptions[0])r in s||(s[r]=void 0);n?t.props=o?s:Bi(s):t.type.props?t.props=s:t.props=i,t.attrs=i}function Kr(t,e,n,o){const{props:s,attrs:i,vnode:{patchFlag:r}}=t,a=V(s),[l]=t.propsOptions;let h=!1;if((o||r>0)&&!(r&16)){if(r&8){const f=t.vnode.dynamicProps;for(let b=0;b{l=!0;const[w,A]=js(b,e,!0);st(r,w),A&&a.push(...A)};!n&&e.mixins.length&&e.mixins.forEach(f),t.extends&&f(t.extends),t.mixins&&t.mixins.forEach(f)}if(!i&&!l)return X(t)&&o.set(t,_e),_e;if(I(i))for(let f=0;ft==="_"||t==="_ctx"||t==="$stable",fo=t=>I(t)?t.map(Gt):[Gt(t)],Ur=(t,e,n)=>{if(e._n)return e;const o=ar((...s)=>fo(e(...s)),n);return o._c=!1,o},Is=(t,e,n)=>{const o=t._ctx;for(const s in t){if(uo(s))continue;const i=t[s];if(M(i))e[s]=Ur(s,i,o);else if(i!=null){const r=fo(i);e[s]=()=>r}}},Ms=(t,e)=>{const n=fo(e);t.slots.default=()=>n},Ls=(t,e,n)=>{for(const o in e)(n||!uo(o))&&(t[o]=e[o])},Br=(t,e,n)=>{const o=t.slots=Ns();if(t.vnode.shapeFlag&32){const s=e._;s?(Ls(o,e,n),n&&Co(o,"_",s,!0)):Is(e,o)}else e&&Ms(t,e)},Vr=(t,e,n)=>{const{vnode:o,slots:s}=t;let i=!0,r=Z;if(o.shapeFlag&32){const a=e._;a?n&&a===1?i=!1:Ls(s,e,n):(i=!e.$stable,Is(e,s)),r=e}else e&&(Ms(t,e),r={default:1});if(i)for(const a in s)!uo(a)&&r[a]==null&&delete s[a]},Nt=Xr;function Wr(t){return Gr(t)}function Gr(t,e){const n=en();n.__VUE__=!0;const{insert:o,remove:s,patchProp:i,createElement:r,createText:a,createComment:l,setText:h,setElementText:f,parentNode:b,nextSibling:w,setScopeId:A=Ft,insertStaticContent:L}=t,j=(c,u,p,y=null,v=null,m=null,C=void 0,k=null,g=!!u.dynamicChildren)=>{if(c===u)return;c&&!$e(c,u)&&(y=Ce(c),_t(c,v,m,!0),c=null),u.patchFlag===-2&&(g=!1,u.dynamicChildren=null);const{type:d,ref:x,shapeFlag:_}=u;switch(d){case An:R(c,u,p,y);break;case ee:F(c,u,p,y);break;case ho:c==null&&D(u,p,y,C);break;case lt:Tt(c,u,p,y,v,m,C,k,g);break;default:_&1?tt(c,u,p,y,v,m,C,k,g):_&6?mt(c,u,p,y,v,m,C,k,g):(_&64||_&128)&&d.process(c,u,p,y,v,m,C,k,g,me)}x!=null&&v?De(x,c&&c.ref,m,u||c,!u):x==null&&c&&c.ref!=null&&De(c.ref,null,m,c,!0)},R=(c,u,p,y)=>{if(c==null)o(u.el=a(u.children),p,y);else{const v=u.el=c.el;u.children!==c.children&&h(v,u.children)}},F=(c,u,p,y)=>{c==null?o(u.el=l(u.children||""),p,y):u.el=c.el},D=(c,u,p,y)=>{[c.el,c.anchor]=L(c.children,u,p,y,c.el,c.anchor)},P=({el:c,anchor:u},p,y)=>{let v;for(;c&&c!==u;)v=w(c),o(c,p,y),c=v;o(u,p,y)},E=({el:c,anchor:u})=>{let p;for(;c&&c!==u;)p=w(c),s(c),c=p;s(u)},tt=(c,u,p,y,v,m,C,k,g)=>{if(u.type==="svg"?C="svg":u.type==="math"&&(C="mathml"),c==null)ot(u,p,y,v,m,C,k,g);else{const d=c.el&&c.el._isVueCE?c.el:null;try{d&&d._beginPatch(),q(c,u,v,m,C,k,g)}finally{d&&d._endPatch()}}},ot=(c,u,p,y,v,m,C,k)=>{let g,d;const{props:x,shapeFlag:_,transition:S,dirs:T}=c;if(g=c.el=r(c.type,m,x&&x.is,x),_&8?f(g,c.children):_&16&&It(c.children,g,null,y,v,go(c,m),C,k),T&&he(c,null,y,"created"),gt(g,c,c.scopeId,C,y),x){for(const z in x)z!=="value"&&!Ee(z)&&i(g,z,null,x[z],m,y);"value"in x&&i(g,"value",null,x.value,m),(d=x.onVnodeBeforeMount)&&Jt(d,y,c)}T&&he(c,null,y,"beforeMount");const N=Jr(v,S);N&&S.beforeEnter(g),o(g,u,p),((d=x&&x.onVnodeMounted)||N||T)&&Nt(()=>{try{d&&Jt(d,y,c),N&&S.enter(g),T&&he(c,null,y,"mounted")}finally{}},v)},gt=(c,u,p,y,v)=>{if(p&&A(c,p),y)for(let m=0;m{for(let d=g;d{const k=u.el=c.el;let{patchFlag:g,dynamicChildren:d,dirs:x}=u;g|=c.patchFlag&16;const _=c.props||Z,S=u.props||Z;let T;if(p&&pe(p,!1),(T=S.onVnodeBeforeUpdate)&&Jt(T,p,u,c),x&&he(u,c,p,"beforeUpdate"),p&&pe(p,!0),d&&(!c.dynamicChildren||c.dynamicChildren.length!==d.length)&&(g=0,C=!1,d=null),(_.innerHTML&&S.innerHTML==null||_.textContent&&S.textContent==null)&&f(k,""),d?O(c.dynamicChildren,d,k,p,y,go(u,v),m):C||B(c,u,k,null,p,y,go(u,v),m,!1),g>0){if(g&16)J(k,_,S,p,v);else if(g&2&&_.class!==S.class&&i(k,"class",null,S.class,v),g&4&&i(k,"style",_.style,S.style,v),g&8){const N=u.dynamicProps;for(let z=0;z{T&&Jt(T,p,u,c),x&&he(u,c,p,"updated")},y)},O=(c,u,p,y,v,m,C)=>{for(let k=0;k{if(u!==p){if(u!==Z)for(const m in u)!Ee(m)&&!(m in p)&&i(c,m,u[m],null,v,y);for(const m in p){if(Ee(m))continue;const C=p[m],k=u[m];C!==k&&m!=="value"&&i(c,m,k,C,v,y)}"value"in p&&i(c,"value",u.value,p.value,v)}},Tt=(c,u,p,y,v,m,C,k,g)=>{const d=u.el=c?c.el:a(""),x=u.anchor=c?c.anchor:a("");let{patchFlag:_,dynamicChildren:S,slotScopeIds:T}=u;T&&(k=k?k.concat(T):T),c==null?(o(d,p,y),o(x,p,y),It(u.children||[],p,x,v,m,C,k,g)):_>0&&_&64&&S&&c.dynamicChildren&&c.dynamicChildren.length===S.length?(O(c.dynamicChildren,S,p,v,m,C,k),(u.key!=null||v&&u===v.subTree)&&zs(c,u,!0)):B(c,u,p,x,v,m,C,k,g)},mt=(c,u,p,y,v,m,C,k,g)=>{u.slotScopeIds=k,c==null?u.shapeFlag&512?v.ctx.activate(u,p,y,C,g):Yt(u,p,y,v,m,C,g):At(c,u,g)},Yt=(c,u,p,y,v,m,C)=>{const k=c.component=sa(c,y,v);if(so(c)&&(k.ctx.renderer=me),ia(k,!1,C),k.asyncDep){if(v&&v.registerDep(k,ct,C),!c.el){const g=k.subTree=kt(ee);F(null,g,u,p),c.placeholder=g.el}}else ct(k,c,u,p,v,m,C)},At=(c,u,p)=>{const y=u.component=c.component;if(Rr(c,u,p))if(y.asyncDep&&!y.asyncResolved){G(y,u,p);return}else y.next=u,y.update();else u.el=c.el,y.vnode=u},ct=(c,u,p,y,v,m,C)=>{const k=()=>{if(c.isMounted){let{next:_,bu:S,u:T,parent:N,vnode:z}=c;{const at=Ps(c);if(at){_&&(_.el=z.el,G(c,_,C)),at.asyncDep.then(()=>{Nt(()=>{c.isUnmounted||d()},v)});return}}let K=_,Y;pe(c,!1),_?(_.el=z.el,G(c,_,C)):_=z,S&&On(S),(Y=_.props&&_.props.onVnodeBeforeUpdate)&&Jt(Y,N,_,z),pe(c,!0);const et=ws(c),St=c.subTree;c.subTree=et,j(St,et,b(St.el),Ce(St),c,v,m),_.el=et.el,K===null&&Fr(c,et.el),T&&Nt(T,v),(Y=_.props&&_.props.onVnodeUpdated)&&Nt(()=>Jt(Y,N,_,z),v)}else{let _;const{el:S,props:T}=u,{bm:N,m:z,parent:K,root:Y,type:et}=c,St=Re(u);pe(c,!1),N&&On(N),!St&&(_=T&&T.onVnodeBeforeMount)&&Jt(_,K,u),pe(c,!0);{Y.ce&&Y.ce._hasShadowRoot()&&Y.ce._injectChildStyle(et,c.parent?c.parent.type:void 0);const at=c.subTree=ws(c);j(null,at,p,y,c,v,m),u.el=at.el}if(z&&Nt(z,v),!St&&(_=T&&T.onVnodeMounted)){const at=u;Nt(()=>Jt(_,K,at),v)}(u.shapeFlag&256||K&&Re(K.vnode)&&K.vnode.shapeFlag&256)&&c.a&&Nt(c.a,v),c.isMounted=!0,u=p=y=null}};c.scope.on();const g=c.effect=new Mo(k);c.scope.off();const d=c.update=g.run.bind(g),x=c.job=g.runIfDirty.bind(g);x.i=c,x.id=c.uid,g.scheduler=()=>eo(x),pe(c,!0),d()},G=(c,u,p)=>{u.component=c;const y=c.vnode.props;c.vnode=u,c.next=null,Kr(c,u.props,y,p),Vr(c,u.children,p),$t(),es(c),Ut()},B=(c,u,p,y,v,m,C,k,g=!1)=>{const d=c&&c.children,x=c?c.shapeFlag:0,_=u.children,{patchFlag:S,shapeFlag:T}=u;if(S>0){if(S&128){zt(d,_,p,y,v,m,C,k,g);return}else if(S&256){ht(d,_,p,y,v,m,C,k,g);return}}T&8?(x&16&&ce(d,v,m),_!==d&&f(p,_)):x&16?T&16?zt(d,_,p,y,v,m,C,k,g):ce(d,v,m,!0):(x&8&&f(p,""),T&16&&It(_,p,y,v,m,C,k,g))},ht=(c,u,p,y,v,m,C,k,g)=>{c=c||_e,u=u||_e;const d=c.length,x=u.length,_=Math.min(d,x);let S;for(S=0;S<_;S++){const T=u[S]=g?oe(u[S]):Gt(u[S]);j(c[S],T,p,null,v,m,C,k,g)}d>x?ce(c,v,m,!0,!1,_):It(u,p,y,v,m,C,k,g,_)},zt=(c,u,p,y,v,m,C,k,g)=>{let d=0;const x=u.length;let _=c.length-1,S=x-1;for(;d<=_&&d<=S;){const T=c[d],N=u[d]=g?oe(u[d]):Gt(u[d]);if($e(T,N))j(T,N,p,null,v,m,C,k,g);else break;d++}for(;d<=_&&d<=S;){const T=c[_],N=u[S]=g?oe(u[S]):Gt(u[S]);if($e(T,N))j(T,N,p,null,v,m,C,k,g);else break;_--,S--}if(d>_){if(d<=S){const T=S+1,N=TS)for(;d<=_;)_t(c[d],v,m,!0),d++;else{const T=d,N=d,z=new Map;for(d=N;d<=S;d++){const vt=u[d]=g?oe(u[d]):Gt(u[d]);vt.key!=null&&z.set(vt.key,d)}let K,Y=0;const et=S-N+1;let St=!1,at=0;const Et=new Array(et);for(d=0;d=et){_t(vt,v,m,!0);continue}let jt;if(vt.key!=null)jt=z.get(vt.key);else for(K=N;K<=S;K++)if(Et[K-N]===0&&$e(vt,u[K])){jt=K;break}jt===void 0?_t(vt,v,m,!0):(Et[jt-N]=d+1,jt>=at?at=jt:St=!0,j(vt,u[jt],p,null,v,m,C,k,g),Y++)}const Ne=St?Yr(Et):_e;for(K=Ne.length-1,d=et-1;d>=0;d--){const vt=N+d,jt=u[vt],In=u[vt+1],hi=vt+1{const{el:m,type:C,transition:k,children:g,shapeFlag:d}=c;if(d&6){Rt(c.component.subTree,u,p,y);return}if(d&128){c.suspense.move(u,p,y);return}if(d&64){C.move(c,u,p,me);return}if(C===lt){o(m,u,p);for(let _=0;_k.enter(m),v));else{const{leave:_,delayLeave:S,afterLeave:T}=k,N=()=>{c.ctx.isUnmounted?s(m):o(m,u,p)},z=()=>{const K=m._isLeaving||!!m[no];m._isLeaving&&m[no](!0),k.persisted&&!K?N():_(m,()=>{N(),T&&T()})};S?S(m,N,z):z()}else o(m,u,p)},_t=(c,u,p,y=!1,v=!1)=>{const{type:m,props:C,ref:k,children:g,dynamicChildren:d,shapeFlag:x,patchFlag:_,dirs:S,cacheIndex:T,memo:N}=c;if(_===-2&&(v=!1),k!=null&&($t(),De(k,null,p,c,!0),Ut()),T!=null&&(u.renderCache[T]=void 0),x&256){u.ctx.deactivate(c);return}const z=x&1&&S,K=!Re(c);let Y;if(K&&(Y=C&&C.onVnodeBeforeUnmount)&&Jt(Y,u,c),x&6)qn(c.component,p,y);else{if(x&128){c.suspense.unmount(p,y);return}z&&he(c,null,u,"beforeUnmount"),x&64?c.type.remove(c,u,p,me,y):d&&!d.hasOnce&&(m!==lt||_>0&&_&64)?ce(d,u,p,!1,!0):(m===lt&&_&384||!v&&x&16)&&ce(g,u,p),y&&ie(c)}const et=N!=null&&T==null;(K&&(Y=C&&C.onVnodeUnmounted)||z||et)&&Nt(()=>{Y&&Jt(Y,u,c),z&&he(c,null,u,"unmounted"),et&&(c.el=null)},p)},ie=c=>{const{type:u,el:p,anchor:y,transition:v}=c;if(u===lt){jn(p,y);return}if(u===ho){E(c);return}const m=()=>{s(p),v&&!v.persisted&&v.afterLeave&&v.afterLeave()};if(c.shapeFlag&1&&v&&!v.persisted){const{leave:C,delayLeave:k}=v,g=()=>C(p,m);k?k(c.el,m,g):g()}else m()},jn=(c,u)=>{let p;for(;c!==u;)p=w(c),s(c),c=p;s(u)},qn=(c,u,p)=>{const{bum:y,scope:v,job:m,subTree:C,um:k,m:g,a:d}=c;Os(g),Os(d),y&&On(y),v.stop(),m&&(m.flags|=8,_t(C,c,u,p)),k&&Nt(k,u),Nt(()=>{c.isUnmounted=!0},u)},ce=(c,u,p,y=!1,v=!1,m=0)=>{for(let C=m;C{if(c.shapeFlag&6)return Ce(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=w(c.anchor||c.el),p=u&&u[dr];return p?w(p):u};let Ge=!1;const Je=(c,u,p)=>{let y;c==null?u._vnode&&(_t(u._vnode,null,null,!0),y=u._vnode.component):j(u._vnode||null,c,u,null,null,null,p),u._vnode=c,Ge||(Ge=!0,es(y),ns(),Ge=!1)},me={p:j,um:_t,m:Rt,r:ie,mt:Yt,mc:It,pc:B,pbc:O,n:Ce,o:t};return{render:Je,hydrate:void 0,createApp:Mr(Je)}}function go({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function pe({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Jr(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function zs(t,e,n=!1){const o=t.children,s=e.children;if(I(o)&&I(s))for(let i=0;i>1,t[n[a]]0&&(e[o]=n[i-1]),n[i]=o)}}for(i=n.length,r=n[i-1];i-- >0;)n[i]=r,r=e[r];return n}function Ps(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Ps(e)}function Os(t){if(t)for(let e=0;et.__isSuspense;function Xr(t,e){e&&e.pendingBranch?I(t)?e.effects.push(...t):e.effects.push(t):rr(t)}const lt=Symbol.for("v-fgt"),An=Symbol.for("v-txt"),ee=Symbol.for("v-cmt"),ho=Symbol.for("v-stc"),be=[];let qt=null;function $(t=!1){be.push(qt=t?null:[])}function Fs(){be.pop(),qt=be[be.length-1]||null}let Ke=1;function Hs(t,e=!1){Ke+=t,t<0&&qt&&e&&(qt.hasOnce=!0)}function Ks(t){return t.dynamicChildren=Ke>0?qt||_e:null,Fs(),Ke>0&&qt&&qt.push(t),t}function U(t,e,n,o,s,i){return Ks(H(t,e,n,o,s,i,!0))}function Zr(t,e,n,o,s){return Ks(kt(t,e,n,o,s,!0))}function $s(t){return t?t.__v_isVNode===!0:!1}function $e(t,e){return t.type===e.type&&t.key===e.key}const Us=({key:t})=>t??null,Sn=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?nt(t)||ft(t)||M(t)?{i:Wt,r:t,k:e,f:!!n}:t:null);function H(t,e=null,n=null,o=0,s=null,i=t===lt?0:1,r=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Us(e),ref:e&&Sn(e),scopeId:ss,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Wt};return a?(Cn(l,n),i&128&&t.normalize(l)):n&&(l.shapeFlag|=nt(n)?8:16),Ke>0&&!r&&qt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&qt.push(l),l}const kt=Qr;function Qr(t,e=null,n=null,o=0,s=null,i=!1){if((!t||t===Sr)&&(t=ee),$s(t)){const a=Se(t,e,!0);return n&&Cn(a,n),Ke>0&&!i&&qt&&(a.shapeFlag&6?qt[qt.indexOf(t)]=a:qt.push(a)),a.patchFlag=-2,a}if(da(t)&&(t=t.__vccOpts),e){e=ta(e);let{class:a,style:l}=e;a&&!nt(a)&&(e.class=nn(a)),X(l)&&(Zn(l)&&!I(l)&&(l=st({},l)),e.style=je(l))}const r=nt(t)?1:Rs(t)?128:_n(t)?64:X(t)?4:M(t)?2:0;return H(t,e,n,o,s,r,i,!0)}function ta(t){return t?Zn(t)||Ts(t)?st({},t):t:null}function Se(t,e,n=!1,o=!1){const{props:s,ref:i,patchFlag:r,children:a,transition:l}=t,h=e?ea(s||{},e):s,f={__v_isVNode:!0,__v_skip:!0,type:t.type,props:h,key:h&&Us(h),ref:e&&e.ref?n&&i?I(i)?i.concat(Sn(e)):[i,Sn(e)]:Sn(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:a,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==lt?r===-1?16:r|16:r,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:l,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Se(t.ssContent),ssFallback:t.ssFallback&&Se(t.ssFallback),placeholder:t.placeholder,el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return l&&o&&oo(f,l.clone(f)),f}function ne(t=" ",e=0){return kt(An,null,t,e)}function bt(t="",e=!1){return e?($(),Zr(ee,null,t)):kt(ee,null,t)}function Gt(t){return t==null||typeof t=="boolean"?kt(ee):I(t)?kt(lt,null,t.slice()):$s(t)?oe(t):kt(An,null,String(t))}function oe(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Se(t)}function Cn(t,e){let n=0;const{shapeFlag:o}=t;if(e==null)e=null;else if(I(e))n=16;else if(typeof e=="object")if(o&65){const s=e.default;s&&(s._c&&(s._d=!1),Cn(t,s()),s._c&&(s._d=!0));return}else{n=32;const s=e._;!s&&!Ts(e)?e._ctx=Wt:s===3&&Wt&&(Wt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else if(M(e)){if(o&65){Cn(t,{default:e});return}e={default:e,_ctx:Wt},n=32}else e=String(e),o&64?(n=16,e=[ne(e)]):n=8;t.children=e,t.shapeFlag|=n}function ea(...t){const e={};for(let n=0;nwt||Wt;let Nn,Ue;{const t=en(),e=(n,o)=>{let s;return(s=t[n])||(s=t[n]=[]),s.push(o),i=>{s.length>1?s.forEach(r=>r(i)):s[0](i)}};Nn=e("__VUE_INSTANCE_SETTERS__",n=>wt=n),Ue=e("__VUE_SSR_SETTERS__",n=>Ve=n)}const Be=t=>{const e=wt;return Nn(t),t.scope.on(),()=>{t.scope.off(),Nn(e)}},Vs=()=>{wt&&wt.scope.off(),Nn(null)};function Ws(t){return t.vnode.shapeFlag&4}let Ve=!1;function ia(t,e=!1,n=!1){e&&Ue(e);const{props:o,children:s}=t.vnode,i=Ws(t);Hr(t,o,i,e),Br(t,s,n||e);const r=i?ra(t,e):void 0;return e&&Ue(!1),r}function ra(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Cr);const{setup:o}=n;if(o){$t();const s=t.setupContext=o.length>1?la(t):null,i=Be(t),r=xe(o,t,0,[t.props,s]),a=wo(r);if(Ut(),i(),(a||t.sp)&&!Re(t)&&ls(t),a){if(r.then(Vs,Vs),e)return r.then(l=>{Ue(!0);try{Gs(t,l,e)}finally{Ue(!1)}}).catch(l=>{dn(l,t,0)});t.asyncDep=r}else Gs(t,r)}else Js(t)}function Gs(t,e,n){M(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:X(e)&&(t.setupState=Xo(e)),Js(t)}function Js(t,e,n){const o=t.type;t.render||(t.render=o.render||Ft);{const s=Be(t);$t();try{Nr(t)}finally{Ut(),s()}}}const aa={get(t,e){return pt(t,"get",""),t[e]}};function la(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,aa),slots:t.slots,emit:t.emit,expose:e}}function po(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Xo(Vi(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Fe)return Fe[n](t)},has(e,n){return n in e||n in Fe}})):t.proxy}const ca=/(?:^|[-_])\w/g,ua=t=>t.replace(ca,e=>e.toUpperCase()).replace(/[-_]/g,"");function fa(t,e=!0){return M(t)?t.displayName||t.name:t.name||e&&t.__name}function Ys(t,e,n=!1){let o=fa(e);if(!o&&e.__file){const s=e.__file.match(/([^/\\]+)\.\w+$/);s&&(o=s[1])}if(!o&&t){const s=i=>{for(const r in i)if(i[r]===e)return r};o=s(t.components)||t.parent&&s(t.parent.type.components)||s(t.appContext.components)}return o?ua(o):n?"App":"Anonymous"}function da(t){return M(t)&&"__vccOpts"in t}const it=(t,e)=>Xi(t,e,Ve),ga="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let bo;const Xs=typeof window<"u"&&window.trustedTypes;if(Xs)try{bo=Xs.createPolicy("vue",{createHTML:t=>t})}catch{}const Zs=bo?t=>bo.createHTML(t):t=>t,ga="http://www.w3.org/2000/svg",ha="http://www.w3.org/1998/Math/MathML",se=typeof document<"u"?document:null,Qs=se&&se.createElement("template"),pa={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,o)=>{const s=e==="svg"?se.createElementNS(ga,t):e==="mathml"?se.createElementNS(ha,t):n?se.createElement(t,{is:n}):se.createElement(t);return t==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:t=>se.createTextNode(t),createComment:t=>se.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>se.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,o,s,i){const r=n?n.previousSibling:e.lastChild;if(s&&(s===i||s.nextSibling))for(;e.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Qs.innerHTML=Zs(o==="svg"?`${t}`:o==="mathml"?`${t}`:t);const a=Qs.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}e.insertBefore(a,n)}return[r?r.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},ba=Symbol("_vtc");function ma(t,e,n){const o=t[ba];o&&(e=(e?[e,...o]:[...o]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const ti=Symbol("_vod"),_a=Symbol("_vsh"),va=Symbol(""),ya=/(?:^|;)\s*display\s*:/;function xa(t,e,n){const o=t.style,s=nt(n);let i=!1;if(n&&!s){if(e)if(nt(e))for(const r of e.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&We(o,a,"")}else for(const r in e)n[r]==null&&We(o,r,"");for(const r in n){r==="display"&&(i=!0);const a=n[r];a!=null?wa(t,r,!nt(e)&&e?e[r]:void 0,a)||We(o,r,a):We(o,r,"")}}else if(s){if(e!==n){const r=o[va];r&&(n+=";"+r),o.cssText=n,i=ya.test(n)}}else e&&t.removeAttribute("style");ti in t&&(t[ti]=i?o.display:"",t[_a]&&(o.display="none"))}const Tn=/\s*!important$/;function We(t,e,n){if(I(n))n.forEach(o=>We(t,e,o));else if(n==null&&(n=""),e.startsWith("--"))Tn.test(n)?t.setProperty(e,n.replace(Tn,""),"important"):t.setProperty(e,n);else{const o=ka(t,e);Tn.test(n)?t.setProperty(Mt(o),n.replace(Tn,""),"important"):t[o]=n}}const ei=["Webkit","Moz","ms"],mo={};function ka(t,e){const n=mo[e];if(n)return n;let o=Ct(e);if(o!=="filter"&&o in t)return mo[e]=o;o=So(o);for(let s=0;s_o||(ja.then(()=>_o=0),_o=Date.now());function Ia(t,e){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(I(s)){const i=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{i.call(o),o._stopped=!0};const r=s.slice(),a=[o];for(let l=0;lt.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Ma=(t,e,n,o,s,i)=>{const r=s==="svg";e==="class"?ma(t,o,r):e==="style"?xa(t,n,o):Ye(e)?Xe(e)||Ca(t,e,n,o,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):La(t,e,o,r))?(si(t,e,o),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&oi(t,e,o,r,i,e!=="value")):t._isVueCE&&(za(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!nt(o)))?si(t,Ct(e),o,i,e):(e==="true-value"?t._trueValue=o:e==="false-value"&&(t._falseValue=o),oi(t,e,o,r))};function La(t,e,n,o){if(o)return!!(e==="innerHTML"||e==="textContent"||e in t&&ri(e)&&M(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const s=t.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ri(e)&&nt(n)?!1:e in t}function za(t,e){const n=t._def.props;if(!n)return!1;const o=Ct(e);return Array.isArray(n)?n.some(s=>Ct(s)===o):Object.keys(n).some(s=>Ct(s)===o)}const ai={};function Pa(t,e,n){let o=gr(t,e);Qe(o)&&(o=st({},o,e));class s extends vo{constructor(r){super(o,r,n)}}return s.def=o,s}const Oa=typeof HTMLElement<"u"?HTMLElement:class{};class vo extends Oa{constructor(e,n={},o=ui){super(),this._def=e,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==ui?this._root=this.shadowRoot:e.shadowRoot!==!1?(this.attachShadow(st({},e.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 e=this;for(;e=e&&(e.assignedSlot||e.parentNode||e.host);)if(e instanceof vo){this._parent=e;break}this._instance||(this._resolved?this._mount(this._def):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,hn(()=>{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(e){for(const n of e)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:r}=o;let a;if(i&&!I(i))for(const l in i){const h=i[l];(h===Number||h&&h.type===Number)&&(l in this._props&&(this._props[l]=No(this._props[l])),(a||(a=Object.create(null)))[Ct(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(r),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,e(this._def=o,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)W(this,o)||Object.defineProperty(this,o,{get:()=>Qn(n[o])})}_resolveProps(e){const{props:n}=e,o=I(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(Ct))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!this._patching)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const n=this.hasAttribute(e);let o=n?this.getAttribute(e):ai;const s=Ct(e);n&&this._numberProps&&this._numberProps[s]&&(o=No(o)),this._setProp(s,o,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,n,o=!0,s=!1){if(n!==this._props[e]&&(this._dirty=!0,n===ai?delete this._props[e]:(this._props[e]=n,e==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),n===!0?this.setAttribute(Mt(e),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Mt(e),n+""):n||this.removeAttribute(Mt(e)),i&&i.observe(this,{attributes:!0})}}_update(){const e=this._createVNode();this._app&&(e.appContext=this._app._context),Ra(e,this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const n=kt(this._def,st(e,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(i,r)=>{this.dispatchEvent(new CustomEvent(i,Qe(r[0])?st({detail:r},r[0]):{detail:r}))};o.emit=(i,...r)=>{s(i,r),Mt(i)!==i&&s(Mt(i),r)},this._setParent()}),n}_applyStyles(e,n,o){if(!e)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,i=this.shadowRoot,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let a=null;for(let l=e.length-1;l>=0;l--){const h=document.createElement("style");s&&h.setAttribute("nonce",s),h.textContent=e[l],i.insertBefore(h,a||r),a=h,l===0&&(o||this._styleAnchors.set(this._def,h),n&&this._styleAnchors.set(n,h))}}_getStyleAnchor(e){if(!e)return null;const n=this._styleAnchors.get(e);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let n=0;n{ci().render(...t)},ui=(...t)=>{const e=ci().createApp(...t),{mount:n}=e;return e.mount=o=>{const s=Ha(o);if(!s)return;const i=e._component;!M(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Fa(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},e};function Fa(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Ha(t){return nt(t)?document.querySelector(t):t}function Ka(t,e){if(!e.includes("."))return t==null?void 0:t[e];const[n,...o]=e.split(".");let s=t==null?void 0:t[n];for(const i of o)s=s==null?void 0:s[i];return s}function $a(t,e){const n=t.toLowerCase(),o=e.toLowerCase(),s=[];let i=0,r=n.indexOf(o,i);for(;r!==-1;)s.push([r,r+o.length-1]),i=r+o.length,r=n.indexOf(o,i);return s}function Ua(t,e,n){const o=t.toLowerCase(),s=e.toLowerCase(),i=s.length;if(!i||!o.length)return null;const r=Math.floor(n*i);if(r<=0)return null;let a=new Array(o.length+1).fill(0),l=new Array(o.length+1);for(let w=1;w<=i;w++){l[0]=w;for(let A=1;A<=o.length;A++){const L=a[A-1]+(s[w-1]===o[A-1]?0:1);l[A]=Math.min(L,a[A]+1,l[A-1]+1)}[a,l]=[l,a]}let h=1/0,f=-1;for(let w=1;w<=o.length;w++)a[w]r?null:[[Math.max(0,f-i),f-1]]}class Ba{constructor(e,n={}){this.list=Array.isArray(e)?e:[],this.keys=n.keys||[],this.threshold=typeof n.threshold=="number"?n.threshold:.4,this.minMatchCharLength=n.minMatchCharLength||1}search(e){const n=String(e||"").trim();if(!n)return this.list.map(i=>({item:i,matches:[]}));if(n.length{const n=t.__vccOpts||t;for(const[o,s]of e)n[o]=s;return n},Wa=["value","placeholder","aria-label"],Ga=yo({__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(t,{emit:e}){const n=t,o=e,s=it(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function i(r){const a=r.target.value??"";o("update:modelValue",a),o("search",{value:a})}return(r,a)=>($(),U("div",{class:"search-box",style:je(s.value)},[a[0]||(a[0]=H("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[H("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),H("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),H("input",{type:"search",value:t.modelValue,placeholder:t.placeholder,"aria-label":t.ariaLabel,onInput:i},null,40,Wa)],4))}},[["styles",[Va]]]),Ja=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);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}",Ya=["data-active","aria-expanded"],Xa={class:"filter-dropdown__label"},Za=["value","placeholder"],Qa={class:"filter-dropdown__options"},tl={key:0,class:"filter-dropdown__no-options"},el=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],nl={class:"filter-dropdown__count"},En=yo({__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(t,{emit:e}){const n=t,o=e,s=dt(!1),i=dt(""),r=dt(-1),a=dt(null),l=dt(null),h=dt(null),f=dt({});function b(q){const O=q.ownerDocument,J=O.createElement("div");J.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(q.parentElement||q.getRootNode().body||O.body).appendChild(J);const mt=J.getBoundingClientRect();return J.remove(),{x:mt.left,y:mt.top}}function w(){const q=h.value;if(!q)return;const O=q.getBoundingClientRect(),J=window.innerWidth,Tt=window.innerHeight,mt=320,Yt=4,At=8,G=Math.round(Math.min(Math.max(O.width,240),J-At*2)),B=O.right>At&&O.leftJ-At?ht=Math.round(Math.max(O.right-G,At)):ht=Math.round(Math.max(O.left,At)):ht=Math.round(Math.min(Math.max(O.left,At),J-G-At));const zt=Tt-O.bottom,Rt=zt<180&&O.top>zt,_t=b(q),ie=Math.round(ht-_t.x);f.value=Rt?{top:"auto",bottom:`${Math.round(Tt-O.top+Yt+_t.y)}px`,left:`${ie}px`,width:`${G}px`,maxHeight:`${Math.round(Math.min(mt,O.top-Yt-At))}px`}:{top:`${Math.round(O.bottom+Yt-_t.y)}px`,bottom:"auto",left:`${ie}px`,width:`${G}px`,maxHeight:`${Math.round(Math.min(mt,zt-Yt-At))}px`}}function A(){s.value&&w()}const L=it(()=>{if(!i.value)return n.options;const q=i.value.toLowerCase();return n.options.filter(O=>O.label.toLowerCase().includes(q))}),j=it(()=>n.options.find(q=>q.value===n.value));function R(q){var J;const O=((J=q.composedPath)==null?void 0:J.call(q))??[];a.value&&!O.includes(a.value)&&P()}function F(){s.value?P():D()}function D(){s.value=!0,i.value="",r.value=-1,w(),document.addEventListener("click",R),window.addEventListener("scroll",A,!0),window.addEventListener("resize",A),hn(()=>{var q;w(),(q=l.value)==null||q.focus()})}function P(){s.value=!1,i.value="",r.value=-1,document.removeEventListener("click",R),window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A)}function E(q){i.value=q.target.value,r.value=-1}function tt(q){const O=L.value;switch(q.key){case"ArrowDown":q.preventDefault(),r.value=Math.min(r.value+1,O.length-1),ot();break;case"ArrowUp":q.preventDefault(),r.value=Math.max(r.value-1,0),ot();break;case"Enter":{q.preventDefault();const J=O[r.value];J&>(J);break}case"Escape":q.preventDefault(),P();break}}function ot(){hn(()=>{var O;const q=(O=a.value)==null?void 0:O.querySelector(".filter-dropdown__option[data-highlighted]");q==null||q.scrollIntoView({block:"nearest"})})}function gt(q){o("filter-change",{name:n.name,value:q.value,label:q.label,type:q.type}),P()}function It(){o("filter-clear",{name:n.name}),P()}return gs(()=>{document.removeEventListener("click",R),window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A)}),(q,O)=>($(),U("div",{ref_key:"rootRef",ref:a,class:nn(["filter-dropdown",{"is-open":s.value}])},[H("button",{ref_key:"triggerRef",ref:h,class:"filter-dropdown__trigger input","data-active":t.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":s.value,onClick:F},[H("span",Xa,[j.value?($(),U(lt,{key:0},[ne(rt(t.label)+": ",1),H("strong",null,rt(j.value.label),1)],64)):($(),U(lt,{key:1},[ne(rt(t.label),1)],64))]),O[0]||(O[0]=H("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[H("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ya),s.value?($(),U("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:je(f.value)},[H("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:i.value,placeholder:t.placeholder,onInput:E,onKeydown:tt},null,40,Za),t.value?($(),U("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:It},"Clear selection")):bt("",!0),H("div",Qa,[L.value.length===0?($(),U("div",tl,"No options found")):($(!0),U(lt,{key:1},xn(L.value,(J,Tt)=>($(),U("div",{key:J.value,class:"filter-dropdown__option",role:"option","data-highlighted":Tt===r.value?"":void 0,"data-selected":J.value===t.value?"":void 0,"aria-selected":J.value===t.value,onClick:mt=>gt(J),onMouseenter:mt=>r.value=Tt},[H("span",null,rt(J.label),1),H("span",nl,rt(J.count),1)],40,el))),128))])],4)):bt("",!0)],2))}},[["styles",[Ja]]]);function ol(t,e){return String(e||t||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const fi={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},sl={"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"},il=(()=>{const t=n=>String(n||"").toLowerCase().trim(),e={};for(const n of Object.keys(sl))e[t(n)]=n;return e})(),rl={"tai-kadai":"Kra-Dai",none:"Unknown"};function di(t){if(!t)return"Unknown";const e=String(t).trim(),n=e.toLowerCase();return rl[n]||il[n]||e}const al={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"},ll=":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))}",cl={class:"pgg-root"},ul={key:0,id:"filters",class:"filters"},fl={key:0,class:"pgg-search"},dl=["aria-expanded"],gl={key:0,class:"filters__toggle-count"},hl={class:"filters__panel"},pl={class:"filters__panel"},bl=["data-active"],ml={key:3,class:"filters__active"},_l=["onClick"],vl={class:"pgg-body"},yl={key:0,class:"repel"},xl={class:"font-size-sm"},kl={key:1},wl={id:"results",class:"grid uupgs-list"},Al=["src","alt"],Sl={class:"uupg__header"},Cl=["innerHTML"],Nl={key:0,class:"uupg__country"},Tl=["href"],El=["innerHTML"],jl=["innerHTML"],ql=["innerHTML"],Il={key:1,class:"uupg__content"},Ml=["href"],Ll={key:0,class:"loading"},zl={key:1,class:"pgg-empty pgg-failed",role:"status"},Pl={key:2,class:"pgg-empty"},Ol=Pa(yo({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},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:""},religionFamily:{type:String,default:""},languageFamily:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(t,{emit:e}){const n=t,o=e,s=it(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),i=it(()=>n.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),r=it(()=>n.languageCode||s.value.languageCode||""),a=it(()=>n.researchUrl||s.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),l=it(()=>({...s.value.t||{},...n.t||{}})),h=g=>!(g===!1||g==="false"||g==="0"||g===0),f=it(()=>h(n.showSearch)),b=it(()=>h(n.showFilters)),w=it(()=>h(n.showTotal)),A=dt([]),L=dt([]),j=dt(0),R=dt(1),F=dt(!0),D=dt(!1),P=dt(!0),E=dt({}),tt=dt(""),ot=dt({}),gt=it(()=>f.value?tt.value:n.query||""),It=it(()=>{const g={},d=x=>x;return n.wagfRegion&&(g.wagf_region={value:n.wagfRegion,label:d(n.wagfRegion)}),n.wagfBlock&&(g.wagf_block={value:n.wagfBlock,label:d(n.wagfBlock)}),n.rop1&&(g.rop1={value:n.rop1,label:d(n.rop1)}),n.religion&&(g.religion={value:n.religion,label:d(n.religion)}),n.countryCode&&(g.country_code={value:n.countryCode,label:d(n.countryCode)}),n.primaryLanguage&&(g.primary_language={value:n.primaryLanguage,label:d(n.primaryLanguage)}),n.engagementStatus&&(g.engagement_status={value:n.engagementStatus,label:d(n.engagementStatus)}),n.cluster&&(g.imb_reg_of_people_2={value:n.cluster,label:d(n.cluster)}),n.peopleGroup&&(g.imb_reg_of_people_25={value:n.peopleGroup,label:d(n.peopleGroup)}),n.gospelAccess&&(g.imb_gsec={value:n.gospelAccess,label:d(n.gospelAccess)}),n.religionFamily&&(g.__religion_family={value:n.religionFamily,label:d(n.religionFamily)}),n.languageFamily&&(g.__language_family={value:n.languageFamily,label:d(n.languageFamily)}),g}),q=it(()=>b.value?ot.value:It.value),O=it(()=>Object.values(q.value||{}).filter(g=>g&&g.value!==""&&g.value!=null).length),J=it(()=>Object.keys(q.value).length),Tt=it(()=>O.value>0||!!(gt.value||"").trim());function mt(g){return g.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Yt(g,d=500){let x;return(..._)=>{clearTimeout(x),x=setTimeout(()=>g(..._),d)}}const At=Yt(()=>{F.value=!0,R.value=1,ue()},500);function ct(g){tt.value=(g==null?void 0:g.value)??"",At()}function G(){P.value=!P.value}function B(g){ot.value={...ot.value,[g.name]:{value:g.value,label:g.label}},R.value=1,ue()}function ht(g){zt(g.name)}function zt(g){const d={...ot.value};delete d[g],ot.value=d,R.value=1,ue()}function Rt(){ot.value={},R.value=1,ue()}function _t(){if(ot.value.exact)return zt("exact");ot.value={...ot.value,exact:{value:"yes",label:l.value.exact_filter||"Exact"}},R.value=1,ue()}const ie=g=>String(g??"").toLowerCase().replace(/[\s_&-]+/g,""),jn={__religion_family:g=>{const d=g.religion&&typeof g.religion=="object"?g.religion.value:g.religion,x=String(d||"").charAt(0).toUpperCase(),_=x&&fi[x]?fi[x]:"";return _?{value:_,label:_}:null},__language_family:g=>{const d=g.imb_language_family,x=d&&typeof d=="object"?d.label||d.value:d;let _="";if(x)_=di(x);else{const S=g.primary_language&&typeof g.primary_language=="object"?g.primary_language.value:null,T=S&&al[S];_=T?di(T):""}return _?{value:_,label:_}:null}},qn=(g,d)=>jn[d]?jn[d](g):g[d];function ce(g,d){if(!g)return!1;const x=ie(d==null?void 0:d.value);return x?ie(g.value)===x||ie(g.label)===x:!1}function Ce(g){let d=g;for(const[x,_]of Object.entries(q.value))x==="exact"?d=d:d=d.filter(S=>ce(qn(S,x),_));return d}function Ge(){const g=d=>{const x=new Map;for(const _ of A.value){const S=_[d];if(!(S!=null&&S.value))continue;const T=x.get(S.value);T?T.count++:x.set(S.value,{label:S.label,count:1})}return Array.from(x.entries()).map(([_,{label:S,count:T}])=>({value:_,label:S,count:T})).sort((_,S)=>_.label.localeCompare(S.label))};E.value={wagf_region:g("wagf_region"),wagf_block:g("wagf_block"),rop1:g("rop1"),religion:g("religion")}}function Je(){const g=Object.keys(E.value),d={};for(const x of g){const _={};for(const[N,z]of Object.entries(q.value))N!==x&&(_[N]=z);const S=me(_,A.value),T=new Map;for(const N of S){const z=N[x];z!=null&&z.value&&T.set(z.value,(T.get(z.value)??0)+1)}d[x]=(E.value[x]??[]).map(N=>({...N,count:T.get(N.value)??0}))}E.value=d}function me(g,d){let x=d;for(const[_,S]of Object.entries(g))_!=="exact"&&(x=x.filter(T=>ce(qn(T,_),S)));return x}function ue(){A.value=A.value.map(T=>(T.matches=[],T.country_label="",T.rop1_label="",T));const d=Object.keys(q.value).length>0?Ce(A.value):A.value,x=gt.value;if(!x){L.value=d,j.value=L.value.length,F.value=!1,Je(),p();return}const S=new Ba(d,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:q.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(x);L.value=S.map(T=>{var z;const N={...T.item};if(!T.matches)return N;N.matches=[];for(const K of T.matches){const Y=K.key;if(!Y)continue;let et="";if(String(Y).includes(".")){const[St,at]=String(Y).split(".");et=(z=N[St])==null?void 0:z[at]}else et=N[String(Y)];if(et&&typeof et=="string"){let St=0,at="";if(K.indices.forEach((Et,Ne)=>{const vt=Et[0],jt=Et[1],In=K.indices.length-1===Ne;at+=mt(et.slice(St,vt))+`${mt(et.slice(vt,jt+1))}`+(In?mt(et.slice(jt+1)):""),St=jt+1}),String(Y).includes("imb_alternate_name"))N.matches.push({key:l.value.alternate_name??"Also known as",label:at});else if(String(Y).includes(".")){const[Et]=String(Y).split("."),Ne={religion:l.value.religion,country_code:l.value.country,rop1:l.value.rop1,wagf_region:l.value.wagf_region,wagf_block:l.value.wagf_block};Et==="rop1"?N.rop1_label=at:Et==="country_code"?N.country_label=at:Et==="wagf_region"||N.matches.push({key:Ne[Et]??Et,label:at})}else N[String(Y)]=at}}return N}),j.value=L.value.length,F.value=!1,Je(),p()}const c=Bs();function u(){var d,x;const g=((d=c==null?void 0:c.vnode)==null?void 0:d.el)||((x=c==null?void 0:c.proxy)==null?void 0:x.$el);try{const _=g&&g.getRootNode&&g.getRootNode();if(_&&_.host)return _.host}catch{}return g}function p(){const g={query:gt.value,activeFilters:q.value,total:j.value,slugs:L.value.map(x=>x.slug)};o("groups-filtered",g);const d=u();d&&typeof d.dispatchEvent=="function"&&d.dispatchEvent(new CustomEvent("groups-filtered",{detail:g,bubbles:!0,composed:!0}))}function y(){return n.morePerPage>0?j.value>n.perPage+(R.value-1)*n.morePerPage&&!F.value&&L.value.length>0:j.value>R.value*n.perPage&&!F.value&&L.value.length>0}function v(){R.value=R.value+1}const m=it(()=>n.morePerPage>0?L.value.slice(0,n.perPage+(R.value-1)*n.morePerPage):L.value.slice(0,R.value*n.perPage)),C=it(()=>y());async function k(){const g=`${i.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,imb_language_family&lang=${r.value}`;F.value=!0,D.value=!1;try{const d=await fetch(g);if(!d.ok)throw new Error(`HTTP ${d.status}`);const x=await d.json();j.value=x.total,A.value=Array.isArray(x.posts)?x.posts:[],Ge(),ue()}catch(d){console.error("[people-groups-grid] fetch error:",d),D.value=!0,A.value=[],F.value=!1}}return mn(()=>[n.query,It.value,f.value,b.value],()=>{R.value=1,ue()}),ds(k),(g,d)=>{var x,_,S,T;return $(),U("div",cl,[f.value||b.value?($(),U("div",ul,[f.value?($(),U("div",fl,[kt(Ga,{"model-value":tt.value,placeholder:l.value.search||"Search people groups…","aria-label":l.value.search||"Search people groups","max-width":"480px",onSearch:ct},null,8,["model-value","placeholder","aria-label"])])):bt("",!0),b.value?($(),U("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":P.value,onClick:G},[d[0]||(d[0]=H("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[H("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),ne(" "+rt(P.value?l.value.hide_filters||"Hide Filters":l.value.show_filters||"Show Filters")+" ",1),O.value?($(),U("span",gl,rt(O.value),1)):bt("",!0),d[1]||(d[1]=H("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[H("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,dl)):bt("",!0),b.value&&P.value?($(),U(lt,{key:2},[H("div",hl,[kt(En,{label:l.value.wagf_region||"Region",name:"wagf_region",options:E.value.wagf_region||[],value:((x=q.value.wagf_region)==null?void 0:x.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.wagf_block||"Bloc",name:"wagf_block",options:E.value.wagf_block||[],value:((_=q.value.wagf_block)==null?void 0:_.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.rop1||"People Group",name:"rop1",options:E.value.rop1||[],value:((S=q.value.rop1)==null?void 0:S.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.religion||"Religion",name:"religion",options:E.value.religion||[],value:((T=q.value.religion)==null?void 0:T.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"])]),H("div",pl,[H("button",{class:"filter-toggle",type:"button","data-active":q.value.exact?"":void 0,onClick:_t},rt(l.value.exact_filter||"Exact"),9,bl)])],64)):bt("",!0),b.value&&J.value>0?($(),U("div",ml,[($(!0),U(lt,null,xn(q.value,(N,z)=>($(),U("span",{key:z,class:"filter-chip"},[ne(rt(N.label)+" ",1),H("button",{class:"filter-chip__remove",type:"button",onClick:K=>zt(String(z))},"×",8,_l)]))),128)),H("button",{class:"filters__clear-all",type:"button",onClick:Rt},rt(l.value.clear_all||"Clear All"),1)])):bt("",!0)])):bt("",!0),H("div",vl,[w.value||Tt.value?($(),U("div",yl,[H("div",xl,[F.value?($(),U("span",kl," ")):($(),U(lt,{key:0},[ne(rt(Tt.value&&!w.value?(l.value.showing||"Showing")+" "+j.value.toLocaleString("en-US"):(l.value.total||"Total")+": "+j.value.toLocaleString("en-US")),1)],64))])])):bt("",!0),H("div",wl,[($(!0),U(lt,null,xn(m.value,N=>($(),U("div",{key:N.slug,class:"card uupg__card"},[N.image_url?($(),U("img",{key:0,class:"uupg__image",src:N.image_url,alt:N.name},null,8,Al)):bt("",!0),H("div",Sl,[H("h3",{class:"uupg__name",innerHTML:N.name},null,8,Cl),N.country_code?($(),U("p",Nl,[H("a",{class:"uupg__country-link",href:`${a.value}../countries/${Qn(ol)(N.country_code.value,N.country_code.label)}`},[H("span",{innerHTML:N.country_label?N.country_label:N.country_code.label},null,8,El)],8,Tl),N.rop1?($(),U(lt,{key:0},[d[2]||(d[2]=ne(" (",-1)),H("span",{innerHTML:N.rop1_label?N.rop1_label:N.rop1.label},null,8,jl),d[3]||(d[3]=ne(")",-1))],64)):bt("",!0)])):bt("",!0),N.matches?($(!0),U(lt,{key:1},xn(N.matches,(z,K)=>($(),U("p",{key:K,class:"uupg__match"},[H("strong",null,rt(z.key),1),d[4]||(d[4]=ne(": ",-1)),H("span",{innerHTML:z.label},null,8,ql)]))),128)):bt("",!0)]),N.location_description?($(),U("p",Il,rt(N.location_description),1)):bt("",!0),H("a",{class:"uupg__more-button",href:`${a.value}${N.slug}`},rt(l.value.full_profile||"Full profile"),9,Ml)]))),128)),F.value?($(),U("div",Ll,rt(l.value.loading||"Loading…"),1)):D.value?($(),U("div",zl,rt(l.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):m.value.length?bt("",!0):($(),U("div",Pl,rt(l.value.no_results||"No people groups match this filter."),1))]),C.value?($(),U("button",{key:1,class:"pgg-loadmore",type:"button",onClick:v},rt(l.value.load_more||"Load more"),1)):bt("",!0)])])}}},[["styles",[ll]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",Ol))})(); +**/let bo;const Xs=typeof window<"u"&&window.trustedTypes;if(Xs)try{bo=Xs.createPolicy("vue",{createHTML:t=>t})}catch{}const Zs=bo?t=>bo.createHTML(t):t=>t,ha="http://www.w3.org/2000/svg",pa="http://www.w3.org/1998/Math/MathML",se=typeof document<"u"?document:null,Qs=se&&se.createElement("template"),ba={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,o)=>{const s=e==="svg"?se.createElementNS(ha,t):e==="mathml"?se.createElementNS(pa,t):n?se.createElement(t,{is:n}):se.createElement(t);return t==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:t=>se.createTextNode(t),createComment:t=>se.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>se.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,o,s,i){const r=n?n.previousSibling:e.lastChild;if(s&&(s===i||s.nextSibling))for(;e.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Qs.innerHTML=Zs(o==="svg"?`${t}`:o==="mathml"?`${t}`:t);const a=Qs.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}e.insertBefore(a,n)}return[r?r.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},ma=Symbol("_vtc");function _a(t,e,n){const o=t[ma];o&&(e=(e?[e,...o]:[...o]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const ti=Symbol("_vod"),va=Symbol("_vsh"),ya=Symbol(""),xa=/(?:^|;)\s*display\s*:/;function ka(t,e,n){const o=t.style,s=nt(n);let i=!1;if(n&&!s){if(e)if(nt(e))for(const r of e.split(";")){const a=r.slice(0,r.indexOf(":")).trim();n[a]==null&&We(o,a,"")}else for(const r in e)n[r]==null&&We(o,r,"");for(const r in n){r==="display"&&(i=!0);const a=n[r];a!=null?Aa(t,r,!nt(e)&&e?e[r]:void 0,a)||We(o,r,a):We(o,r,"")}}else if(s){if(e!==n){const r=o[ya];r&&(n+=";"+r),o.cssText=n,i=xa.test(n)}}else e&&t.removeAttribute("style");ti in t&&(t[ti]=i?o.display:"",t[va]&&(o.display="none"))}const Tn=/\s*!important$/;function We(t,e,n){if(I(n))n.forEach(o=>We(t,e,o));else if(n==null&&(n=""),e.startsWith("--"))Tn.test(n)?t.setProperty(e,n.replace(Tn,""),"important"):t.setProperty(e,n);else{const o=wa(t,e);Tn.test(n)?t.setProperty(Mt(o),n.replace(Tn,""),"important"):t[o]=n}}const ei=["Webkit","Moz","ms"],mo={};function wa(t,e){const n=mo[e];if(n)return n;let o=Ct(e);if(o!=="filter"&&o in t)return mo[e]=o;o=So(o);for(let s=0;s_o||(qa.then(()=>_o=0),_o=Date.now());function Ma(t,e){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const s=n.value;if(I(s)){const i=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{i.call(o),o._stopped=!0};const r=s.slice(),a=[o];for(let l=0;lt.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,La=(t,e,n,o,s,i)=>{const r=s==="svg";e==="class"?_a(t,o,r):e==="style"?ka(t,n,o):Ye(e)?Xe(e)||Na(t,e,n,o,i):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):za(t,e,o,r))?(si(t,e,o),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&oi(t,e,o,r,i,e!=="value")):t._isVueCE&&(Pa(t,e)||t._def.__asyncLoader&&(/[A-Z]/.test(e)||!nt(o)))?si(t,Ct(e),o,i,e):(e==="true-value"?t._trueValue=o:e==="false-value"&&(t._falseValue=o),oi(t,e,o,r))};function za(t,e,n,o){if(o)return!!(e==="innerHTML"||e==="textContent"||e in t&&ri(e)&&M(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="sandbox"&&t.tagName==="IFRAME"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const s=t.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ri(e)&&nt(n)?!1:e in t}function Pa(t,e){const n=t._def.props;if(!n)return!1;const o=Ct(e);return Array.isArray(n)?n.some(s=>Ct(s)===o):Object.keys(n).some(s=>Ct(s)===o)}const ai={};function Oa(t,e,n){let o=hr(t,e);Qe(o)&&(o=st({},o,e));class s extends vo{constructor(r){super(o,r,n)}}return s.def=o,s}const Da=typeof HTMLElement<"u"?HTMLElement:class{};class vo extends Da{constructor(e,n={},o=ui){super(),this._def=e,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==ui?this._root=this.shadowRoot:e.shadowRoot!==!1?(this.attachShadow(st({},e.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 e=this;for(;e=e&&(e.assignedSlot||e.parentNode||e.host);)if(e instanceof vo){this._parent=e;break}this._instance||(this._resolved?this._mount(this._def):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,hn(()=>{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(e){for(const n of e)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:i,styles:r}=o;let a;if(i&&!I(i))for(const l in i){const h=i[l];(h===Number||h&&h.type===Number)&&(l in this._props&&(this._props[l]=No(this._props[l])),(a||(a=Object.create(null)))[Ct(l)]=!0)}this._numberProps=a,this._resolveProps(o),this.shadowRoot&&this._applyStyles(r),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,e(this._def=o,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)W(this,o)||Object.defineProperty(this,o,{get:()=>Qn(n[o])})}_resolveProps(e){const{props:n}=e,o=I(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&o.includes(s)&&this._setProp(s,this[s]);for(const s of o.map(Ct))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(i){this._setProp(s,i,!0,!this._patching)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const n=this.hasAttribute(e);let o=n?this.getAttribute(e):ai;const s=Ct(e);n&&this._numberProps&&this._numberProps[s]&&(o=No(o)),this._setProp(s,o,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,n,o=!0,s=!1){if(n!==this._props[e]&&(this._dirty=!0,n===ai?delete this._props[e]:(this._props[e]=n,e==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),o)){const i=this._ob;i&&(this._processMutations(i.takeRecords()),i.disconnect()),n===!0?this.setAttribute(Mt(e),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Mt(e),n+""):n||this.removeAttribute(Mt(e)),i&&i.observe(this,{attributes:!0})}}_update(){const e=this._createVNode();this._app&&(e.appContext=this._app._context),Fa(e,this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const n=kt(this._def,st(e,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const s=(i,r)=>{this.dispatchEvent(new CustomEvent(i,Qe(r[0])?st({detail:r},r[0]):{detail:r}))};o.emit=(i,...r)=>{s(i,r),Mt(i)!==i&&s(Mt(i),r)},this._setParent()}),n}_applyStyles(e,n,o){if(!e)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,i=this.shadowRoot,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i);let a=null;for(let l=e.length-1;l>=0;l--){const h=document.createElement("style");s&&h.setAttribute("nonce",s),h.textContent=e[l],i.insertBefore(h,a||r),a=h,l===0&&(o||this._styleAnchors.set(this._def,h),n&&this._styleAnchors.set(n,h))}}_getStyleAnchor(e){if(!e)return null;const n=this._styleAnchors.get(e);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let n=0;n{ci().render(...t)},ui=(...t)=>{const e=ci().createApp(...t),{mount:n}=e;return e.mount=o=>{const s=Ka(o);if(!s)return;const i=e._component;!M(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const r=n(s,!1,Ha(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},e};function Ha(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Ka(t){return nt(t)?document.querySelector(t):t}function fi(t,e){if(!e.includes("."))return t==null?void 0:t[e];const[n,...o]=e.split(".");let s=t==null?void 0:t[n];for(const i of o)s=s==null?void 0:s[i];return s}function $a(t,e){const n=t.toLowerCase(),o=e.toLowerCase(),s=[];let i=0,r=n.indexOf(o,i);for(;r!==-1;)s.push([r,r+o.length-1]),i=r+o.length,r=n.indexOf(o,i);return s}function Ua(t,e,n){const o=t.toLowerCase(),s=e.toLowerCase(),i=s.length;if(!i||!o.length)return null;const r=Math.floor(n*i);if(r<=0)return null;let a=new Array(o.length+1).fill(0),l=new Array(o.length+1);for(let w=1;w<=i;w++){l[0]=w;for(let A=1;A<=o.length;A++){const L=a[A-1]+(s[w-1]===o[A-1]?0:1);l[A]=Math.min(L,a[A]+1,l[A-1]+1)}[a,l]=[l,a]}let h=1/0,f=-1;for(let w=1;w<=o.length;w++)a[w]r?null:[[Math.max(0,f-i),f-1]]}class Ba{constructor(e,n={}){this.list=Array.isArray(e)?e:[],this.keys=n.keys||[],this.threshold=typeof n.threshold=="number"?n.threshold:.4,this.minMatchCharLength=n.minMatchCharLength||1}search(e){const n=String(e||"").trim();if(!n)return this.list.map(r=>({item:r,matches:[]}));if(n.length{const n=t.__vccOpts||t;for(const[o,s]of e)n[o]=s;return n},Wa=["value","placeholder","aria-label"],Ga=yo({__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(t,{emit:e}){const n=t,o=e,s=it(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function i(r){const a=r.target.value??"";o("update:modelValue",a),o("search",{value:a})}return(r,a)=>($(),U("div",{class:"search-box",style:je(s.value)},[a[0]||(a[0]=H("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[H("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),H("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),H("input",{type:"search",value:t.modelValue,placeholder:t.placeholder,"aria-label":t.ariaLabel,onInput:i},null,40,Wa)],4))}},[["styles",[Va]]]),Ja=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 128px);min-width:var(--dx-filter-w, 128px);max-width:var(--dx-filter-w, 128px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 108px);min-width:var(--dx-filter-w-sm, 108px);max-width:var(--dx-filter-w-sm, 108px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px);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}",Ya=["data-active","aria-expanded"],Xa={class:"filter-dropdown__label"},Za=["value","placeholder"],Qa={class:"filter-dropdown__options"},tl={key:0,class:"filter-dropdown__no-options"},el=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],nl={class:"filter-dropdown__count"},En=yo({__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(t,{emit:e}){const n=t,o=e,s=dt(!1),i=dt(""),r=dt(-1),a=dt(null),l=dt(null),h=dt(null),f=dt({});function b(q){const O=q.ownerDocument,J=O.createElement("div");J.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(q.parentElement||q.getRootNode().body||O.body).appendChild(J);const mt=J.getBoundingClientRect();return J.remove(),{x:mt.left,y:mt.top}}function w(){const q=h.value;if(!q)return;const O=q.getBoundingClientRect(),J=window.innerWidth,Tt=window.innerHeight,mt=320,Yt=4,At=8,G=Math.round(Math.min(Math.max(O.width,240),J-At*2)),B=O.right>At&&O.leftJ-At?ht=Math.round(Math.max(O.right-G,At)):ht=Math.round(Math.max(O.left,At)):ht=Math.round(Math.min(Math.max(O.left,At),J-G-At));const zt=Tt-O.bottom,Rt=zt<180&&O.top>zt,_t=b(q),ie=Math.round(ht-_t.x);f.value=Rt?{top:"auto",bottom:`${Math.round(Tt-O.top+Yt+_t.y)}px`,left:`${ie}px`,width:`${G}px`,maxHeight:`${Math.round(Math.min(mt,O.top-Yt-At))}px`}:{top:`${Math.round(O.bottom+Yt-_t.y)}px`,bottom:"auto",left:`${ie}px`,width:`${G}px`,maxHeight:`${Math.round(Math.min(mt,zt-Yt-At))}px`}}function A(){s.value&&w()}const L=it(()=>{if(!i.value)return n.options;const q=i.value.toLowerCase();return n.options.filter(O=>O.label.toLowerCase().includes(q))}),j=it(()=>n.options.find(q=>q.value===n.value));function R(q){var J;const O=((J=q.composedPath)==null?void 0:J.call(q))??[];a.value&&!O.includes(a.value)&&P()}function F(){s.value?P():D()}function D(){s.value=!0,i.value="",r.value=-1,w(),document.addEventListener("click",R),window.addEventListener("scroll",A,!0),window.addEventListener("resize",A),hn(()=>{var q;w(),(q=l.value)==null||q.focus()})}function P(){s.value=!1,i.value="",r.value=-1,document.removeEventListener("click",R),window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A)}function E(q){i.value=q.target.value,r.value=-1}function tt(q){const O=L.value;switch(q.key){case"ArrowDown":q.preventDefault(),r.value=Math.min(r.value+1,O.length-1),ot();break;case"ArrowUp":q.preventDefault(),r.value=Math.max(r.value-1,0),ot();break;case"Enter":{q.preventDefault();const J=O[r.value];J&>(J);break}case"Escape":q.preventDefault(),P();break}}function ot(){hn(()=>{var O;const q=(O=a.value)==null?void 0:O.querySelector(".filter-dropdown__option[data-highlighted]");q==null||q.scrollIntoView({block:"nearest"})})}function gt(q){o("filter-change",{name:n.name,value:q.value,label:q.label,type:q.type}),P()}function It(){o("filter-clear",{name:n.name}),P()}return gs(()=>{document.removeEventListener("click",R),window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",A)}),(q,O)=>($(),U("div",{ref_key:"rootRef",ref:a,class:nn(["filter-dropdown",{"is-open":s.value}])},[H("button",{ref_key:"triggerRef",ref:h,class:"filter-dropdown__trigger input","data-active":t.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":s.value,onClick:F},[H("span",Xa,[j.value?($(),U(lt,{key:0},[ne(rt(t.label)+": ",1),H("strong",null,rt(j.value.label),1)],64)):($(),U(lt,{key:1},[ne(rt(t.label),1)],64))]),O[0]||(O[0]=H("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[H("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ya),s.value?($(),U("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:je(f.value)},[H("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:i.value,placeholder:t.placeholder,onInput:E,onKeydown:tt},null,40,Za),t.value?($(),U("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:It},"Clear selection")):bt("",!0),H("div",Qa,[L.value.length===0?($(),U("div",tl,"No options found")):($(!0),U(lt,{key:1},xn(L.value,(J,Tt)=>($(),U("div",{key:J.value,class:"filter-dropdown__option",role:"option","data-highlighted":Tt===r.value?"":void 0,"data-selected":J.value===t.value?"":void 0,"aria-selected":J.value===t.value,onClick:mt=>gt(J),onMouseenter:mt=>r.value=Tt},[H("span",null,rt(J.label),1),H("span",nl,rt(J.count),1)],40,el))),128))])],4)):bt("",!0)],2))}},[["styles",[Ja]]]);function ol(t,e){return String(e||t||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const di={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},sl={"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"},il=(()=>{const t=n=>String(n||"").toLowerCase().trim(),e={};for(const n of Object.keys(sl))e[t(n)]=n;return e})(),rl={"tai-kadai":"Kra-Dai",none:"Unknown"};function gi(t){if(!t)return"Unknown";const e=String(t).trim(),n=e.toLowerCase();return rl[n]||il[n]||e}const al={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"},ll=":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))}",cl={class:"pgg-root"},ul={key:0,id:"filters",class:"filters"},fl={key:0,class:"pgg-search"},dl=["aria-expanded"],gl={key:0,class:"filters__toggle-count"},hl={class:"filters__panel"},pl={class:"filters__panel"},bl=["data-active"],ml={key:3,class:"filters__active"},_l=["onClick"],vl={class:"pgg-body"},yl={key:0,class:"repel"},xl={class:"font-size-sm"},kl={key:1},wl={id:"results",class:"grid uupgs-list"},Al=["src","alt"],Sl={class:"uupg__header"},Cl=["innerHTML"],Nl={key:0,class:"uupg__country"},Tl=["href"],El=["innerHTML"],jl=["innerHTML"],ql=["innerHTML"],Il={key:1,class:"uupg__content"},Ml=["href"],Ll={key:0,class:"loading"},zl={key:1,class:"pgg-empty pgg-failed",role:"status"},Pl={key:2,class:"pgg-empty"},Ol=Oa(yo({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:""},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:""},religionFamily:{type:String,default:""},languageFamily:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(t,{emit:e}){const n=t,o=e,s=it(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),i=it(()=>n.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),r=it(()=>n.languageCode||s.value.languageCode||""),a=it(()=>n.researchUrl||s.value.researchUrl||(typeof window<"u"&&window.DOXA_SITE_URL||"https://doxa.life").replace(/\/+$/,"")+"/research/"),l=it(()=>({...s.value.t||{},...n.t||{}})),h=g=>!(g===!1||g==="false"||g==="0"||g===0),f=it(()=>h(n.showSearch)),b=it(()=>h(n.showFilters)),w=it(()=>h(n.showTotal)),A=dt([]),L=dt([]),j=dt(0),R=dt(1),F=dt(!0),D=dt(!1),P=dt(!0),E=dt({}),tt=dt(""),ot=dt({}),gt=it(()=>f.value?tt.value:n.query||""),It=it(()=>{const g={},d=x=>x;return n.wagfRegion&&(g.wagf_region={value:n.wagfRegion,label:d(n.wagfRegion)}),n.wagfBlock&&(g.wagf_block={value:n.wagfBlock,label:d(n.wagfBlock)}),n.rop1&&(g.rop1={value:n.rop1,label:d(n.rop1)}),n.religion&&(g.religion={value:n.religion,label:d(n.religion)}),n.countryCode&&(g.country_code={value:n.countryCode,label:d(n.countryCode)}),n.primaryLanguage&&(g.primary_language={value:n.primaryLanguage,label:d(n.primaryLanguage)}),n.engagementStatus&&(g.engagement_status={value:n.engagementStatus,label:d(n.engagementStatus)}),n.cluster&&(g.imb_reg_of_people_2={value:n.cluster,label:d(n.cluster)}),n.peopleGroup&&(g.imb_reg_of_people_25={value:n.peopleGroup,label:d(n.peopleGroup)}),n.gospelAccess&&(g.imb_gsec={value:n.gospelAccess,label:d(n.gospelAccess)}),n.religionFamily&&(g.__religion_family={value:n.religionFamily,label:d(n.religionFamily)}),n.languageFamily&&(g.__language_family={value:n.languageFamily,label:d(n.languageFamily)}),g}),q=it(()=>b.value?ot.value:It.value),O=it(()=>Object.values(q.value||{}).filter(g=>g&&g.value!==""&&g.value!=null).length),J=it(()=>Object.keys(q.value).length),Tt=it(()=>O.value>0||!!(gt.value||"").trim());function mt(g){return g.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Yt(g,d=500){let x;return(..._)=>{clearTimeout(x),x=setTimeout(()=>g(..._),d)}}const At=Yt(()=>{F.value=!0,R.value=1,ue()},500);function ct(g){tt.value=(g==null?void 0:g.value)??"",At()}function G(){P.value=!P.value}function B(g){ot.value={...ot.value,[g.name]:{value:g.value,label:g.label}},R.value=1,ue()}function ht(g){zt(g.name)}function zt(g){const d={...ot.value};delete d[g],ot.value=d,R.value=1,ue()}function Rt(){ot.value={},R.value=1,ue()}function _t(){if(ot.value.exact)return zt("exact");ot.value={...ot.value,exact:{value:"yes",label:l.value.exact_filter||"Exact"}},R.value=1,ue()}const ie=g=>String(g??"").toLowerCase().replace(/[\s_&-]+/g,""),jn={__religion_family:g=>{const d=g.religion&&typeof g.religion=="object"?g.religion.value:g.religion,x=String(d||"").charAt(0).toUpperCase(),_=x&&di[x]?di[x]:"";return _?{value:_,label:_}:null},__language_family:g=>{const d=g.imb_language_family,x=d&&typeof d=="object"?d.label||d.value:d;let _="";if(x)_=gi(x);else{const S=g.primary_language&&typeof g.primary_language=="object"?g.primary_language.value:null,T=S&&al[S];_=T?gi(T):""}return _?{value:_,label:_}:null}},qn=(g,d)=>jn[d]?jn[d](g):g[d];function ce(g,d){if(!g)return!1;const x=ie(d==null?void 0:d.value);return x?ie(g.value)===x||ie(g.label)===x:!1}function Ce(g){let d=g;for(const[x,_]of Object.entries(q.value))x==="exact"?d=d:d=d.filter(S=>ce(qn(S,x),_));return d}function Ge(){const g=d=>{const x=new Map;for(const _ of A.value){const S=_[d];if(!(S!=null&&S.value))continue;const T=x.get(S.value);T?T.count++:x.set(S.value,{label:S.label,count:1})}return Array.from(x.entries()).map(([_,{label:S,count:T}])=>({value:_,label:S,count:T})).sort((_,S)=>_.label.localeCompare(S.label))};E.value={wagf_region:g("wagf_region"),wagf_block:g("wagf_block"),rop1:g("rop1"),religion:g("religion")}}function Je(){const g=Object.keys(E.value),d={};for(const x of g){const _={};for(const[N,z]of Object.entries(q.value))N!==x&&(_[N]=z);const S=me(_,A.value),T=new Map;for(const N of S){const z=N[x];z!=null&&z.value&&T.set(z.value,(T.get(z.value)??0)+1)}d[x]=(E.value[x]??[]).map(N=>({...N,count:T.get(N.value)??0}))}E.value=d}function me(g,d){let x=d;for(const[_,S]of Object.entries(g))_!=="exact"&&(x=x.filter(T=>ce(qn(T,_),S)));return x}function ue(){A.value=A.value.map(T=>(T.matches=[],T.country_label="",T.rop1_label="",T));const d=Object.keys(q.value).length>0?Ce(A.value):A.value,x=gt.value;if(!x){L.value=d,j.value=L.value.length,F.value=!1,Je(),p();return}const S=new Ba(d,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:q.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(x);L.value=S.map(T=>{var z;const N={...T.item};if(!T.matches)return N;N.matches=[];for(const K of T.matches){const Y=K.key;if(!Y)continue;let et="";if(String(Y).includes(".")){const[St,at]=String(Y).split(".");et=(z=N[St])==null?void 0:z[at]}else et=N[String(Y)];if(et&&typeof et=="string"){let St=0,at="";if(K.indices.forEach((Et,Ne)=>{const vt=Et[0],jt=Et[1],In=K.indices.length-1===Ne;at+=mt(et.slice(St,vt))+`${mt(et.slice(vt,jt+1))}`+(In?mt(et.slice(jt+1)):""),St=jt+1}),String(Y).includes("imb_alternate_name"))N.matches.push({key:l.value.alternate_name??"Also known as",label:at});else if(String(Y).includes(".")){const[Et]=String(Y).split("."),Ne={religion:l.value.religion,country_code:l.value.country,rop1:l.value.rop1,wagf_region:l.value.wagf_region,wagf_block:l.value.wagf_block};Et==="rop1"?N.rop1_label=at:Et==="country_code"?N.country_label=at:Et==="wagf_region"||N.matches.push({key:Ne[Et]??Et,label:at})}else N[String(Y)]=at}}return N}),j.value=L.value.length,F.value=!1,Je(),p()}const c=Bs();function u(){var d,x;const g=((d=c==null?void 0:c.vnode)==null?void 0:d.el)||((x=c==null?void 0:c.proxy)==null?void 0:x.$el);try{const _=g&&g.getRootNode&&g.getRootNode();if(_&&_.host)return _.host}catch{}return g}function p(){const g={query:gt.value,activeFilters:q.value,total:j.value,slugs:L.value.map(x=>x.slug)};o("groups-filtered",g);const d=u();d&&typeof d.dispatchEvent=="function"&&d.dispatchEvent(new CustomEvent("groups-filtered",{detail:g,bubbles:!0,composed:!0}))}function y(){return n.morePerPage>0?j.value>n.perPage+(R.value-1)*n.morePerPage&&!F.value&&L.value.length>0:j.value>R.value*n.perPage&&!F.value&&L.value.length>0}function v(){R.value=R.value+1}const m=it(()=>n.morePerPage>0?L.value.slice(0,n.perPage+(R.value-1)*n.morePerPage):L.value.slice(0,R.value*n.perPage)),C=it(()=>y());async function k(){const g=`${i.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,imb_language_family&lang=${r.value}`;F.value=!0,D.value=!1;try{const d=await fetch(g);if(!d.ok)throw new Error(`HTTP ${d.status}`);const x=await d.json();j.value=x.total,A.value=Array.isArray(x.posts)?x.posts:[],Ge(),ue()}catch(d){console.error("[people-groups-grid] fetch error:",d),D.value=!0,A.value=[],F.value=!1}}return mn(()=>[n.query,It.value,f.value,b.value],()=>{R.value=1,ue()}),ds(k),(g,d)=>{var x,_,S,T;return $(),U("div",cl,[f.value||b.value?($(),U("div",ul,[f.value?($(),U("div",fl,[kt(Ga,{"model-value":tt.value,placeholder:l.value.search||"Search people groups…","aria-label":l.value.search||"Search people groups","max-width":"480px",onSearch:ct},null,8,["model-value","placeholder","aria-label"])])):bt("",!0),b.value?($(),U("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":P.value,onClick:G},[d[0]||(d[0]=H("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[H("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),ne(" "+rt(P.value?l.value.hide_filters||"Hide Filters":l.value.show_filters||"Show Filters")+" ",1),O.value?($(),U("span",gl,rt(O.value),1)):bt("",!0),d[1]||(d[1]=H("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[H("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,dl)):bt("",!0),b.value&&P.value?($(),U(lt,{key:2},[H("div",hl,[kt(En,{label:l.value.wagf_region||"Region",name:"wagf_region",options:E.value.wagf_region||[],value:((x=q.value.wagf_region)==null?void 0:x.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.wagf_block||"Bloc",name:"wagf_block",options:E.value.wagf_block||[],value:((_=q.value.wagf_block)==null?void 0:_.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.rop1||"People Group",name:"rop1",options:E.value.rop1||[],value:((S=q.value.rop1)==null?void 0:S.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"]),kt(En,{label:l.value.religion||"Religion",name:"religion",options:E.value.religion||[],value:((T=q.value.religion)==null?void 0:T.value)??"",placeholder:l.value.type_to_search||"Type to search...",onFilterChange:B,onFilterClear:ht},null,8,["label","options","value","placeholder"])]),H("div",pl,[H("button",{class:"filter-toggle",type:"button","data-active":q.value.exact?"":void 0,onClick:_t},rt(l.value.exact_filter||"Exact"),9,bl)])],64)):bt("",!0),b.value&&J.value>0?($(),U("div",ml,[($(!0),U(lt,null,xn(q.value,(N,z)=>($(),U("span",{key:z,class:"filter-chip"},[ne(rt(N.label)+" ",1),H("button",{class:"filter-chip__remove",type:"button",onClick:K=>zt(String(z))},"×",8,_l)]))),128)),H("button",{class:"filters__clear-all",type:"button",onClick:Rt},rt(l.value.clear_all||"Clear All"),1)])):bt("",!0)])):bt("",!0),H("div",vl,[w.value||Tt.value?($(),U("div",yl,[H("div",xl,[F.value?($(),U("span",kl," ")):($(),U(lt,{key:0},[ne(rt(Tt.value&&!w.value?(l.value.showing||"Showing")+" "+j.value.toLocaleString("en-US"):(l.value.total||"Total")+": "+j.value.toLocaleString("en-US")),1)],64))])])):bt("",!0),H("div",wl,[($(!0),U(lt,null,xn(m.value,N=>($(),U("div",{key:N.slug,class:"card uupg__card"},[N.image_url?($(),U("img",{key:0,class:"uupg__image",src:N.image_url,alt:N.name},null,8,Al)):bt("",!0),H("div",Sl,[H("h3",{class:"uupg__name",innerHTML:N.name},null,8,Cl),N.country_code?($(),U("p",Nl,[H("a",{class:"uupg__country-link",href:`${a.value}../countries/${Qn(ol)(N.country_code.value,N.country_code.label)}`},[H("span",{innerHTML:N.country_label?N.country_label:N.country_code.label},null,8,El)],8,Tl),N.rop1?($(),U(lt,{key:0},[d[2]||(d[2]=ne(" (",-1)),H("span",{innerHTML:N.rop1_label?N.rop1_label:N.rop1.label},null,8,jl),d[3]||(d[3]=ne(")",-1))],64)):bt("",!0)])):bt("",!0),N.matches?($(!0),U(lt,{key:1},xn(N.matches,(z,K)=>($(),U("p",{key:K,class:"uupg__match"},[H("strong",null,rt(z.key),1),d[4]||(d[4]=ne(": ",-1)),H("span",{innerHTML:z.label},null,8,ql)]))),128)):bt("",!0)]),N.location_description?($(),U("p",Il,rt(N.location_description),1)):bt("",!0),H("a",{class:"uupg__more-button",href:`${a.value}${N.slug}`},rt(l.value.full_profile||"Full profile"),9,Ml)]))),128)),F.value?($(),U("div",Ll,rt(l.value.loading||"Loading…"),1)):D.value?($(),U("div",zl,rt(l.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):m.value.length?bt("",!0):($(),U("div",Pl,rt(l.value.no_results||"No people groups match this filter."),1))]),C.value?($(),U("button",{key:1,class:"pgg-loadmore",type:"button",onClick:v},rt(l.value.load_more||"Load more"),1)):bt("",!0)])])}}},[["styles",[ll]]]));typeof customElements<"u"&&(customElements.get("people-groups-grid")||customElements.define("people-groups-grid",Ol))})(); diff --git a/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html b/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html index b09862931..709b824cc 100644 --- a/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html +++ b/public/doxa-maps/people-groups-grid/people-groups-grid/driven/index.html @@ -26,7 +26,7 @@ - + - + - + - +