From 1fbc29e6e196310fb02c93231d264667b74a1832 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:42:26 +0000 Subject: [PATCH] Galaxy corrected: day-side Earth in space, not a dark basemap The Driver, correcting the first attempt: "I don't want a dark basemap, I didn't ask for one. I asked for a spherical globe with a black background -- the galaxy, like the Mapbox map -- with blue oceans like the Mapbox map, and the land was not to be black." The first galaxy tinted dark tiles: black land, recoloured water -- the night side of Earth. What was asked for is the DAY side seen from space. So the style entry is now a normal-coloured basemap with no paint overrides at all (mapbox standard / OpenFreeMap liberty), and the blackness lives where it belongs: the map CONTAINER behind the sphere, a deep radial space gradient scoped to [data-projection="globe"] so flat mercator keeps its neutral ground. Verified by reading the rendered screenshot before pushing: a real sphere, blue oceans, normal land, the greyscale choropleth legible on top, black void behind the globe, and the old caption gone. --- library/styles/registry.js | 29 ++++----- .../dashboards/DashboardMapPanel.vue | 9 +++ .../dashboard-plus-grid.js | 12 ++-- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 8 +-- .../research-dashboard/research-dashboard.js | 62 ++++++++++--------- .../research-dashboard/index.html | 2 +- 9 files changed, 69 insertions(+), 59 deletions(-) diff --git a/library/styles/registry.js b/library/styles/registry.js index 3389ae24b..f8f057628 100644 --- a/library/styles/registry.js +++ b/library/styles/registry.js @@ -106,22 +106,19 @@ export const STYLE_REGISTRY = [ // non-text threshold, so the coastline is a real edge rather than a tonal hint. Darker, // moodier blues were tried and measured first: #1b3a6b 1.74:1 and #1e4d8f 2.34:1 both fall // UNDER 3:1, which is how an ocean ends up merely looking like slightly-less-black land. - { id: 'galaxy', label: 'Galaxy', mood: 'deep-space ground, blue oceans — the night side of Earth', - mapbox: 'mapbox://styles/mapbox/dark-v11', - maplibre: 'https://tiles.openfreemap.org/styles/dark', - // Each entry is applied only if the loaded style actually HAS that layer (see applyStylePaint). - // Listing ids for both engines in one array is deliberate: the miss is a silent no-op, so one - // list serves both providers and neither can drift out of sync with the other. - paint: [ - { layer: 'water', prop: 'fill-color', value: '#2563a8' }, // maplibre (OFM dark) + mapbox - { layer: 'waterway', prop: 'line-color', value: '#2b6fbb' }, // maplibre (OFM dark) - { layer: 'waterway-shadow', prop: 'line-color', value: '#1d4f86' }, // mapbox dark-v11 - { layer: 'water-shadow', prop: 'fill-color', value: '#1d4f86' }, // mapbox dark-v11 - { layer: 'waterway-river', prop: 'line-color', value: '#2b6fbb' }, // mapbox (older ids) - { layer: 'waterway-stream-canal', prop: 'line-color', value: '#2b6fbb' }, - { layer: 'background', prop: 'background-color', value: '#05070d' }, - { layer: 'land', prop: 'background-color', value: '#05070d' }, - ], + /* ★ CORRECTED 2026-09-23 — THE FIRST GALAXY WAS A MISREADING OF THE ASK, and the Driver said so: + "I don't want a dark basemap, I didn't ask for one. I asked for a spherical GLOBE with a black + background — the galaxy, like the Mapbox map — with BLUE OCEANS like the Mapbox map, and the + land was NOT to be black." + The first attempt tinted a dark basemap (black land, recoloured water) — the night side of + Earth. What he described is the DAY side seen from space: NORMAL land colours, the default + blue oceans, and the blackness belongs to the SPACE BEHIND THE SPHERE, not to the ground. + So the style is now a normal-coloured basemap with no paint overrides at all — the galaxy is + not a property of the tiles. It is the void the globe floats in, which is the map CONTAINER's + background showing through outside the sphere (see DashboardMapPanel's .rd-map rule). */ + { 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.openfreemap.org/styles/liberty', bestFor: ['research-dashboard', 'my-upg-100-list'] }, ] diff --git a/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue index b2d504f58..fde90fc18 100644 --- a/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue +++ b/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue @@ -1506,6 +1506,15 @@ watch(() => JSON.stringify(filterSet), () => { clearTimeout(_flyT); _flyT = setT useShadowStyles(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } + /* ★ THE GALAXY IS THE CONTAINER, NOT THE TILES (Driver 2026-09-23, correcting the first attempt: + "I asked for a spherical globe with a black background — the galaxy — with blue oceans like the + Mapbox map, and the land was NOT to be black"). On a globe projection the sphere does not fill + the canvas; the corners show the CONTAINER's background. So space lives here: a deep radial + wash behind the sphere, while the tiles keep their normal daylight colours. Scoped to + [data-projection="globe"] so flat mercator keeps the neutral ground — space behind a flat + rectangle would read as a mistake. */ + .rd-mapwrap[data-projection="globe"]{ + background:radial-gradient(ellipse at 50% 42%, #101a33 0%, #070b18 45%, #02040a 100%); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-proj{ position:absolute; right:8px; top:8px; z-index:3; font-size:11px; font-weight:700; cursor:pointer; user-select:none; background:#1a1a2ecc; color:#fff; border:1px solid #ffffff33; border-radius:6px; padding:4px 9px; backdrop-filter:blur(4px); } 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 39e61e99f..f7e2df206 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let dt;class Ka{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&&dt&&(dt.active?(this.parent=dt,this.index=(dt.scopes||(dt.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(dt===this)dt=this.prevScope;else{let t=dt;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(Sn){let t=Sn;for(Sn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;$n;){let t=$n;for($n=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 Qa(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function el(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ps(n),ed(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function fs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===En)||(e.globalVersion=En,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fs(e))))return;e.flags|=2;const t=e.dep,o=Ze,n=Ot;Ze=e,Ot=!0;try{Qa(e);const r=e.fn(e._value);(t.version===0||Kt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ze=o,Ot=n,el(e),e.flags&=-3}}function ps(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ps(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ed(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Ot=!0;const ol=[];function Yt(){ol.push(Ot),Ot=!1}function Xt(){const e=ol.pop();Ot=e===void 0?!0:e}function nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}let En=0;class td{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 gs{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||!Ot||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new td(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,rl(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++,En++,this.notify(t)}notify(t){us();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{ds()}}}function rl(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)rl(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const hs=new WeakMap,Do=Symbol(""),ms=Symbol(""),An=Symbol("");function ht(e,t,o){if(Ot&&Ze){let n=hs.get(e);n||hs.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new gs),r.map=n,r.key=o),r.track()}}function ao(e,t,o,n,r,s){const a=hs.get(e);if(!a){En++;return}const l=i=>{i&&i.trigger()};if(us(),t==="clear")a.forEach(l);else{const i=Ne(e),c=i&&ss(o);if(i&&o==="length"){const u=Number(n);a.forEach((p,m)=>{(m==="length"||m===An||!Mt(m)&&m>=u)&&l(p)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(An)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Do)),$o(e)&&l(a.get(ms)));break;case"delete":i||(l(a.get(Do)),$o(e)&&l(a.get(ms)));break;case"set":$o(e)&&l(a.get(Do));break}}ds()}function Zo(e){const t=He(e);return t===e?t:(ht(t,"iterate",An),Nt(e)?t:t.map(Dt))}function pr(e){return ht(e=He(e),"iterate",An),e}function Jt(e,t){return io(e)?Qo(zo(e)?Dt(t):t):Dt(t)}const od={__proto__:null,[Symbol.iterator](){return bs(this,Symbol.iterator,e=>Jt(this,e))},concat(...e){return Zo(this).concat(...e.map(t=>Ne(t)?Zo(t):t))},entries(){return bs(this,"entries",e=>(e[1]=Jt(this,e[1]),e))},every(e,t){return lo(this,"every",e,t,void 0,arguments)},filter(e,t){return lo(this,"filter",e,t,o=>o.map(n=>Jt(this,n)),arguments)},find(e,t){return lo(this,"find",e,t,o=>Jt(this,o),arguments)},findIndex(e,t){return lo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lo(this,"findLast",e,t,o=>Jt(this,o),arguments)},findLastIndex(e,t){return lo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lo(this,"forEach",e,t,void 0,arguments)},includes(...e){return _s(this,"includes",e)},indexOf(...e){return _s(this,"indexOf",e)},join(e){return Zo(this).join(e)},lastIndexOf(...e){return _s(this,"lastIndexOf",e)},map(e,t){return lo(this,"map",e,t,void 0,arguments)},pop(){return Cn(this,"pop")},push(...e){return Cn(this,"push",e)},reduce(e,...t){return sl(this,"reduce",e,t)},reduceRight(e,...t){return sl(this,"reduceRight",e,t)},shift(){return Cn(this,"shift")},some(e,t){return lo(this,"some",e,t,void 0,arguments)},splice(...e){return Cn(this,"splice",e)},toReversed(){return Zo(this).toReversed()},toSorted(e){return Zo(this).toSorted(e)},toSpliced(...e){return Zo(this).toSpliced(...e)},unshift(...e){return Cn(this,"unshift",e)},values(){return bs(this,"values",e=>Jt(this,e))}};function bs(e,t,o){const n=pr(e),r=n[t]();return n!==e&&!Nt(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const nd=Array.prototype;function lo(e,t,o,n,r,s){const a=pr(e),l=a!==e&&!Nt(e),i=a[t];if(i!==nd[t]){const p=i.apply(e,s);return l?Dt(p):p}let c=o;a!==e&&(l?c=function(p,m){return o.call(this,Jt(e,p),m,e)}:o.length>2&&(c=function(p,m){return o.call(this,p,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function sl(e,t,o,n){const r=pr(e),s=r!==e&&!Nt(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,p){return l&&(l=!1,c=Jt(e,c)),o.call(this,c,Jt(e,u),p,e)}):o.length>3&&(a=function(c,u,p){return o.call(this,c,u,p,e)}));const i=r[t](a,...n);return l?Jt(e,i):i}function _s(e,t,o){const n=He(e);ht(n,"iterate",An);const r=n[t](...o);return(r===-1||r===!1)&&xs(o[0])?(o[0]=He(o[0]),n[t](...o)):r}function Cn(e,t,o=[]){Yt(),us();const n=He(e)[t].apply(e,o);return ds(),Xt(),n}const rd=ns("__proto__,__v_isRef,__isVue"),al=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Mt));function sd(e){Mt(e)||(e=String(e));const t=He(this);return ht(t,"has",e),t.hasOwnProperty(e)}class ll{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?pl:fl:s?dl:ul).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ne(t);if(!r){let i;if(a&&(i=od[o]))return i;if(o==="hasOwnProperty")return sd}const l=Reflect.get(t,o,ct(t)?t:n);if((Mt(o)?al.has(o):rd(o))||(r||ht(t,"get",o),s))return l;if(ct(l)){const i=a&&ss(o)?l:l.value;return r&&Ke(i)?vs(i):i}return Ke(l)?r?vs(l):jo(l):l}}class il extends ll{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ne(t)&&ss(o);if(!this._isShallow){const c=io(s);if(!Nt(n)&&!io(n)&&(s=He(s),n=He(n)),!a&&ct(s)&&!ct(n))return c||(s.value=n),!0}const l=a?Number(o)e,gr=e=>Reflect.getPrototypeOf(e);function ud(e,t,o){return function(...n){const r=this.__v_raw,s=He(r),a=$o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?ys:t?Qo:Dt;return!t&&ht(s,"iterate",i?ms:Do),rt(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:l?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function hr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function dd(e,t){const o={get(r){const s=this.__v_raw,a=He(s),l=He(r);e||(Kt(r,l)&&ht(a,"get",r),ht(a,"get",l));const{has:i}=gr(a),c=t?ys:e?Qo:Dt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(He(r),"iterate",Do),r.size},has(r){const s=this.__v_raw,a=He(s),l=He(r);return e||(Kt(r,l)&&ht(a,"has",r),ht(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=He(l),c=t?ys:e?Qo:Dt;return!e&&ht(i,"iterate",Do),l.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return rt(o,e?{add:hr("add"),set:hr("set"),delete:hr("delete"),clear:hr("clear")}:{add(r){const s=He(this),a=gr(s),l=He(r),i=!t&&!Nt(r)&&!io(r)?l:r;return a.has.call(s,i)||Kt(r,i)&&a.has.call(s,r)||Kt(l,i)&&a.has.call(s,l)||(s.add(i),ao(s,"add",i,i)),this},set(r,s){!t&&!Nt(s)&&!io(s)&&(s=He(s));const a=He(this),{has:l,get:i}=gr(a);let c=l.call(a,r);c||(r=He(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Kt(s,u)&&ao(a,"set",r,s):ao(a,"add",r,s),this},delete(r){const s=He(this),{has:a,get:l}=gr(s);let i=a.call(s,r);i||(r=He(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&ao(s,"delete",r,void 0),c},clear(){const r=He(this),s=r.size!==0,a=r.clear();return s&&ao(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ud(r,e,t)}),o}function mr(e,t){const o=dd(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(We(o,r)&&r in n?o:n,r,s)}const fd={get:mr(!1,!1)},pd={get:mr(!1,!0)},gd={get:mr(!0,!1)},hd={get:mr(!0,!0)},ul=new WeakMap,dl=new WeakMap,fl=new WeakMap,pl=new WeakMap;function md(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jo(e){return io(e)?e:br(e,!1,ad,fd,ul)}function bd(e){return br(e,!1,id,pd,dl)}function vs(e){return br(e,!0,ld,gd,fl)}function gw(e){return br(e,!0,cd,hd,pl)}function br(e,t,o,n,r){if(!Ke(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=md(qu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function zo(e){return io(e)?zo(e.__v_raw):!!(e&&e.__v_isReactive)}function io(e){return!!(e&&e.__v_isReadonly)}function Nt(e){return!!(e&&e.__v_isShallow)}function xs(e){return e?!!e.__v_raw:!1}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function gl(e){return!We(e,"__v_skip")&&Object.isExtensible(e)&&Ua(e,"__v_skip",!0),e}const Dt=e=>Ke(e)?jo(e):e,Qo=e=>Ke(e)?vs(e):e;function ct(e){return e?e.__v_isRef===!0:!1}function ie(e){return hl(e,!1)}function Tn(e){return hl(e,!0)}function hl(e,t){return ct(e)?e:new _d(e,t)}class _d{constructor(t,o){this.dep=new gs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:He(t),this._value=o?t:Dt(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)||io(t);t=n?t:He(t),Kt(t,o)&&(this._rawValue=t,this._value=n?t:Dt(t),this.dep.trigger())}}function fe(e){return ct(e)?e.value:e}const yd={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return ct(r)&&!ct(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function ml(e){return zo(e)?e:new Proxy(e,yd)}class vd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new gs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=En-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 Za(this,!0),!0}get value(){const t=this.dep.track();return tl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function xd(e,t,o=!1){let n,r;return Ie(e)?n=e:(n=e.get,r=e.set),new vd(n,r,o)}const _r={},yr=new WeakMap;let Uo;function wd(e,t=!1,o=Uo){if(o){let n=yr.get(o);n||yr.set(o,n=[]),n.push(e)}}function kd(e,t,o=Je){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Nt(g)||r===!1||r===0?co(g,1):co(g);let u,p,m,v,E=!1,x=!1;if(ct(e)?(p=()=>e.value,E=Nt(e)):zo(e)?(p=()=>c(e),E=!0):Ne(e)?(x=!0,E=e.some(g=>zo(g)||Nt(g)),p=()=>e.map(g=>{if(ct(g))return g.value;if(zo(g))return c(g);if(Ie(g))return i?i(g,2):g()})):Ie(e)?t?p=i?()=>i(e,2):e:p=()=>{if(m){Yt();try{m()}finally{Xt()}}const g=Uo;Uo=u;try{return i?i(e,3,[v]):e(v)}finally{Uo=g}}:p=Wt,t&&r){const g=p,y=r===!0?1/0:r;p=()=>co(g(),y)}const k=Qu(),C=()=>{u.stop(),k&&k.active&&rs(k.effects,u)};if(s&&t){const g=t;t=(...y)=>{const $=g(...y);return C(),$}}let b=x?new Array(e.length).fill(_r):_r;const f=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const y=u.run();if(g||r||E||(x?y.some(($,S)=>Kt($,b[S])):Kt(y,b))){m&&m();const $=Uo;Uo=u;try{const S=[y,b===_r?void 0:x&&b[0]===_r?[]:b,v];b=y,i?i(t,3,S):t(...S)}finally{Uo=$}}}else u.run()};return l&&l(f),u=new Xa(p),u.scheduler=a?()=>a(f,!1):f,v=g=>wd(g,!1,u),m=u.onStop=()=>{const g=yr.get(u);if(g){if(i)i(g,4);else for(const y of g)y();yr.delete(u)}},t?n?f(!0):b=u.run():a?a(f.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function co(e,t=1/0,o){if(t<=0||!Ke(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ct(e))co(e.value,t,o);else if(Ne(e))for(let n=0;n{co(n,t,o)});else if(ir(e)){for(const n in e)co(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&co(e[n],t,o)}return e}/** +**/let dt;class Ka{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&&dt&&(dt.active?(this.parent=dt,this.index=(dt.scopes||(dt.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(dt===this)dt=this.prevScope;else{let t=dt;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(Sn){let t=Sn;for(Sn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;$n;){let t=$n;for($n=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 Qa(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function el(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ps(n),ed(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function fs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===En)||(e.globalVersion=En,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fs(e))))return;e.flags|=2;const t=e.dep,o=Ze,n=Ot;Ze=e,Ot=!0;try{Qa(e);const r=e.fn(e._value);(t.version===0||Kt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ze=o,Ot=n,el(e),e.flags&=-3}}function ps(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ps(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ed(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Ot=!0;const ol=[];function Yt(){ol.push(Ot),Ot=!1}function Xt(){const e=ol.pop();Ot=e===void 0?!0:e}function nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ze;Ze=void 0;try{t()}finally{Ze=o}}}let En=0;class td{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 gs{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||!Ot||Ze===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ze)o=this.activeLink=new td(Ze,this),Ze.deps?(o.prevDep=Ze.depsTail,Ze.depsTail.nextDep=o,Ze.depsTail=o):Ze.deps=Ze.depsTail=o,rl(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++,En++,this.notify(t)}notify(t){us();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{ds()}}}function rl(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)rl(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const hs=new WeakMap,Do=Symbol(""),ms=Symbol(""),An=Symbol("");function ht(e,t,o){if(Ot&&Ze){let n=hs.get(e);n||hs.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new gs),r.map=n,r.key=o),r.track()}}function ao(e,t,o,n,r,s){const a=hs.get(e);if(!a){En++;return}const l=i=>{i&&i.trigger()};if(us(),t==="clear")a.forEach(l);else{const i=Ne(e),c=i&&ss(o);if(i&&o==="length"){const u=Number(n);a.forEach((p,m)=>{(m==="length"||m===An||!Mt(m)&&m>=u)&&l(p)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(An)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Do)),$o(e)&&l(a.get(ms)));break;case"delete":i||(l(a.get(Do)),$o(e)&&l(a.get(ms)));break;case"set":$o(e)&&l(a.get(Do));break}}ds()}function Zo(e){const t=He(e);return t===e?t:(ht(t,"iterate",An),Nt(e)?t:t.map(Dt))}function pr(e){return ht(e=He(e),"iterate",An),e}function Jt(e,t){return io(e)?Qo(zo(e)?Dt(t):t):Dt(t)}const od={__proto__:null,[Symbol.iterator](){return bs(this,Symbol.iterator,e=>Jt(this,e))},concat(...e){return Zo(this).concat(...e.map(t=>Ne(t)?Zo(t):t))},entries(){return bs(this,"entries",e=>(e[1]=Jt(this,e[1]),e))},every(e,t){return lo(this,"every",e,t,void 0,arguments)},filter(e,t){return lo(this,"filter",e,t,o=>o.map(n=>Jt(this,n)),arguments)},find(e,t){return lo(this,"find",e,t,o=>Jt(this,o),arguments)},findIndex(e,t){return lo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lo(this,"findLast",e,t,o=>Jt(this,o),arguments)},findLastIndex(e,t){return lo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lo(this,"forEach",e,t,void 0,arguments)},includes(...e){return _s(this,"includes",e)},indexOf(...e){return _s(this,"indexOf",e)},join(e){return Zo(this).join(e)},lastIndexOf(...e){return _s(this,"lastIndexOf",e)},map(e,t){return lo(this,"map",e,t,void 0,arguments)},pop(){return Cn(this,"pop")},push(...e){return Cn(this,"push",e)},reduce(e,...t){return sl(this,"reduce",e,t)},reduceRight(e,...t){return sl(this,"reduceRight",e,t)},shift(){return Cn(this,"shift")},some(e,t){return lo(this,"some",e,t,void 0,arguments)},splice(...e){return Cn(this,"splice",e)},toReversed(){return Zo(this).toReversed()},toSorted(e){return Zo(this).toSorted(e)},toSpliced(...e){return Zo(this).toSpliced(...e)},unshift(...e){return Cn(this,"unshift",e)},values(){return bs(this,"values",e=>Jt(this,e))}};function bs(e,t,o){const n=pr(e),r=n[t]();return n!==e&&!Nt(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const nd=Array.prototype;function lo(e,t,o,n,r,s){const a=pr(e),l=a!==e&&!Nt(e),i=a[t];if(i!==nd[t]){const p=i.apply(e,s);return l?Dt(p):p}let c=o;a!==e&&(l?c=function(p,m){return o.call(this,Jt(e,p),m,e)}:o.length>2&&(c=function(p,m){return o.call(this,p,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function sl(e,t,o,n){const r=pr(e),s=r!==e&&!Nt(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,p){return l&&(l=!1,c=Jt(e,c)),o.call(this,c,Jt(e,u),p,e)}):o.length>3&&(a=function(c,u,p){return o.call(this,c,u,p,e)}));const i=r[t](a,...n);return l?Jt(e,i):i}function _s(e,t,o){const n=He(e);ht(n,"iterate",An);const r=n[t](...o);return(r===-1||r===!1)&&xs(o[0])?(o[0]=He(o[0]),n[t](...o)):r}function Cn(e,t,o=[]){Yt(),us();const n=He(e)[t].apply(e,o);return ds(),Xt(),n}const rd=ns("__proto__,__v_isRef,__isVue"),al=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Mt));function sd(e){Mt(e)||(e=String(e));const t=He(this);return ht(t,"has",e),t.hasOwnProperty(e)}class ll{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?pl:fl:s?dl:ul).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ne(t);if(!r){let i;if(a&&(i=od[o]))return i;if(o==="hasOwnProperty")return sd}const l=Reflect.get(t,o,ct(t)?t:n);if((Mt(o)?al.has(o):rd(o))||(r||ht(t,"get",o),s))return l;if(ct(l)){const i=a&&ss(o)?l:l.value;return r&&Ke(i)?vs(i):i}return Ke(l)?r?vs(l):jo(l):l}}class il extends ll{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ne(t)&&ss(o);if(!this._isShallow){const c=io(s);if(!Nt(n)&&!io(n)&&(s=He(s),n=He(n)),!a&&ct(s)&&!ct(n))return c||(s.value=n),!0}const l=a?Number(o)e,gr=e=>Reflect.getPrototypeOf(e);function ud(e,t,o){return function(...n){const r=this.__v_raw,s=He(r),a=$o(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?ys:t?Qo:Dt;return!t&&ht(s,"iterate",i?ms:Do),rt(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:l?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function hr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function dd(e,t){const o={get(r){const s=this.__v_raw,a=He(s),l=He(r);e||(Kt(r,l)&&ht(a,"get",r),ht(a,"get",l));const{has:i}=gr(a),c=t?ys:e?Qo:Dt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(He(r),"iterate",Do),r.size},has(r){const s=this.__v_raw,a=He(s),l=He(r);return e||(Kt(r,l)&&ht(a,"has",r),ht(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=He(l),c=t?ys:e?Qo:Dt;return!e&&ht(i,"iterate",Do),l.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return rt(o,e?{add:hr("add"),set:hr("set"),delete:hr("delete"),clear:hr("clear")}:{add(r){const s=He(this),a=gr(s),l=He(r),i=!t&&!Nt(r)&&!io(r)?l:r;return a.has.call(s,i)||Kt(r,i)&&a.has.call(s,r)||Kt(l,i)&&a.has.call(s,l)||(s.add(i),ao(s,"add",i,i)),this},set(r,s){!t&&!Nt(s)&&!io(s)&&(s=He(s));const a=He(this),{has:l,get:i}=gr(a);let c=l.call(a,r);c||(r=He(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Kt(s,u)&&ao(a,"set",r,s):ao(a,"add",r,s),this},delete(r){const s=He(this),{has:a,get:l}=gr(s);let i=a.call(s,r);i||(r=He(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&ao(s,"delete",r,void 0),c},clear(){const r=He(this),s=r.size!==0,a=r.clear();return s&&ao(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=ud(r,e,t)}),o}function mr(e,t){const o=dd(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(We(o,r)&&r in n?o:n,r,s)}const fd={get:mr(!1,!1)},pd={get:mr(!1,!0)},gd={get:mr(!0,!1)},hd={get:mr(!0,!0)},ul=new WeakMap,dl=new WeakMap,fl=new WeakMap,pl=new WeakMap;function md(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jo(e){return io(e)?e:br(e,!1,ad,fd,ul)}function bd(e){return br(e,!1,id,pd,dl)}function vs(e){return br(e,!0,ld,gd,fl)}function g1(e){return br(e,!0,cd,hd,pl)}function br(e,t,o,n,r){if(!Ke(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=md(qu(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function zo(e){return io(e)?zo(e.__v_raw):!!(e&&e.__v_isReactive)}function io(e){return!!(e&&e.__v_isReadonly)}function Nt(e){return!!(e&&e.__v_isShallow)}function xs(e){return e?!!e.__v_raw:!1}function He(e){const t=e&&e.__v_raw;return t?He(t):e}function gl(e){return!We(e,"__v_skip")&&Object.isExtensible(e)&&Ua(e,"__v_skip",!0),e}const Dt=e=>Ke(e)?jo(e):e,Qo=e=>Ke(e)?vs(e):e;function ct(e){return e?e.__v_isRef===!0:!1}function ie(e){return hl(e,!1)}function Tn(e){return hl(e,!0)}function hl(e,t){return ct(e)?e:new _d(e,t)}class _d{constructor(t,o){this.dep=new gs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:He(t),this._value=o?t:Dt(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)||io(t);t=n?t:He(t),Kt(t,o)&&(this._rawValue=t,this._value=n?t:Dt(t),this.dep.trigger())}}function fe(e){return ct(e)?e.value:e}const yd={get:(e,t,o)=>t==="__v_raw"?e:fe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return ct(r)&&!ct(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function ml(e){return zo(e)?e:new Proxy(e,yd)}class vd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new gs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=En-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 Za(this,!0),!0}get value(){const t=this.dep.track();return tl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function xd(e,t,o=!1){let n,r;return Ie(e)?n=e:(n=e.get,r=e.set),new vd(n,r,o)}const _r={},yr=new WeakMap;let Uo;function wd(e,t=!1,o=Uo){if(o){let n=yr.get(o);n||yr.set(o,n=[]),n.push(e)}}function kd(e,t,o=Je){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Nt(g)||r===!1||r===0?co(g,1):co(g);let u,p,m,v,E=!1,x=!1;if(ct(e)?(p=()=>e.value,E=Nt(e)):zo(e)?(p=()=>c(e),E=!0):Ne(e)?(x=!0,E=e.some(g=>zo(g)||Nt(g)),p=()=>e.map(g=>{if(ct(g))return g.value;if(zo(g))return c(g);if(Ie(g))return i?i(g,2):g()})):Ie(e)?t?p=i?()=>i(e,2):e:p=()=>{if(m){Yt();try{m()}finally{Xt()}}const g=Uo;Uo=u;try{return i?i(e,3,[v]):e(v)}finally{Uo=g}}:p=Wt,t&&r){const g=p,y=r===!0?1/0:r;p=()=>co(g(),y)}const k=Qu(),C=()=>{u.stop(),k&&k.active&&rs(k.effects,u)};if(s&&t){const g=t;t=(...y)=>{const $=g(...y);return C(),$}}let b=x?new Array(e.length).fill(_r):_r;const f=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const y=u.run();if(g||r||E||(x?y.some(($,S)=>Kt($,b[S])):Kt(y,b))){m&&m();const $=Uo;Uo=u;try{const S=[y,b===_r?void 0:x&&b[0]===_r?[]:b,v];b=y,i?i(t,3,S):t(...S)}finally{Uo=$}}}else u.run()};return l&&l(f),u=new Xa(p),u.scheduler=a?()=>a(f,!1):f,v=g=>wd(g,!1,u),m=u.onStop=()=>{const g=yr.get(u);if(g){if(i)i(g,4);else for(const y of g)y();yr.delete(u)}},t?n?f(!0):b=u.run():a?a(f.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function co(e,t=1/0,o){if(t<=0||!Ke(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ct(e))co(e.value,t,o);else if(Ne(e))for(let n=0;n{co(n,t,o)});else if(ir(e)){for(const n in e)co(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&co(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Ln=[];let ws=!1;function hw(e,...t){if(ws)return;ws=!0,Yt();const o=Ln.length?Ln[Ln.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=$d();if(n)en(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${fi(o,s.type)}>`).join(` +**/const Ln=[];let ws=!1;function h1(e,...t){if(ws)return;ws=!0,Yt();const o=Ln.length?Ln[Ln.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=$d();if(n)en(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${fi(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...Sd(r)),console.warn(...s)}Xt(),ws=!1}function $d(){let e=Ln[Ln.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 Sd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Ed(o))}),t}function Ed({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${fi(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Ad(e.props),s]:[r+s]}function Ad(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...bl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function bl(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}`]:ct(t)?(t=bl(e,He(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=He(t),o?t:[`${e}=`,t])}function en(e,t,o,n){try{return n?e(...n):e()}catch(r){vr(r,t,o)}}function jt(e,t,o,n){if(Ie(e)){const r=en(e,t,o,n);return r&&Da(r)&&r.catch(s=>{vr(s,t,o)}),r}if(Ne(e)){const r=[];for(let s=0;s>>1,r=_t[n],s=Nn(r);s=Nn(o)?_t.push(e):_t.splice(Td(t),0,e),e.flags|=1,yl()}}function yl(){xr||(xr=_l.then(wl))}function Ld(e){if(!Ne(e))So&&e.id===-1?So.splice(on+1,0,e):e.flags&1||(tn.push(e),e.flags|=1);else for(let t=0;tNn(o)-Nn(n));if(tn.length=0,So){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function wl(e){try{for(Zt=0;Zt<_t.length;Zt++){const t=_t[Zt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),en(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Zt<_t.length;Zt++){const t=_t[Zt];t&&(t.flags&=-2)}Zt=-1,_t.length=0,xl(),xr=null,(_t.length||tn.length)&&wl()}}let mt=null,kl=null;function wr(e){const t=mt;return mt=e,kl=e&&e.type.__scopeId||null,t}function Eo(e,t=mt,o){if(!t||e._n)return e;const n=(...r)=>{n._d&&Tr(-1);const s=wr(t),a=po.length;let l;try{l=e(...r)}finally{for(let i=po.length;i>a;i--)zs();wr(s),n._d&&Tr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t){if(mt===null)return e;const o=Ir(mt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Ie(t)?t.call(n&&n.proxy):t}}const Pd=Symbol.for("v-scx"),Nd=()=>je(Pd);function ft(e,t,o){return $l(e,t,o)}function $l(e,t,o=Je){const{immediate:n,deep:r,flush:s,once:a}=o,l=rt({},o),i=t&&n||!t&&s!=="post";let c;if(qn){if(s==="sync"){const v=Nd();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Wt,v.resume=Wt,v.pause=Wt,v}}const u=xt;l.call=(v,E,x)=>jt(v,u,E,x);let p=!1;s==="post"?l.scheduler=v=>{vt(v,u&&u.suspense)}:s!=="sync"&&(p=!0,l.scheduler=(v,E)=>{E?v():ks(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=kd(e,t,l);return qn&&(c?c.push(m):i&&m()),m}function Id(e,t,o){const n=this.proxy,r=tt(e)?e.includes(".")?Sl(n,e):()=>n[e]:e.bind(n,n);let s;Ie(t)?s=t:(s=t.handler,o=t);const a=Gn(this),l=$l(r,s.bind(n),o);return a(),l}function Sl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Go=e=>e&&(e.disabled||e.disabled===""),Fd=e=>e&&(e.defer||e.defer===""),Al=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,$s=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},Rd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:p,pbc:m,o:{insert:v,querySelector:E,createText:x,createComment:k,parentNode:C}}=c,b=Go(t.props);let{dynamicChildren:f}=t;const g=(S,D,N)=>{S.shapeFlag&16&&u(S.children,D,N,r,s,a,l,i)},y=(S=t)=>{const D=Go(S.props),N=S.target=$s(S.props,E),V=Ss(N,S,x,v);N&&(a!=="svg"&&Al(N)?a="svg":a!=="mathml"&&Cl(N)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(N),D||(g(S,N,V),In(S,!1)))},$=S=>{const D=()=>{if(Ao.get(S)===D){if(Ao.delete(S),Go(S.props)){const N=C(S.el)||o;g(S,N,S.anchor),In(S,!0)}y(S)}};Ao.set(S,D),vt(D,s)};if(e==null){const S=t.el=x(""),D=t.anchor=x("");if(v(S,o,n),v(D,o,n),Fd(t.props)||s&&s.pendingBranch){$(t);return}b&&(g(t,o,D),In(t,!0)),y()}else{t.el=e.el;const S=t.anchor=e.anchor,D=Ao.get(e);if(D){D.flags|=8,Ao.delete(e),$(t);return}t.targetStart=e.targetStart;const N=t.target=e.target,V=t.targetAnchor=e.targetAnchor,Z=Go(e.props),ne=Z?o:N,_e=Z?S:V;if(a==="svg"||Al(N)?a="svg":(a==="mathml"||Cl(N))&&(a="mathml"),f?(m(e.dynamicChildren,f,ne,r,s,a,l),Ds(e,t,!0)):i||p(e,t,ne,_e,r,s,a,l,!1),b)Z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):$r(t,o,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=$s(t.props,E);z&&(t.target=z,$r(t,z,null,c,0))}else Z&&$r(t,N,V,c,1);In(t,b)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:p,props:m}=e,v=Go(m),E=s||!v,x=Ao.get(e);if(x&&(x.flags|=8,Ao.delete(e)),p&&(r(c),r(u)),s&&r(i),!x&&(v||p)&&a&16)for(let k=0;k1){for(const o of e)if(o.type!==eo){t=o;break}}return t}function Tl(e){if(!Cs(e))return kr(e.type)&&e.children?Dd(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 As(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;As(kr(o.type)&&Tl(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 Fn(e,t){return Ie(e)?rt({name:e.name},t,{setup:e}):e}function Ll(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Pl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Sr=new WeakMap;function Rn(e,t,o,n,r=!1){if(Ne(e)){e.forEach((x,k)=>Rn(x,t&&(Ne(t)?t[k]:t),o,n,r));return}if(nn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Rn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Ir(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===Je?l.refs={}:l.refs,p=l.setupState,m=He(p),v=p===Je?Ma:x=>Pl(u,x)?!1:We(m,x),E=(x,k)=>!(k&&Pl(u,k));if(c!=null&&c!==i){if(Nl(t),tt(c))u[c]=null,v(c)&&(p[c]=null);else if(ct(c)){const x=t;E(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Ie(i))en(i,l,12,[a,u]);else{const x=tt(i),k=ct(i);if(x||k){const C=()=>{if(e.f){const b=x?v(i)?p[i]:u[i]:E()||!e.k?i.value:u[e.k];if(r)Ne(b)&&rs(b,s);else if(Ne(b))b.includes(s)||b.push(s);else if(x)u[i]=[s],v(i)&&(p[i]=u[i]);else{const f=[s];E(i,e.k)&&(i.value=f),e.k&&(u[e.k]=f)}}else x?(u[i]=a,v(i)&&(p[i]=a)):k&&(E(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const b=()=>{C(),Sr.delete(e)};b.id=-1,Sr.set(e,b),vt(b,o)}else Nl(e),C()}}}function Nl(e){const t=Sr.get(e);t&&(t.flags|=8,Sr.delete(e))}dr().requestIdleCallback,dr().cancelIdleCallback;const nn=e=>!!e.type.__asyncLoader,Cs=e=>e.type.__isKeepAlive;function jd(e,t){Il(e,"a",t)}function zd(e,t){Il(e,"da",t)}function Il(e,t,o=xt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Er(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Cs(r.parent.vnode)&&Ud(n,t,o,r),r=r.parent}}function Ud(e,t,o,n){const r=Er(t,e,n,!0);Ts(()=>{rs(n[t],r)},o)}function Er(e,t,o=xt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Yt();const l=Gn(o),i=jt(t,o,e,a);return l(),Xt(),i});return n?r.unshift(s):r.push(s),s}}const fo=e=>(t,o=xt)=>{(!qn||e==="sp")&&Er(e,(...n)=>t(...n),o)},Fl=fo("bm"),bt=fo("m"),Bd=fo("bu"),Gd=fo("u"),Qt=fo("bum"),Ts=fo("um"),qd=fo("sp"),Hd=fo("rtg"),Vd=fo("rtc");function Wd(e,t=xt){Er("ec",e,t)}const Kd=Symbol.for("v-ndc");function Qe(e,t,o,n){let r;const s=o,a=Ne(e);if(a||tt(e)){const l=a&&zo(e);let i=!1,c=!1;l&&(i=!Nt(e),c=io(e),e=pr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),H(),Co(Ee,null,[Ue("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=po.length;H();let i;try{const c=a&&Rl(a(o)),u=o.key||s||c&&c.key;i=Co(Ee,{key:(u&&!Mt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=po.length;u>l;u--)zs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Rl(e){return e.some(t=>zn(t)?!(t.type===eo||t.type===Ee&&!Rl(t.children)):!0)?e:null}const Ls=e=>e?ci(e)?Ir(e):Ls(e.parent):null,Mn=rt(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=>Ls(e.parent),$root:e=>Ls(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>jl(e),$forceUpdate:e=>e.f||(e.f=()=>{ks(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Id.bind(e)}),Ps=(e,t)=>e!==Je&&!e.__isScriptSetup&&We(e,t),Yd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ps(n,t))return a[t]=1,n[t];if(r!==Je&&We(r,t))return a[t]=2,r[t];if(We(s,t))return a[t]=3,s[t];if(o!==Je&&We(o,t))return a[t]=4,o[t];Ns&&(a[t]=0)}}const c=Mn[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==Je&&We(o,t))return a[t]=4,o[t];if(p=i.config.globalProperties,We(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ps(r,t)?(r[t]=o,!0):n!==Je&&We(n,t)?(n[t]=o,!0):We(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==Je&&l[0]!=="$"&&We(e,l)||Ps(t,l)||We(s,l)||We(n,l)||We(Mn,l)||We(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:We(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Ml(e){return Ne(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ns=!0;function Xd(e){const t=jl(e),o=e.proxy,n=e.ctx;Ns=!1,t.beforeCreate&&Ol(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:v,updated:E,activated:x,deactivated:k,beforeDestroy:C,beforeUnmount:b,destroyed:f,unmounted:g,render:y,renderTracked:$,renderTriggered:S,errorCaptured:D,serverPrefetch:N,expose:V,inheritAttrs:Z,components:ne,directives:_e,filters:z}=t;if(c&&Jd(c,n,null),a)for(const G in a){const T=a[G];Ie(T)&&(n[G]=T.bind(o))}if(r){const G=r.call(o,o);Ke(G)&&(e.data=jo(G))}if(Ns=!0,s)for(const G in s){const T=s[G],q=Ie(T)?T.bind(o,o):Ie(T.get)?T.get.bind(o,o):Wt,R=!Ie(T)&&Ie(T.set)?T.set.bind(o):Wt,L=ae({get:q,set:R});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>L.value,set:J=>L.value=J})}if(l)for(const G in l)Dl(l[G],n,o,G);if(i){const G=Ie(i)?i.call(o):i;Reflect.ownKeys(G).forEach(T=>{uo(T,G[T])})}u&&Ol(u,e,"c");function W(G,T){Ne(T)?T.forEach(q=>G(q.bind(o))):T&&G(T.bind(o))}if(W(Fl,p),W(bt,m),W(Bd,v),W(Gd,E),W(jd,x),W(zd,k),W(Wd,D),W(Vd,$),W(Hd,S),W(Qt,b),W(Ts,g),W(qd,N),Ne(V))if(V.length){const G=e.exposed||(e.exposed={});V.forEach(T=>{Object.defineProperty(G,T,{get:()=>o[T],set:q=>o[T]=q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===Wt&&(e.render=y),Z!=null&&(e.inheritAttrs=Z),ne&&(e.components=ne),_e&&(e.directives=_e),N&&Ll(e)}function Jd(e,t,o=Wt){Ne(e)&&(e=Is(e));for(const n in e){const r=e[n];let s;Ke(r)?"default"in r?s=je(r.from||n,r.default,!0):s=je(r.from||n):s=je(r),ct(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Ol(e,t,o){jt(Ne(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Dl(e,t,o,n){let r=n.includes(".")?Sl(o,n):()=>o[n];if(tt(e)){const s=t[e];Ie(s)&&ft(r,s)}else if(Ie(e))ft(r,e.bind(o));else if(Ke(e))if(Ne(e))e.forEach(s=>Dl(s,t,o,n));else{const s=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(s)&&ft(r,s,e)}}function jl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>Ar(i,c,a,!0)),Ar(i,t,a)),Ke(t)&&s.set(t,i),i}function Ar(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Ar(e,s,o,!0),r&&r.forEach(a=>Ar(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Zd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Zd={data:zl,props:Ul,emits:Ul,methods:On,computed:On,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:On,directives:On,watch:ef,provide:zl,inject:Qd};function zl(e,t){return t?e?function(){return rt(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function Qd(e,t){return On(Is(e),Is(t))}function Is(e){if(Ne(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 rf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Je;let r=o;const s=t.startsWith("update:"),a=s&&nf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>tt(u)?u.trim():u)),a.number&&(r=r.map(ls)));let l,i=n[l=as(t)]||n[l=as(Et(t))];!i&&s&&(i=n[l=as(Tt(t))]),i&&jt(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,jt(c,e,6,r)}}const sf=new WeakMap;function Gl(e,t,o=!1){const n=o?sf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Ie(e)){const i=c=>{const u=Gl(c,t,!0);u&&(l=!0,rt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(Ke(e)&&n.set(e,null),null):(Ne(s)?s.forEach(i=>a[i]=null):rt(a,s),Ke(e)&&n.set(e,a),a)}function Cr(e,t){return!e||!sr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),We(e,t[0].toLowerCase()+t.slice(1))||We(e,Tt(t))||We(e,t))}function mw(){}function ql(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:p,data:m,setupState:v,ctx:E,inheritAttrs:x}=e,k=wr(e);let C,b;try{if(o.shapeFlag&4){const g=r||n,y=g;C=to(c.call(y,g,u,p,v,m,E)),b=l}else{const g=t;C=to(g.length>1?g(p,{attrs:l,slots:a,emit:i}):g(p,null)),b=t.props?l:af(l)}}catch(g){po.length=0,vr(g,e,1),C=Ue(eo)}let f=C;if(b&&x!==!1){const g=Object.keys(b),{shapeFlag:y}=f;g.length&&y&7&&(s&&g.some(ar)&&(b=lf(b,s)),f=sn(f,b,!1,!0))}if(o.dirs&&(f=sn(f,null,!1,!0),f.dirs=f.dirs?f.dirs.concat(o.dirs):o.dirs),o.transition){const g=kr(f.type)&&Tl(f)||f;As(g,o.transition)}return C=f,wr(k),C}const af=e=>{let t;for(const o in e)(o==="class"||o==="style"||sr(o))&&((t||(t={}))[o]=e[o]);return t},lf=(e,t)=>{const o={};for(const n in e)(!ar(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function cf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Hl(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let p=0;pObject.create(Wl),Yl=e=>Object.getPrototypeOf(e)===Wl;function df(e,t,o,n=!1){const r={},s=Kl();e.propsDefaults=Object.create(null),Xl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:bd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function ff(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=He(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{i=!0;const[m,v]=Jl(p,t,!0);rt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return Ke(e)&&n.set(e,Jo),Jo;if(Ne(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ms=e=>Ne(e)?e.map(to):[to(e)],gf=(e,t,o)=>{if(t._n)return t;const n=Eo((...r)=>Ms(t(...r)),o);return n._c=!1,n},Ql=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Rs(r))continue;const s=e[r];if(Ie(s))t[r]=gf(r,s,n);else if(s!=null){const a=Ms(s);t[r]=()=>a}}},ei=(e,t)=>{const o=Ms(t);e.slots.default=()=>o},ti=(e,t,o)=>{for(const n in t)(o||!Rs(n))&&(e[n]=t[n])},hf=(e,t,o)=>{const n=e.slots=Kl();if(e.vnode.shapeFlag&32){const r=t._;r?(ti(n,t,o),o&&Ua(n,"_",r,!0)):Ql(t,n)}else t&&ei(e,t)},mf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Je;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:ti(r,t,o):(s=!t.$stable,Ql(t,r)),a=t}else t&&(ei(e,t),a={default:1});if(s)for(const l in r)!Rs(l)&&a[l]==null&&delete r[l]},vt=xf;function bf(e){return _f(e)}function _f(e,t){const o=dr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:v=Wt,insertStaticContent:E}=e,x=(_,A,w,U=null,Q=null,oe=null,j=void 0,O=null,d=!!A.dynamicChildren)=>{if(_===A)return;_&&!Un(_,A)&&(U=Ce(_),J(_,Q,oe,!0),_=null),A.patchFlag===-2&&(d=!1,A.dynamicChildren=null);const{type:h,ref:I,shapeFlag:B}=A;switch(h){case Dn:k(_,A,w,U);break;case eo:C(_,A,w,U);break;case js:_==null&&b(A,w,U,j);break;case Ee:ne(_,A,w,U,Q,oe,j,O,d);break;default:B&1?y(_,A,w,U,Q,oe,j,O,d):B&6?_e(_,A,w,U,Q,oe,j,O,d):(B&64||B&128)&&h.process(_,A,w,U,Q,oe,j,O,d,be)}I!=null&&Q?Rn(I,_&&_.ref,oe,A||_,!A):I==null&&_&&_.ref!=null&&Rn(_.ref,null,oe,_,!0)},k=(_,A,w,U)=>{if(_==null)n(A.el=l(A.children),w,U);else{const Q=A.el=_.el;A.children!==_.children&&c(Q,A.children)}},C=(_,A,w,U)=>{_==null?n(A.el=i(A.children||""),w,U):A.el=_.el},b=(_,A,w,U)=>{[_.el,_.anchor]=E(_.children,A,w,U,_.el,_.anchor)},f=({el:_,anchor:A},w,U)=>{let Q;for(;_&&_!==A;)Q=m(_),n(_,w,U),_=Q;n(A,w,U)},g=({el:_,anchor:A})=>{let w;for(;_&&_!==A;)w=m(_),r(_),_=w;r(A)},y=(_,A,w,U,Q,oe,j,O,d)=>{if(A.type==="svg"?j="svg":A.type==="math"&&(j="mathml"),_==null)$(A,w,U,Q,oe,j,O,d);else{const h=_.el&&_.el._isVueCE?_.el:null;try{h&&h._beginPatch(),N(_,A,Q,oe,j,O,d)}finally{h&&h._endPatch()}}},$=(_,A,w,U,Q,oe,j,O)=>{let d,h;const{props:I,shapeFlag:B,transition:te,dirs:re}=_;if(d=_.el=a(_.type,oe,I&&I.is,I),B&8?u(d,_.children):B&16&&D(_.children,d,null,U,Q,Os(_,oe),j,O),re&&Bo(_,null,U,"created"),S(d,_,_.scopeId,j,U),I){for(const K in I)K!=="value"&&!kn(K)&&s(d,K,null,I[K],oe,U);"value"in I&&s(d,"value",null,I.value,oe),(h=I.onVnodeBeforeMount)&&oo(h,U,_)}re&&Bo(_,null,U,"beforeMount");const M=yf(Q,te);M&&te.beforeEnter(d),n(d,A,w),((h=I&&I.onVnodeMounted)||M||re)&&vt(()=>{try{h&&oo(h,U,_),M&&te.enter(d),re&&Bo(_,null,U,"mounted")}finally{}},Q)},S=(_,A,w,U,Q)=>{if(w&&v(_,w),U)for(let oe=0;oe{for(let h=d;h<_.length;h++){const I=_[h]=O?go(_[h]):to(_[h]);x(null,I,A,w,U,Q,oe,j,O)}},N=(_,A,w,U,Q,oe,j)=>{const O=A.el=_.el;let{patchFlag:d,dynamicChildren:h,dirs:I}=A;d|=_.patchFlag&16;const B=_.props||Je,te=A.props||Je;let re;if(w&&Ho(w,!1),(re=te.onVnodeBeforeUpdate)&&oo(re,w,A,_),I&&Bo(A,_,w,"beforeUpdate"),w&&Ho(w,!0),h&&(!_.dynamicChildren||_.dynamicChildren.length!==h.length)&&(d=0,j=!1,h=null),(B.innerHTML&&te.innerHTML==null||B.textContent&&te.textContent==null)&&u(O,""),h?V(_.dynamicChildren,h,O,w,U,Os(A,Q),oe):j||T(_,A,O,null,w,U,Os(A,Q),oe,!1),d>0){if(d&16)Z(O,B,te,w,Q);else if(d&2&&B.class!==te.class&&s(O,"class",null,te.class,Q),d&4&&s(O,"style",B.style,te.style,Q),d&8){const M=A.dynamicProps;for(let K=0;K{re&&oo(re,w,A,_),I&&Bo(A,_,w,"updated")},U)},V=(_,A,w,U,Q,oe,j)=>{for(let O=0;O{if(A!==w){if(A!==Je)for(const oe in A)!kn(oe)&&!(oe in w)&&s(_,oe,A[oe],null,Q,U);for(const oe in w){if(kn(oe))continue;const j=w[oe],O=A[oe];j!==O&&oe!=="value"&&s(_,oe,O,j,Q,U)}"value"in w&&s(_,"value",A.value,w.value,Q)}},ne=(_,A,w,U,Q,oe,j,O,d)=>{const h=A.el=_?_.el:l(""),I=A.anchor=_?_.anchor:l("");let{patchFlag:B,dynamicChildren:te,slotScopeIds:re}=A;re&&(O=O?O.concat(re):re),_==null?(n(h,w,U),n(I,w,U),D(A.children||[],w,I,Q,oe,j,O,d)):B>0&&B&64&&te&&_.dynamicChildren&&_.dynamicChildren.length===te.length?(V(_.dynamicChildren,te,w,Q,oe,j,O),(A.key!=null||Q&&A===Q.subTree)&&Ds(_,A,!0)):T(_,A,w,I,Q,oe,j,O,d)},_e=(_,A,w,U,Q,oe,j,O,d)=>{A.slotScopeIds=O,_==null?A.shapeFlag&512?Q.ctx.activate(A,w,U,j,d):z(A,w,U,Q,oe,j,d):ee(_,A,d)},z=(_,A,w,U,Q,oe,j)=>{const O=_.component=Af(_,U,Q);if(Cs(_)&&(O.ctx.renderer=be),Cf(O,!1,j),O.asyncDep){if(Q&&Q.registerDep(O,W,j),!_.el){const d=O.subTree=Ue(eo);C(null,d,A,w),_.placeholder=d.el}}else W(O,_,A,w,Q,oe,j)},ee=(_,A,w)=>{const U=A.component=_.component;if(cf(_,A,w))if(U.asyncDep&&!U.asyncResolved){G(U,A,w);return}else U.next=A,U.update();else A.el=_.el,U.vnode=A},W=(_,A,w,U,Q,oe,j)=>{const O=()=>{if(_.isMounted){let{next:B,bu:te,u:re,parent:M,vnode:K}=_;{const Xe=oi(_);if(Xe){B&&(B.el=K.el,G(_,B,j)),Xe.asyncDep.then(()=>{vt(()=>{_.isUnmounted||h()},Q)});return}}let pe=B,$e;Ho(_,!1),B?(B.el=K.el,G(_,B,j)):B=K,te&&ur(te),($e=B.props&&B.props.onVnodeBeforeUpdate)&&oo($e,M,B,K),Ho(_,!0);const Pe=ql(_),qe=_.subTree;_.subTree=Pe,x(qe,Pe,p(qe.el),Ce(qe),_,Q,oe),B.el=Pe.el,pe===null&&uf(_,Pe.el),re&&vt(re,Q),($e=B.props&&B.props.onVnodeUpdated)&&vt(()=>oo($e,M,B,K),Q)}else{let B;const{el:te,props:re}=A,{bm:M,m:K,parent:pe,root:$e,type:Pe}=_,qe=nn(A);Ho(_,!1),M&&ur(M),!qe&&(B=re&&re.onVnodeBeforeMount)&&oo(B,pe,A),Ho(_,!0);{$e.ce&&$e.ce._hasShadowRoot()&&$e.ce._injectChildStyle(Pe,_.parent?_.parent.type:void 0);const Xe=_.subTree=ql(_);x(null,Xe,w,U,_,Q,oe),A.el=Xe.el}if(K&&vt(K,Q),!qe&&(B=re&&re.onVnodeMounted)){const Xe=A;vt(()=>oo(B,pe,Xe),Q)}(A.shapeFlag&256||pe&&nn(pe.vnode)&&pe.vnode.shapeFlag&256)&&_.a&&vt(_.a,Q),_.isMounted=!0,A=w=U=null}};_.scope.on();const d=_.effect=new Xa(O);_.scope.off();const h=_.update=d.run.bind(d),I=_.job=d.runIfDirty.bind(d);I.i=_,I.id=_.uid,d.scheduler=()=>ks(I),Ho(_,!0),h()},G=(_,A,w)=>{A.component=_;const U=_.vnode.props;_.vnode=A,_.next=null,ff(_,A.props,U,w),mf(_,A.children,w),Yt(),vl(_),Xt()},T=(_,A,w,U,Q,oe,j,O,d=!1)=>{const h=_&&_.children,I=_?_.shapeFlag:0,B=A.children,{patchFlag:te,shapeFlag:re}=A;if(te>0){if(te&128){R(h,B,w,U,Q,oe,j,O,d);return}else if(te&256){q(h,B,w,U,Q,oe,j,O,d);return}}re&8?(I&16&&Le(h,Q,oe),B!==h&&u(w,B)):I&16?re&16?R(h,B,w,U,Q,oe,j,O,d):Le(h,Q,oe,!0):(I&8&&u(w,""),re&16&&D(B,w,U,Q,oe,j,O,d))},q=(_,A,w,U,Q,oe,j,O,d)=>{_=_||Jo,A=A||Jo;const h=_.length,I=A.length,B=Math.min(h,I);let te;for(te=0;teI?Le(_,Q,oe,!0,!1,B):D(A,w,U,Q,oe,j,O,d,B)},R=(_,A,w,U,Q,oe,j,O,d)=>{let h=0;const I=A.length;let B=_.length-1,te=I-1;for(;h<=B&&h<=te;){const re=_[h],M=A[h]=d?go(A[h]):to(A[h]);if(Un(re,M))x(re,M,w,null,Q,oe,j,O,d);else break;h++}for(;h<=B&&h<=te;){const re=_[B],M=A[te]=d?go(A[te]):to(A[te]);if(Un(re,M))x(re,M,w,null,Q,oe,j,O,d);else break;B--,te--}if(h>B){if(h<=te){const re=te+1,M=rete)for(;h<=B;)J(_[h],Q,oe,!0),h++;else{const re=h,M=h,K=new Map;for(h=M;h<=te;h++){const de=A[h]=d?go(A[h]):to(A[h]);de.key!=null&&K.set(de.key,h)}let pe,$e=0;const Pe=te-M+1;let qe=!1,Xe=0;const $t=new Array(Pe);for(h=0;h=Pe){J(de,Q,oe,!0);continue}let ge;if(de.key!=null)ge=K.get(de.key);else for(pe=M;pe<=te;pe++)if($t[pe-M]===0&&Un(de,A[pe])){ge=pe;break}ge===void 0?J(de,Q,oe,!0):($t[ge-M]=h+1,ge>=Xe?Xe=ge:qe=!0,x(de,A[ge],w,null,Q,oe,j,O,d),$e++)}const se=qe?vf($t):Jo;for(pe=se.length-1,h=Pe-1;h>=0;h--){const de=M+h,ge=A[de],ze=A[de+1],De=de+1{const{el:oe,type:j,transition:O,children:d,shapeFlag:h}=_;if(h&6){L(_.component.subTree,A,w,U);return}if(h&128){_.suspense.move(A,w,U);return}if(h&64){j.move(_,A,w,be);return}if(j===Ee){n(oe,A,w);for(let B=0;BO.enter(oe),Q));else{const{leave:B,delayLeave:te,afterLeave:re}=O,M=()=>{_.ctx.isUnmounted?r(oe):n(oe,A,w)},K=()=>{const pe=oe._isLeaving||!!oe[Es];oe._isLeaving&&oe[Es](!0),O.persisted&&!pe?M():B(oe,()=>{M(),re&&re()})};te?te(oe,M,K):K()}else n(oe,A,w)},J=(_,A,w,U=!1,Q=!1)=>{const{type:oe,props:j,ref:O,children:d,dynamicChildren:h,shapeFlag:I,patchFlag:B,dirs:te,cacheIndex:re,memo:M}=_;if(B===-2&&(Q=!1),O!=null&&(Yt(),Rn(O,null,w,_,!0),Xt()),re!=null&&(A.renderCache[re]=void 0),I&256){A.ctx.deactivate(_);return}const K=I&1&&te,pe=!nn(_);let $e;if(pe&&($e=j&&j.onVnodeBeforeUnmount)&&oo($e,A,_),I&6)Ae(_.component,w,U);else{if(I&128){_.suspense.unmount(w,U);return}K&&Bo(_,null,A,"beforeUnmount"),I&64?_.type.remove(_,A,w,be,U):h&&!h.hasOnce&&(oe!==Ee||B>0&&B&64)?Le(h,A,w,!1,!0):(oe===Ee&&B&384||!Q&&I&16)&&Le(d,A,w),U&&le(_)}const Pe=M!=null&&re==null;(pe&&($e=j&&j.onVnodeUnmounted)||K||Pe)&&vt(()=>{$e&&oo($e,A,_),K&&Bo(_,null,A,"unmounted"),Pe&&(_.el=null)},w)},le=_=>{const{type:A,el:w,anchor:U,transition:Q}=_;if(A===Ee){ye(w,U);return}if(A===js){g(_);return}const oe=()=>{r(w),Q&&!Q.persisted&&Q.afterLeave&&Q.afterLeave()};if(_.shapeFlag&1&&Q&&!Q.persisted){const{leave:j,delayLeave:O}=Q,d=()=>j(w,oe);O?O(_.el,oe,d):d()}else oe()},ye=(_,A)=>{let w;for(;_!==A;)w=m(_),r(_),_=w;r(A)},Ae=(_,A,w)=>{const{bum:U,scope:Q,job:oe,subTree:j,um:O,m:d,a:h}=_;ni(d),ni(h),U&&ur(U),Q.stop(),oe&&(oe.flags|=8,J(j,_,A,w)),O&&vt(O,A),vt(()=>{_.isUnmounted=!0},A)},Le=(_,A,w,U=!1,Q=!1,oe=0)=>{for(let j=oe;j<_.length;j++)J(_[j],A,w,U,Q)},Ce=_=>{if(_.shapeFlag&6)return Ce(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const A=m(_.anchor||_.el),w=A&&A[El];return w?m(w):A};let ve=!1;const me=(_,A,w)=>{let U;_==null?A._vnode&&(J(A._vnode,null,null,!0),U=A._vnode.component):x(A._vnode||null,_,A,null,null,null,w),A._vnode=_,ve||(ve=!0,vl(U),xl(),ve=!1)},be={p:x,um:J,m:L,r:le,mt:z,mc:D,pc:T,pbc:V,n:Ce,o:e};return{render:me,hydrate:void 0,createApp:of(me)}}function Os({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 Ho({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function yf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ds(e,t,o=!1){const n=e.children,r=t.children;if(Ne(n)&&Ne(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function oi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oi(t)}function ni(e){if(e)for(let t=0;te.__isSuspense;function xf(e,t){t&&t.pendingBranch?Ne(e)?t.effects.push(...e):t.effects.push(e):Ld(e)}const Ee=Symbol.for("v-fgt"),Dn=Symbol.for("v-txt"),eo=Symbol.for("v-cmt"),js=Symbol.for("v-stc"),po=[];let Lt=null;function H(e=!1){po.push(Lt=e?null:[])}function zs(){po.pop(),Lt=po[po.length-1]||null}let jn=1;function Tr(e,t=!1){jn+=e,e<0&&Lt&&t&&(Lt.hasOnce=!0)}function ai(e){return e.dynamicChildren=jn>0?Lt||Jo:null,zs(),jn>0&&Lt&&Lt.push(e),e}function X(e,t,o,n,r,s){return ai(P(e,t,o,n,r,s,!0))}function Co(e,t,o,n,r){return ai(Ue(e,t,o,n,r,!0))}function zn(e){return e?e.__v_isVNode===!0:!1}function Un(e,t){return e.type===t.type&&e.key===t.key}const li=({key:e})=>e??null,Lr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||ct(e)||Ie(e)?{i:mt,r:e,k:t,f:!!o}:e:null);function P(e,t=null,o=null,n=0,r=null,s=e===Ee?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&li(t),ref:t&&Lr(t),scopeId:kl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:mt};return l?(Pr(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=tt(o)?8:16),jn>0&&!a&&Lt&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Lt.push(i),i}const Ue=wf;function wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Kd)&&(e=eo),zn(e)){const l=sn(e,t,!0);return o&&Pr(l,o),jn>0&&!s&&Lt&&(l.shapeFlag&6?Lt[Lt.indexOf(e)]=l:Lt.push(l)),l.patchFlag=-2,l}if(Rf(e)&&(e=e.__vccOpts),t){t=kf(t);let{class:l,style:i}=t;l&&!tt(l)&&(t.class=Ge(l)),Ke(i)&&(xs(i)&&!Ne(i)&&(i=rt({},i)),t.style=at(i))}const a=tt(e)?1:si(e)?128:kr(e)?64:Ke(e)?4:Ie(e)?2:0;return P(e,t,o,n,r,a,s,!0)}function kf(e){return e?xs(e)||Yl(e)?rt({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?$f(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&li(c),ref:t&&t.ref?o&&s?Ne(s)?s.concat(Lr(t)):[s,Lr(t)]:Lr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ee?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&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&&As(u,i.clone(u)),u}function lt(e=" ",t=0){return Ue(Dn,null,e,t)}function Re(e="",t=!1){return t?(H(),Co(eo,null,e)):Ue(eo,null,e)}function to(e){return e==null||typeof e=="boolean"?Ue(eo):Ne(e)?Ue(Ee,null,e.slice()):zn(e)?go(e):Ue(Dn,null,String(e))}function go(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Pr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ne(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Pr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Yl(t)?t._ctx=mt:r===3&&mt&&(mt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(n&65){Pr(e,{default:t});return}t={default:t,_ctx:mt},o=32}else t=String(t),n&64?(o=16,t=[lt(t)]):o=8;e.children=t,e.shapeFlag|=o}function $f(...e){const t={};for(let o=0;oxt||mt;let Nr,Bn;{const e=dr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>xt=o),Bn=t("__VUE_SSR_SETTERS__",o=>qn=o)}const Gn=e=>{const t=xt;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},ii=()=>{xt&&xt.scope.off(),Nr(null)};function ci(e){return e.vnode.shapeFlag&4}let qn=!1;function Cf(e,t=!1,o=!1){t&&Bn(t);const{props:n,children:r}=e.vnode,s=ci(e);df(e,n,s,t),hf(e,r,o||t);const a=s?Tf(e,t):void 0;return t&&Bn(!1),a}function Tf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yd);const{setup:n}=o;if(n){Yt();const r=e.setupContext=n.length>1?Pf(e):null,s=Gn(e),a=en(n,e,0,[e.props,r]),l=Da(a);if(Xt(),s(),(l||e.sp)&&!nn(e)&&Ll(e),l){if(a.then(ii,ii),t)return a.then(i=>{Bn(!0);try{ui(e,i,t)}finally{Bn(!1)}}).catch(i=>{vr(i,e,0)});e.asyncDep=a}else ui(e,a)}else di(e)}function ui(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ke(t)&&(e.setupState=ml(t)),di(e)}function di(e,t,o){const n=e.type;e.render||(e.render=n.render||Wt);{const r=Gn(e);Yt();try{Xd(e)}finally{Xt(),r()}}}const Lf={get(e,t){return ht(e,"get",""),e[t]}};function Pf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Lf),slots:e.slots,emit:e.emit,expose:t}}function Ir(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ml(gl(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Mn)return Mn[o](e)},has(t,o){return o in t||o in Mn}})):e.proxy}const Nf=/(?:^|[-_])\w/g,If=e=>e.replace(Nf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ff(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function fi(e,t,o=!1){let n=Ff(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?If(n):o?"App":"Anonymous"}function Rf(e){return Ie(e)&&"__vccOpts"in e}const ae=(e,t)=>xd(e,t,qn);function pi(e,t,o){try{Tr(-1);const n=arguments.length;return n===2?Ke(t)&&!Ne(t)?zn(t)?Ue(e,null,[t]):Ue(e,t):Ue(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&zn(o)&&(o=[o]),Ue(e,t,o))}finally{Tr(1)}}const Mf="3.5.42";/** +`],...Ed(o))}),t}function Ed({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${fi(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Ad(e.props),s]:[r+s]}function Ad(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...bl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function bl(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}`]:ct(t)?(t=bl(e,He(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ie(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=He(t),o?t:[`${e}=`,t])}function en(e,t,o,n){try{return n?e(...n):e()}catch(r){vr(r,t,o)}}function jt(e,t,o,n){if(Ie(e)){const r=en(e,t,o,n);return r&&Da(r)&&r.catch(s=>{vr(s,t,o)}),r}if(Ne(e)){const r=[];for(let s=0;s>>1,r=_t[n],s=Nn(r);s=Nn(o)?_t.push(e):_t.splice(Td(t),0,e),e.flags|=1,yl()}}function yl(){xr||(xr=_l.then(wl))}function Ld(e){if(!Ne(e))So&&e.id===-1?So.splice(on+1,0,e):e.flags&1||(tn.push(e),e.flags|=1);else for(let t=0;tNn(o)-Nn(n));if(tn.length=0,So){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function wl(e){try{for(Zt=0;Zt<_t.length;Zt++){const t=_t[Zt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),en(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Zt<_t.length;Zt++){const t=_t[Zt];t&&(t.flags&=-2)}Zt=-1,_t.length=0,xl(),xr=null,(_t.length||tn.length)&&wl()}}let mt=null,kl=null;function wr(e){const t=mt;return mt=e,kl=e&&e.type.__scopeId||null,t}function Eo(e,t=mt,o){if(!t||e._n)return e;const n=(...r)=>{n._d&&Tr(-1);const s=wr(t),a=po.length;let l;try{l=e(...r)}finally{for(let i=po.length;i>a;i--)zs();wr(s),n._d&&Tr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function It(e,t){if(mt===null)return e;const o=Ir(mt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Ie(t)?t.call(n&&n.proxy):t}}const Pd=Symbol.for("v-scx"),Nd=()=>je(Pd);function ft(e,t,o){return $l(e,t,o)}function $l(e,t,o=Je){const{immediate:n,deep:r,flush:s,once:a}=o,l=rt({},o),i=t&&n||!t&&s!=="post";let c;if(qn){if(s==="sync"){const v=Nd();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=Wt,v.resume=Wt,v.pause=Wt,v}}const u=xt;l.call=(v,E,x)=>jt(v,u,E,x);let p=!1;s==="post"?l.scheduler=v=>{vt(v,u&&u.suspense)}:s!=="sync"&&(p=!0,l.scheduler=(v,E)=>{E?v():ks(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=kd(e,t,l);return qn&&(c?c.push(m):i&&m()),m}function Id(e,t,o){const n=this.proxy,r=tt(e)?e.includes(".")?Sl(n,e):()=>n[e]:e.bind(n,n);let s;Ie(t)?s=t:(s=t.handler,o=t);const a=Gn(this),l=$l(r,s.bind(n),o);return a(),l}function Sl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Go=e=>e&&(e.disabled||e.disabled===""),Fd=e=>e&&(e.defer||e.defer===""),Al=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Cl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,$s=(e,t)=>{const o=e&&e.to;return tt(o)?t?t(o):null:o},Rd={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:p,pbc:m,o:{insert:v,querySelector:E,createText:x,createComment:k,parentNode:C}}=c,b=Go(t.props);let{dynamicChildren:f}=t;const g=(S,D,N)=>{S.shapeFlag&16&&u(S.children,D,N,r,s,a,l,i)},y=(S=t)=>{const D=Go(S.props),N=S.target=$s(S.props,E),V=Ss(N,S,x,v);N&&(a!=="svg"&&Al(N)?a="svg":a!=="mathml"&&Cl(N)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(N),D||(g(S,N,V),In(S,!1)))},$=S=>{const D=()=>{if(Ao.get(S)===D){if(Ao.delete(S),Go(S.props)){const N=C(S.el)||o;g(S,N,S.anchor),In(S,!0)}y(S)}};Ao.set(S,D),vt(D,s)};if(e==null){const S=t.el=x(""),D=t.anchor=x("");if(v(S,o,n),v(D,o,n),Fd(t.props)||s&&s.pendingBranch){$(t);return}b&&(g(t,o,D),In(t,!0)),y()}else{t.el=e.el;const S=t.anchor=e.anchor,D=Ao.get(e);if(D){D.flags|=8,Ao.delete(e),$(t);return}t.targetStart=e.targetStart;const N=t.target=e.target,V=t.targetAnchor=e.targetAnchor,Z=Go(e.props),ne=Z?o:N,_e=Z?S:V;if(a==="svg"||Al(N)?a="svg":(a==="mathml"||Cl(N))&&(a="mathml"),f?(m(e.dynamicChildren,f,ne,r,s,a,l),Ds(e,t,!0)):i||p(e,t,ne,_e,r,s,a,l,!1),b)Z?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):$r(t,o,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=$s(t.props,E);z&&(t.target=z,$r(t,z,null,c,0))}else Z&&$r(t,N,V,c,1);In(t,b)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:p,props:m}=e,v=Go(m),E=s||!v,x=Ao.get(e);if(x&&(x.flags|=8,Ao.delete(e)),p&&(r(c),r(u)),s&&r(i),!x&&(v||p)&&a&16)for(let k=0;k1){for(const o of e)if(o.type!==eo){t=o;break}}return t}function Tl(e){if(!Cs(e))return kr(e.type)&&e.children?Dd(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 As(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;As(kr(o.type)&&Tl(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 Fn(e,t){return Ie(e)?rt({name:e.name},t,{setup:e}):e}function Ll(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Pl(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Sr=new WeakMap;function Rn(e,t,o,n,r=!1){if(Ne(e)){e.forEach((x,k)=>Rn(x,t&&(Ne(t)?t[k]:t),o,n,r));return}if(nn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Rn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Ir(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===Je?l.refs={}:l.refs,p=l.setupState,m=He(p),v=p===Je?Ma:x=>Pl(u,x)?!1:We(m,x),E=(x,k)=>!(k&&Pl(u,k));if(c!=null&&c!==i){if(Nl(t),tt(c))u[c]=null,v(c)&&(p[c]=null);else if(ct(c)){const x=t;E(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Ie(i))en(i,l,12,[a,u]);else{const x=tt(i),k=ct(i);if(x||k){const C=()=>{if(e.f){const b=x?v(i)?p[i]:u[i]:E()||!e.k?i.value:u[e.k];if(r)Ne(b)&&rs(b,s);else if(Ne(b))b.includes(s)||b.push(s);else if(x)u[i]=[s],v(i)&&(p[i]=u[i]);else{const f=[s];E(i,e.k)&&(i.value=f),e.k&&(u[e.k]=f)}}else x?(u[i]=a,v(i)&&(p[i]=a)):k&&(E(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const b=()=>{C(),Sr.delete(e)};b.id=-1,Sr.set(e,b),vt(b,o)}else Nl(e),C()}}}function Nl(e){const t=Sr.get(e);t&&(t.flags|=8,Sr.delete(e))}dr().requestIdleCallback,dr().cancelIdleCallback;const nn=e=>!!e.type.__asyncLoader,Cs=e=>e.type.__isKeepAlive;function jd(e,t){Il(e,"a",t)}function zd(e,t){Il(e,"da",t)}function Il(e,t,o=xt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Er(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Cs(r.parent.vnode)&&Ud(n,t,o,r),r=r.parent}}function Ud(e,t,o,n){const r=Er(t,e,n,!0);Ts(()=>{rs(n[t],r)},o)}function Er(e,t,o=xt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Yt();const l=Gn(o),i=jt(t,o,e,a);return l(),Xt(),i});return n?r.unshift(s):r.push(s),s}}const fo=e=>(t,o=xt)=>{(!qn||e==="sp")&&Er(e,(...n)=>t(...n),o)},Fl=fo("bm"),bt=fo("m"),Bd=fo("bu"),Gd=fo("u"),Qt=fo("bum"),Ts=fo("um"),qd=fo("sp"),Hd=fo("rtg"),Vd=fo("rtc");function Wd(e,t=xt){Er("ec",e,t)}const Kd=Symbol.for("v-ndc");function Qe(e,t,o,n){let r;const s=o,a=Ne(e);if(a||tt(e)){const l=a&&zo(e);let i=!1,c=!1;l&&(i=!Nt(e),c=io(e),e=pr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),H(),Co(Ee,null,[Ue("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=po.length;H();let i;try{const c=a&&Rl(a(o)),u=o.key||s||c&&c.key;i=Co(Ee,{key:(u&&!Mt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=po.length;u>l;u--)zs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Rl(e){return e.some(t=>zn(t)?!(t.type===eo||t.type===Ee&&!Rl(t.children)):!0)?e:null}const Ls=e=>e?ci(e)?Ir(e):Ls(e.parent):null,Mn=rt(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=>Ls(e.parent),$root:e=>Ls(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>jl(e),$forceUpdate:e=>e.f||(e.f=()=>{ks(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>Id.bind(e)}),Ps=(e,t)=>e!==Je&&!e.__isScriptSetup&&We(e,t),Yd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ps(n,t))return a[t]=1,n[t];if(r!==Je&&We(r,t))return a[t]=2,r[t];if(We(s,t))return a[t]=3,s[t];if(o!==Je&&We(o,t))return a[t]=4,o[t];Ns&&(a[t]=0)}}const c=Mn[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==Je&&We(o,t))return a[t]=4,o[t];if(p=i.config.globalProperties,We(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ps(r,t)?(r[t]=o,!0):n!==Je&&We(n,t)?(n[t]=o,!0):We(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==Je&&l[0]!=="$"&&We(e,l)||Ps(t,l)||We(s,l)||We(n,l)||We(Mn,l)||We(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:We(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Ml(e){return Ne(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ns=!0;function Xd(e){const t=jl(e),o=e.proxy,n=e.ctx;Ns=!1,t.beforeCreate&&Ol(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:v,updated:E,activated:x,deactivated:k,beforeDestroy:C,beforeUnmount:b,destroyed:f,unmounted:g,render:y,renderTracked:$,renderTriggered:S,errorCaptured:D,serverPrefetch:N,expose:V,inheritAttrs:Z,components:ne,directives:_e,filters:z}=t;if(c&&Jd(c,n,null),a)for(const G in a){const T=a[G];Ie(T)&&(n[G]=T.bind(o))}if(r){const G=r.call(o,o);Ke(G)&&(e.data=jo(G))}if(Ns=!0,s)for(const G in s){const T=s[G],q=Ie(T)?T.bind(o,o):Ie(T.get)?T.get.bind(o,o):Wt,R=!Ie(T)&&Ie(T.set)?T.set.bind(o):Wt,L=ae({get:q,set:R});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>L.value,set:J=>L.value=J})}if(l)for(const G in l)Dl(l[G],n,o,G);if(i){const G=Ie(i)?i.call(o):i;Reflect.ownKeys(G).forEach(T=>{uo(T,G[T])})}u&&Ol(u,e,"c");function W(G,T){Ne(T)?T.forEach(q=>G(q.bind(o))):T&&G(T.bind(o))}if(W(Fl,p),W(bt,m),W(Bd,v),W(Gd,E),W(jd,x),W(zd,k),W(Wd,D),W(Vd,$),W(Hd,S),W(Qt,b),W(Ts,g),W(qd,N),Ne(V))if(V.length){const G=e.exposed||(e.exposed={});V.forEach(T=>{Object.defineProperty(G,T,{get:()=>o[T],set:q=>o[T]=q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===Wt&&(e.render=y),Z!=null&&(e.inheritAttrs=Z),ne&&(e.components=ne),_e&&(e.directives=_e),N&&Ll(e)}function Jd(e,t,o=Wt){Ne(e)&&(e=Is(e));for(const n in e){const r=e[n];let s;Ke(r)?"default"in r?s=je(r.from||n,r.default,!0):s=je(r.from||n):s=je(r),ct(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Ol(e,t,o){jt(Ne(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Dl(e,t,o,n){let r=n.includes(".")?Sl(o,n):()=>o[n];if(tt(e)){const s=t[e];Ie(s)&&ft(r,s)}else if(Ie(e))ft(r,e.bind(o));else if(Ke(e))if(Ne(e))e.forEach(s=>Dl(s,t,o,n));else{const s=Ie(e.handler)?e.handler.bind(o):t[e.handler];Ie(s)&&ft(r,s,e)}}function jl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>Ar(i,c,a,!0)),Ar(i,t,a)),Ke(t)&&s.set(t,i),i}function Ar(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Ar(e,s,o,!0),r&&r.forEach(a=>Ar(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Zd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Zd={data:zl,props:Ul,emits:Ul,methods:On,computed:On,beforeCreate:yt,created:yt,beforeMount:yt,mounted:yt,beforeUpdate:yt,updated:yt,beforeDestroy:yt,beforeUnmount:yt,destroyed:yt,unmounted:yt,activated:yt,deactivated:yt,errorCaptured:yt,serverPrefetch:yt,components:On,directives:On,watch:ef,provide:zl,inject:Qd};function zl(e,t){return t?e?function(){return rt(Ie(e)?e.call(this,this):e,Ie(t)?t.call(this,this):t)}:t:e}function Qd(e,t){return On(Is(e),Is(t))}function Is(e){if(Ne(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 rf(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Je;let r=o;const s=t.startsWith("update:"),a=s&&nf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>tt(u)?u.trim():u)),a.number&&(r=r.map(ls)));let l,i=n[l=as(t)]||n[l=as(Et(t))];!i&&s&&(i=n[l=as(Tt(t))]),i&&jt(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,jt(c,e,6,r)}}const sf=new WeakMap;function Gl(e,t,o=!1){const n=o?sf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Ie(e)){const i=c=>{const u=Gl(c,t,!0);u&&(l=!0,rt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(Ke(e)&&n.set(e,null),null):(Ne(s)?s.forEach(i=>a[i]=null):rt(a,s),Ke(e)&&n.set(e,a),a)}function Cr(e,t){return!e||!sr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),We(e,t[0].toLowerCase()+t.slice(1))||We(e,Tt(t))||We(e,t))}function m1(){}function ql(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:p,data:m,setupState:v,ctx:E,inheritAttrs:x}=e,k=wr(e);let C,b;try{if(o.shapeFlag&4){const g=r||n,y=g;C=to(c.call(y,g,u,p,v,m,E)),b=l}else{const g=t;C=to(g.length>1?g(p,{attrs:l,slots:a,emit:i}):g(p,null)),b=t.props?l:af(l)}}catch(g){po.length=0,vr(g,e,1),C=Ue(eo)}let f=C;if(b&&x!==!1){const g=Object.keys(b),{shapeFlag:y}=f;g.length&&y&7&&(s&&g.some(ar)&&(b=lf(b,s)),f=sn(f,b,!1,!0))}if(o.dirs&&(f=sn(f,null,!1,!0),f.dirs=f.dirs?f.dirs.concat(o.dirs):o.dirs),o.transition){const g=kr(f.type)&&Tl(f)||f;As(g,o.transition)}return C=f,wr(k),C}const af=e=>{let t;for(const o in e)(o==="class"||o==="style"||sr(o))&&((t||(t={}))[o]=e[o]);return t},lf=(e,t)=>{const o={};for(const n in e)(!ar(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function cf(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Hl(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let p=0;pObject.create(Wl),Yl=e=>Object.getPrototypeOf(e)===Wl;function df(e,t,o,n=!1){const r={},s=Kl();e.propsDefaults=Object.create(null),Xl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:bd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function ff(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=He(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{i=!0;const[m,v]=Jl(p,t,!0);rt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return Ke(e)&&n.set(e,Jo),Jo;if(Ne(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ms=e=>Ne(e)?e.map(to):[to(e)],gf=(e,t,o)=>{if(t._n)return t;const n=Eo((...r)=>Ms(t(...r)),o);return n._c=!1,n},Ql=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Rs(r))continue;const s=e[r];if(Ie(s))t[r]=gf(r,s,n);else if(s!=null){const a=Ms(s);t[r]=()=>a}}},ei=(e,t)=>{const o=Ms(t);e.slots.default=()=>o},ti=(e,t,o)=>{for(const n in t)(o||!Rs(n))&&(e[n]=t[n])},hf=(e,t,o)=>{const n=e.slots=Kl();if(e.vnode.shapeFlag&32){const r=t._;r?(ti(n,t,o),o&&Ua(n,"_",r,!0)):Ql(t,n)}else t&&ei(e,t)},mf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Je;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:ti(r,t,o):(s=!t.$stable,Ql(t,r)),a=t}else t&&(ei(e,t),a={default:1});if(s)for(const l in r)!Rs(l)&&a[l]==null&&delete r[l]},vt=xf;function bf(e){return _f(e)}function _f(e,t){const o=dr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:v=Wt,insertStaticContent:E}=e,x=(_,A,w,U=null,Q=null,oe=null,j=void 0,O=null,d=!!A.dynamicChildren)=>{if(_===A)return;_&&!Un(_,A)&&(U=Ce(_),J(_,Q,oe,!0),_=null),A.patchFlag===-2&&(d=!1,A.dynamicChildren=null);const{type:h,ref:I,shapeFlag:B}=A;switch(h){case Dn:k(_,A,w,U);break;case eo:C(_,A,w,U);break;case js:_==null&&b(A,w,U,j);break;case Ee:ne(_,A,w,U,Q,oe,j,O,d);break;default:B&1?y(_,A,w,U,Q,oe,j,O,d):B&6?_e(_,A,w,U,Q,oe,j,O,d):(B&64||B&128)&&h.process(_,A,w,U,Q,oe,j,O,d,be)}I!=null&&Q?Rn(I,_&&_.ref,oe,A||_,!A):I==null&&_&&_.ref!=null&&Rn(_.ref,null,oe,_,!0)},k=(_,A,w,U)=>{if(_==null)n(A.el=l(A.children),w,U);else{const Q=A.el=_.el;A.children!==_.children&&c(Q,A.children)}},C=(_,A,w,U)=>{_==null?n(A.el=i(A.children||""),w,U):A.el=_.el},b=(_,A,w,U)=>{[_.el,_.anchor]=E(_.children,A,w,U,_.el,_.anchor)},f=({el:_,anchor:A},w,U)=>{let Q;for(;_&&_!==A;)Q=m(_),n(_,w,U),_=Q;n(A,w,U)},g=({el:_,anchor:A})=>{let w;for(;_&&_!==A;)w=m(_),r(_),_=w;r(A)},y=(_,A,w,U,Q,oe,j,O,d)=>{if(A.type==="svg"?j="svg":A.type==="math"&&(j="mathml"),_==null)$(A,w,U,Q,oe,j,O,d);else{const h=_.el&&_.el._isVueCE?_.el:null;try{h&&h._beginPatch(),N(_,A,Q,oe,j,O,d)}finally{h&&h._endPatch()}}},$=(_,A,w,U,Q,oe,j,O)=>{let d,h;const{props:I,shapeFlag:B,transition:te,dirs:re}=_;if(d=_.el=a(_.type,oe,I&&I.is,I),B&8?u(d,_.children):B&16&&D(_.children,d,null,U,Q,Os(_,oe),j,O),re&&Bo(_,null,U,"created"),S(d,_,_.scopeId,j,U),I){for(const K in I)K!=="value"&&!kn(K)&&s(d,K,null,I[K],oe,U);"value"in I&&s(d,"value",null,I.value,oe),(h=I.onVnodeBeforeMount)&&oo(h,U,_)}re&&Bo(_,null,U,"beforeMount");const M=yf(Q,te);M&&te.beforeEnter(d),n(d,A,w),((h=I&&I.onVnodeMounted)||M||re)&&vt(()=>{try{h&&oo(h,U,_),M&&te.enter(d),re&&Bo(_,null,U,"mounted")}finally{}},Q)},S=(_,A,w,U,Q)=>{if(w&&v(_,w),U)for(let oe=0;oe{for(let h=d;h<_.length;h++){const I=_[h]=O?go(_[h]):to(_[h]);x(null,I,A,w,U,Q,oe,j,O)}},N=(_,A,w,U,Q,oe,j)=>{const O=A.el=_.el;let{patchFlag:d,dynamicChildren:h,dirs:I}=A;d|=_.patchFlag&16;const B=_.props||Je,te=A.props||Je;let re;if(w&&Ho(w,!1),(re=te.onVnodeBeforeUpdate)&&oo(re,w,A,_),I&&Bo(A,_,w,"beforeUpdate"),w&&Ho(w,!0),h&&(!_.dynamicChildren||_.dynamicChildren.length!==h.length)&&(d=0,j=!1,h=null),(B.innerHTML&&te.innerHTML==null||B.textContent&&te.textContent==null)&&u(O,""),h?V(_.dynamicChildren,h,O,w,U,Os(A,Q),oe):j||T(_,A,O,null,w,U,Os(A,Q),oe,!1),d>0){if(d&16)Z(O,B,te,w,Q);else if(d&2&&B.class!==te.class&&s(O,"class",null,te.class,Q),d&4&&s(O,"style",B.style,te.style,Q),d&8){const M=A.dynamicProps;for(let K=0;K{re&&oo(re,w,A,_),I&&Bo(A,_,w,"updated")},U)},V=(_,A,w,U,Q,oe,j)=>{for(let O=0;O{if(A!==w){if(A!==Je)for(const oe in A)!kn(oe)&&!(oe in w)&&s(_,oe,A[oe],null,Q,U);for(const oe in w){if(kn(oe))continue;const j=w[oe],O=A[oe];j!==O&&oe!=="value"&&s(_,oe,O,j,Q,U)}"value"in w&&s(_,"value",A.value,w.value,Q)}},ne=(_,A,w,U,Q,oe,j,O,d)=>{const h=A.el=_?_.el:l(""),I=A.anchor=_?_.anchor:l("");let{patchFlag:B,dynamicChildren:te,slotScopeIds:re}=A;re&&(O=O?O.concat(re):re),_==null?(n(h,w,U),n(I,w,U),D(A.children||[],w,I,Q,oe,j,O,d)):B>0&&B&64&&te&&_.dynamicChildren&&_.dynamicChildren.length===te.length?(V(_.dynamicChildren,te,w,Q,oe,j,O),(A.key!=null||Q&&A===Q.subTree)&&Ds(_,A,!0)):T(_,A,w,I,Q,oe,j,O,d)},_e=(_,A,w,U,Q,oe,j,O,d)=>{A.slotScopeIds=O,_==null?A.shapeFlag&512?Q.ctx.activate(A,w,U,j,d):z(A,w,U,Q,oe,j,d):ee(_,A,d)},z=(_,A,w,U,Q,oe,j)=>{const O=_.component=Af(_,U,Q);if(Cs(_)&&(O.ctx.renderer=be),Cf(O,!1,j),O.asyncDep){if(Q&&Q.registerDep(O,W,j),!_.el){const d=O.subTree=Ue(eo);C(null,d,A,w),_.placeholder=d.el}}else W(O,_,A,w,Q,oe,j)},ee=(_,A,w)=>{const U=A.component=_.component;if(cf(_,A,w))if(U.asyncDep&&!U.asyncResolved){G(U,A,w);return}else U.next=A,U.update();else A.el=_.el,U.vnode=A},W=(_,A,w,U,Q,oe,j)=>{const O=()=>{if(_.isMounted){let{next:B,bu:te,u:re,parent:M,vnode:K}=_;{const Xe=oi(_);if(Xe){B&&(B.el=K.el,G(_,B,j)),Xe.asyncDep.then(()=>{vt(()=>{_.isUnmounted||h()},Q)});return}}let pe=B,$e;Ho(_,!1),B?(B.el=K.el,G(_,B,j)):B=K,te&&ur(te),($e=B.props&&B.props.onVnodeBeforeUpdate)&&oo($e,M,B,K),Ho(_,!0);const Pe=ql(_),qe=_.subTree;_.subTree=Pe,x(qe,Pe,p(qe.el),Ce(qe),_,Q,oe),B.el=Pe.el,pe===null&&uf(_,Pe.el),re&&vt(re,Q),($e=B.props&&B.props.onVnodeUpdated)&&vt(()=>oo($e,M,B,K),Q)}else{let B;const{el:te,props:re}=A,{bm:M,m:K,parent:pe,root:$e,type:Pe}=_,qe=nn(A);Ho(_,!1),M&&ur(M),!qe&&(B=re&&re.onVnodeBeforeMount)&&oo(B,pe,A),Ho(_,!0);{$e.ce&&$e.ce._hasShadowRoot()&&$e.ce._injectChildStyle(Pe,_.parent?_.parent.type:void 0);const Xe=_.subTree=ql(_);x(null,Xe,w,U,_,Q,oe),A.el=Xe.el}if(K&&vt(K,Q),!qe&&(B=re&&re.onVnodeMounted)){const Xe=A;vt(()=>oo(B,pe,Xe),Q)}(A.shapeFlag&256||pe&&nn(pe.vnode)&&pe.vnode.shapeFlag&256)&&_.a&&vt(_.a,Q),_.isMounted=!0,A=w=U=null}};_.scope.on();const d=_.effect=new Xa(O);_.scope.off();const h=_.update=d.run.bind(d),I=_.job=d.runIfDirty.bind(d);I.i=_,I.id=_.uid,d.scheduler=()=>ks(I),Ho(_,!0),h()},G=(_,A,w)=>{A.component=_;const U=_.vnode.props;_.vnode=A,_.next=null,ff(_,A.props,U,w),mf(_,A.children,w),Yt(),vl(_),Xt()},T=(_,A,w,U,Q,oe,j,O,d=!1)=>{const h=_&&_.children,I=_?_.shapeFlag:0,B=A.children,{patchFlag:te,shapeFlag:re}=A;if(te>0){if(te&128){R(h,B,w,U,Q,oe,j,O,d);return}else if(te&256){q(h,B,w,U,Q,oe,j,O,d);return}}re&8?(I&16&&Le(h,Q,oe),B!==h&&u(w,B)):I&16?re&16?R(h,B,w,U,Q,oe,j,O,d):Le(h,Q,oe,!0):(I&8&&u(w,""),re&16&&D(B,w,U,Q,oe,j,O,d))},q=(_,A,w,U,Q,oe,j,O,d)=>{_=_||Jo,A=A||Jo;const h=_.length,I=A.length,B=Math.min(h,I);let te;for(te=0;teI?Le(_,Q,oe,!0,!1,B):D(A,w,U,Q,oe,j,O,d,B)},R=(_,A,w,U,Q,oe,j,O,d)=>{let h=0;const I=A.length;let B=_.length-1,te=I-1;for(;h<=B&&h<=te;){const re=_[h],M=A[h]=d?go(A[h]):to(A[h]);if(Un(re,M))x(re,M,w,null,Q,oe,j,O,d);else break;h++}for(;h<=B&&h<=te;){const re=_[B],M=A[te]=d?go(A[te]):to(A[te]);if(Un(re,M))x(re,M,w,null,Q,oe,j,O,d);else break;B--,te--}if(h>B){if(h<=te){const re=te+1,M=rete)for(;h<=B;)J(_[h],Q,oe,!0),h++;else{const re=h,M=h,K=new Map;for(h=M;h<=te;h++){const de=A[h]=d?go(A[h]):to(A[h]);de.key!=null&&K.set(de.key,h)}let pe,$e=0;const Pe=te-M+1;let qe=!1,Xe=0;const $t=new Array(Pe);for(h=0;h=Pe){J(de,Q,oe,!0);continue}let ge;if(de.key!=null)ge=K.get(de.key);else for(pe=M;pe<=te;pe++)if($t[pe-M]===0&&Un(de,A[pe])){ge=pe;break}ge===void 0?J(de,Q,oe,!0):($t[ge-M]=h+1,ge>=Xe?Xe=ge:qe=!0,x(de,A[ge],w,null,Q,oe,j,O,d),$e++)}const se=qe?vf($t):Jo;for(pe=se.length-1,h=Pe-1;h>=0;h--){const de=M+h,ge=A[de],ze=A[de+1],De=de+1{const{el:oe,type:j,transition:O,children:d,shapeFlag:h}=_;if(h&6){L(_.component.subTree,A,w,U);return}if(h&128){_.suspense.move(A,w,U);return}if(h&64){j.move(_,A,w,be);return}if(j===Ee){n(oe,A,w);for(let B=0;BO.enter(oe),Q));else{const{leave:B,delayLeave:te,afterLeave:re}=O,M=()=>{_.ctx.isUnmounted?r(oe):n(oe,A,w)},K=()=>{const pe=oe._isLeaving||!!oe[Es];oe._isLeaving&&oe[Es](!0),O.persisted&&!pe?M():B(oe,()=>{M(),re&&re()})};te?te(oe,M,K):K()}else n(oe,A,w)},J=(_,A,w,U=!1,Q=!1)=>{const{type:oe,props:j,ref:O,children:d,dynamicChildren:h,shapeFlag:I,patchFlag:B,dirs:te,cacheIndex:re,memo:M}=_;if(B===-2&&(Q=!1),O!=null&&(Yt(),Rn(O,null,w,_,!0),Xt()),re!=null&&(A.renderCache[re]=void 0),I&256){A.ctx.deactivate(_);return}const K=I&1&&te,pe=!nn(_);let $e;if(pe&&($e=j&&j.onVnodeBeforeUnmount)&&oo($e,A,_),I&6)Ae(_.component,w,U);else{if(I&128){_.suspense.unmount(w,U);return}K&&Bo(_,null,A,"beforeUnmount"),I&64?_.type.remove(_,A,w,be,U):h&&!h.hasOnce&&(oe!==Ee||B>0&&B&64)?Le(h,A,w,!1,!0):(oe===Ee&&B&384||!Q&&I&16)&&Le(d,A,w),U&&le(_)}const Pe=M!=null&&re==null;(pe&&($e=j&&j.onVnodeUnmounted)||K||Pe)&&vt(()=>{$e&&oo($e,A,_),K&&Bo(_,null,A,"unmounted"),Pe&&(_.el=null)},w)},le=_=>{const{type:A,el:w,anchor:U,transition:Q}=_;if(A===Ee){ye(w,U);return}if(A===js){g(_);return}const oe=()=>{r(w),Q&&!Q.persisted&&Q.afterLeave&&Q.afterLeave()};if(_.shapeFlag&1&&Q&&!Q.persisted){const{leave:j,delayLeave:O}=Q,d=()=>j(w,oe);O?O(_.el,oe,d):d()}else oe()},ye=(_,A)=>{let w;for(;_!==A;)w=m(_),r(_),_=w;r(A)},Ae=(_,A,w)=>{const{bum:U,scope:Q,job:oe,subTree:j,um:O,m:d,a:h}=_;ni(d),ni(h),U&&ur(U),Q.stop(),oe&&(oe.flags|=8,J(j,_,A,w)),O&&vt(O,A),vt(()=>{_.isUnmounted=!0},A)},Le=(_,A,w,U=!1,Q=!1,oe=0)=>{for(let j=oe;j<_.length;j++)J(_[j],A,w,U,Q)},Ce=_=>{if(_.shapeFlag&6)return Ce(_.component.subTree);if(_.shapeFlag&128)return _.suspense.next();const A=m(_.anchor||_.el),w=A&&A[El];return w?m(w):A};let ve=!1;const me=(_,A,w)=>{let U;_==null?A._vnode&&(J(A._vnode,null,null,!0),U=A._vnode.component):x(A._vnode||null,_,A,null,null,null,w),A._vnode=_,ve||(ve=!0,vl(U),xl(),ve=!1)},be={p:x,um:J,m:L,r:le,mt:z,mc:D,pc:T,pbc:V,n:Ce,o:e};return{render:me,hydrate:void 0,createApp:of(me)}}function Os({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 Ho({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function yf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ds(e,t,o=!1){const n=e.children,r=t.children;if(Ne(n)&&Ne(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function oi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oi(t)}function ni(e){if(e)for(let t=0;te.__isSuspense;function xf(e,t){t&&t.pendingBranch?Ne(e)?t.effects.push(...e):t.effects.push(e):Ld(e)}const Ee=Symbol.for("v-fgt"),Dn=Symbol.for("v-txt"),eo=Symbol.for("v-cmt"),js=Symbol.for("v-stc"),po=[];let Lt=null;function H(e=!1){po.push(Lt=e?null:[])}function zs(){po.pop(),Lt=po[po.length-1]||null}let jn=1;function Tr(e,t=!1){jn+=e,e<0&&Lt&&t&&(Lt.hasOnce=!0)}function ai(e){return e.dynamicChildren=jn>0?Lt||Jo:null,zs(),jn>0&&Lt&&Lt.push(e),e}function X(e,t,o,n,r,s){return ai(P(e,t,o,n,r,s,!0))}function Co(e,t,o,n,r){return ai(Ue(e,t,o,n,r,!0))}function zn(e){return e?e.__v_isVNode===!0:!1}function Un(e,t){return e.type===t.type&&e.key===t.key}const li=({key:e})=>e??null,Lr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?tt(e)||ct(e)||Ie(e)?{i:mt,r:e,k:t,f:!!o}:e:null);function P(e,t=null,o=null,n=0,r=null,s=e===Ee?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&li(t),ref:t&&Lr(t),scopeId:kl,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:mt};return l?(Pr(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=tt(o)?8:16),jn>0&&!a&&Lt&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&Lt.push(i),i}const Ue=wf;function wf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Kd)&&(e=eo),zn(e)){const l=sn(e,t,!0);return o&&Pr(l,o),jn>0&&!s&&Lt&&(l.shapeFlag&6?Lt[Lt.indexOf(e)]=l:Lt.push(l)),l.patchFlag=-2,l}if(Rf(e)&&(e=e.__vccOpts),t){t=kf(t);let{class:l,style:i}=t;l&&!tt(l)&&(t.class=Ge(l)),Ke(i)&&(xs(i)&&!Ne(i)&&(i=rt({},i)),t.style=at(i))}const a=tt(e)?1:si(e)?128:kr(e)?64:Ke(e)?4:Ie(e)?2:0;return P(e,t,o,n,r,a,s,!0)}function kf(e){return e?xs(e)||Yl(e)?rt({},e):e:null}function sn(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?$f(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&li(c),ref:t&&t.ref?o&&s?Ne(s)?s.concat(Lr(t)):[s,Lr(t)]:Lr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ee?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&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&&As(u,i.clone(u)),u}function lt(e=" ",t=0){return Ue(Dn,null,e,t)}function Re(e="",t=!1){return t?(H(),Co(eo,null,e)):Ue(eo,null,e)}function to(e){return e==null||typeof e=="boolean"?Ue(eo):Ne(e)?Ue(Ee,null,e.slice()):zn(e)?go(e):Ue(Dn,null,String(e))}function go(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:sn(e)}function Pr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ne(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Pr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Yl(t)?t._ctx=mt:r===3&&mt&&(mt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ie(t)){if(n&65){Pr(e,{default:t});return}t={default:t,_ctx:mt},o=32}else t=String(t),n&64?(o=16,t=[lt(t)]):o=8;e.children=t,e.shapeFlag|=o}function $f(...e){const t={};for(let o=0;oxt||mt;let Nr,Bn;{const e=dr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",o=>xt=o),Bn=t("__VUE_SSR_SETTERS__",o=>qn=o)}const Gn=e=>{const t=xt;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},ii=()=>{xt&&xt.scope.off(),Nr(null)};function ci(e){return e.vnode.shapeFlag&4}let qn=!1;function Cf(e,t=!1,o=!1){t&&Bn(t);const{props:n,children:r}=e.vnode,s=ci(e);df(e,n,s,t),hf(e,r,o||t);const a=s?Tf(e,t):void 0;return t&&Bn(!1),a}function Tf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yd);const{setup:n}=o;if(n){Yt();const r=e.setupContext=n.length>1?Pf(e):null,s=Gn(e),a=en(n,e,0,[e.props,r]),l=Da(a);if(Xt(),s(),(l||e.sp)&&!nn(e)&&Ll(e),l){if(a.then(ii,ii),t)return a.then(i=>{Bn(!0);try{ui(e,i,t)}finally{Bn(!1)}}).catch(i=>{vr(i,e,0)});e.asyncDep=a}else ui(e,a)}else di(e)}function ui(e,t,o){Ie(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ke(t)&&(e.setupState=ml(t)),di(e)}function di(e,t,o){const n=e.type;e.render||(e.render=n.render||Wt);{const r=Gn(e);Yt();try{Xd(e)}finally{Xt(),r()}}}const Lf={get(e,t){return ht(e,"get",""),e[t]}};function Pf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Lf),slots:e.slots,emit:e.emit,expose:t}}function Ir(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ml(gl(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Mn)return Mn[o](e)},has(t,o){return o in t||o in Mn}})):e.proxy}const Nf=/(?:^|[-_])\w/g,If=e=>e.replace(Nf,t=>t.toUpperCase()).replace(/[-_]/g,"");function Ff(e,t=!0){return Ie(e)?e.displayName||e.name:e.name||t&&e.__name}function fi(e,t,o=!1){let n=Ff(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?If(n):o?"App":"Anonymous"}function Rf(e){return Ie(e)&&"__vccOpts"in e}const ae=(e,t)=>xd(e,t,qn);function pi(e,t,o){try{Tr(-1);const n=arguments.length;return n===2?Ke(t)&&!Ne(t)?zn(t)?Ue(e,null,[t]):Ue(e,t):Ue(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&zn(o)&&(o=[o]),Ue(e,t,o))}finally{Tr(1)}}const Mf="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -631,7 +631,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(),X("section",Nv,[P("div",Iv,[y[0]||(y[0]=P("span",null,"Detail",-1)),c.value?(H(),X("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:f},"✕")):Re("",!0)]),c.value?(H(),X(Ee,{key:1},[P("div",Rv,[p.value?(H(),X("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Mv)):(H(),X("div",Ov,"No photo")),P("div",null,[P("div",Dv,ue(c.value.name||"—"),1),P("div",jv,ue(fe(nt)(c.value.country_code)||"—")+" · "+ue(fe(nt)(c.value.religion)||"—"),1)])]),P("div",zv,[E.value?(H(),X("a",{key:0,class:"rd-act rd-act-pray",href:E.value,target:"_blank",rel:"noopener",title:k.value,"data-detail-pray":""},[y[1]||(y[1]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),P("span",null,ue(k.value),1)],8,Uv)):Re("",!0),x.value?(H(),X("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:C.value,"data-detail-moreinfo":""},[y[2]||(y[2]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),P("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("span",null,ue(C.value),1)],8,Bv)):Re("",!0)]),P("div",Gv,[P("div",qv,[y[3]||(y[3]=P("span",{class:"k"},"Language",-1)),P("span",Hv,[lt(ue(fe(nt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(H(),X("span",Vv," ("+ue(c.value.imb_language_family)+")",1)):Re("",!0)])]),P("div",Wv,[y[4]||(y[4]=P("span",{class:"k"},"Population",-1)),P("span",Kv,ue(u(c.value.population)),1)]),P("div",Yv,[y[5]||(y[5]=P("span",{class:"k"},"People praying",-1)),P("span",Xv,ue(u(c.value.people_praying)),1)]),P("div",Jv,[y[6]||(y[6]=P("span",{class:"k"},"People committed",-1)),P("span",Zv,ue(u(c.value.people_committed)),1)]),P("div",Qv,[y[7]||(y[7]=P("span",{class:"k"},"Adopted by churches",-1)),P("span",e0,ue(u(c.value.adopted_by_churches)),1)]),P("div",t0,[y[8]||(y[8]=P("span",{class:"k"},"Engagement",-1)),P("span",o0,ue(fe(nt)(c.value.engagement_status)||"—"),1)])]),P("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:b},"Export this selection ↓")],64)):(H(),X("div",Fv,"Select a people group to see detail"))]))}},r0="rgba(120, 128, 134, 0.28)",Cu="36px",Tu=()=>{};function s0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Tu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Tu;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"}, ${r0} ${Cu}, transparent ${Cu})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const s=b=>{b.style.opacity="1"},a=b=>{b.style.opacity="0"},l=()=>n.find(b=>!r(b))||null,i=new Set;let c=!1,u=null;const p=()=>{for(const b of n)i.has(b)||a(b)},m=()=>{const b=l();b&&(s(b),u&&clearTimeout(u),u=setTimeout(p,250))},v=()=>m(),E=b=>{if(!(b.touches&&b.touches.length===1))return;const f=b.target;f&&f.classList&&f.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",E,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const k=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",k,{passive:!0});const C=[];for(const b of n){const f=()=>{i.add(b),s(b)},g=()=>{i.delete(b),a(b)},y=()=>{c=!0,s(b)},$=()=>{c=!1,a(b)};b.addEventListener("mouseenter",f),b.addEventListener("mouseleave",g),b.addEventListener("touchstart",y,{passive:!0}),b.addEventListener("touchend",$,{passive:!0}),C.push(()=>{b.removeEventListener("mouseenter",f),b.removeEventListener("mouseleave",g),b.removeEventListener("touchstart",y),b.removeEventListener("touchend",$)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",k);for(const f of C)f();for(const f of n)a(f)}}const a0=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:"deep-space ground, blue oceans — the night side of Earth",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",paint:[{layer:"water",prop:"fill-color",value:"#2563a8"},{layer:"waterway",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-shadow",prop:"line-color",value:"#1d4f86"},{layer:"water-shadow",prop:"fill-color",value:"#1d4f86"},{layer:"waterway-river",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-stream-canal",prop:"line-color",value:"#2b6fbb"},{layer:"background",prop:"background-color",value:"#05070d"},{layer:"land",prop:"background-color",value:"#05070d"}],bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function l0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=a0[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 i0(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 vn={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 Lu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const c0=vn.mapbox.css,u0="https://tiles.openfreemap.org/styles/liberty";function Ia(e){var o;const t=((o=vn[e])==null?void 0:o.global)||vn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function d0(e){const t=vn[e]||vn.mapbox;if(Ia(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(Ia(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function f0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function p0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:u0}const g0=85.0511,Pu=-2,h0=0,m0=-60;function Nu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function b0(e,t,o,n){if(!e||e<=0||!t||t<=0)return h0;const r=Math.log2(e/512),s=Nu(n)-Nu(g0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Pu,Math.min(l,(o??18)-1))}function _0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:v=m0,maxBounds:E=void 0}){const x=Tn(null),k=ie(!1);let C=null,b=null,f=null;const g=r==="maplibre";async function y(){var q;const S=l0(o,r),D=S.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await d0(r);const N=Ia(r);if(!N){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await f0(e.value,g?vn.maplibre.css:c0),await new Promise(R=>requestAnimationFrame(R));const V=e.value,Z=V.clientWidth,ne=V.clientHeight;if(Z===0||ne===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Z}×${ne}). Map will be invisible. Check that parent elements have CSS sizing.`);let R=V.parentElement,L=0;for(;R&&L<5;)R=R.parentElement,L++}const _e=t;g||(N.accessToken=_e);const z=()=>typeof window<"u"&&window.innerWidth>=1024,ee=(R,L)=>{if(!z())return Pu;const J=b0(R,L,i,v);return typeof l=="number"?Math.max(l,J):J},W=ee(V.clientWidth,V.clientHeight);if(g){x.value=new N.Map({container:e.value,style:p0(D),center:s,zoom:a,minZoom:W,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Lu(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const R=typeof n=="function"?n():n;x.value=new N.Map({accessToken:_e,container:e.value,style:D,...R?{config:R}:{},center:s,zoom:a,minZoom:W,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Lu(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let R=!1;x.value.on("error",L=>{var ye,Ae;const J=((ye=L==null?void 0:L.error)==null?void 0:ye.status)??(L==null?void 0:L.status),le=String(((Ae=L==null?void 0:L.error)==null?void 0:Ae.url)||(L==null?void 0:L.sourceId)||"");J!==401&&J!==403||R||(R=!0,console.error(`[doxa-maps] Mapbox returned ${J} 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.`+(le?` First failing request: ${le.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}f=s0(((q=e.value)==null?void 0:q.parentElement)||null,{enabled:m});let G=W,T=null;C=()=>{const R=x.value;if(!R)return;const L=ee(V.clientWidth,V.clientHeight);L!==G&&(G=L,R.setMinZoom(L)),R.getZoom(){T=null;const J=x.value;if(!J)return;const le=ee(V.clientWidth,V.clientHeight);if(J.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",C),typeof window<"u"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",C)),x.value.on("style.load",()=>{if(S.paint&&x.value){const R=i0(x.value,S.paint);console.info("[useMapInstance] style paint applied ("+r+"):",R.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var R;(R=x.value)==null||R.resize(),x.value&&x.value.setMinZoom(ee(V.clientWidth,V.clientHeight)),k.value=!0})})}function $(){if(x.value){if(C&&(x.value.off("resize",C),typeof window<"u"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",C)),C=null),b){try{b()}catch{}b=null}f&&(f(),f=null),x.value.remove(),x.value=null,k.value=!1}}return{map:x,isMapReady:k,initializeMap:y,destroy:$}}const y0={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 v0(e){return y0[e]||null}const xn={center:[20,10],zoom:1.8};function x0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(xn==null?void 0:xn.center)||[20,10],defaultZoom:a=xn==null?void 0:xn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(z,ee,W={x:150,y:0}){const G=t();if(!G)return z;try{const T=G.getCanvas(),q=T.width,R=T.height,L=G.project(z),J=window.devicePixelRatio||1,le=(W.x||0)*J,ye=(W.y||0)*J,Ae={x:L.x-le,y:L.y-ye},Le=G.unproject(Ae);return[Le.lng,Le.lat]}catch{return z}}function c(z,ee=[]){const W=t();if(!W)return;let G=null,T=5;const q=ee.filter(L=>L.languageFamily===z);if(q.length>0){let L=1/0,J=-1/0,le=1/0,ye=-1/0;if(q.forEach(Ae=>{Ae.longitude&&Ae.latitude&&(L=Math.min(L,Ae.longitude),J=Math.max(J,Ae.longitude),le=Math.min(le,Ae.latitude),ye=Math.max(ye,Ae.latitude))}),L!==1/0){G=[(L+J)/2,(le+ye)/2];const Ae=J-L,Le=ye-le,Ce=Math.max(Ae,Le);Ce>50?T=2:Ce>20?T=3:Ce>10?T=4:Ce>5?T=5:T=6}}if(!G)return;const R=i(G);W.flyTo({center:R,zoom:T,...l})}function u(z){const ee=t();if(!ee)return;let W=null,G=4;const T=v0(z);if(T)W=T.center,G=T.zoom||4;else if(r!=null&&r.features){const R=r.features.find(L=>{var J,le;return((J=L.properties)==null?void 0:J.region)===z||((le=L.properties)==null?void 0:le.name)===z});R&&(W=p(R))}if(!W)return;const q=i(W);ee.flyTo({center:q,zoom:G,...l})}function p(z){if(!z||!z.geometry)return null;const{type:ee,coordinates:W}=z.geometry;let G=[];if(ee==="Polygon"?G=W[0]||[]:ee==="MultiPolygon"&&W.forEach(R=>{G=G.concat(R[0]||[])}),G.length===0)return null;let T=0,q=0;return G.forEach(R=>{T+=R[0],q+=R[1]}),[T/G.length,q/G.length]}function m(z,ee={}){const W=t();if(!W)return;const G={center:z,...l,...ee};W.flyTo(G)}function v(z,ee){const W=t();if(!W||(z==null?void 0:z.longitude)==null||(z==null?void 0:z.latitude)==null)return;const G=ee??Math.min(W.getZoom()+2,8);m([z.longitude,z.latitude],{zoom:G})}function E(z,ee={top:40,right:40,bottom:40,left:40},W={}){const G=t();if(!G||!z)return;const T=W.maxZoom??4,q=W.duration??900;G.fitBounds(z,{padding:ee,maxZoom:T,duration:q,...l,...W})}function x(){const z=t();z&&z.flyTo({center:s,zoom:a,...l})}const k=80,C=800,b=5,f=5,g=110,y=1.2;function $(z){const ee=z.filter(Number.isFinite).slice().sort((_,A)=>_-A),W=ee.length;if(!W)return null;let G=-1,T=0;for(let _=0;_G&&(G=w,T=_)}const q=(T+1)%W,R=new Array(W);for(let _=0;_0&&A((_+180)%360+360)%360-180,Le=Ae(le),Ce=24,ve=360/Ce,me=new Array(Ce).fill(0);for(const _ of ee){let A=Math.floor(((_+180)%360+360)%360/ve);A>=Ce&&(A=Ce-1),me[A]++}let be=0;for(let _=1;_me[be]&&(be=_);return{center:Ae(-180+(be+.5)*ve),minLng:Le,maxLng:Le+(ye-le),span:ye-le}}function S(z){try{const ee=z.getContainer&&z.getContainer().clientWidth||0,W=ee>0?Math.log2(ee/512):y,G=typeof z.getMinZoom=="function"?z.getMinZoom():W;return Math.max(G,W)}catch{return y}}function D(z,ee,W,G){z.easeTo({center:[ee,(W+G)/2],zoom:S(z),duration:C,essential:!0})}function N(z,ee,W){if(W>g)return!0;try{const G=typeof z.cameraForBounds=="function"?z.cameraForBounds(ee,{padding:k,maxZoom:b}):null;return G==null?!0:typeof G.zoom=="number"&&G.zoom<=S(z)+.05}catch{return!1}}function V(z,ee){if(!Array.isArray(z))return z;switch(z[0]){case"get":return ee==null?void 0:ee[z[1]];case"literal":return z[1];case"has":return ee!=null&&z[1]in ee;case"!has":return ee==null||!(z[1]in ee);case"!":return!V(z[1],ee);case"coalesce":{for(let G=1;G2){const q=Number(V(z[2],ee));return Number.isFinite(q)?q:0}return NaN}case"to-string":{const G=V(z[1],ee);return G==null?"":String(G)}case"to-boolean":return!!V(z[1],ee);case"slice":{const G=V(z[1],ee),T=V(z[2],ee),q=z.length>3?V(z[3],ee):void 0;return typeof G!="string"?"":q!=null?G.slice(T,q):G.slice(T)}default:return z}}function Z(z,ee){if(z===!0)return!0;if(z===!1)return!1;if(!Array.isArray(z))return!!z;const W=z[0];if(W==="all"){for(let G=1;G"||W===">="||W==="<"||W==="<="){const G=typeof z[1]=="string"?ee==null?void 0:ee[z[1]]:V(z[1],ee),T=V(z[2],ee);switch(W){case"==":return G===T||G==null&&T==null;case"!=":return!(G===T||G==null&&T==null);case">":return G>T;case">=":return G>=T;case"<":return G{const U=(w==null?void 0:w.properties)||{};return U.region===_||U.name===_||U.id===_});if(A){const w=[];let U=1/0,Q=-1/0;const oe=O=>{for(const d of O)Array.isArray(d[0])?oe(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(w.push(d[0]),d[1]Q&&(Q=d[1]))};(me=A.geometry)!=null&&me.coordinates&&oe(A.geometry.coordinates);const j=$(w);if(j&&Number.isFinite(U)){const O=[[j.minLng,U],[j.maxLng,Q]];N(W,O,j.span)?D(W,j.center,U,Q):W.fitBounds(O,{padding:k,maxZoom:b,duration:C,essential:!0});return}}}const G=ee.sourceId??"language-families";if(!W.getSource(G))return;const T=ee.matchExpr??z.filter;if(!T)return;const q=ne(W,G);if(!q.length)return;const R=[];let L=1/0,J=-1/0,le=0,ye=0,Ae=0;const Le=new Set;for(const xe of q){const _=xe==null?void 0:xe.properties;if(!Z(T,_))continue;const A=_==null?void 0:_.uniqueId;if(A!=null){if(Le.has(A))continue;Le.add(A)}const w=(be=xe.geometry)==null?void 0:be.coordinates;if(!Array.isArray(w)||w.length<2)continue;const U=w[0],Q=w[1];!Number.isFinite(U)||!Number.isFinite(Q)||(le===0&&(ye=U,Ae=Q),R.push(U),QJ&&(J=Q),le++)}if(le===0)return;if(le===1){W.flyTo({center:[ye,Ae],zoom:f,duration:C,essential:!0});return}const Ce=$(R)||{center:0,minLng:0,maxLng:0,span:0},ve=[[Ce.minLng,L],[Ce.maxLng,J]];if(N(W,ve,Ce.span)){D(W,Ce.center,L,J);return}try{W.fitBounds(ve,{padding:k,maxZoom:b,duration:C,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:E,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:p}}const w0=150,k0=1200,$0=70,S0=5.5,E0=6,Iu=.01,A0=110,C0=1.45;function T0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function L0(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 P0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function N0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=L0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=P0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=N0(e.selectionSet,o&&o());if(!c)return;const u=T0()?0:k0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:E0,duration:u,essential:!0});return}if(c.span>A0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:C0,duration:u,essential:!0});return}n.fitBounds(c.bounds,$0,{maxZoom:S0,duration:u,essential:!0})}catch{}}const l=ft(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,w0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const F0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ie(null);return uo("mapToolbar",{el:t}),Pt(` +`,"rd-detaildrawer"),(g,y)=>(H(),X("section",Nv,[P("div",Iv,[y[0]||(y[0]=P("span",null,"Detail",-1)),c.value?(H(),X("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:f},"✕")):Re("",!0)]),c.value?(H(),X(Ee,{key:1},[P("div",Rv,[p.value?(H(),X("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Mv)):(H(),X("div",Ov,"No photo")),P("div",null,[P("div",Dv,ue(c.value.name||"—"),1),P("div",jv,ue(fe(nt)(c.value.country_code)||"—")+" · "+ue(fe(nt)(c.value.religion)||"—"),1)])]),P("div",zv,[E.value?(H(),X("a",{key:0,class:"rd-act rd-act-pray",href:E.value,target:"_blank",rel:"noopener",title:k.value,"data-detail-pray":""},[y[1]||(y[1]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),P("span",null,ue(k.value),1)],8,Uv)):Re("",!0),x.value?(H(),X("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:C.value,"data-detail-moreinfo":""},[y[2]||(y[2]=P("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[P("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),P("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),P("span",null,ue(C.value),1)],8,Bv)):Re("",!0)]),P("div",Gv,[P("div",qv,[y[3]||(y[3]=P("span",{class:"k"},"Language",-1)),P("span",Hv,[lt(ue(fe(nt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(H(),X("span",Vv," ("+ue(c.value.imb_language_family)+")",1)):Re("",!0)])]),P("div",Wv,[y[4]||(y[4]=P("span",{class:"k"},"Population",-1)),P("span",Kv,ue(u(c.value.population)),1)]),P("div",Yv,[y[5]||(y[5]=P("span",{class:"k"},"People praying",-1)),P("span",Xv,ue(u(c.value.people_praying)),1)]),P("div",Jv,[y[6]||(y[6]=P("span",{class:"k"},"People committed",-1)),P("span",Zv,ue(u(c.value.people_committed)),1)]),P("div",Qv,[y[7]||(y[7]=P("span",{class:"k"},"Adopted by churches",-1)),P("span",e0,ue(u(c.value.adopted_by_churches)),1)]),P("div",t0,[y[8]||(y[8]=P("span",{class:"k"},"Engagement",-1)),P("span",o0,ue(fe(nt)(c.value.engagement_status)||"—"),1)])]),P("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:b},"Export this selection ↓")],64)):(H(),X("div",Fv,"Select a people group to see detail"))]))}},r0="rgba(120, 128, 134, 0.28)",Cu="36px",Tu=()=>{};function s0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Tu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Tu;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"}, ${r0} ${Cu}, transparent ${Cu})`,b.style.opacity="0",b.style.transition="opacity 0.16s ease",b.style.userSelect="none",b.style.webkitUserSelect="none";const s=b=>{b.style.opacity="1"},a=b=>{b.style.opacity="0"},l=()=>n.find(b=>!r(b))||null,i=new Set;let c=!1,u=null;const p=()=>{for(const b of n)i.has(b)||a(b)},m=()=>{const b=l();b&&(s(b),u&&clearTimeout(u),u=setTimeout(p,250))},v=()=>m(),E=b=>{if(!(b.touches&&b.touches.length===1))return;const f=b.target;f&&f.classList&&f.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",E,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const k=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",k,{passive:!0});const C=[];for(const b of n){const f=()=>{i.add(b),s(b)},g=()=>{i.delete(b),a(b)},y=()=>{c=!0,s(b)},$=()=>{c=!1,a(b)};b.addEventListener("mouseenter",f),b.addEventListener("mouseleave",g),b.addEventListener("touchstart",y,{passive:!0}),b.addEventListener("touchend",$,{passive:!0}),C.push(()=>{b.removeEventListener("mouseenter",f),b.removeEventListener("mouseleave",g),b.removeEventListener("touchstart",y),b.removeEventListener("touchend",$)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",k);for(const f of C)f();for(const f of n)a(f)}}const a0=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.openfreemap.org/styles/liberty",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function l0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const o=a0[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 i0(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 vn={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 Lu(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const c0=vn.mapbox.css,u0="https://tiles.openfreemap.org/styles/liberty";function Ia(e){var o;const t=((o=vn[e])==null?void 0:o.global)||vn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function d0(e){const t=vn[e]||vn.mapbox;if(Ia(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(Ia(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function f0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function p0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:u0}const g0=85.0511,Pu=-2,h0=0,m0=-60;function Nu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function b0(e,t,o,n){if(!e||e<=0||!t||t<=0)return h0;const r=Math.log2(e/512),s=Nu(n)-Nu(g0),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Pu,Math.min(l,(o??18)-1))}function _0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:v=m0,maxBounds:E=void 0}){const x=Tn(null),k=ie(!1);let C=null,b=null,f=null;const g=r==="maplibre";async function y(){var q;const S=l0(o,r),D=S.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await d0(r);const N=Ia(r);if(!N){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await f0(e.value,g?vn.maplibre.css:c0),await new Promise(R=>requestAnimationFrame(R));const V=e.value,Z=V.clientWidth,ne=V.clientHeight;if(Z===0||ne===0){console.error(`[useMapInstance] Container has ZERO dimensions (${Z}×${ne}). Map will be invisible. Check that parent elements have CSS sizing.`);let R=V.parentElement,L=0;for(;R&&L<5;)R=R.parentElement,L++}const _e=t;g||(N.accessToken=_e);const z=()=>typeof window<"u"&&window.innerWidth>=1024,ee=(R,L)=>{if(!z())return Pu;const J=b0(R,L,i,v);return typeof l=="number"?Math.max(l,J):J},W=ee(V.clientWidth,V.clientHeight);if(g){x.value=new N.Map({container:e.value,style:p0(D),center:s,zoom:a,minZoom:W,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Lu(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const R=typeof n=="function"?n():n;x.value=new N.Map({accessToken:_e,container:e.value,style:D,...R?{config:R}:{},center:s,zoom:a,minZoom:W,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...E?{maxBounds:E}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Lu(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let R=!1;x.value.on("error",L=>{var ye,Ae;const J=((ye=L==null?void 0:L.error)==null?void 0:ye.status)??(L==null?void 0:L.status),le=String(((Ae=L==null?void 0:L.error)==null?void 0:Ae.url)||(L==null?void 0:L.sourceId)||"");J!==401&&J!==403||R||(R=!0,console.error(`[doxa-maps] Mapbox returned ${J} 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.`+(le?` First failing request: ${le.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}f=s0(((q=e.value)==null?void 0:q.parentElement)||null,{enabled:m});let G=W,T=null;C=()=>{const R=x.value;if(!R)return;const L=ee(V.clientWidth,V.clientHeight);L!==G&&(G=L,R.setMinZoom(L)),R.getZoom(){T=null;const J=x.value;if(!J)return;const le=ee(V.clientWidth,V.clientHeight);if(J.getZoom(){T&&(clearTimeout(T),T=null)},x.value.on("resize",C),typeof window<"u"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",C)),x.value.on("style.load",()=>{if(S.paint&&x.value){const R=i0(x.value,S.paint);console.info("[useMapInstance] style paint applied ("+r+"):",R.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var R;(R=x.value)==null||R.resize(),x.value&&x.value.setMinZoom(ee(V.clientWidth,V.clientHeight)),k.value=!0})})}function $(){if(x.value){if(C&&(x.value.off("resize",C),typeof window<"u"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",C)),C=null),b){try{b()}catch{}b=null}f&&(f(),f=null),x.value.remove(),x.value=null,k.value=!1}}return{map:x,isMapReady:k,initializeMap:y,destroy:$}}const y0={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 v0(e){return y0[e]||null}const xn={center:[20,10],zoom:1.8};function x0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(xn==null?void 0:xn.center)||[20,10],defaultZoom:a=xn==null?void 0:xn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(z,ee,W={x:150,y:0}){const G=t();if(!G)return z;try{const T=G.getCanvas(),q=T.width,R=T.height,L=G.project(z),J=window.devicePixelRatio||1,le=(W.x||0)*J,ye=(W.y||0)*J,Ae={x:L.x-le,y:L.y-ye},Le=G.unproject(Ae);return[Le.lng,Le.lat]}catch{return z}}function c(z,ee=[]){const W=t();if(!W)return;let G=null,T=5;const q=ee.filter(L=>L.languageFamily===z);if(q.length>0){let L=1/0,J=-1/0,le=1/0,ye=-1/0;if(q.forEach(Ae=>{Ae.longitude&&Ae.latitude&&(L=Math.min(L,Ae.longitude),J=Math.max(J,Ae.longitude),le=Math.min(le,Ae.latitude),ye=Math.max(ye,Ae.latitude))}),L!==1/0){G=[(L+J)/2,(le+ye)/2];const Ae=J-L,Le=ye-le,Ce=Math.max(Ae,Le);Ce>50?T=2:Ce>20?T=3:Ce>10?T=4:Ce>5?T=5:T=6}}if(!G)return;const R=i(G);W.flyTo({center:R,zoom:T,...l})}function u(z){const ee=t();if(!ee)return;let W=null,G=4;const T=v0(z);if(T)W=T.center,G=T.zoom||4;else if(r!=null&&r.features){const R=r.features.find(L=>{var J,le;return((J=L.properties)==null?void 0:J.region)===z||((le=L.properties)==null?void 0:le.name)===z});R&&(W=p(R))}if(!W)return;const q=i(W);ee.flyTo({center:q,zoom:G,...l})}function p(z){if(!z||!z.geometry)return null;const{type:ee,coordinates:W}=z.geometry;let G=[];if(ee==="Polygon"?G=W[0]||[]:ee==="MultiPolygon"&&W.forEach(R=>{G=G.concat(R[0]||[])}),G.length===0)return null;let T=0,q=0;return G.forEach(R=>{T+=R[0],q+=R[1]}),[T/G.length,q/G.length]}function m(z,ee={}){const W=t();if(!W)return;const G={center:z,...l,...ee};W.flyTo(G)}function v(z,ee){const W=t();if(!W||(z==null?void 0:z.longitude)==null||(z==null?void 0:z.latitude)==null)return;const G=ee??Math.min(W.getZoom()+2,8);m([z.longitude,z.latitude],{zoom:G})}function E(z,ee={top:40,right:40,bottom:40,left:40},W={}){const G=t();if(!G||!z)return;const T=W.maxZoom??4,q=W.duration??900;G.fitBounds(z,{padding:ee,maxZoom:T,duration:q,...l,...W})}function x(){const z=t();z&&z.flyTo({center:s,zoom:a,...l})}const k=80,C=800,b=5,f=5,g=110,y=1.2;function $(z){const ee=z.filter(Number.isFinite).slice().sort((_,A)=>_-A),W=ee.length;if(!W)return null;let G=-1,T=0;for(let _=0;_G&&(G=w,T=_)}const q=(T+1)%W,R=new Array(W);for(let _=0;_0&&A((_+180)%360+360)%360-180,Le=Ae(le),Ce=24,ve=360/Ce,me=new Array(Ce).fill(0);for(const _ of ee){let A=Math.floor(((_+180)%360+360)%360/ve);A>=Ce&&(A=Ce-1),me[A]++}let be=0;for(let _=1;_me[be]&&(be=_);return{center:Ae(-180+(be+.5)*ve),minLng:Le,maxLng:Le+(ye-le),span:ye-le}}function S(z){try{const ee=z.getContainer&&z.getContainer().clientWidth||0,W=ee>0?Math.log2(ee/512):y,G=typeof z.getMinZoom=="function"?z.getMinZoom():W;return Math.max(G,W)}catch{return y}}function D(z,ee,W,G){z.easeTo({center:[ee,(W+G)/2],zoom:S(z),duration:C,essential:!0})}function N(z,ee,W){if(W>g)return!0;try{const G=typeof z.cameraForBounds=="function"?z.cameraForBounds(ee,{padding:k,maxZoom:b}):null;return G==null?!0:typeof G.zoom=="number"&&G.zoom<=S(z)+.05}catch{return!1}}function V(z,ee){if(!Array.isArray(z))return z;switch(z[0]){case"get":return ee==null?void 0:ee[z[1]];case"literal":return z[1];case"has":return ee!=null&&z[1]in ee;case"!has":return ee==null||!(z[1]in ee);case"!":return!V(z[1],ee);case"coalesce":{for(let G=1;G2){const q=Number(V(z[2],ee));return Number.isFinite(q)?q:0}return NaN}case"to-string":{const G=V(z[1],ee);return G==null?"":String(G)}case"to-boolean":return!!V(z[1],ee);case"slice":{const G=V(z[1],ee),T=V(z[2],ee),q=z.length>3?V(z[3],ee):void 0;return typeof G!="string"?"":q!=null?G.slice(T,q):G.slice(T)}default:return z}}function Z(z,ee){if(z===!0)return!0;if(z===!1)return!1;if(!Array.isArray(z))return!!z;const W=z[0];if(W==="all"){for(let G=1;G"||W===">="||W==="<"||W==="<="){const G=typeof z[1]=="string"?ee==null?void 0:ee[z[1]]:V(z[1],ee),T=V(z[2],ee);switch(W){case"==":return G===T||G==null&&T==null;case"!=":return!(G===T||G==null&&T==null);case">":return G>T;case">=":return G>=T;case"<":return G{const U=(w==null?void 0:w.properties)||{};return U.region===_||U.name===_||U.id===_});if(A){const w=[];let U=1/0,Q=-1/0;const oe=O=>{for(const d of O)Array.isArray(d[0])?oe(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(w.push(d[0]),d[1]Q&&(Q=d[1]))};(me=A.geometry)!=null&&me.coordinates&&oe(A.geometry.coordinates);const j=$(w);if(j&&Number.isFinite(U)){const O=[[j.minLng,U],[j.maxLng,Q]];N(W,O,j.span)?D(W,j.center,U,Q):W.fitBounds(O,{padding:k,maxZoom:b,duration:C,essential:!0});return}}}const G=ee.sourceId??"language-families";if(!W.getSource(G))return;const T=ee.matchExpr??z.filter;if(!T)return;const q=ne(W,G);if(!q.length)return;const R=[];let L=1/0,J=-1/0,le=0,ye=0,Ae=0;const Le=new Set;for(const xe of q){const _=xe==null?void 0:xe.properties;if(!Z(T,_))continue;const A=_==null?void 0:_.uniqueId;if(A!=null){if(Le.has(A))continue;Le.add(A)}const w=(be=xe.geometry)==null?void 0:be.coordinates;if(!Array.isArray(w)||w.length<2)continue;const U=w[0],Q=w[1];!Number.isFinite(U)||!Number.isFinite(Q)||(le===0&&(ye=U,Ae=Q),R.push(U),QJ&&(J=Q),le++)}if(le===0)return;if(le===1){W.flyTo({center:[ye,Ae],zoom:f,duration:C,essential:!0});return}const Ce=$(R)||{center:0,minLng:0,maxLng:0,span:0},ve=[[Ce.minLng,L],[Ce.maxLng,J]];if(N(W,ve,Ce.span)){D(W,Ce.center,L,J);return}try{W.fitBounds(ve,{padding:k,maxZoom:b,duration:C,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:E,resetView:x,zoomToLegendRow:_e,calculateRegionCenterFromPolygon:p}}const w0=150,k0=1200,$0=70,S0=5.5,E0=6,Iu=.01,A0=110,C0=1.45;function T0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function L0(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 P0(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function N0(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=L0(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=P0(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=N0(e.selectionSet,o&&o());if(!c)return;const u=T0()?0:k0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:E0,duration:u,essential:!0});return}if(c.span>A0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:C0,duration:u,essential:!0});return}n.fitBounds(c.bounds,$0,{maxZoom:S0,duration:u,essential:!0})}catch{}}const l=ft(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,w0)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const F0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ie(null);return uo("mapToolbar",{el:t}),Pt(` .map-toolbar { position: absolute; top: 6px; @@ -650,6 +650,8 @@ } `,"map-toolbar"),(o,n)=>(H(),X("div",{ref_key:"toolbarEl",ref:t,class:Ge(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[qo(o.$slots,"default")],2))}},R0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=gn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(H(),Co(La,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomIn"),onClick:n},{default:Eo(()=>[...s[0]||(s[0]=[P("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},M0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=gn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(H(),Co(La,{"is-dark":e.isDark,disabled:e.disabled,title:fe(t)("buttons.zoomOut"),onClick:n},{default:Eo(()=>[...s[0]||(s[0]=[P("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},O0=["data-projection"],D0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Fu=2,j0="#f2f3f0",Ru=.78,z0="prayer_level",U0=.1,B0=12,G0={__name:"DashboardMapPanel",setup(e){var St,Rt,so,Ou,Du,ju,zu,Uu,Bu;const t=je("dashboardData",null),o=je("selectionBus",null),n=je("mapboxToken",ie("")),r=je("dashboardConfig",{}),s=je("profileConfig",ie(null)),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(r.facets||{}).map(([F,Y])=>[F,Y.get])),i=or(o,tr(r)),c=ae(()=>{var we,Se;const F=((we=t==null?void 0:t.rows)==null?void 0:we.value)||[],Y=Object.keys(a),ce=!!(((Se=o==null?void 0:o.searchTerm)==null?void 0:Se.value)||"").trim();return!Y.length&&!ce?F:F.filter(Oe=>Y.every(Me=>{const ke=l[Me];return ke?ke(Oe)===a[Me]:!0})&&i(Oe))}),u=((St=r.map)==null?void 0:St.geoFacet)||"country_code",p=((so=(Rt=r.facets)==null?void 0:Rt[u])==null?void 0:so.geoIso)||(F=>{const Y=F[u];return Y&&Y.value?Y.value:null}),m=l[u]||(F=>nt(F[u])),v=ae(()=>{var Y;const F=new Map;for(const ce of((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[]){const we=p(ce);we&&F.set(we,m(ce)||we)}return F}),E=ae(()=>{const F=new Map;for(const Y of c.value){const ce=p(Y);ce&&F.set(ce,(F.get(ce)||0)+1)}return F}),x=ie(null),k=ae(()=>{var Y;return(((Y=r.map)==null?void 0:Y.provider)||r.provider)==="maplibre"?"maplibre":"mapbox"}),C=ae(()=>k.value==="maplibre"),{map:b,isMapReady:f,initializeMap:g,destroy:y}=_0({containerRef:x,accessToken:fe(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:k.value,...(Ou=r.map)!=null&&Ou.mapStyle||r.mapStyle?{style:((Du=r.map)==null?void 0:Du.mapStyle)||r.mapStyle}:{}}),$=x0({getMap:()=>b.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let S=null;S=I0({bus:o,mapFly:$,getMap:()=>b.value,getRowStore:()=>{var F;return(F=t==null?void 0:t.rowStore)==null?void 0:F.value},isEnabled:()=>f.value});let D=!1,N=null,V=null,Z=null,ne=0,_e=!1;function z(){_e||ne||(ne=requestAnimationFrame(()=>{ne=0;const F=b.value;if(F&&typeof F.resize=="function")try{F.resize()}catch{}}))}function ee(F){const Y=!!F;if(Y!==_e){if(_e=Y,_e){ne&&(cancelAnimationFrame(ne),ne=0);return}z(),setTimeout(z,180)}}const W=(()=>{var Y;const F={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return F[(Y=r.map)==null?void 0:Y.colorRamp]||F["heartbeat-red"]})(),G={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function T(F,Y){return Number.isFinite(Y)?Y-1<=F?`${F}`:`${F}–${Y-1}`:`${F}+ · heartbeat zone`}function q(F){const ce=G.binThresholds.map(we=>we/G.heartbeatThreshold).map(we=>Math.max(Fu,Math.round(we*F)));return R(ce,F)}function R(F,Y){const ce=[];for(const we of F){const Se=Math.max(we,ce.length?ce[ce.length-1]+1:Fu);SeMe>0).sort((Me,ke)=>Me-ke);if(ce.length<8)return null;const we=Me=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Me*ce.length)))],Se=we(1-Y)+1,Oe=[.25,.5,.75].map(Me=>we(Me));return{threshold:Se,edges:R(Oe,Se)}}function J(F){var Me;if(Array.isArray((Me=r.map)==null?void 0:Me.bins)&&r.map.bins.length)return r.map.bins;const Y=r.map||{};let ce=Number(Y.heartbeatThreshold)>0?Number(Y.heartbeatThreshold):G.heartbeatThreshold,we=null;if(Y.heartbeatMode==="quantile"){const ke=L(F||[],Number(Y.heartbeatQuantile)>0?Number(Y.heartbeatQuantile):G.quantile);ke&&(ce=ke.threshold,we=ke.edges)}we||(we=Array.isArray(Y.binThresholds)&&Y.binThresholds.length?[...new Set(Y.binThresholds.map(Number).filter(ke=>Number.isFinite(ke)&&ke>0&&keke-gt):Number(Y.heartbeatThreshold)>0?q(ce):G.binThresholds);const Se=[...we,ce,1/0].slice(0,W.length);for(;Se.length{const Vt={upTo:ke,c:W[gt],l:T(Oe,ke)};return Oe=ke,Vt})}const le=ae(()=>J([...E.value.values()])),ye=((ju=r.map)==null?void 0:ju.noDataColor)||"#f3f3f1";function Ae(F){if(!F)return ye;const Y=le.value;for(const ce of Y)if(F{const Me=parseInt(ce.slice(Oe*2,Oe*2+2),16),ke=parseInt(we.slice(Oe*2,Oe*2+2),16);return Math.round(Ru*Me+(1-Ru)*ke)};return"#"+[0,1,2].map(Oe=>Se(Oe).toString(16).padStart(2,"0")).join("")}const Ce=ae(()=>le.value.map(F=>({c:Le(F.c),l:F.l}))),ve=((zu=r.map)==null?void 0:zu.selectedColor)||"#1a237e";function me(){const F=E.value,Y=[],ce=[];F.forEach((Me,ke)=>{Y.push(ke,Ae(Me)),ce.push(ke)});const we=Y.length?["match",["get","iso_3166_1_alpha_3"],...Y,ye]:ye,Oe=Object.keys(a).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Me=>[Me,.92]),.12]:.78;return{fillColor:we,fillOpacity:Oe}}function be(){return Object.prototype.hasOwnProperty.call(a,z0)}const xe=((Uu=r.map)==null?void 0:Uu.pinColor)||"#ef6c00",_=((Bu=r.map)==null?void 0:Bu.pinStrokeColor)||"#ffffff";function A(){return be()?Xr({colorSource:"properties"}):xe}function w(){const F=b.value;if(!F||!F.getLayer("rd-choropleth"))return;const{fillColor:Y,fillOpacity:ce}=me();F.setPaintProperty("rd-choropleth","fill-color",Y),F.setPaintProperty("rd-choropleth","fill-opacity",ce);const we=F.getSource("rd-bubbles");we&&we.setData(Q()),F.getLayer("rd-bubble-layer")&&F.setPaintProperty("rd-bubble-layer","circle-color",A())}function U(F){const Y=F==null?void 0:F.people_praying,ce=Y&&typeof Y=="object"?Y.value:Y;return Number(ce)||0}function Q(){return{type:"FeatureCollection",features:c.value.filter(F=>Number(F.latitude)&&Number(F.longitude)).map(F=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(F.longitude),Number(F.latitude)]},properties:{pop:Number(F.population)||0,slug:F.slug||"",name:F.name||"",peoplePraying:U(F)}}))}}function oe(){var ce;const F=o==null?void 0:o.selectionSet,Y=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!F||!F.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Y.filter(we=>F.has(we.slug)&&Number(we.latitude)&&Number(we.longitude)).map(we=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(we.longitude),Number(we.latitude)]},properties:{slug:we.slug||"",name:we.name||""}}))}}function j(){const F=b.value;if(!F)return;const Y=F.getSource("rd-bubble-selected");Y&&Y.setData(oe())}function O(){var we;const F=b.value;if(!F||D)return;D=!0,F.getSource("rd-countries")||(C.value?(F.addSource("rd-countries",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${Kb(s.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))):F.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}));const{fillColor:Y,fillOpacity:ce}=me();F.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries",...C.value?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":Y,"fill-opacity":ce,"fill-outline-color":((we=r.map)==null?void 0:we.outlineColor)||"#6d766e"}}),F.addSource("rd-bubbles",{type:"geojson",data:Q()}),F.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":A(),"circle-opacity":1,"circle-stroke-color":_,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),F.addSource("rd-bubble-selected",{type:"geojson",data:oe()}),F.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":ve,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":ve,"circle-stroke-opacity":.95}}),F.on("click","rd-choropleth",d),F.on("click","rd-bubble-layer",h),F.on("mouseenter","rd-choropleth",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-choropleth",()=>{F.getCanvas().style.cursor=""}),F.on("mouseenter","rd-bubble-layer",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","rd-bubble-layer",()=>{F.getCanvas().style.cursor=""});try{window.__rdashMap=F,window.__rdashClickAt=(Se,Oe)=>{const Me=F.project([Se,Oe]),ke=F.queryRenderedFeatures(Me,{layers:["rd-choropleth"]});return ke&&ke[0]?(d({features:ke}),ke[0].properties&&ke[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Se,Oe)=>{const Me=F.project([Se,Oe]),ke=F.queryRenderedFeatures([[Me.x-7,Me.y-7],[Me.x+7,Me.y+7]],{layers:["rd-bubble-layer"]});return ke&&ke[0]?(h({features:[ke[0]]}),ke[0].properties&&ke[0].properties.slug):null}}catch{}Xe(),o&&o.on("select",j),j(),o&&o.on("focusRow",({slug:Se}={})=>{var ke;if(!Se)return;const Oe=(((ke=t==null?void 0:t.rows)==null?void 0:ke.value)||[]).find(gt=>gt.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(F){const Y=b.value;if(Y&&F.point){const Oe=Y.queryRenderedFeatures([[F.point.x-5,F.point.y-5],[F.point.x+5,F.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ce=F.features&&F.features[0];if(!ce||!o)return;const we=ce.properties&&ce.properties.iso_3166_1_alpha_3,Se=v.value.get(we);Se&&(o.setFilter(u,a[u]===Se?null:Se),o.emit("mapFocus",{facet:u,value:Se}))}function h(F){const Y=F.features&&F.features[0];if(!Y||!o)return;const ce=Y.properties&&Y.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Y.properties&&Y.properties.name}))}function I(F){var ce;let Y=F&&F.parentNode;for(;Y;){if(Y.nodeType===1){const we=getComputedStyle(Y);if(/auto|scroll/.test(we.overflowY)&&Y.scrollHeight>Y.clientHeight+4)return Y}if(Y=Y.parentElement||((ce=Y.parentNode)==null?void 0:ce.host)||(Y.parentNode!==Y?Y.parentNode:null),Y&&Y.nodeType===9)break}return null}function B(F){if(!(!F||!F.scrollZoom))try{F.scrollZoom.enable()}catch{}}bt(async()=>{await g();const F=b.value;if(!F)return;F.isStyleLoaded()?O():F.on("load",O),B(F);const Y=()=>B(F);let ce=null;try{ce=new ResizeObserver(Y);const we=F.getContainer&&F.getContainer()||null;we&&ce.observe(we);const Se=we?I(we):null;Se&&ce.observe(Se),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Y),Qt(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Y)}),F.on("zoom",M),F.on("zoomend",M),F.on("resize",M),M(),F.on("idle",()=>{!D&&F.isStyleLoaded()&&O()}),typeof ResizeObserver<"u"&&x.value&&(N=new ResizeObserver(z),N.observe(x.value)),Pe(),F.on("idle",Pe),F.on("resize",Pe),o&&typeof o.on=="function"&&(V=o.on("toggleTable",()=>{z(),setTimeout(z,280)}),Z=o.on("layoutResizing",ee))}),Qt(()=>{try{S&&S()}catch{}S=null;try{V&&V()}catch{}V=null;try{Z&&Z()}catch{}if(Z=null,N){try{N.disconnect()}catch{}N=null}if(pe){try{pe.disconnect()}catch{}pe=null}$e=null,ne&&(cancelAnimationFrame(ne),ne=0);try{const F=b.value;F&&(F.off("zoom",M),F.off("zoomend",M),F.off("resize",M),F.off("idle",Pe),F.off("resize",Pe))}catch{}try{y&&y()}catch{}}),ft([c,f],w);const te=ie(!0),re=ie(!0);function M(){const F=b.value;if(!F)return;const Y=F.getZoom();te.value=YF.getMinZoom()+.01}const K=ie(null);let pe=null,$e=null;function Pe(){var we;const F=K.value;if(!F)return;let Y=0;try{const Se=(we=F.getRootNode)==null?void 0:we.call(F),Oe=Se&&Se.querySelector?Se.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Me=Oe.getBoundingClientRect(),ke=F.getBoundingClientRect();if(Y=Math.max(Me.height||0,ke.bottom-Me.top),$e!==Oe&&typeof ResizeObserver<"u"){if(pe)try{pe.disconnect()}catch{}$e=Oe,pe=new ResizeObserver(Pe),pe.observe(Oe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Y)||20,20),72);F.style.setProperty("--rd-attrib-clear",ce+"px")}const qe=ie("globe");function Xe(){const F=b.value;if(!(!F||typeof F.setProjection!="function")){try{F.setProjection({type:qe.value});return}catch{}try{F.setProjection(qe.value)}catch{}}}function $t(){qe.value=qe.value==="globe"?"mercator":"globe",Xe()}function se(F){const Y=Number(F.longitude),ce=Number(F.latitude);return!Number.isFinite(Y)||!Number.isFinite(ce)||Y===0&&ce===0||ce<-90||ce>90||Y<-180||Y>180?null:[Y,ce]}function de(F,Y){if(!F.length)return NaN;const ce=Math.min(F.length-1,Math.max(0,Math.round(Y*(F.length-1))));return F[ce]}function ge(F){const Y=F.slice().sort((ke,gt)=>ke-gt),ce=Y.length;if(ce<2)return Y;let we=-1,Se=0;for(let ke=0;kewe&&(we=Vt,Se=ke)}const Oe=(Se+1)%ce,Me=new Array(ce);for(let ke=0;ke0&>Yo[1]).sort((Yo,os)=>Yo-os),we=ge(Y.map(Yo=>Yo[0])),Se=Y.length>=B0?U0:0,Oe=de(ce,Se),Me=de(ce,1-Se),ke=de(we,Se),gt=de(we,1-Se),Vt=[de(we,.5),de(ce,.5)];return!(gt>ke)||!(Me>Oe)?{bounds:[[Vt[0],Vt[1]],[Vt[0],Vt[1]]],center:Vt}:{bounds:[[ke,Oe],[gt,Me]],center:Vt}}function De(){const F=b.value;if(!F)return;if(!Object.keys(a).length){try{F.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Y=ze(c.value);if(Y)try{F.fitBounds(Y.bounds,{padding:70,duration:1200,maxZoom:5.5}),F.setCenter(Y.center)}catch{}}let Ht=null;return ft(()=>JSON.stringify(a),()=>{clearTimeout(Ht),Ht=setTimeout(De,260)}),Pt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } + .rd-mapwrap[data-projection="globe"]{ + background:radial-gradient(ellipse at 50% 42%, #101a33 0%, #070b18 45%, #02040a 100%); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-proj{ position:absolute; right:8px; top:8px; z-index:3; font-size:11px; font-weight:700; cursor:pointer; user-select:none; background:#1a1a2ecc; color:#fff; border:1px solid #ffffff33; border-radius:6px; padding:4px 9px; backdrop-filter:blur(4px); } @@ -784,4 +786,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"),bt(()=>{const me=E.value&&E.value.getRootNode&&E.value.getRootNode().host;if(!me)return;const be=xe=>me.setAttribute("data-page-scroll",xe?"true":"false");be(fe(r)),ft(()=>fe(r),be)}),(me,be)=>(H(),X("div",{ref_key:"shell",ref:E,class:Ge(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(k),"rd-slim-facet":fe(C),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(y),"rd-rail-collapsed":fe($),"rd-page-scroll":r.value}]),"data-row-count":fe(p),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Ue(fe(Ey)),Ue(fe(ux)),P("div",px,[(H(!0),X(Ee,null,Qe(fe(l),xe=>(H(),X("div",{class:"kpi",key:xe.id},[P("span",{class:"n","data-kpi":xe.id},ue(xe.kind==="count"&&fe(m)?"…":J(xe)),9,gx),P("span",hx,ue(xe.label),1),xe.delta?(H(),X("span",mx,"↓"+ue(fe(ku)(xe.delta)),1)):Re("",!0)]))),128))]),It(Ue(fe(Gy),null,null,512),[[zt,fe(D)]]),It(P("div",bx,[Ue(fe(G0)),fe(x)?Re("",!0):(H(),X("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(y)?"Show filters":"Hide filters — grow the map",onClick:Le},ue(fe(y)?"▸":"◂"),9,_x)),fe(x)?Re("",!0):(H(),X("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe($)?"Show charts":"Hide charts — grow the map",onClick:Ce},ue(fe($)?"◂":"▸"),9,yx))],512),[[zt,fe(N)]]),It(P("div",vx,[Ue(fe(pv))],512),[[zt,fe(V)]]),It(P("aside",xx,[Ue(fe(n0)),Ue(fe(Pv))],512),[[zt,fe(Z)]]),It(P("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(G),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:be[0]||(be[0]=(...xe)=>fe(ne)&&fe(ne)(...xe)),onKeydown:be[1]||(be[1]=xe=>fe(W)("facet",xe))},null,40,wx),[[zt,!fe(x)&&!fe(y)]]),It(P("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:be[2]||(be[2]=(...xe)=>fe(_e)&&fe(_e)(...xe)),onKeydown:be[3]||(be[3]=xe=>fe(W)("rail",xe))},null,40,kx),[[zt,!fe(x)&&!fe($)]]),It(P("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(R):parseFloat(fe(q))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:be[4]||(be[4]=(...xe)=>fe(z)&&fe(z)(...xe)),onKeydown:be[5]||(be[5]=xe=>fe(W)("table",xe))},null,40,$x),[[zt,!fe(x)&&!fe(g)]]),It(P("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(L),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:be[6]||(be[6]=(...xe)=>fe(ee)&&fe(ee)(...xe)),onKeydown:be[7]||(be[7]=xe=>fe(W)("shell",xe))},null,40,Sx),[[zt,!fe(x)&&r.value]]),P("div",{class:"rd-seg","data-segmented":"",onClick:be[8]||(be[8]=(...xe)=>fe(S)&&fe(S)(...xe))},[(H(!0),X(Ee,null,Qe(fe(f),xe=>(H(),X("button",{key:xe.k,class:Ge({on:fe(b)===xe.k}),"data-view-btn":"","data-view":xe.k},ue(xe.l),11,Ex))),128))]),le.value?(H(),X("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[P("b",null,ue(le.value)+" selected",1),be[9]||(be[9]=P("span",{class:"sp"},null,-1)),be[10]||(be[10]=P("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),be[11]||(be[11]=P("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,fx))}};function Cx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function Tx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function Lx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));p.length&&(c=p)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function Nx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ix=":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))}",Fx={class:"pgg-root"},Rx={key:0,id:"filters",class:"filters"},Mx={key:0,class:"pgg-search"},Ox=["aria-expanded"],Dx={key:0,class:"filters__toggle-count"},jx={class:"filters__panel"},zx={class:"filters__panel"},Ux=["data-active"],Bx={key:3,class:"filters__active"},Gx=["onClick"],qx={class:"pgg-body"},Hx={key:0,class:"repel"},Vx={class:"font-size-sm"},Wx={key:1},Kx={id:"results",class:"grid uupgs-list"},Yx=["src","alt"],Xx={class:"uupg__header"},Jx=["innerHTML"],Zx={key:0,class:"uupg__country"},Qx=["href"],ew=["innerHTML"],tw=["innerHTML"],ow=["innerHTML"],nw={key:1,class:"uupg__content"},rw=["href"],sw={key:0,class:"loading"},aw={key:1,class:"pgg-empty pgg-failed",role:"status"},lw={key:2,class:"pgg-empty"},iw=yn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=ae(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=ae(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=ae(()=>o.languageCode||r.value.languageCode||""),l=ae(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=ae(()=>({...r.value.t||{},...o.t||{}})),c=j=>!(j===!1||j==="false"||j==="0"||j===0),u=ae(()=>c(o.showSearch)),p=ae(()=>c(o.showFilters)),m=ae(()=>c(o.showTotal)),v=ie([]),E=ie([]),x=ie(0),k=ie(1),C=ie(!0),b=ie(!1),f=ie(!0),g=ie({}),y=ie(""),$=ie({}),S=ae(()=>u.value?y.value:o.query||""),D=ae(()=>{const j={},O=d=>d;return o.wagfRegion&&(j.wagf_region={value:o.wagfRegion,label:O(o.wagfRegion)}),o.wagfBlock&&(j.wagf_block={value:o.wagfBlock,label:O(o.wagfBlock)}),o.rop1&&(j.rop1={value:o.rop1,label:O(o.rop1)}),o.religion&&(j.religion={value:o.religion,label:O(o.religion)}),o.countryCode&&(j.country_code={value:o.countryCode,label:O(o.countryCode)}),o.primaryLanguage&&(j.primary_language={value:o.primaryLanguage,label:O(o.primaryLanguage)}),o.engagementStatus&&(j.engagement_status={value:o.engagementStatus,label:O(o.engagementStatus)}),o.cluster&&(j.imb_reg_of_people_2={value:o.cluster,label:O(o.cluster)}),o.peopleGroup&&(j.imb_reg_of_people_25={value:o.peopleGroup,label:O(o.peopleGroup)}),o.gospelAccess&&(j.imb_gsec={value:o.gospelAccess,label:O(o.gospelAccess)}),j}),N=ae(()=>p.value?$.value:D.value),V=ae(()=>Object.values(N.value||{}).filter(j=>j&&j.value!==""&&j.value!=null).length),Z=ae(()=>Object.keys(N.value).length),ne=ae(()=>V.value>0||!!(S.value||"").trim());function _e(j){return j.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function z(j,O=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>j(...h),O)}}const ee=z(()=>{C.value=!0,k.value=1,me()},500);function W(j){y.value=(j==null?void 0:j.value)??"",ee()}function G(){f.value=!f.value}function T(j){$.value={...$.value,[j.name]:{value:j.value,label:j.label}},k.value=1,me()}function q(j){R(j.name)}function R(j){const O={...$.value};delete O[j],$.value=O,k.value=1,me()}function L(){$.value={},k.value=1,me()}function J(){if($.value.exact)return R("exact");$.value={...$.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},k.value=1,me()}const le=j=>String(j??"").toLowerCase().replace(/[\s_&-]+/g,"");function ye(j,O){if(!j)return!1;const d=le(O==null?void 0:O.value);return d?le(j.value)===d||le(j.label)===d:!1}function Ae(j){let O=j;for(const[d,h]of Object.entries(N.value))d==="exact"?O=O:O=O.filter(I=>ye(I[d],h));return O}function Le(){const j=O=>{const d=new Map;for(const h of v.value){const I=h[O];if(!(I!=null&&I.value))continue;const B=d.get(I.value);B?B.count++:d.set(I.value,{label:I.label,count:1})}return Array.from(d.entries()).map(([h,{label:I,count:B}])=>({value:h,label:I,count:B})).sort((h,I)=>h.label.localeCompare(I.label))};g.value={wagf_region:j("wagf_region"),wagf_block:j("wagf_block"),rop1:j("rop1"),religion:j("religion")}}function Ce(){const j=Object.keys(g.value),O={};for(const d of j){const h={};for(const[te,re]of Object.entries(N.value))te!==d&&(h[te]=re);const I=ve(h,v.value),B=new Map;for(const te of I){const re=te[d];re!=null&&re.value&&B.set(re.value,(B.get(re.value)??0)+1)}O[d]=(g.value[d]??[]).map(te=>({...te,count:B.get(te.value)??0}))}g.value=O}function ve(j,O){let d=O;for(const[h,I]of Object.entries(j))h!=="exact"&&(d=d.filter(B=>ye(B[h],I)));return d}function me(){v.value=v.value.map(B=>(B.matches=[],B.country_label="",B.rop1_label="",B));const O=Object.keys(N.value).length>0?Ae(v.value):v.value,d=S.value;if(!d){E.value=O,x.value=E.value.length,C.value=!1,Ce(),_();return}const I=new Px(O,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:N.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);E.value=I.map(B=>{var re;const te={...B.item};if(!B.matches)return te;te.matches=[];for(const M of B.matches){const K=M.key;if(!K)continue;let pe="";if(String(K).includes(".")){const[$e,Pe]=String(K).split(".");pe=(re=te[$e])==null?void 0:re[Pe]}else pe=te[String(K)];if(pe&&typeof pe=="string"){let $e=0,Pe="";if(M.indices.forEach((qe,Xe)=>{const $t=qe[0],se=qe[1],de=M.indices.length-1===Xe;Pe+=_e(pe.slice($e,$t))+`${_e(pe.slice($t,se+1))}`+(de?_e(pe.slice(se+1)):""),$e=se+1}),String(K).includes("imb_alternate_name"))te.matches.push({key:i.value.alternate_name??"Also known as",label:Pe});else if(String(K).includes(".")){const[qe]=String(K).split("."),Xe={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};qe==="rop1"?te.rop1_label=Pe:qe==="country_code"?te.country_label=Pe:qe==="wagf_region"||te.matches.push({key:Xe[qe]??qe,label:Pe})}else te[String(K)]=Pe}}return te}),x.value=E.value.length,C.value=!1,Ce(),_()}const be=To();function xe(){var O,d;const j=((O=be==null?void 0:be.vnode)==null?void 0:O.el)||((d=be==null?void 0:be.proxy)==null?void 0:d.$el);try{const h=j&&j.getRootNode&&j.getRootNode();if(h&&h.host)return h.host}catch{}return j}function _(){const j={query:S.value,activeFilters:N.value,total:x.value,slugs:E.value.map(d=>d.slug)};n("groups-filtered",j);const O=xe();O&&typeof O.dispatchEvent=="function"&&O.dispatchEvent(new CustomEvent("groups-filtered",{detail:j,bubbles:!0,composed:!0}))}function A(){return o.morePerPage>0?x.value>o.perPage+(k.value-1)*o.morePerPage&&!C.value&&E.value.length>0:x.value>k.value*o.perPage&&!C.value&&E.value.length>0}function w(){k.value=k.value+1}const U=ae(()=>o.morePerPage>0?E.value.slice(0,o.perPage+(k.value-1)*o.morePerPage):E.value.slice(0,k.value*o.perPage)),Q=ae(()=>A());async function oe(){const j=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;C.value=!0,b.value=!1;try{const O=await fetch(j);if(!O.ok)throw new Error(`HTTP ${O.status}`);const d=await O.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Le(),me()}catch(O){console.error("[people-groups-grid] fetch error:",O),b.value=!0,v.value=[],C.value=!1}}return ft(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,p.value],()=>{k.value=1,me()}),bt(oe),(j,O)=>{var d,h,I,B;return H(),X("div",Fx,[u.value||p.value?(H(),X("div",Rx,[u.value?(H(),X("div",Mx,[Ue(Ta,{"model-value":y.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:W},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),p.value?(H(),X("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":f.value,onClick:G},[O[0]||(O[0]=P("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),lt(" "+ue(f.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),V.value?(H(),X("span",Dx,ue(V.value),1)):Re("",!0),O[1]||(O[1]=P("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ox)):Re("",!0),p.value&&f.value?(H(),X(Ee,{key:2},[P("div",jx,[Ue(rr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=N.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=N.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((I=N.value.rop1)==null?void 0:I.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((B=N.value.religion)==null?void 0:B.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"])]),P("div",zx,[P("button",{class:"filter-toggle",type:"button","data-active":N.value.exact?"":void 0,onClick:J},ue(i.value.exact_filter||"Exact"),9,Ux)])],64)):Re("",!0),p.value&&Z.value>0?(H(),X("div",Bx,[(H(!0),X(Ee,null,Qe(N.value,(te,re)=>(H(),X("span",{key:re,class:"filter-chip"},[lt(ue(te.label)+" ",1),P("button",{class:"filter-chip__remove",type:"button",onClick:M=>R(String(re))},"×",8,Gx)]))),128)),P("button",{class:"filters__clear-all",type:"button",onClick:L},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),P("div",qx,[m.value||ne.value?(H(),X("div",Hx,[P("div",Vx,[C.value?(H(),X("span",Wx," ")):(H(),X(Ee,{key:0},[lt(ue(ne.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),P("div",Kx,[(H(!0),X(Ee,null,Qe(U.value,te=>(H(),X("div",{key:te.slug,class:"card uupg__card"},[te.image_url?(H(),X("img",{key:0,class:"uupg__image",src:te.image_url,alt:te.name},null,8,Yx)):Re("",!0),P("div",Xx,[P("h3",{class:"uupg__name",innerHTML:te.name},null,8,Jx),te.country_code?(H(),X("p",Zx,[P("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe(Nx)(te.country_code.value,te.country_code.label)}`},[P("span",{innerHTML:te.country_label?te.country_label:te.country_code.label},null,8,ew)],8,Qx),te.rop1?(H(),X(Ee,{key:0},[O[2]||(O[2]=lt(" (",-1)),P("span",{innerHTML:te.rop1_label?te.rop1_label:te.rop1.label},null,8,tw),O[3]||(O[3]=lt(")",-1))],64)):Re("",!0)])):Re("",!0),te.matches?(H(!0),X(Ee,{key:1},Qe(te.matches,(re,M)=>(H(),X("p",{key:M,class:"uupg__match"},[P("strong",null,ue(re.key),1),O[4]||(O[4]=lt(": ",-1)),P("span",{innerHTML:re.label},null,8,ow)]))),128)):Re("",!0)]),te.location_description?(H(),X("p",nw,ue(te.location_description),1)):Re("",!0),P("a",{class:"uupg__more-button",href:`${l.value}${te.slug}`},ue(i.value.full_profile||"Full profile"),9,rw)]))),128)),C.value?(H(),X("div",sw,ue(i.value.loading||"Loading…"),1)):b.value?(H(),X("div",aw,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):U.value.length?Re("",!0):(H(),X("div",lw,ue(i.value.no_results||"No people groups match this filter."),1))]),Q.value?(H(),X("button",{key:1,class:"pgg-loadmore",type:"button",onClick:w},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Ix]]]),cw=":host{display:block;width:100%}",uw="dashboard-plus-grid/dashboard-plus-grid/index.html",dw=yn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=jo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=vu(null);uo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+uw}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(H(),Co(h_,{sections:s},{"section-dashboard":Eo(()=>[Ue(Ax,{onDashboardFilter:n})]),"section-grid":Eo(()=>[Ue(iw,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[cw]]]);Nb({"./affinity-block.js":{default:Bb},"./doxa-region.js":{default:Vb}}),Fb();const fw=rp(dw,{configureApp(e){e.use(mp());const t=gb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",fw))})(); +`,"rd-shell-layout"),bt(()=>{const me=E.value&&E.value.getRootNode&&E.value.getRootNode().host;if(!me)return;const be=xe=>me.setAttribute("data-page-scroll",xe?"true":"false");be(fe(r)),ft(()=>fe(r),be)}),(me,be)=>(H(),X("div",{ref_key:"shell",ref:E,class:Ge(["rd-shell",{"rd-narrow":fe(x),"rd-slim-rail":fe(k),"rd-slim-facet":fe(C),"rd-table-collapsed":fe(g),"rd-facet-collapsed":fe(y),"rd-rail-collapsed":fe($),"rd-page-scroll":r.value}]),"data-row-count":fe(p),"data-loading":fe(m)?"1":"0","data-error":fe(v)||"","data-narrow":fe(x)?"1":"0"},[Ue(fe(Ey)),Ue(fe(ux)),P("div",px,[(H(!0),X(Ee,null,Qe(fe(l),xe=>(H(),X("div",{class:"kpi",key:xe.id},[P("span",{class:"n","data-kpi":xe.id},ue(xe.kind==="count"&&fe(m)?"…":J(xe)),9,gx),P("span",hx,ue(xe.label),1),xe.delta?(H(),X("span",mx,"↓"+ue(fe(ku)(xe.delta)),1)):Re("",!0)]))),128))]),It(Ue(fe(Gy),null,null,512),[[zt,fe(D)]]),It(P("div",bx,[Ue(fe(G0)),fe(x)?Re("",!0):(H(),X("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:fe(y)?"Show filters":"Hide filters — grow the map",onClick:Le},ue(fe(y)?"▸":"◂"),9,_x)),fe(x)?Re("",!0):(H(),X("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:fe($)?"Show charts":"Hide charts — grow the map",onClick:Ce},ue(fe($)?"◂":"▸"),9,yx))],512),[[zt,fe(N)]]),It(P("div",vx,[Ue(fe(pv))],512),[[zt,fe(V)]]),It(P("aside",xx,[Ue(fe(n0)),Ue(fe(Pv))],512),[[zt,fe(Z)]]),It(P("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":fe(G),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:be[0]||(be[0]=(...xe)=>fe(ne)&&fe(ne)(...xe)),onKeydown:be[1]||(be[1]=xe=>fe(W)("facet",xe))},null,40,wx),[[zt,!fe(x)&&!fe(y)]]),It(P("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":fe(T),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:be[2]||(be[2]=(...xe)=>fe(_e)&&fe(_e)(...xe)),onKeydown:be[3]||(be[3]=xe=>fe(W)("rail",xe))},null,40,kx),[[zt,!fe(x)&&!fe($)]]),It(P("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?fe(R):parseFloat(fe(q))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:be[4]||(be[4]=(...xe)=>fe(z)&&fe(z)(...xe)),onKeydown:be[5]||(be[5]=xe=>fe(W)("table",xe))},null,40,$x),[[zt,!fe(x)&&!fe(g)]]),It(P("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":fe(L),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:be[6]||(be[6]=(...xe)=>fe(ee)&&fe(ee)(...xe)),onKeydown:be[7]||(be[7]=xe=>fe(W)("shell",xe))},null,40,Sx),[[zt,!fe(x)&&r.value]]),P("div",{class:"rd-seg","data-segmented":"",onClick:be[8]||(be[8]=(...xe)=>fe(S)&&fe(S)(...xe))},[(H(!0),X(Ee,null,Qe(fe(f),xe=>(H(),X("button",{key:xe.k,class:Ge({on:fe(b)===xe.k}),"data-view-btn":"","data-view":xe.k},ue(xe.l),11,Ex))),128))]),le.value?(H(),X("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[P("b",null,ue(le.value)+" selected",1),be[9]||(be[9]=P("span",{class:"sp"},null,-1)),be[10]||(be[10]=P("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),be[11]||(be[11]=P("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Re("",!0)],10,fx))}};function Cx(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function Tx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function Lx(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));p.length&&(c=p)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function Nx(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const Ix=":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))}",Fx={class:"pgg-root"},Rx={key:0,id:"filters",class:"filters"},Mx={key:0,class:"pgg-search"},Ox=["aria-expanded"],Dx={key:0,class:"filters__toggle-count"},jx={class:"filters__panel"},zx={class:"filters__panel"},Ux=["data-active"],Bx={key:3,class:"filters__active"},Gx=["onClick"],qx={class:"pgg-body"},Hx={key:0,class:"repel"},Vx={class:"font-size-sm"},Wx={key:1},Kx={id:"results",class:"grid uupgs-list"},Yx=["src","alt"],Xx={class:"uupg__header"},Jx=["innerHTML"],Zx={key:0,class:"uupg__country"},Qx=["href"],e1=["innerHTML"],t1=["innerHTML"],o1=["innerHTML"],n1={key:1,class:"uupg__content"},r1=["href"],s1={key:0,class:"loading"},a1={key:1,class:"pgg-empty pgg-failed",role:"status"},l1={key:2,class:"pgg-empty"},i1=yn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=ae(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=ae(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=ae(()=>o.languageCode||r.value.languageCode||""),l=ae(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=ae(()=>({...r.value.t||{},...o.t||{}})),c=j=>!(j===!1||j==="false"||j==="0"||j===0),u=ae(()=>c(o.showSearch)),p=ae(()=>c(o.showFilters)),m=ae(()=>c(o.showTotal)),v=ie([]),E=ie([]),x=ie(0),k=ie(1),C=ie(!0),b=ie(!1),f=ie(!0),g=ie({}),y=ie(""),$=ie({}),S=ae(()=>u.value?y.value:o.query||""),D=ae(()=>{const j={},O=d=>d;return o.wagfRegion&&(j.wagf_region={value:o.wagfRegion,label:O(o.wagfRegion)}),o.wagfBlock&&(j.wagf_block={value:o.wagfBlock,label:O(o.wagfBlock)}),o.rop1&&(j.rop1={value:o.rop1,label:O(o.rop1)}),o.religion&&(j.religion={value:o.religion,label:O(o.religion)}),o.countryCode&&(j.country_code={value:o.countryCode,label:O(o.countryCode)}),o.primaryLanguage&&(j.primary_language={value:o.primaryLanguage,label:O(o.primaryLanguage)}),o.engagementStatus&&(j.engagement_status={value:o.engagementStatus,label:O(o.engagementStatus)}),o.cluster&&(j.imb_reg_of_people_2={value:o.cluster,label:O(o.cluster)}),o.peopleGroup&&(j.imb_reg_of_people_25={value:o.peopleGroup,label:O(o.peopleGroup)}),o.gospelAccess&&(j.imb_gsec={value:o.gospelAccess,label:O(o.gospelAccess)}),j}),N=ae(()=>p.value?$.value:D.value),V=ae(()=>Object.values(N.value||{}).filter(j=>j&&j.value!==""&&j.value!=null).length),Z=ae(()=>Object.keys(N.value).length),ne=ae(()=>V.value>0||!!(S.value||"").trim());function _e(j){return j.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function z(j,O=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>j(...h),O)}}const ee=z(()=>{C.value=!0,k.value=1,me()},500);function W(j){y.value=(j==null?void 0:j.value)??"",ee()}function G(){f.value=!f.value}function T(j){$.value={...$.value,[j.name]:{value:j.value,label:j.label}},k.value=1,me()}function q(j){R(j.name)}function R(j){const O={...$.value};delete O[j],$.value=O,k.value=1,me()}function L(){$.value={},k.value=1,me()}function J(){if($.value.exact)return R("exact");$.value={...$.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},k.value=1,me()}const le=j=>String(j??"").toLowerCase().replace(/[\s_&-]+/g,"");function ye(j,O){if(!j)return!1;const d=le(O==null?void 0:O.value);return d?le(j.value)===d||le(j.label)===d:!1}function Ae(j){let O=j;for(const[d,h]of Object.entries(N.value))d==="exact"?O=O:O=O.filter(I=>ye(I[d],h));return O}function Le(){const j=O=>{const d=new Map;for(const h of v.value){const I=h[O];if(!(I!=null&&I.value))continue;const B=d.get(I.value);B?B.count++:d.set(I.value,{label:I.label,count:1})}return Array.from(d.entries()).map(([h,{label:I,count:B}])=>({value:h,label:I,count:B})).sort((h,I)=>h.label.localeCompare(I.label))};g.value={wagf_region:j("wagf_region"),wagf_block:j("wagf_block"),rop1:j("rop1"),religion:j("religion")}}function Ce(){const j=Object.keys(g.value),O={};for(const d of j){const h={};for(const[te,re]of Object.entries(N.value))te!==d&&(h[te]=re);const I=ve(h,v.value),B=new Map;for(const te of I){const re=te[d];re!=null&&re.value&&B.set(re.value,(B.get(re.value)??0)+1)}O[d]=(g.value[d]??[]).map(te=>({...te,count:B.get(te.value)??0}))}g.value=O}function ve(j,O){let d=O;for(const[h,I]of Object.entries(j))h!=="exact"&&(d=d.filter(B=>ye(B[h],I)));return d}function me(){v.value=v.value.map(B=>(B.matches=[],B.country_label="",B.rop1_label="",B));const O=Object.keys(N.value).length>0?Ae(v.value):v.value,d=S.value;if(!d){E.value=O,x.value=E.value.length,C.value=!1,Ce(),_();return}const I=new Px(O,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:N.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);E.value=I.map(B=>{var re;const te={...B.item};if(!B.matches)return te;te.matches=[];for(const M of B.matches){const K=M.key;if(!K)continue;let pe="";if(String(K).includes(".")){const[$e,Pe]=String(K).split(".");pe=(re=te[$e])==null?void 0:re[Pe]}else pe=te[String(K)];if(pe&&typeof pe=="string"){let $e=0,Pe="";if(M.indices.forEach((qe,Xe)=>{const $t=qe[0],se=qe[1],de=M.indices.length-1===Xe;Pe+=_e(pe.slice($e,$t))+`${_e(pe.slice($t,se+1))}`+(de?_e(pe.slice(se+1)):""),$e=se+1}),String(K).includes("imb_alternate_name"))te.matches.push({key:i.value.alternate_name??"Also known as",label:Pe});else if(String(K).includes(".")){const[qe]=String(K).split("."),Xe={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};qe==="rop1"?te.rop1_label=Pe:qe==="country_code"?te.country_label=Pe:qe==="wagf_region"||te.matches.push({key:Xe[qe]??qe,label:Pe})}else te[String(K)]=Pe}}return te}),x.value=E.value.length,C.value=!1,Ce(),_()}const be=To();function xe(){var O,d;const j=((O=be==null?void 0:be.vnode)==null?void 0:O.el)||((d=be==null?void 0:be.proxy)==null?void 0:d.$el);try{const h=j&&j.getRootNode&&j.getRootNode();if(h&&h.host)return h.host}catch{}return j}function _(){const j={query:S.value,activeFilters:N.value,total:x.value,slugs:E.value.map(d=>d.slug)};n("groups-filtered",j);const O=xe();O&&typeof O.dispatchEvent=="function"&&O.dispatchEvent(new CustomEvent("groups-filtered",{detail:j,bubbles:!0,composed:!0}))}function A(){return o.morePerPage>0?x.value>o.perPage+(k.value-1)*o.morePerPage&&!C.value&&E.value.length>0:x.value>k.value*o.perPage&&!C.value&&E.value.length>0}function w(){k.value=k.value+1}const U=ae(()=>o.morePerPage>0?E.value.slice(0,o.perPage+(k.value-1)*o.morePerPage):E.value.slice(0,k.value*o.perPage)),Q=ae(()=>A());async function oe(){const j=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${a.value}`;C.value=!0,b.value=!1;try{const O=await fetch(j);if(!O.ok)throw new Error(`HTTP ${O.status}`);const d=await O.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Le(),me()}catch(O){console.error("[people-groups-grid] fetch error:",O),b.value=!0,v.value=[],C.value=!1}}return ft(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,o.gospelAccess,u.value,p.value],()=>{k.value=1,me()}),bt(oe),(j,O)=>{var d,h,I,B;return H(),X("div",Fx,[u.value||p.value?(H(),X("div",Rx,[u.value?(H(),X("div",Mx,[Ue(Ta,{"model-value":y.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:W},null,8,["model-value","placeholder","aria-label"])])):Re("",!0),p.value?(H(),X("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":f.value,onClick:G},[O[0]||(O[0]=P("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[P("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),lt(" "+ue(f.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),V.value?(H(),X("span",Dx,ue(V.value),1)):Re("",!0),O[1]||(O[1]=P("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[P("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ox)):Re("",!0),p.value&&f.value?(H(),X(Ee,{key:2},[P("div",jx,[Ue(rr,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=N.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=N.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((I=N.value.rop1)==null?void 0:I.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"]),Ue(rr,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((B=N.value.religion)==null?void 0:B.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:T,onFilterClear:q},null,8,["label","options","value","placeholder"])]),P("div",zx,[P("button",{class:"filter-toggle",type:"button","data-active":N.value.exact?"":void 0,onClick:J},ue(i.value.exact_filter||"Exact"),9,Ux)])],64)):Re("",!0),p.value&&Z.value>0?(H(),X("div",Bx,[(H(!0),X(Ee,null,Qe(N.value,(te,re)=>(H(),X("span",{key:re,class:"filter-chip"},[lt(ue(te.label)+" ",1),P("button",{class:"filter-chip__remove",type:"button",onClick:M=>R(String(re))},"×",8,Gx)]))),128)),P("button",{class:"filters__clear-all",type:"button",onClick:L},ue(i.value.clear_all||"Clear All"),1)])):Re("",!0)])):Re("",!0),P("div",qx,[m.value||ne.value?(H(),X("div",Hx,[P("div",Vx,[C.value?(H(),X("span",Wx," ")):(H(),X(Ee,{key:0},[lt(ue(ne.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Re("",!0),P("div",Kx,[(H(!0),X(Ee,null,Qe(U.value,te=>(H(),X("div",{key:te.slug,class:"card uupg__card"},[te.image_url?(H(),X("img",{key:0,class:"uupg__image",src:te.image_url,alt:te.name},null,8,Yx)):Re("",!0),P("div",Xx,[P("h3",{class:"uupg__name",innerHTML:te.name},null,8,Jx),te.country_code?(H(),X("p",Zx,[P("a",{class:"uupg__country-link",href:`${l.value}../countries/${fe(Nx)(te.country_code.value,te.country_code.label)}`},[P("span",{innerHTML:te.country_label?te.country_label:te.country_code.label},null,8,e1)],8,Qx),te.rop1?(H(),X(Ee,{key:0},[O[2]||(O[2]=lt(" (",-1)),P("span",{innerHTML:te.rop1_label?te.rop1_label:te.rop1.label},null,8,t1),O[3]||(O[3]=lt(")",-1))],64)):Re("",!0)])):Re("",!0),te.matches?(H(!0),X(Ee,{key:1},Qe(te.matches,(re,M)=>(H(),X("p",{key:M,class:"uupg__match"},[P("strong",null,ue(re.key),1),O[4]||(O[4]=lt(": ",-1)),P("span",{innerHTML:re.label},null,8,o1)]))),128)):Re("",!0)]),te.location_description?(H(),X("p",n1,ue(te.location_description),1)):Re("",!0),P("a",{class:"uupg__more-button",href:`${l.value}${te.slug}`},ue(i.value.full_profile||"Full profile"),9,r1)]))),128)),C.value?(H(),X("div",s1,ue(i.value.loading||"Loading…"),1)):b.value?(H(),X("div",a1,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):U.value.length?Re("",!0):(H(),X("div",l1,ue(i.value.no_results||"No people groups match this filter."),1))]),Q.value?(H(),X("button",{key:1,class:"pgg-loadmore",type:"button",onClick:w},ue(i.value.load_more||"Load more"),1)):Re("",!0)])])}}},[["styles",[Ix]]]),c1=":host{display:block;width:100%}",u1="dashboard-plus-grid/dashboard-plus-grid/index.html",d1=yn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup",gospel_access:"gospelAccess"},o=jo({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:"",gospelAccess:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=vu(null);uo("profileConfig",ie({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+u1}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(H(),Co(h_,{sections:s},{"section-dashboard":Eo(()=>[Ue(Ax,{onDashboardFilter:n})]),"section-grid":Eo(()=>[Ue(i1,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"gospel-access":o.gospelAccess,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group","gospel-access"])]),_:1}))}},[["styles",[c1]]]);Nb({"./affinity-block.js":{default:Bb},"./doxa-region.js":{default:Vb}}),Fb();const f1=rp(d1,{configureApp(e){e.use(mp());const t=gb();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",f1))})(); 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 7f9f62ad3..749f57a6d 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-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl","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-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl\" 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-gMsZ4bvxNvSJNUW6CoRAnCyy3o169BiDoNO8ZRyfXO7i2EWlcJdrMFOcgBaB8o8k","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-gMsZ4bvxNvSJNUW6CoRAnCyy3o169BiDoNO8ZRyfXO7i2EWlcJdrMFOcgBaB8o8k\" 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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c","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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c\" 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-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse","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-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO","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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN","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-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN\" 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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo","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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo\" 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-qpbBcC2J15C05AK4lY2IYE71fT5KdEudshshQlQfBYR086ZNkSgF27prL1/NW9n9","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-qpbBcC2J15C05AK4lY2IYE71fT5KdEudshshQlQfBYR086ZNkSgF27prL1/NW9n9\" 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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq","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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq\" 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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU","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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU\" 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-ze4tzWrCfxwEg4eEGGOzk7qOq/mRduu7qs2+bJMUK9rZ4FX8kYQPY3AwqXt5lglT", + "integrity": "sha384-qpbBcC2J15C05AK4lY2IYE71fT5KdEudshshQlQfBYR086ZNkSgF27prL1/NW9n9", "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 ba0c30ecd..cf43a5054 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -1,46 +1,46 @@ -(function(){"use strict";var Jo=typeof document<"u"?document.currentScript:null;const tx="modulepreload",ox=function(e){return"/"+e},nx={},id=function(t,o,n){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var Jn=typeof document<"u"?document.currentScript:null;const tx="modulepreload",nx=function(e){return"/"+e},ox={},id=function(t,n,o){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function fs(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ye={},Zo=[],Yt=()=>{},Wa=()=>!1,ar=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ir=e=>e.startsWith("onUpdate:"),st=Object.assign,ps=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},ld=Object.prototype.hasOwnProperty,qe=(e,t)=>ld.call(e,t),Ee=Array.isArray,Ao=e=>$n(e)==="[object Map]",lr=e=>$n(e)==="[object Set]",Ka=e=>$n(e)==="[object Date]",Pe=e=>typeof e=="function",Xe=e=>typeof e=="string",Tt=e=>typeof e=="symbol",Ve=e=>e!==null&&typeof e=="object",Ya=e=>(Ve(e)||Pe(e))&&Pe(e.then)&&Pe(e.catch),Xa=Object.prototype.toString,$n=e=>Xa.call(e),cd=e=>$n(e).slice(8,-1),cr=e=>$n(e)==="[object Object]",ur=e=>Xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Sn=fs(",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))},ud=/-\w/g,dt=dr(e=>e.replace(ud,t=>t.slice(1).toUpperCase())),dd=/\B([A-Z])/g,Lt=dr(e=>e.replace(dd,"-$1").toLowerCase()),fr=dr(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=dr(e=>e?`on${fr(e)}`:""),Xt=(e,t)=>!Object.is(e,t),pr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},hs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Za=e=>{const t=Xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Qa;const gr=()=>Qa||(Qa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(Ee(e)){const t={};for(let o=0;o{if(o){const n=o.split(pd);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(Xe(e))t=e;else if(Ee(e))for(let o=0;o!!(e&&e.__v_isRef===!0),pe=e=>Xe(e)?e:e==null?"":Ee(e)||Ve(e)&&(e.toString===Xa||!Pe(e.toString))?oi(e)?pe(e.value):JSON.stringify(e,ni,2):String(e),ni=(e,t)=>oi(t)?ni(e,t.value):Ao(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[ms(n,s)+" =>"]=r,o),{})}:lr(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>ms(o))}:Tt(t)?ms(t):Ve(t)&&!Ee(t)&&!cr(t)?String(t):t,ms=(e,t="")=>{var o;return Tt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function fs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ye={},Zn=[],Yt=()=>{},Wa=()=>!1,ar=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ir=e=>e.startsWith("onUpdate:"),st=Object.assign,ps=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ld=Object.prototype.hasOwnProperty,qe=(e,t)=>ld.call(e,t),Ee=Array.isArray,An=e=>$o(e)==="[object Map]",lr=e=>$o(e)==="[object Set]",Ka=e=>$o(e)==="[object Date]",Pe=e=>typeof e=="function",Xe=e=>typeof e=="string",Tt=e=>typeof e=="symbol",Ve=e=>e!==null&&typeof e=="object",Ya=e=>(Ve(e)||Pe(e))&&Pe(e.then)&&Pe(e.catch),Xa=Object.prototype.toString,$o=e=>Xa.call(e),cd=e=>$o(e).slice(8,-1),cr=e=>$o(e)==="[object Object]",ur=e=>Xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,So=fs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),dr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ud=/-\w/g,dt=dr(e=>e.replace(ud,t=>t.slice(1).toUpperCase())),dd=/\B([A-Z])/g,Lt=dr(e=>e.replace(dd,"-$1").toLowerCase()),fr=dr(e=>e.charAt(0).toUpperCase()+e.slice(1)),gs=dr(e=>e?`on${fr(e)}`:""),Xt=(e,t)=>!Object.is(e,t),pr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},hs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Za=e=>{const t=Xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Qa;const gr=()=>Qa||(Qa=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function lt(e){if(Ee(e)){const t={};for(let n=0;n{if(n){const o=n.split(pd);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Be(e){let t="";if(Xe(e))t=e;else if(Ee(e))for(let n=0;n!!(e&&e.__v_isRef===!0),pe=e=>Xe(e)?e:e==null?"":Ee(e)||Ve(e)&&(e.toString===Xa||!Pe(e.toString))?ni(e)?pe(e.value):JSON.stringify(e,oi,2):String(e),oi=(e,t)=>ni(t)?oi(e,t.value):An(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],s)=>(n[ms(o,s)+" =>"]=r,n),{})}:lr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ms(n))}:Tt(t)?ms(t):Ve(t)&&!Ee(t)&&!cr(t)?String(t):t,ms=(e,t="")=>{var n;return Tt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ct;class ri{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o0)return;if(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 ci(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ui(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),xs(n),yd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function ws(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(di(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function di(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||!ws(e))))return;e.flags|=2;const t=e.dep,o=Je,n=jt;Je=e,jt=!0;try{ci(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{Je=o,jt=n,ui(e),e.flags&=-3}}function xs(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)xs(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function yd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let jt=!0;const fi=[];function Jt(){fi.push(jt),jt=!1}function Zt(){const e=fi.pop();jt=e===void 0?!0:e}function pi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Je;Je=void 0;try{t()}finally{Je=o}}}let Cn=0;class vd{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 ks{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(!Je||!jt||Je===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Je)o=this.activeLink=new vd(Je,this),Je.deps?(o.prevDep=Je.depsTail,Je.depsTail.nextDep=o,Je.depsTail=o):Je.deps=Je.depsTail=o,gi(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=Je.depsTail,o.nextDep=void 0,Je.depsTail.nextDep=o,Je.depsTail=o,Je.deps===o&&(Je.deps=n)}return o}trigger(t){this.version++,Cn++,this.notify(t)}notify(t){ys();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{vs()}}}function gi(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)gi(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const mr=new WeakMap,jo=Symbol(""),$s=Symbol(""),Tn=Symbol("");function yt(e,t,o){if(jt&&Je){let n=mr.get(e);n||mr.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new ks),r.map=n,r.key=o),r.track()}}function lo(e,t,o,n,r,s){const a=mr.get(e);if(!a){Cn++;return}const i=l=>{l&&l.trigger()};if(ys(),t==="clear")a.forEach(i);else{const l=Ee(e),c=l&&ur(o);if(l&&o==="length"){const u=Number(n);a.forEach((g,b)=>{(b==="length"||b===Tn||!Tt(b)&&b>=u)&&i(g)})}else switch((o!==void 0||a.has(void 0))&&i(a.get(o)),c&&i(a.get(Tn)),t){case"add":l?c&&i(a.get("length")):(i(a.get(jo)),Ao(e)&&i(a.get($s)));break;case"delete":l||(i(a.get(jo)),Ao(e)&&i(a.get($s)));break;case"set":Ao(e)&&i(a.get(jo));break}}vs()}function wd(e,t){const o=mr.get(e);return o&&o.get(t)}function Qo(e){const t=Ge(e);return t===e?t:(yt(t,"iterate",Tn),Pt(e)?t:t.map(zt))}function br(e){return yt(e=Ge(e),"iterate",Tn),e}function Qt(e,t){return fo(e)?en(uo(e)?zt(t):t):zt(t)}const xd={__proto__:null,[Symbol.iterator](){return Ss(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return Qo(this).concat(...e.map(t=>Ee(t)?Qo(t):t))},entries(){return Ss(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return co(this,"every",e,t,void 0,arguments)},filter(e,t){return co(this,"filter",e,t,o=>o.map(n=>Qt(this,n)),arguments)},find(e,t){return co(this,"find",e,t,o=>Qt(this,o),arguments)},findIndex(e,t){return co(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return co(this,"findLast",e,t,o=>Qt(this,o),arguments)},findLastIndex(e,t){return co(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return co(this,"forEach",e,t,void 0,arguments)},includes(...e){return Es(this,"includes",e)},indexOf(...e){return Es(this,"indexOf",e)},join(e){return Qo(this).join(e)},lastIndexOf(...e){return Es(this,"lastIndexOf",e)},map(e,t){return co(this,"map",e,t,void 0,arguments)},pop(){return Ln(this,"pop")},push(...e){return Ln(this,"push",e)},reduce(e,...t){return hi(this,"reduce",e,t)},reduceRight(e,...t){return hi(this,"reduceRight",e,t)},shift(){return Ln(this,"shift")},some(e,t){return co(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 Ss(this,"values",e=>Qt(this,e))}};function Ss(e,t,o){const n=br(e),r=n[t]();return n!==e&&!Pt(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const kd=Array.prototype;function co(e,t,o,n,r,s){const a=br(e),i=a!==e&&!Pt(e),l=a[t];if(l!==kd[t]){const g=l.apply(e,s);return i?zt(g):g}let c=o;a!==e&&(i?c=function(g,b){return o.call(this,Qt(e,g),b,e)}:o.length>2&&(c=function(g,b){return o.call(this,g,b,e)}));const u=l.call(a,c,n);return i&&r?r(u):u}function hi(e,t,o,n){const r=br(e),s=r!==e&&!Pt(e);let a=o,i=!1;r!==e&&(s?(i=n.length===0,a=function(c,u,g){return i&&(i=!1,c=Qt(e,c)),o.call(this,c,Qt(e,u),g,e)}):o.length>3&&(a=function(c,u,g){return o.call(this,c,u,g,e)}));const l=r[t](a,...n);return i?Qt(e,l):l}function Es(e,t,o){const n=Ge(e);yt(n,"iterate",Tn);const r=n[t](...o);return(r===-1||r===!1)&&xr(o[0])?(o[0]=Ge(o[0]),n[t](...o)):r}function Ln(e,t,o=[]){Jt(),ys();const n=Ge(e)[t].apply(e,o);return vs(),Zt(),n}const $d=fs("__proto__,__v_isRef,__isVue"),mi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Tt));function Sd(e){Tt(e)||(e=String(e));const t=Ge(this);return yt(t,"has",e),t.hasOwnProperty(e)}class bi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?ki:xi:s?wi:vi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=Ee(t);if(!r){let l;if(a&&(l=xd[o]))return l;if(o==="hasOwnProperty")return Sd}const i=Reflect.get(t,o,ot(t)?t:n);if((Tt(o)?mi.has(o):$d(o))||(r||yt(t,"get",o),s))return i;if(ot(i)){const l=a&&ur(o)?i:i.value;return r&&Ve(l)?Cs(l):l}return Ve(i)?r?Cs(i):zo(i):i}}class _i extends bi{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=Ee(t)&&ur(o);if(!this._isShallow){const c=fo(s);if(!Pt(n)&&!fo(n)&&(s=Ge(s),n=Ge(n)),!a&&ot(s)&&!ot(n))return c||(s.value=n),!0}const i=a?Number(o)e,_r=e=>Reflect.getPrototypeOf(e);function Ld(e,t,o){return function(...n){const r=this.__v_raw,s=Ge(r),a=Ao(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...n),u=o?As:t?en:zt;return!t&&yt(s,"iterate",l?$s:jo),st(Object.create(c),{next(){const{value:g,done:b}=c.next();return b?{value:g,done:b}:{value:i?[u(g[0]),u(g[1])]:u(g),done:b}}})}}function yr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pd(e,t){const o={get(r){const s=this.__v_raw,a=Ge(s),i=Ge(r);e||(Xt(r,i)&&yt(a,"get",r),yt(a,"get",i));const{has:l}=_r(a),c=t?As:e?en:zt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&yt(Ge(r),"iterate",jo),r.size},has(r){const s=this.__v_raw,a=Ge(s),i=Ge(r);return e||(Xt(r,i)&&yt(a,"has",r),yt(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Ge(i),c=t?As:e?en:zt;return!e&&yt(l,"iterate",jo),i.forEach((u,g)=>r.call(s,c(u),c(g),a))}};return st(o,e?{add:yr("add"),set:yr("set"),delete:yr("delete"),clear:yr("clear")}:{add(r){const s=Ge(this),a=_r(s),i=Ge(r),l=!t&&!Pt(r)&&!fo(r)?i:r;return a.has.call(s,l)||Xt(r,l)&&a.has.call(s,r)||Xt(i,l)&&a.has.call(s,i)||(s.add(l),lo(s,"add",l,l)),this},set(r,s){!t&&!Pt(s)&&!fo(s)&&(s=Ge(s));const a=Ge(this),{has:i,get:l}=_r(a);let c=i.call(a,r);c||(r=Ge(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Xt(s,u)&&lo(a,"set",r,s):lo(a,"add",r,s),this},delete(r){const s=Ge(this),{has:a,get:i}=_r(s);let l=a.call(s,r);l||(r=Ge(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&lo(s,"delete",r,void 0),c},clear(){const r=Ge(this),s=r.size!==0,a=r.clear();return s&&lo(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=Ld(r,e,t)}),o}function vr(e,t){const o=Pd(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(qe(o,r)&&r in n?o:n,r,s)}const Md={get:vr(!1,!1)},Id={get:vr(!1,!0)},Nd={get:vr(!0,!1)},Rd={get:vr(!0,!0)},vi=new WeakMap,wi=new WeakMap,xi=new WeakMap,ki=new WeakMap;function Fd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zo(e){return fo(e)?e:wr(e,!1,Ed,Md,vi)}function Od(e){return wr(e,!1,Cd,Id,wi)}function Cs(e){return wr(e,!0,Ad,Nd,xi)}function sx(e){return wr(e,!0,Td,Rd,ki)}function wr(e,t,o,n,r){if(!Ve(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Fd(cd(e));if(a===0)return e;const i=new Proxy(e,a===2?n:o);return r.set(e,i),i}function uo(e){return fo(e)?uo(e.__v_raw):!!(e&&e.__v_isReactive)}function fo(e){return!!(e&&e.__v_isReadonly)}function Pt(e){return!!(e&&e.__v_isShallow)}function xr(e){return e?!!e.__v_raw:!1}function Ge(e){const t=e&&e.__v_raw;return t?Ge(t):e}function Pn(e){return!qe(e,"__v_skip")&&Object.isExtensible(e)&&Ja(e,"__v_skip",!0),e}const zt=e=>Ve(e)?zo(e):e,en=e=>Ve(e)?Cs(e):e;function ot(e){return e?e.__v_isRef===!0:!1}function le(e){return $i(e,!1)}function Mn(e){return $i(e,!0)}function $i(e,t){return ot(e)?e:new Dd(e,t)}class Dd{constructor(t,o){this.dep=new ks,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ge(t),this._value=o?t:zt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Pt(t)||fo(t);t=n?t:Ge(t),Xt(t,o)&&(this._rawValue=t,this._value=n?t:zt(t),this.dep.trigger())}}function ce(e){return ot(e)?e.value:e}const jd={get:(e,t,o)=>t==="__v_raw"?e:ce(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return ot(r)&&!ot(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function Si(e){return uo(e)?e:new Proxy(e,jd)}function zd(e){const t=Ee(e)?new Array(e.length):{};for(const o in e)t[o]=Ud(e,o);return t}class Bd{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Tt(o)?o:String(o),this._raw=Ge(t);let r=!0,s=t;if(!Ee(t)||Tt(this._key)||!ur(this._key))do r=!xr(s)||Pt(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=ce(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ot(this._raw[this._key])){const o=this._object[this._key];if(ot(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return wd(this._raw,this._key)}}function Ud(e,t,o){return new Bd(e,t,o)}class Gd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new ks(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)&&Je!==this)return li(this,!0),!0}get value(){const t=this.dep.track();return di(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hd(e,t,o=!1){let n,r;return Pe(e)?n=e:(n=e.get,r=e.set),new Gd(n,r,o)}const kr={},$r=new WeakMap;let Bo;function qd(e,t=!1,o=Bo){if(o){let n=$r.get(o);n||$r.set(o,n=[]),n.push(e)}}function Vd(e,t,o=Ye){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=o,c=f=>r?f:Pt(f)||r===!1||r===0?po(f,1):po(f);let u,g,b,w,$=!1,y=!1;if(ot(e)?(g=()=>e.value,$=Pt(e)):uo(e)?(g=()=>c(e),$=!0):Ee(e)?(y=!0,$=e.some(f=>uo(f)||Pt(f)),g=()=>e.map(f=>{if(ot(f))return f.value;if(uo(f))return c(f);if(Pe(f))return l?l(f,2):f()})):Pe(e)?t?g=l?()=>l(e,2):e:g=()=>{if(b){Jt();try{b()}finally{Zt()}}const f=Bo;Bo=u;try{return l?l(e,3,[w]):e(w)}finally{Bo=f}}:g=Yt,t&&r){const f=g,p=r===!0?1/0:r;g=()=>po(f(),p)}const x=si(),E=()=>{u.stop(),x&&x.active&&ps(x.effects,u)};if(s&&t){const f=t;t=(...p)=>{const k=f(...p);return E(),k}}let m=y?new Array(e.length).fill(kr):kr;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const p=u.run();if(f||r||$||(y?p.some((k,S)=>Xt(k,m[S])):Xt(p,m))){b&&b();const k=Bo;Bo=u;try{const S=[p,m===kr?void 0:y&&m[0]===kr?[]:m,w];m=p,l?l(t,3,S):t(...S)}finally{Bo=k}}}else u.run()};return i&&i(d),u=new ai(g),u.scheduler=a?()=>a(d,!1):d,w=f=>qd(f,!1,u),b=u.onStop=()=>{const f=$r.get(u);if(f){if(l)l(f,4);else for(const p of f)p();$r.delete(u)}},t?n?d(!0):m=u.run():a?a(d.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function po(e,t=1/0,o){if(t<=0||!Ve(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ot(e))po(e.value,t,o);else if(Ee(e))for(let n=0;n{po(n,t,o)});else if(cr(e)){for(const n in e)po(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&po(e[n],t,o)}return e}/** +**/let ct;class ri{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Ao){let t=Ao;for(Ao=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Eo;){let t=Eo;for(Eo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function ci(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ui(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),xs(o),yd(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function ws(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(di(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function di(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Co)||(e.globalVersion=Co,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ws(e))))return;e.flags|=2;const t=e.dep,n=Je,o=jt;Je=e,jt=!0;try{ci(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{Je=n,jt=o,ui(e),e.flags&=-3}}function xs(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)xs(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function yd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let jt=!0;const fi=[];function Jt(){fi.push(jt),jt=!1}function Zt(){const e=fi.pop();jt=e===void 0?!0:e}function pi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Je;Je=void 0;try{t()}finally{Je=n}}}let Co=0;class vd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ks{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(!Je||!jt||Je===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Je)n=this.activeLink=new vd(Je,this),Je.deps?(n.prevDep=Je.depsTail,Je.depsTail.nextDep=n,Je.depsTail=n):Je.deps=Je.depsTail=n,gi(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=Je.depsTail,n.nextDep=void 0,Je.depsTail.nextDep=n,Je.depsTail=n,Je.deps===n&&(Je.deps=o)}return n}trigger(t){this.version++,Co++,this.notify(t)}notify(t){ys();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{vs()}}}function gi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)gi(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mr=new WeakMap,jn=Symbol(""),$s=Symbol(""),To=Symbol("");function yt(e,t,n){if(jt&&Je){let o=mr.get(e);o||mr.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new ks),r.map=o,r.key=n),r.track()}}function cn(e,t,n,o,r,s){const a=mr.get(e);if(!a){Co++;return}const i=l=>{l&&l.trigger()};if(ys(),t==="clear")a.forEach(i);else{const l=Ee(e),c=l&&ur(n);if(l&&n==="length"){const u=Number(o);a.forEach((g,b)=>{(b==="length"||b===To||!Tt(b)&&b>=u)&&i(g)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(To)),t){case"add":l?c&&i(a.get("length")):(i(a.get(jn)),An(e)&&i(a.get($s)));break;case"delete":l||(i(a.get(jn)),An(e)&&i(a.get($s)));break;case"set":An(e)&&i(a.get(jn));break}}vs()}function wd(e,t){const n=mr.get(e);return n&&n.get(t)}function Qn(e){const t=Ge(e);return t===e?t:(yt(t,"iterate",To),Pt(e)?t:t.map(zt))}function br(e){return yt(e=Ge(e),"iterate",To),e}function Qt(e,t){return fn(e)?eo(dn(e)?zt(t):t):zt(t)}const xd={__proto__:null,[Symbol.iterator](){return Ss(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return Qn(this).concat(...e.map(t=>Ee(t)?Qn(t):t))},entries(){return Ss(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return un(this,"every",e,t,void 0,arguments)},filter(e,t){return un(this,"filter",e,t,n=>n.map(o=>Qt(this,o)),arguments)},find(e,t){return un(this,"find",e,t,n=>Qt(this,n),arguments)},findIndex(e,t){return un(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return un(this,"findLast",e,t,n=>Qt(this,n),arguments)},findLastIndex(e,t){return un(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return un(this,"forEach",e,t,void 0,arguments)},includes(...e){return Es(this,"includes",e)},indexOf(...e){return Es(this,"indexOf",e)},join(e){return Qn(this).join(e)},lastIndexOf(...e){return Es(this,"lastIndexOf",e)},map(e,t){return un(this,"map",e,t,void 0,arguments)},pop(){return Lo(this,"pop")},push(...e){return Lo(this,"push",e)},reduce(e,...t){return hi(this,"reduce",e,t)},reduceRight(e,...t){return hi(this,"reduceRight",e,t)},shift(){return Lo(this,"shift")},some(e,t){return un(this,"some",e,t,void 0,arguments)},splice(...e){return Lo(this,"splice",e)},toReversed(){return Qn(this).toReversed()},toSorted(e){return Qn(this).toSorted(e)},toSpliced(...e){return Qn(this).toSpliced(...e)},unshift(...e){return Lo(this,"unshift",e)},values(){return Ss(this,"values",e=>Qt(this,e))}};function Ss(e,t,n){const o=br(e),r=o[t]();return o!==e&&!Pt(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=n(s.value)),s}),r}const kd=Array.prototype;function un(e,t,n,o,r,s){const a=br(e),i=a!==e&&!Pt(e),l=a[t];if(l!==kd[t]){const g=l.apply(e,s);return i?zt(g):g}let c=n;a!==e&&(i?c=function(g,b){return n.call(this,Qt(e,g),b,e)}:n.length>2&&(c=function(g,b){return n.call(this,g,b,e)}));const u=l.call(a,c,o);return i&&r?r(u):u}function hi(e,t,n,o){const r=br(e),s=r!==e&&!Pt(e);let a=n,i=!1;r!==e&&(s?(i=o.length===0,a=function(c,u,g){return i&&(i=!1,c=Qt(e,c)),n.call(this,c,Qt(e,u),g,e)}):n.length>3&&(a=function(c,u,g){return n.call(this,c,u,g,e)}));const l=r[t](a,...o);return i?Qt(e,l):l}function Es(e,t,n){const o=Ge(e);yt(o,"iterate",To);const r=o[t](...n);return(r===-1||r===!1)&&xr(n[0])?(n[0]=Ge(n[0]),o[t](...n)):r}function Lo(e,t,n=[]){Jt(),ys();const o=Ge(e)[t].apply(e,n);return vs(),Zt(),o}const $d=fs("__proto__,__v_isRef,__isVue"),mi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Tt));function Sd(e){Tt(e)||(e=String(e));const t=Ge(this);return yt(t,"has",e),t.hasOwnProperty(e)}class bi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(r?s?ki:xi:s?wi:vi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=Ee(t);if(!r){let l;if(a&&(l=xd[n]))return l;if(n==="hasOwnProperty")return Sd}const i=Reflect.get(t,n,nt(t)?t:o);if((Tt(n)?mi.has(n):$d(n))||(r||yt(t,"get",n),s))return i;if(nt(i)){const l=a&&ur(n)?i:i.value;return r&&Ve(l)?Cs(l):l}return Ve(i)?r?Cs(i):zn(i):i}}class _i extends bi{constructor(t=!1){super(!1,t)}set(t,n,o,r){let s=t[n];const a=Ee(t)&&ur(n);if(!this._isShallow){const c=fn(s);if(!Pt(o)&&!fn(o)&&(s=Ge(s),o=Ge(o)),!a&&nt(s)&&!nt(o))return c||(s.value=o),!0}const i=a?Number(n)e,_r=e=>Reflect.getPrototypeOf(e);function Ld(e,t,n){return function(...o){const r=this.__v_raw,s=Ge(r),a=An(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?As:t?eo:zt;return!t&&yt(s,"iterate",l?$s:jn),st(Object.create(c),{next(){const{value:g,done:b}=c.next();return b?{value:g,done:b}:{value:i?[u(g[0]),u(g[1])]:u(g),done:b}}})}}function yr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pd(e,t){const n={get(r){const s=this.__v_raw,a=Ge(s),i=Ge(r);e||(Xt(r,i)&&yt(a,"get",r),yt(a,"get",i));const{has:l}=_r(a),c=t?As:e?eo:zt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&yt(Ge(r),"iterate",jn),r.size},has(r){const s=this.__v_raw,a=Ge(s),i=Ge(r);return e||(Xt(r,i)&&yt(a,"has",r),yt(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Ge(i),c=t?As:e?eo:zt;return!e&&yt(l,"iterate",jn),i.forEach((u,g)=>r.call(s,c(u),c(g),a))}};return st(n,e?{add:yr("add"),set:yr("set"),delete:yr("delete"),clear:yr("clear")}:{add(r){const s=Ge(this),a=_r(s),i=Ge(r),l=!t&&!Pt(r)&&!fn(r)?i:r;return a.has.call(s,l)||Xt(r,l)&&a.has.call(s,r)||Xt(i,l)&&a.has.call(s,i)||(s.add(l),cn(s,"add",l,l)),this},set(r,s){!t&&!Pt(s)&&!fn(s)&&(s=Ge(s));const a=Ge(this),{has:i,get:l}=_r(a);let c=i.call(a,r);c||(r=Ge(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Xt(s,u)&&cn(a,"set",r,s):cn(a,"add",r,s),this},delete(r){const s=Ge(this),{has:a,get:i}=_r(s);let l=a.call(s,r);l||(r=Ge(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&cn(s,"delete",r,void 0),c},clear(){const r=Ge(this),s=r.size!==0,a=r.clear();return s&&cn(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ld(r,e,t)}),n}function vr(e,t){const n=Pd(e,t);return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(qe(n,r)&&r in o?n:o,r,s)}const Md={get:vr(!1,!1)},Id={get:vr(!1,!0)},Nd={get:vr(!0,!1)},Rd={get:vr(!0,!0)},vi=new WeakMap,wi=new WeakMap,xi=new WeakMap,ki=new WeakMap;function Fd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function zn(e){return fn(e)?e:wr(e,!1,Ed,Md,vi)}function Od(e){return wr(e,!1,Cd,Id,wi)}function Cs(e){return wr(e,!0,Ad,Nd,xi)}function sx(e){return wr(e,!0,Td,Rd,ki)}function wr(e,t,n,o,r){if(!Ve(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Fd(cd(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return r.set(e,i),i}function dn(e){return fn(e)?dn(e.__v_raw):!!(e&&e.__v_isReactive)}function fn(e){return!!(e&&e.__v_isReadonly)}function Pt(e){return!!(e&&e.__v_isShallow)}function xr(e){return e?!!e.__v_raw:!1}function Ge(e){const t=e&&e.__v_raw;return t?Ge(t):e}function Po(e){return!qe(e,"__v_skip")&&Object.isExtensible(e)&&Ja(e,"__v_skip",!0),e}const zt=e=>Ve(e)?zn(e):e,eo=e=>Ve(e)?Cs(e):e;function nt(e){return e?e.__v_isRef===!0:!1}function le(e){return $i(e,!1)}function Mo(e){return $i(e,!0)}function $i(e,t){return nt(e)?e:new Dd(e,t)}class Dd{constructor(t,n){this.dep=new ks,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Ge(t),this._value=n?t:zt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Pt(t)||fn(t);t=o?t:Ge(t),Xt(t,n)&&(this._rawValue=t,this._value=o?t:zt(t),this.dep.trigger())}}function ce(e){return nt(e)?e.value:e}const jd={get:(e,t,n)=>t==="__v_raw"?e:ce(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return nt(r)&&!nt(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Si(e){return dn(e)?e:new Proxy(e,jd)}function zd(e){const t=Ee(e)?new Array(e.length):{};for(const n in e)t[n]=Ud(e,n);return t}class Bd{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Tt(n)?n:String(n),this._raw=Ge(t);let r=!0,s=t;if(!Ee(t)||Tt(this._key)||!ur(this._key))do r=!xr(s)||Pt(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=ce(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&nt(this._raw[this._key])){const n=this._object[this._key];if(nt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return wd(this._raw,this._key)}}function Ud(e,t,n){return new Bd(e,t,n)}class Gd{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ks(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Co-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Je!==this)return li(this,!0),!0}get value(){const t=this.dep.track();return di(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hd(e,t,n=!1){let o,r;return Pe(e)?o=e:(o=e.get,r=e.set),new Gd(o,r,n)}const kr={},$r=new WeakMap;let Bn;function qd(e,t=!1,n=Bn){if(n){let o=$r.get(n);o||$r.set(n,o=[]),o.push(e)}}function Vd(e,t,n=Ye){const{immediate:o,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=n,c=f=>r?f:Pt(f)||r===!1||r===0?pn(f,1):pn(f);let u,g,b,w,$=!1,y=!1;if(nt(e)?(g=()=>e.value,$=Pt(e)):dn(e)?(g=()=>c(e),$=!0):Ee(e)?(y=!0,$=e.some(f=>dn(f)||Pt(f)),g=()=>e.map(f=>{if(nt(f))return f.value;if(dn(f))return c(f);if(Pe(f))return l?l(f,2):f()})):Pe(e)?t?g=l?()=>l(e,2):e:g=()=>{if(b){Jt();try{b()}finally{Zt()}}const f=Bn;Bn=u;try{return l?l(e,3,[w]):e(w)}finally{Bn=f}}:g=Yt,t&&r){const f=g,p=r===!0?1/0:r;g=()=>pn(f(),p)}const x=si(),E=()=>{u.stop(),x&&x.active&&ps(x.effects,u)};if(s&&t){const f=t;t=(...p)=>{const k=f(...p);return E(),k}}let m=y?new Array(e.length).fill(kr):kr;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const p=u.run();if(f||r||$||(y?p.some((k,S)=>Xt(k,m[S])):Xt(p,m))){b&&b();const k=Bn;Bn=u;try{const S=[p,m===kr?void 0:y&&m[0]===kr?[]:m,w];m=p,l?l(t,3,S):t(...S)}finally{Bn=k}}}else u.run()};return i&&i(d),u=new ai(g),u.scheduler=a?()=>a(d,!1):d,w=f=>qd(f,!1,u),b=u.onStop=()=>{const f=$r.get(u);if(f){if(l)l(f,4);else for(const p of f)p();$r.delete(u)}},t?o?d(!0):m=u.run():a?a(d.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function pn(e,t=1/0,n){if(t<=0||!Ve(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,nt(e))pn(e.value,t,n);else if(Ee(e))for(let o=0;o{pn(o,t,n)});else if(cr(e)){for(const o in e)pn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&pn(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const In=[];let Ts=!1;function ax(e,...t){if(Ts)return;Ts=!0,Jt();const o=In.length?In[In.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=Wd();if(n)tn(n,o,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${$l(o,s.type)}>`).join(` +**/const Io=[];let Ts=!1;function ax(e,...t){if(Ts)return;Ts=!0,Jt();const n=Io.length?Io[Io.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=Wd();if(o)to(o,n,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,r.map(({vnode:s})=>`at <${$l(n,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` -`,...Kd(r)),console.warn(...s)}Zt(),Ts=!1}function Wd(){let e=In[In.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 Kd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Yd(o))}),t}function Yd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${$l(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...Xd(e.props),s]:[r+s]}function Xd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Ei(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Ei(e,t,o){return Xe(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ot(t)?(t=Ei(e,Ge(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Pe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ge(t),o?t:[`${e}=`,t])}function tn(e,t,o,n){try{return n?e(...n):e()}catch(r){Nn(r,t,o)}}function Bt(e,t,o,n){if(Pe(e)){const r=tn(e,t,o,n);return r&&Ya(r)&&r.catch(s=>{Nn(s,t,o)}),r}if(Ee(e)){const r=[];for(let s=0;s>>1,r=wt[n],s=Rn(r);s=Rn(o)?wt.push(e):wt.splice(Zd(t),0,e),e.flags|=1,Ci()}}function Ci(){Sr||(Sr=Ai.then(Pi))}function Qd(e){if(!Ee(e))Co&&e.id===-1?Co.splice(nn+1,0,e):e.flags&1||(on.push(e),e.flags|=1);else for(let t=0;tRn(o)-Rn(n));if(on.length=0,Co){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Pi(e){try{for(eo=0;eo{n._d&&Fr(-1);const s=Er(t),a=ho.length;let i;try{i=e(...r)}finally{for(let l=ho.length;l>a;l--)Ks();Er(s),n._d&&Fr(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Nt(e,t){if(pt===null)return e;const o=zr(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Pe(t)?t.call(n&&n.proxy):t}}function ef(){return!!(bo()||qo)}const tf=Symbol.for("v-scx"),of=()=>Me(tf);function nf(e,t){return Ps(e,null,t)}function ht(e,t,o){return Ps(e,t,o)}function Ps(e,t,o=Ye){const{immediate:n,deep:r,flush:s,once:a}=o,i=st({},o),l=t&&n||!t&&s!=="post";let c;if(ln){if(s==="sync"){const w=of();c=w.__watcherHandles||(w.__watcherHandles=[])}else if(!l){const w=()=>{};return w.stop=Yt,w.resume=Yt,w.pause=Yt,w}}const u=mt;i.call=(w,$,y)=>Bt(w,u,$,y);let g=!1;s==="post"?i.scheduler=w=>{kt(w,u&&u.suspense)}:s!=="sync"&&(g=!0,i.scheduler=(w,$)=>{$?w():Ls(w)}),i.augmentJob=w=>{t&&(w.flags|=4),g&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const b=Vd(e,t,i);return ln&&(c?c.push(b):l&&b()),b}function rf(e,t,o){const n=this.proxy,r=Xe(e)?e.includes(".")?Ii(n,e):()=>n[e]:e.bind(n,n);let s;Pe(t)?s=t:(s=t.handler,o=t);const a=Vn(this),i=Ps(r,s.bind(n),o);return a(),i}function Ii(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),sf=e=>e&&(e.defer||e.defer===""),Ri=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Fi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ms=(e,t)=>{const o=e&&e.to;return Xe(o)?t?t(o):null:o},af={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,i,l,c){const{mc:u,pc:g,pbc:b,o:{insert:w,querySelector:$,createText:y,createComment:x,parentNode:E}}=c,m=Ho(t.props);let{dynamicChildren:d}=t;const f=(S,M,T)=>{S.shapeFlag&16&&u(S.children,M,T,r,s,a,i,l)},p=(S=t)=>{const M=Ho(S.props),T=S.target=Ms(S.props,$),z=Is(T,S,y,w);T&&(a!=="svg"&&Ri(T)?a="svg":a!=="mathml"&&Fi(T)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(T),M||(f(S,T,z),Fn(S,!1)))},k=S=>{const M=()=>{if(To.get(S)===M){if(To.delete(S),Ho(S.props)){const T=E(S.el)||o;f(S,T,S.anchor),Fn(S,!0)}p(S)}};To.set(S,M),kt(M,s)};if(e==null){const S=t.el=y(""),M=t.anchor=y("");if(w(S,o,n),w(M,o,n),sf(t.props)||s&&s.pendingBranch){k(t);return}m&&(f(t,o,M),Fn(t,!0)),p()}else{t.el=e.el;const S=t.anchor=e.anchor,M=To.get(e);if(M){M.flags|=8,To.delete(e),k(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,z=t.targetAnchor=e.targetAnchor,q=Ho(e.props),Z=q?o:T,he=q?S:z;if(a==="svg"||Ri(T)?a="svg":(a==="mathml"||Fi(T))&&(a="mathml"),d?(b(e.dynamicChildren,d,Z,r,s,a,i),Vs(e,t,!0)):l||g(e,t,Z,he,r,s,a,i,!1),m)q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Cr(t,o,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=Ms(t.props,$);j&&(t.target=j,Cr(t,j,null,c,0))}else q&&Cr(t,T,z,c,1);Fn(t,m)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:b}=e,w=Ho(b),$=s||!w,y=To.get(e);if(y&&(y.flags|=8,To.delete(e)),g&&(r(c),r(u)),s&&r(l),!y&&(w||g)&&a&16)for(let x=0;x1){for(const o of e)if(o.type!==to){t=o;break}}return t}function Oi(e){if(!Pr(e))return Ar(e.type)&&e.children?uf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Pe(o.default))return o.default()}}function Rs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Rs(Ar(o.type)&&Oi(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 On(e,t){return Pe(e)?st({name:e.name},t,{setup:e}):e}function Fs(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Di(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Tr=new WeakMap;function Dn(e,t,o,n,r=!1){if(Ee(e)){e.forEach((y,x)=>Dn(y,t&&(Ee(t)?t[x]:t),o,n,r));return}if(sn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Dn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?zr(n.component):n.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ye?i.refs={}:i.refs,g=i.setupState,b=Ge(g),w=g===Ye?Wa:y=>Di(u,y)?!1:qe(b,y),$=(y,x)=>!(x&&Di(u,x));if(c!=null&&c!==l){if(ji(t),Xe(c))u[c]=null,w(c)&&(g[c]=null);else if(ot(c)){const y=t;$(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Pe(l))tn(l,i,12,[a,u]);else{const y=Xe(l),x=ot(l);if(y||x){const E=()=>{if(e.f){const m=y?w(l)?g[l]:u[l]:$()||!e.k?l.value:u[e.k];if(r)Ee(m)&&ps(m,s);else if(Ee(m))m.includes(s)||m.push(s);else if(y)u[l]=[s],w(l)&&(g[l]=u[l]);else{const d=[s];$(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,w(l)&&(g[l]=a)):x&&($(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const m=()=>{E(),Tr.delete(e)};m.id=-1,Tr.set(e,m),kt(m,o)}else ji(e),E()}}}function ji(e){const t=Tr.get(e);t&&(t.flags|=8,Tr.delete(e))}const zi=e=>e.nodeType===8;gr().requestIdleCallback,gr().cancelIdleCallback;function df(e,t){if(zi(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(zi(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const sn=e=>!!e.type.__asyncLoader;function ff(e){Pe(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const b=()=>(g++,c=null,w()),w=()=>{let $;return c||($=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((x,E)=>{l(y,()=>x(b()),()=>E(y),g+1)});throw y}).then(y=>$!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return On({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate($,y,x){const E=$.isConnected;let m=!1;(y.bu||(y.bu=[])).push(()=>m=!0);const d=()=>{m||!$.parentNode||E&&!$.isConnected||x()},f=s?()=>{const p=s(d,k=>df($,k));p&&(y.bum||(y.bum=[])).push(p)}:d;u?f():w().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const $=mt;if(Fs($),u)return()=>Lr(u,$);const y=p=>{c=null,Nn(p,$,13,!n)};if(i&&$.suspense||ln)return w().then(p=>()=>Lr(p,$)).catch(p=>(y(p),()=>n?Ue(n,{error:p}):null));const x=le(!1),E=le(),m=le(!!r);let d,f;return Ir(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{$.isUnmounted||(m.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!$.isUnmounted&&!x.value&&!E.value){const p=new Error(`Async component timed out after ${a}ms.`);y(p),E.value=p}},a)),w().then(()=>{$.isUnmounted||(x.value=!0,$.parent&&Pr($.parent.vnode)&&$.parent.update())}).catch(p=>{if($.isUnmounted){c=null;return}y(p),E.value=p}),()=>{if(x.value&&u)return Lr(u,$);if(E.value&&n)return Ue(n,{error:E.value});if(o&&!m.value)return Lr(o,$)}}})}function Lr(e,t){const{ref:o,props:n,children:r,ce:s}=t.vnode,a=Ue(e,n,r);return a.ref=o,a.ce=s,delete t.vnode.ce,a}const Pr=e=>e.type.__isKeepAlive;function pf(e,t){Bi(e,"a",t)}function gf(e,t){Bi(e,"da",t)}function Bi(e,t,o=mt){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Mr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)Pr(r.parent.vnode)&&hf(n,t,o,r),r=r.parent}}function hf(e,t,o,n){const r=Mr(t,e,n,!0);Ir(()=>{ps(n[t],r)},o)}function Mr(e,t,o=mt,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Jt();const i=Vn(o),l=Bt(t,o,e,a);return i(),Zt(),l});return n?r.unshift(s):r.push(s),s}}const go=e=>(t,o=mt)=>{(!ln||e==="sp")&&Mr(e,(...n)=>t(...n),o)},Ui=go("bm"),vt=go("m"),mf=go("bu"),bf=go("u"),Ut=go("bum"),Ir=go("um"),_f=go("sp"),yf=go("rtg"),vf=go("rtc");function wf(e,t=mt){Mr("ec",e,t)}const xf="components",Gi=Symbol.for("v-ndc");function Hi(e){return Xe(e)?kf(xf,e,!1)||e:e||Gi}function kf(e,t,o=!0,n=!1){const r=pt||mt;if(r){const s=r.type;{const i=kl(s,!1);if(i&&(i===t||i===dt(t)||i===fr(dt(t))))return s}const a=qi(r[e]||s[e],t)||qi(r.appContext[e],t);return!a&&n?s:a}}function qi(e,t){return e&&(e[t]||e[dt(t)]||e[fr(dt(t))])}function rt(e,t,o,n){let r;const s=o,a=Ee(e);if(a||Xe(e)){const i=a&&uo(e);let l=!1,c=!1;i&&(l=!Pt(e),c=fo(e),e=br(e)),r=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return Q(),oo(Ne,null,[Ue("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=ho.length;Q();let l;try{const c=a&&Vi(a(o)),u=o.key||s||c&&c.key;l=oo(Ne,{key:(u&&!Tt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=ho.length;u>i;u--)Ks();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Vi(e){return e.some(t=>Gn(t)?!(t.type===to||t.type===Ne&&!Vi(t.children)):!0)?e:null}const Ds=e=>e?vl(e)?zr(e):Ds(e.parent):null,jn=st(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=>Ds(e.parent),$root:e=>Ds(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ls(e.update)}),$nextTick:e=>e.n||(e.n=Uo.bind(e.proxy)),$watch:e=>rf.bind(e)}),js=(e,t)=>e!==Ye&&!e.__isScriptSetup&&qe(e,t),$f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(js(n,t))return a[t]=1,n[t];if(r!==Ye&&qe(r,t))return a[t]=2,r[t];if(qe(s,t))return a[t]=3,s[t];if(o!==Ye&&qe(o,t))return a[t]=4,o[t];zs&&(a[t]=0)}}const c=jn[t];let u,g;if(c)return t==="$attrs"&&yt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ye&&qe(o,t))return a[t]=4,o[t];if(g=l.config.globalProperties,qe(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return js(r,t)?(r[t]=o,!0):n!==Ye&&qe(n,t)?(n[t]=o,!0):qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},i){let l;return!!(o[i]||e!==Ye&&i[0]!=="$"&&qe(e,i)||js(t,i)||qe(s,i)||qe(n,i)||qe(jn,i)||qe(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:qe(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Wi(e){return Ee(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let zs=!0;function Sf(e){const t=Xi(e),o=e.proxy,n=e.ctx;zs=!1,t.beforeCreate&&Ki(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:b,beforeUpdate:w,updated:$,activated:y,deactivated:x,beforeDestroy:E,beforeUnmount:m,destroyed:d,unmounted:f,render:p,renderTracked:k,renderTriggered:S,errorCaptured:M,serverPrefetch:T,expose:z,inheritAttrs:q,components:Z,directives:he,filters:j}=t;if(c&&Ef(c,n,null),a)for(const D in a){const L=a[D];Pe(L)&&(n[D]=L.bind(o))}if(r){const D=r.call(o,o);Ve(D)&&(e.data=zo(D))}if(zs=!0,s)for(const D in s){const L=s[D],U=Pe(L)?L.bind(o,o):Pe(L.get)?L.get.bind(o,o):Yt,R=!Pe(L)&&Pe(L.set)?L.set.bind(o):Yt,P=ne({get:U,set:R});Object.defineProperty(n,D,{enumerable:!0,configurable:!0,get:()=>P.value,set:V=>P.value=V})}if(i)for(const D in i)Yi(i[D],n,o,D);if(l){const D=Pe(l)?l.call(o):l;Reflect.ownKeys(D).forEach(L=>{gt(L,D[L])})}u&&Ki(u,e,"c");function G(D,L){Ee(L)?L.forEach(U=>D(U.bind(o))):L&&D(L.bind(o))}if(G(Ui,g),G(vt,b),G(mf,w),G(bf,$),G(pf,y),G(gf,x),G(wf,M),G(vf,k),G(yf,S),G(Ut,m),G(Ir,f),G(_f,T),Ee(z))if(z.length){const D=e.exposed||(e.exposed={});z.forEach(L=>{Object.defineProperty(D,L,{get:()=>o[L],set:U=>o[L]=U,enumerable:!0})})}else e.exposed||(e.exposed={});p&&e.render===Yt&&(e.render=p),q!=null&&(e.inheritAttrs=q),Z&&(e.components=Z),he&&(e.directives=he),T&&Fs(e)}function Ef(e,t,o=Yt){Ee(e)&&(e=Bs(e));for(const n in e){const r=e[n];let s;Ve(r)?"default"in r?s=Me(r.from||n,r.default,!0):s=Me(r.from||n):s=Me(r),ot(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Ki(e,t,o){Bt(Ee(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Yi(e,t,o,n){let r=n.includes(".")?Ii(o,n):()=>o[n];if(Xe(e)){const s=t[e];Pe(s)&&ht(r,s)}else if(Pe(e))ht(r,e.bind(o));else if(Ve(e))if(Ee(e))e.forEach(s=>Yi(s,t,o,n));else{const s=Pe(e.handler)?e.handler.bind(o):t[e.handler];Pe(s)&&ht(r,s,e)}}function Xi(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!o&&!n?l=t:(l={},r.length&&r.forEach(c=>Nr(l,c,a,!0)),Nr(l,t,a)),Ve(t)&&s.set(t,l),l}function Nr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&Nr(e,s,o,!0),r&&r.forEach(a=>Nr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const i=Af[a]||o&&o[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Af={data:Ji,props:Zi,emits:Zi,methods:zn,computed:zn,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:zn,directives:zn,watch:Tf,provide:Ji,inject:Cf};function Ji(e,t){return t?e?function(){return st(Pe(e)?e.call(this,this):e,Pe(t)?t.call(this,this):t)}:t:e}function Cf(e,t){return zn(Bs(e),Bs(t))}function Bs(e){if(Ee(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${dt(t)}Modifiers`]||e[`${Lt(t)}Modifiers`];function If(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ye;let r=o;const s=t.startsWith("update:"),a=s&&Mf(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Xe(u)?u.trim():u)),a.number&&(r=r.map(hs)));let i,l=n[i=gs(t)]||n[i=gs(dt(t))];!l&&s&&(l=n[i=gs(Lt(t))]),l&&Bt(l,e,6,r);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Bt(c,e,6,r)}}const Nf=new WeakMap;function el(e,t,o=!1){const n=o?Nf:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Pe(e)){const l=c=>{const u=el(c,t,!0);u&&(i=!0,st(a,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ve(e)&&n.set(e,null),null):(Ee(s)?s.forEach(l=>a[l]=null):st(a,s),Ve(e)&&n.set(e,a),a)}function Rr(e,t){return!e||!ar(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),qe(e,t[0].toLowerCase()+t.slice(1))||qe(e,Lt(t))||qe(e,t))}function ix(){}function tl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:g,data:b,setupState:w,ctx:$,inheritAttrs:y}=e,x=Er(e);let E,m;try{if(o.shapeFlag&4){const f=r||n,p=f;E=no(c.call(p,f,u,g,w,b,$)),m=i}else{const f=t;E=no(f.length>1?f(g,{attrs:i,slots:a,emit:l}):f(g,null)),m=t.props?i:Rf(i)}}catch(f){ho.length=0,Nn(f,e,1),E=Ue(to)}let d=E;if(m&&y!==!1){const f=Object.keys(m),{shapeFlag:p}=d;f.length&&p&7&&(s&&f.some(ir)&&(m=Ff(m,s)),d=an(d,m,!1,!0))}if(o.dirs&&(d=an(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(o.dirs):o.dirs),o.transition){const f=Ar(d.type)&&Oi(d)||d;Rs(f,o.transition)}return E=d,Er(x),E}const Rf=e=>{let t;for(const o in e)(o==="class"||o==="style"||ar(o))&&((t||(t={}))[o]=e[o]);return t},Ff=(e,t)=>{const o={};for(const n in e)(!ir(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Of(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ol(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(rl),al=e=>Object.getPrototypeOf(e)===rl;function jf(e,t,o,n=!1){const r={},s=sl();e.propsDefaults=Object.create(null),il(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:Od(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function zf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Ge(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[b,w]=ll(g,t,!0);st(a,b),w&&i.push(...w)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ve(e)&&n.set(e,Zo),Zo;if(Ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Hs=e=>Ee(e)?e.map(no):[no(e)],Uf=(e,t,o)=>{if(t._n)return t;const n=rn((...r)=>Hs(t(...r)),o);return n._c=!1,n},ul=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Gs(r))continue;const s=e[r];if(Pe(s))t[r]=Uf(r,s,n);else if(s!=null){const a=Hs(s);t[r]=()=>a}}},dl=(e,t)=>{const o=Hs(t);e.slots.default=()=>o},fl=(e,t,o)=>{for(const n in t)(o||!Gs(n))&&(e[n]=t[n])},Gf=(e,t,o)=>{const n=e.slots=sl();if(e.vnode.shapeFlag&32){const r=t._;r?(fl(n,t,o),o&&Ja(n,"_",r,!0)):ul(t,n)}else t&&dl(e,t)},Hf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ye;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:fl(r,t,o):(s=!t.$stable,ul(t,r)),a=t}else t&&(dl(e,t),a={default:1});if(s)for(const i in r)!Gs(i)&&a[i]==null&&delete r[i]},kt=Yf;function qf(e){return Vf(e)}function Vf(e,t){const o=gr();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:b,setScopeId:w=Yt,insertStaticContent:$}=e,y=(v,C,A,B=null,X=null,J=null,se=void 0,ee=null,h=!!C.dynamicChildren)=>{if(v===C)return;v&&!Hn(v,C)&&(B=Le(v),V(v,X,J,!0),v=null),C.patchFlag===-2&&(h=!1,C.dynamicChildren=null);const{type:_,ref:O,shapeFlag:W}=C;switch(_){case Bn:x(v,C,A,B);break;case to:E(v,C,A,B);break;case Ws:v==null&&m(C,A,B,se);break;case Ne:Z(v,C,A,B,X,J,se,ee,h);break;default:W&1?p(v,C,A,B,X,J,se,ee,h):W&6?he(v,C,A,B,X,J,se,ee,h):(W&64||W&128)&&_.process(v,C,A,B,X,J,se,ee,h,be)}O!=null&&X?Dn(O,v&&v.ref,J,C||v,!C):O==null&&v&&v.ref!=null&&Dn(v.ref,null,J,v,!0)},x=(v,C,A,B)=>{if(v==null)n(C.el=i(C.children),A,B);else{const X=C.el=v.el;C.children!==v.children&&c(X,C.children)}},E=(v,C,A,B)=>{v==null?n(C.el=l(C.children||""),A,B):C.el=v.el},m=(v,C,A,B)=>{[v.el,v.anchor]=$(v.children,C,A,B,v.el,v.anchor)},d=({el:v,anchor:C},A,B)=>{let X;for(;v&&v!==C;)X=b(v),n(v,A,B),v=X;n(C,A,B)},f=({el:v,anchor:C})=>{let A;for(;v&&v!==C;)A=b(v),r(v),v=A;r(C)},p=(v,C,A,B,X,J,se,ee,h)=>{if(C.type==="svg"?se="svg":C.type==="math"&&(se="mathml"),v==null)k(C,A,B,X,J,se,ee,h);else{const _=v.el&&v.el._isVueCE?v.el:null;try{_&&_._beginPatch(),T(v,C,X,J,se,ee,h)}finally{_&&_._endPatch()}}},k=(v,C,A,B,X,J,se,ee)=>{let h,_;const{props:O,shapeFlag:W,transition:de,dirs:ae}=v;if(h=v.el=a(v.type,J,O&&O.is,O),W&8?u(h,v.children):W&16&&M(v.children,h,null,B,X,qs(v,J),se,ee),ae&&Go(v,null,B,"created"),S(h,v,v.scopeId,se,B),O){for(const Y in O)Y!=="value"&&!Sn(Y)&&s(h,Y,null,O[Y],J,B);"value"in O&&s(h,"value",null,O.value,J),(_=O.onVnodeBeforeMount)&&ro(_,B,v)}ae&&Go(v,null,B,"beforeMount");const F=Wf(X,de);F&&de.beforeEnter(h),n(h,C,A),((_=O&&O.onVnodeMounted)||F||ae)&&kt(()=>{try{_&&ro(_,B,v),F&&de.enter(h),ae&&Go(v,null,B,"mounted")}finally{}},X)},S=(v,C,A,B,X)=>{if(A&&w(v,A),B)for(let J=0;J{for(let _=h;_{const ee=C.el=v.el;let{patchFlag:h,dynamicChildren:_,dirs:O}=C;h|=v.patchFlag&16;const W=v.props||Ye,de=C.props||Ye;let ae;if(A&&Vo(A,!1),(ae=de.onVnodeBeforeUpdate)&&ro(ae,A,C,v),O&&Go(C,v,A,"beforeUpdate"),A&&Vo(A,!0),_&&(!v.dynamicChildren||v.dynamicChildren.length!==_.length)&&(h=0,se=!1,_=null),(W.innerHTML&&de.innerHTML==null||W.textContent&&de.textContent==null)&&u(ee,""),_?z(v.dynamicChildren,_,ee,A,B,qs(C,X),J):se||L(v,C,ee,null,A,B,qs(C,X),J,!1),h>0){if(h&16)q(ee,W,de,A,X);else if(h&2&&W.class!==de.class&&s(ee,"class",null,de.class,X),h&4&&s(ee,"style",W.style,de.style,X),h&8){const F=C.dynamicProps;for(let Y=0;Y{ae&&ro(ae,A,C,v),O&&Go(C,v,A,"updated")},B)},z=(v,C,A,B,X,J,se)=>{for(let ee=0;ee{if(C!==A){if(C!==Ye)for(const J in C)!Sn(J)&&!(J in A)&&s(v,J,C[J],null,X,B);for(const J in A){if(Sn(J))continue;const se=A[J],ee=C[J];se!==ee&&J!=="value"&&s(v,J,ee,se,X,B)}"value"in A&&s(v,"value",C.value,A.value,X)}},Z=(v,C,A,B,X,J,se,ee,h)=>{const _=C.el=v?v.el:i(""),O=C.anchor=v?v.anchor:i("");let{patchFlag:W,dynamicChildren:de,slotScopeIds:ae}=C;ae&&(ee=ee?ee.concat(ae):ae),v==null?(n(_,A,B),n(O,A,B),M(C.children||[],A,O,X,J,se,ee,h)):W>0&&W&64&&de&&v.dynamicChildren&&v.dynamicChildren.length===de.length?(z(v.dynamicChildren,de,A,X,J,se,ee),(C.key!=null||X&&C===X.subTree)&&Vs(v,C,!0)):L(v,C,A,O,X,J,se,ee,h)},he=(v,C,A,B,X,J,se,ee,h)=>{C.slotScopeIds=ee,v==null?C.shapeFlag&512?X.ctx.activate(C,A,B,se,h):j(C,A,B,X,J,se,h):K(v,C,h)},j=(v,C,A,B,X,J,se)=>{const ee=v.component=tp(v,B,X);if(Pr(v)&&(ee.ctx.renderer=be),op(ee,!1,se),ee.asyncDep){if(X&&X.registerDep(ee,G,se),!v.el){const h=ee.subTree=Ue(to);E(null,h,C,A),v.placeholder=h.el}}else G(ee,v,C,A,X,J,se)},K=(v,C,A)=>{const B=C.component=v.component;if(Of(v,C,A))if(B.asyncDep&&!B.asyncResolved){D(B,C,A);return}else B.next=C,B.update();else C.el=v.el,B.vnode=C},G=(v,C,A,B,X,J,se)=>{const ee=()=>{if(v.isMounted){let{next:W,bu:de,u:ae,parent:F,vnode:Y}=v;{const nt=pl(v);if(nt){W&&(W.el=Y.el,D(v,W,se)),nt.asyncDep.then(()=>{kt(()=>{v.isUnmounted||_()},X)});return}}let me=W,Se;Vo(v,!1),W?(W.el=Y.el,D(v,W,se)):W=Y,de&&pr(de),(Se=W.props&&W.props.onVnodeBeforeUpdate)&&ro(Se,F,W,Y),Vo(v,!0);const De=tl(v),Qe=v.subTree;v.subTree=De,y(Qe,De,g(Qe.el),Le(Qe),v,X,J),W.el=De.el,me===null&&Df(v,De.el),ae&&kt(ae,X),(Se=W.props&&W.props.onVnodeUpdated)&&kt(()=>ro(Se,F,W,Y),X)}else{let W;const{el:de,props:ae}=C,{bm:F,m:Y,parent:me,root:Se,type:De}=v,Qe=sn(C);Vo(v,!1),F&&pr(F),!Qe&&(W=ae&&ae.onVnodeBeforeMount)&&ro(W,me,C),Vo(v,!0);{Se.ce&&Se.ce._hasShadowRoot()&&Se.ce._injectChildStyle(De,v.parent?v.parent.type:void 0);const nt=v.subTree=tl(v);y(null,nt,A,B,v,X,J),C.el=nt.el}if(Y&&kt(Y,X),!Qe&&(W=ae&&ae.onVnodeMounted)){const nt=C;kt(()=>ro(W,me,nt),X)}(C.shapeFlag&256||me&&sn(me.vnode)&&me.vnode.shapeFlag&256)&&v.a&&kt(v.a,X),v.isMounted=!0,C=A=B=null}};v.scope.on();const h=v.effect=new ai(ee);v.scope.off();const _=v.update=h.run.bind(h),O=v.job=h.runIfDirty.bind(h);O.i=v,O.id=v.uid,h.scheduler=()=>Ls(O),Vo(v,!0),_()},D=(v,C,A)=>{C.component=v;const B=v.vnode.props;v.vnode=C,v.next=null,zf(v,C.props,B,A),Hf(v,C.children,A),Jt(),Ti(v),Zt()},L=(v,C,A,B,X,J,se,ee,h=!1)=>{const _=v&&v.children,O=v?v.shapeFlag:0,W=C.children,{patchFlag:de,shapeFlag:ae}=C;if(de>0){if(de&128){R(_,W,A,B,X,J,se,ee,h);return}else if(de&256){U(_,W,A,B,X,J,se,ee,h);return}}ae&8?(O&16&&Te(_,X,J),W!==_&&u(A,W)):O&16?ae&16?R(_,W,A,B,X,J,se,ee,h):Te(_,X,J,!0):(O&8&&u(A,""),ae&16&&M(W,A,B,X,J,se,ee,h))},U=(v,C,A,B,X,J,se,ee,h)=>{v=v||Zo,C=C||Zo;const _=v.length,O=C.length,W=Math.min(_,O);let de;for(de=0;deO?Te(v,X,J,!0,!1,W):M(C,A,B,X,J,se,ee,h,W)},R=(v,C,A,B,X,J,se,ee,h)=>{let _=0;const O=C.length;let W=v.length-1,de=O-1;for(;_<=W&&_<=de;){const ae=v[_],F=C[_]=h?mo(C[_]):no(C[_]);if(Hn(ae,F))y(ae,F,A,null,X,J,se,ee,h);else break;_++}for(;_<=W&&_<=de;){const ae=v[W],F=C[de]=h?mo(C[de]):no(C[de]);if(Hn(ae,F))y(ae,F,A,null,X,J,se,ee,h);else break;W--,de--}if(_>W){if(_<=de){const ae=de+1,F=aede)for(;_<=W;)V(v[_],X,J,!0),_++;else{const ae=_,F=_,Y=new Map;for(_=F;_<=de;_++){const ue=C[_]=h?mo(C[_]):no(C[_]);ue.key!=null&&Y.set(ue.key,_)}let me,Se=0;const De=de-F+1;let Qe=!1,nt=0;const Ot=new Array(De);for(_=0;_=De){V(ue,X,J,!0);continue}let fe;if(ue.key!=null)fe=Y.get(ue.key);else for(me=F;me<=de;me++)if(Ot[me-F]===0&&Hn(ue,C[me])){fe=me;break}fe===void 0?V(ue,X,J,!0):(Ot[fe-F]=_+1,fe>=nt?nt=fe:Qe=!0,y(ue,C[fe],A,null,X,J,se,ee,h),Se++)}const te=Qe?Kf(Ot):Zo;for(me=te.length-1,_=De-1;_>=0;_--){const ue=F+_,fe=C[ue],je=C[ue+1],Oe=ue+1{const{el:J,type:se,transition:ee,children:h,shapeFlag:_}=v;if(_&6){P(v.component.subTree,C,A,B);return}if(_&128){v.suspense.move(C,A,B);return}if(_&64){se.move(v,C,A,be);return}if(se===Ne){n(J,C,A);for(let W=0;Wee.enter(J),X));else{const{leave:W,delayLeave:de,afterLeave:ae}=ee,F=()=>{v.ctx.isUnmounted?r(J):n(J,C,A)},Y=()=>{const me=J._isLeaving||!!J[Ns];J._isLeaving&&J[Ns](!0),ee.persisted&&!me?F():W(J,()=>{F(),ae&&ae()})};de?de(J,F,Y):Y()}else n(J,C,A)},V=(v,C,A,B=!1,X=!1)=>{const{type:J,props:se,ref:ee,children:h,dynamicChildren:_,shapeFlag:O,patchFlag:W,dirs:de,cacheIndex:ae,memo:F}=v;if(W===-2&&(X=!1),ee!=null&&(Jt(),Dn(ee,null,A,v,!0),Zt()),ae!=null&&(C.renderCache[ae]=void 0),O&256){C.ctx.deactivate(v);return}const Y=O&1&&de,me=!sn(v);let Se;if(me&&(Se=se&&se.onVnodeBeforeUnmount)&&ro(Se,C,v),O&6)Ce(v.component,A,B);else{if(O&128){v.suspense.unmount(A,B);return}Y&&Go(v,null,C,"beforeUnmount"),O&64?v.type.remove(v,C,A,be,B):_&&!_.hasOnce&&(J!==Ne||W>0&&W&64)?Te(_,C,A,!1,!0):(J===Ne&&W&384||!X&&O&16)&&Te(h,C,A),B&&re(v)}const De=F!=null&&ae==null;(me&&(Se=se&&se.onVnodeUnmounted)||Y||De)&&kt(()=>{Se&&ro(Se,C,v),Y&&Go(v,null,C,"unmounted"),De&&(v.el=null)},A)},re=v=>{const{type:C,el:A,anchor:B,transition:X}=v;if(C===Ne){ye(A,B);return}if(C===Ws){f(v);return}const J=()=>{r(A),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(v.shapeFlag&1&&X&&!X.persisted){const{leave:se,delayLeave:ee}=X,h=()=>se(A,J);ee?ee(v.el,J,h):h()}else J()},ye=(v,C)=>{let A;for(;v!==C;)A=b(v),r(v),v=A;r(C)},Ce=(v,C,A)=>{const{bum:B,scope:X,job:J,subTree:se,um:ee,m:h,a:_}=v;gl(h),gl(_),B&&pr(B),X.stop(),J&&(J.flags|=8,V(se,v,C,A)),ee&&kt(ee,C),kt(()=>{v.isUnmounted=!0},C)},Te=(v,C,A,B=!1,X=!1,J=0)=>{for(let se=J;se{if(v.shapeFlag&6)return Le(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const C=b(v.anchor||v.el),A=C&&C[Ni];return A?b(A):C};let ve=!1;const _e=(v,C,A)=>{let B;v==null?C._vnode&&(V(C._vnode,null,null,!0),B=C._vnode.component):y(C._vnode||null,v,C,null,null,null,A),C._vnode=v,ve||(ve=!0,Ti(B),Li(),ve=!1)},be={p:y,um:V,m:P,r:re,mt:j,mc:M,pc:L,pbc:z,n:Le,o:e};return{render:_e,hydrate:void 0,createApp:Pf(_e)}}function qs({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 Vo({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 Vs(e,t,o=!1){const n=e.children,r=t.children;if(Ee(n)&&Ee(r))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function pl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:pl(t)}function gl(e){if(e)for(let t=0;te.__isSuspense;function Yf(e,t){t&&t.pendingBranch?Ee(e)?t.effects.push(...e):t.effects.push(e):Qd(e)}const Ne=Symbol.for("v-fgt"),Bn=Symbol.for("v-txt"),to=Symbol.for("v-cmt"),Ws=Symbol.for("v-stc"),ho=[];let Mt=null;function Q(e=!1){ho.push(Mt=e?null:[])}function Ks(){ho.pop(),Mt=ho[ho.length-1]||null}let Un=1;function Fr(e,t=!1){Un+=e,e<0&&Mt&&t&&(Mt.hasOnce=!0)}function bl(e){return e.dynamicChildren=Un>0?Mt||Zo:null,Ks(),Un>0&&Mt&&Mt.push(e),e}function oe(e,t,o,n,r,s){return bl(N(e,t,o,n,r,s,!0))}function oo(e,t,o,n,r){return bl(Ue(e,t,o,n,r,!0))}function Gn(e){return e?e.__v_isVNode===!0:!1}function Hn(e,t){return e.type===t.type&&e.key===t.key}const _l=({key:e})=>e??null,Or=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Xe(e)||ot(e)||Pe(e)?{i:pt,r:e,k:t,f:!!o}:e:null);function N(e,t=null,o=null,n=0,r=null,s=e===Ne?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_l(t),ref:t&&Or(t),scopeId:Mi,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pt};return i?(Dr(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Xe(o)?8:16),Un>0&&!a&&Mt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Mt.push(l),l}const Ue=Xf;function Xf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Gi)&&(e=to),Gn(e)){const i=an(e,t,!0);return o&&Dr(i,o),Un>0&&!s&&Mt&&(i.shapeFlag&6?Mt[Mt.indexOf(e)]=i:Mt.push(i)),i.patchFlag=-2,i}if(lp(e)&&(e=e.__vccOpts),t){t=Jf(t);let{class:i,style:l}=t;i&&!Xe(i)&&(t.class=Be(i)),Ve(l)&&(xr(l)&&!Ee(l)&&(l=st({},l)),t.style=lt(l))}const a=Xe(e)?1:ml(e)?128:Ar(e)?64:Ve(e)?4:Pe(e)?2:0;return N(e,t,o,n,r,a,s,!0)}function Jf(e){return e?xr(e)||al(e)?st({},e):e:null}function an(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Zf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&_l(c),ref:t&&t.ref?o&&s?Ee(s)?s.concat(Or(t)):[s,Or(t)]:Or(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ne?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&an(e.ssContent),ssFallback:e.ssFallback&&an(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Rs(u,l.clone(u)),u}function at(e=" ",t=0){return Ue(Bn,null,e,t)}function We(e="",t=!1){return t?(Q(),oo(to,null,e)):Ue(to,null,e)}function no(e){return e==null||typeof e=="boolean"?Ue(to):Ee(e)?Ue(Ne,null,e.slice()):Gn(e)?mo(e):Ue(Bn,null,String(e))}function mo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:an(e)}function Dr(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(Ee(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Dr(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!al(t)?t._ctx=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Pe(t)){if(n&65){Dr(e,{default:t});return}t={default:t,_ctx:pt},o=32}else t=String(t),n&64?(o=16,t=[at(t)]):o=8;e.children=t,e.shapeFlag|=o}function Zf(...e){const t={};for(let o=0;omt||pt;let jr,qn;{const e=gr(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};jr=t("__VUE_INSTANCE_SETTERS__",o=>mt=o),qn=t("__VUE_SSR_SETTERS__",o=>ln=o)}const Vn=e=>{const t=mt;return jr(e),e.scope.on(),()=>{e.scope.off(),jr(t)}},yl=()=>{mt&&mt.scope.off(),jr(null)};function vl(e){return e.vnode.shapeFlag&4}let ln=!1;function op(e,t=!1,o=!1){t&&qn(t);const{props:n,children:r}=e.vnode,s=vl(e);jf(e,n,s,t),Gf(e,r,o||t);const a=s?np(e,t):void 0;return t&&qn(!1),a}function np(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$f);const{setup:n}=o;if(n){Jt();const r=e.setupContext=n.length>1?sp(e):null,s=Vn(e),a=tn(n,e,0,[e.props,r]),i=Ya(a);if(Zt(),s(),(i||e.sp)&&!sn(e)&&Fs(e),i){if(a.then(yl,yl),t)return a.then(l=>{qn(!0);try{wl(e,l,t)}finally{qn(!1)}}).catch(l=>{Nn(l,e,0)});e.asyncDep=a}else wl(e,a)}else xl(e)}function wl(e,t,o){Pe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ve(t)&&(e.setupState=Si(t)),xl(e)}function xl(e,t,o){const n=e.type;e.render||(e.render=n.render||Yt);{const r=Vn(e);Jt();try{Sf(e)}finally{Zt(),r()}}}const rp={get(e,t){return yt(e,"get",""),e[t]}};function sp(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,rp),slots:e.slots,emit:e.emit,expose:t}}function zr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Si(Pn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in jn)return jn[o](e)},has(t,o){return o in t||o in jn}})):e.proxy}const ap=/(?:^|[-_])\w/g,ip=e=>e.replace(ap,t=>t.toUpperCase()).replace(/[-_]/g,"");function kl(e,t=!0){return Pe(e)?e.displayName||e.name:e.name||t&&e.__name}function $l(e,t,o=!1){let n=kl(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?ip(n):o?"App":"Anonymous"}function lp(e){return Pe(e)&&"__vccOpts"in e}const ne=(e,t)=>Hd(e,t,ln);function Sl(e,t,o){try{Fr(-1);const n=arguments.length;return n===2?Ve(t)&&!Ee(t)?Gn(t)?Ue(e,null,[t]):Ue(e,t):Ue(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Gn(o)&&(o=[o]),Ue(e,t,o))}finally{Fr(1)}}const cp="3.5.42";/** +`,...Kd(r)),console.warn(...s)}Zt(),Ts=!1}function Wd(){let e=Io[Io.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Kd(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...Yd(n))}),t}function Yd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,r=` at <${$l(e.component,e.type,o)}`,s=">"+n;return e.props?[r,...Xd(e.props),s]:[r+s]}function Xd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Ei(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Ei(e,t,n){return Xe(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:nt(t)?(t=Ei(e,Ge(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Pe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ge(t),n?t:[`${e}=`,t])}function to(e,t,n,o){try{return o?e(...o):e()}catch(r){No(r,t,n)}}function Bt(e,t,n,o){if(Pe(e)){const r=to(e,t,n,o);return r&&Ya(r)&&r.catch(s=>{No(s,t,n)}),r}if(Ee(e)){const r=[];for(let s=0;s>>1,r=wt[o],s=Ro(r);s=Ro(n)?wt.push(e):wt.splice(Zd(t),0,e),e.flags|=1,Ci()}}function Ci(){Sr||(Sr=Ai.then(Pi))}function Qd(e){if(!Ee(e))Cn&&e.id===-1?Cn.splice(oo+1,0,e):e.flags&1||(no.push(e),e.flags|=1);else for(let t=0;tRo(n)-Ro(o));if(no.length=0,Cn){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Pi(e){try{for(en=0;en{o._d&&Fr(-1);const s=Er(t),a=hn.length;let i;try{i=e(...r)}finally{for(let l=hn.length;l>a;l--)Ks();Er(s),o._d&&Fr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Nt(e,t){if(pt===null)return e;const n=zr(pt),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&Pe(t)?t.call(o&&o.proxy):t}}function ef(){return!!(bn()||qn)}const tf=Symbol.for("v-scx"),nf=()=>Me(tf);function of(e,t){return Ps(e,null,t)}function ht(e,t,n){return Ps(e,t,n)}function Ps(e,t,n=Ye){const{immediate:o,deep:r,flush:s,once:a}=n,i=st({},n),l=t&&o||!t&&s!=="post";let c;if(io){if(s==="sync"){const w=nf();c=w.__watcherHandles||(w.__watcherHandles=[])}else if(!l){const w=()=>{};return w.stop=Yt,w.resume=Yt,w.pause=Yt,w}}const u=mt;i.call=(w,$,y)=>Bt(w,u,$,y);let g=!1;s==="post"?i.scheduler=w=>{kt(w,u&&u.suspense)}:s!=="sync"&&(g=!0,i.scheduler=(w,$)=>{$?w():Ls(w)}),i.augmentJob=w=>{t&&(w.flags|=4),g&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const b=Vd(e,t,i);return io&&(c?c.push(b):l&&b()),b}function rf(e,t,n){const o=this.proxy,r=Xe(e)?e.includes(".")?Ii(o,e):()=>o[e]:e.bind(o,o);let s;Pe(t)?s=t:(s=t.handler,n=t);const a=Vo(this),i=Ps(r,s.bind(o),n);return a(),i}function Ii(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Hn=e=>e&&(e.disabled||e.disabled===""),sf=e=>e&&(e.defer||e.defer===""),Ri=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Fi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ms=(e,t)=>{const n=e&&e.to;return Xe(n)?t?t(n):null:n},af={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,s,a,i,l,c){const{mc:u,pc:g,pbc:b,o:{insert:w,querySelector:$,createText:y,createComment:x,parentNode:E}}=c,m=Hn(t.props);let{dynamicChildren:d}=t;const f=(S,M,T)=>{S.shapeFlag&16&&u(S.children,M,T,r,s,a,i,l)},p=(S=t)=>{const M=Hn(S.props),T=S.target=Ms(S.props,$),z=Is(T,S,y,w);T&&(a!=="svg"&&Ri(T)?a="svg":a!=="mathml"&&Fi(T)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(T),M||(f(S,T,z),Fo(S,!1)))},k=S=>{const M=()=>{if(Tn.get(S)===M){if(Tn.delete(S),Hn(S.props)){const T=E(S.el)||n;f(S,T,S.anchor),Fo(S,!0)}p(S)}};Tn.set(S,M),kt(M,s)};if(e==null){const S=t.el=y(""),M=t.anchor=y("");if(w(S,n,o),w(M,n,o),sf(t.props)||s&&s.pendingBranch){k(t);return}m&&(f(t,n,M),Fo(t,!0)),p()}else{t.el=e.el;const S=t.anchor=e.anchor,M=Tn.get(e);if(M){M.flags|=8,Tn.delete(e),k(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,z=t.targetAnchor=e.targetAnchor,q=Hn(e.props),Z=q?n:T,he=q?S:z;if(a==="svg"||Ri(T)?a="svg":(a==="mathml"||Fi(T))&&(a="mathml"),d?(b(e.dynamicChildren,d,Z,r,s,a,i),Vs(e,t,!0)):l||g(e,t,Z,he,r,s,a,i,!1),m)q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Cr(t,n,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const j=Ms(t.props,$);j&&(t.target=j,Cr(t,j,null,c,0))}else q&&Cr(t,T,z,c,1);Fo(t,m)}},remove(e,t,n,{um:o,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:g,props:b}=e,w=Hn(b),$=s||!w,y=Tn.get(e);if(y&&(y.flags|=8,Tn.delete(e)),g&&(r(c),r(u)),s&&r(l),!y&&(w||g)&&a&16)for(let x=0;x1){for(const n of e)if(n.type!==tn){t=n;break}}return t}function Oi(e){if(!Pr(e))return Ar(e.type)&&e.children?uf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Pe(n.default))return n.default()}}function Rs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Rs(Ar(n.type)&&Oi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Oo(e,t){return Pe(e)?st({name:e.name},t,{setup:e}):e}function Fs(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Di(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Tr=new WeakMap;function Do(e,t,n,o,r=!1){if(Ee(e)){e.forEach((y,x)=>Do(y,t&&(Ee(t)?t[x]:t),n,o,r));return}if(so(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Do(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?zr(o.component):o.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ye?i.refs={}:i.refs,g=i.setupState,b=Ge(g),w=g===Ye?Wa:y=>Di(u,y)?!1:qe(b,y),$=(y,x)=>!(x&&Di(u,x));if(c!=null&&c!==l){if(ji(t),Xe(c))u[c]=null,w(c)&&(g[c]=null);else if(nt(c)){const y=t;$(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(Pe(l))to(l,i,12,[a,u]);else{const y=Xe(l),x=nt(l);if(y||x){const E=()=>{if(e.f){const m=y?w(l)?g[l]:u[l]:$()||!e.k?l.value:u[e.k];if(r)Ee(m)&&ps(m,s);else if(Ee(m))m.includes(s)||m.push(s);else if(y)u[l]=[s],w(l)&&(g[l]=u[l]);else{const d=[s];$(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,w(l)&&(g[l]=a)):x&&($(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const m=()=>{E(),Tr.delete(e)};m.id=-1,Tr.set(e,m),kt(m,n)}else ji(e),E()}}}function ji(e){const t=Tr.get(e);t&&(t.flags|=8,Tr.delete(e))}const zi=e=>e.nodeType===8;gr().requestIdleCallback,gr().cancelIdleCallback;function df(e,t){if(zi(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(zi(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const so=e=>!!e.type.__asyncLoader;function ff(e){Pe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const b=()=>(g++,c=null,w()),w=()=>{let $;return c||($=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((x,E)=>{l(y,()=>x(b()),()=>E(y),g+1)});throw y}).then(y=>$!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Oo({name:"AsyncComponentWrapper",__asyncLoader:w,__asyncHydrate($,y,x){const E=$.isConnected;let m=!1;(y.bu||(y.bu=[])).push(()=>m=!0);const d=()=>{m||!$.parentNode||E&&!$.isConnected||x()},f=s?()=>{const p=s(d,k=>df($,k));p&&(y.bum||(y.bum=[])).push(p)}:d;u?f():w().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const $=mt;if(Fs($),u)return()=>Lr(u,$);const y=p=>{c=null,No(p,$,13,!o)};if(i&&$.suspense||io)return w().then(p=>()=>Lr(p,$)).catch(p=>(y(p),()=>o?Ue(o,{error:p}):null));const x=le(!1),E=le(),m=le(!!r);let d,f;return Ir(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{$.isUnmounted||(m.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!$.isUnmounted&&!x.value&&!E.value){const p=new Error(`Async component timed out after ${a}ms.`);y(p),E.value=p}},a)),w().then(()=>{$.isUnmounted||(x.value=!0,$.parent&&Pr($.parent.vnode)&&$.parent.update())}).catch(p=>{if($.isUnmounted){c=null;return}y(p),E.value=p}),()=>{if(x.value&&u)return Lr(u,$);if(E.value&&o)return Ue(o,{error:E.value});if(n&&!m.value)return Lr(n,$)}}})}function Lr(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,a=Ue(e,o,r);return a.ref=n,a.ce=s,delete t.vnode.ce,a}const Pr=e=>e.type.__isKeepAlive;function pf(e,t){Bi(e,"a",t)}function gf(e,t){Bi(e,"da",t)}function Bi(e,t,n=mt){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Mr(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Pr(r.parent.vnode)&&hf(o,t,n,r),r=r.parent}}function hf(e,t,n,o){const r=Mr(t,e,o,!0);Ir(()=>{ps(o[t],r)},n)}function Mr(e,t,n=mt,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Jt();const i=Vo(n),l=Bt(t,n,e,a);return i(),Zt(),l});return o?r.unshift(s):r.push(s),s}}const gn=e=>(t,n=mt)=>{(!io||e==="sp")&&Mr(e,(...o)=>t(...o),n)},Ui=gn("bm"),vt=gn("m"),mf=gn("bu"),bf=gn("u"),Ut=gn("bum"),Ir=gn("um"),_f=gn("sp"),yf=gn("rtg"),vf=gn("rtc");function wf(e,t=mt){Mr("ec",e,t)}const xf="components",Gi=Symbol.for("v-ndc");function Hi(e){return Xe(e)?kf(xf,e,!1)||e:e||Gi}function kf(e,t,n=!0,o=!1){const r=pt||mt;if(r){const s=r.type;{const i=kl(s,!1);if(i&&(i===t||i===dt(t)||i===fr(dt(t))))return s}const a=qi(r[e]||s[e],t)||qi(r.appContext[e],t);return!a&&o?s:a}}function qi(e,t){return e&&(e[t]||e[dt(t)]||e[fr(dt(t))])}function rt(e,t,n,o){let r;const s=n,a=Ee(e);if(a||Xe(e)){const i=a&&dn(e);let l=!1,c=!1;i&&(l=!Pt(e),c=fn(e),e=br(e)),r=new Array(e.length);for(let u=0,g=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return Q(),nn(Ne,null,[Ue("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=hn.length;Q();let l;try{const c=a&&Vi(a(n)),u=n.key||s||c&&c.key;l=nn(Ne,{key:(u&&!Tt(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=hn.length;u>i;u--)Ks();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Vi(e){return e.some(t=>Go(t)?!(t.type===tn||t.type===Ne&&!Vi(t.children)):!0)?e:null}const Ds=e=>e?vl(e)?zr(e):Ds(e.parent):null,jo=st(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=>Ds(e.parent),$root:e=>Ds(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ls(e.update)}),$nextTick:e=>e.n||(e.n=Un.bind(e.proxy)),$watch:e=>rf.bind(e)}),js=(e,t)=>e!==Ye&&!e.__isScriptSetup&&qe(e,t),$f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(js(o,t))return a[t]=1,o[t];if(r!==Ye&&qe(r,t))return a[t]=2,r[t];if(qe(s,t))return a[t]=3,s[t];if(n!==Ye&&qe(n,t))return a[t]=4,n[t];zs&&(a[t]=0)}}const c=jo[t];let u,g;if(c)return t==="$attrs"&&yt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==Ye&&qe(n,t))return a[t]=4,n[t];if(g=l.config.globalProperties,qe(g,t))return g[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return js(r,t)?(r[t]=n,!0):o!==Ye&&qe(o,t)?(o[t]=n,!0):qe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:s,type:a}},i){let l;return!!(n[i]||e!==Ye&&i[0]!=="$"&&qe(e,i)||js(t,i)||qe(s,i)||qe(o,i)||qe(jo,i)||qe(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:qe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Wi(e){return Ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zs=!0;function Sf(e){const t=Xi(e),n=e.proxy,o=e.ctx;zs=!1,t.beforeCreate&&Ki(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:b,beforeUpdate:w,updated:$,activated:y,deactivated:x,beforeDestroy:E,beforeUnmount:m,destroyed:d,unmounted:f,render:p,renderTracked:k,renderTriggered:S,errorCaptured:M,serverPrefetch:T,expose:z,inheritAttrs:q,components:Z,directives:he,filters:j}=t;if(c&&Ef(c,o,null),a)for(const D in a){const L=a[D];Pe(L)&&(o[D]=L.bind(n))}if(r){const D=r.call(n,n);Ve(D)&&(e.data=zn(D))}if(zs=!0,s)for(const D in s){const L=s[D],U=Pe(L)?L.bind(n,n):Pe(L.get)?L.get.bind(n,n):Yt,R=!Pe(L)&&Pe(L.set)?L.set.bind(n):Yt,P=oe({get:U,set:R});Object.defineProperty(o,D,{enumerable:!0,configurable:!0,get:()=>P.value,set:V=>P.value=V})}if(i)for(const D in i)Yi(i[D],o,n,D);if(l){const D=Pe(l)?l.call(n):l;Reflect.ownKeys(D).forEach(L=>{gt(L,D[L])})}u&&Ki(u,e,"c");function G(D,L){Ee(L)?L.forEach(U=>D(U.bind(n))):L&&D(L.bind(n))}if(G(Ui,g),G(vt,b),G(mf,w),G(bf,$),G(pf,y),G(gf,x),G(wf,M),G(vf,k),G(yf,S),G(Ut,m),G(Ir,f),G(_f,T),Ee(z))if(z.length){const D=e.exposed||(e.exposed={});z.forEach(L=>{Object.defineProperty(D,L,{get:()=>n[L],set:U=>n[L]=U,enumerable:!0})})}else e.exposed||(e.exposed={});p&&e.render===Yt&&(e.render=p),q!=null&&(e.inheritAttrs=q),Z&&(e.components=Z),he&&(e.directives=he),T&&Fs(e)}function Ef(e,t,n=Yt){Ee(e)&&(e=Bs(e));for(const o in e){const r=e[o];let s;Ve(r)?"default"in r?s=Me(r.from||o,r.default,!0):s=Me(r.from||o):s=Me(r),nt(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[o]=s}}function Ki(e,t,n){Bt(Ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Yi(e,t,n,o){let r=o.includes(".")?Ii(n,o):()=>n[o];if(Xe(e)){const s=t[e];Pe(s)&&ht(r,s)}else if(Pe(e))ht(r,e.bind(n));else if(Ve(e))if(Ee(e))e.forEach(s=>Yi(s,t,n,o));else{const s=Pe(e.handler)?e.handler.bind(n):t[e.handler];Pe(s)&&ht(r,s,e)}}function Xi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>Nr(l,c,a,!0)),Nr(l,t,a)),Ve(t)&&s.set(t,l),l}function Nr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Nr(e,s,n,!0),r&&r.forEach(a=>Nr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=Af[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Af={data:Ji,props:Zi,emits:Zi,methods:zo,computed:zo,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:zo,directives:zo,watch:Tf,provide:Ji,inject:Cf};function Ji(e,t){return t?e?function(){return st(Pe(e)?e.call(this,this):e,Pe(t)?t.call(this,this):t)}:t:e}function Cf(e,t){return zo(Bs(e),Bs(t))}function Bs(e){if(Ee(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${dt(t)}Modifiers`]||e[`${Lt(t)}Modifiers`];function If(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Ye;let r=n;const s=t.startsWith("update:"),a=s&&Mf(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>Xe(u)?u.trim():u)),a.number&&(r=r.map(hs)));let i,l=o[i=gs(t)]||o[i=gs(dt(t))];!l&&s&&(l=o[i=gs(Lt(t))]),l&&Bt(l,e,6,r);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Bt(c,e,6,r)}}const Nf=new WeakMap;function el(e,t,n=!1){const o=n?Nf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!Pe(e)){const l=c=>{const u=el(c,t,!0);u&&(i=!0,st(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ve(e)&&o.set(e,null),null):(Ee(s)?s.forEach(l=>a[l]=null):st(a,s),Ve(e)&&o.set(e,a),a)}function Rr(e,t){return!e||!ar(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),qe(e,t[0].toLowerCase()+t.slice(1))||qe(e,Lt(t))||qe(e,t))}function ix(){}function tl(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:g,data:b,setupState:w,ctx:$,inheritAttrs:y}=e,x=Er(e);let E,m;try{if(n.shapeFlag&4){const f=r||o,p=f;E=on(c.call(p,f,u,g,w,b,$)),m=i}else{const f=t;E=on(f.length>1?f(g,{attrs:i,slots:a,emit:l}):f(g,null)),m=t.props?i:Rf(i)}}catch(f){hn.length=0,No(f,e,1),E=Ue(tn)}let d=E;if(m&&y!==!1){const f=Object.keys(m),{shapeFlag:p}=d;f.length&&p&7&&(s&&f.some(ir)&&(m=Ff(m,s)),d=ao(d,m,!1,!0))}if(n.dirs&&(d=ao(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(n.dirs):n.dirs),n.transition){const f=Ar(d.type)&&Oi(d)||d;Rs(f,n.transition)}return E=d,Er(x),E}const Rf=e=>{let t;for(const n in e)(n==="class"||n==="style"||ar(n))&&((t||(t={}))[n]=e[n]);return t},Ff=(e,t)=>{const n={};for(const o in e)(!ir(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Of(e,t,n){const{props:o,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?nl(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let g=0;gObject.create(rl),al=e=>Object.getPrototypeOf(e)===rl;function jf(e,t,n,o=!1){const r={},s=sl();e.propsDefaults=Object.create(null),il(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Od(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function zf(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Ge(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let g=0;g{l=!0;const[b,w]=ll(g,t,!0);st(a,b),w&&i.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ve(e)&&o.set(e,Zn),Zn;if(Ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Hs=e=>Ee(e)?e.map(on):[on(e)],Uf=(e,t,n)=>{if(t._n)return t;const o=ro((...r)=>Hs(t(...r)),n);return o._c=!1,o},ul=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Gs(r))continue;const s=e[r];if(Pe(s))t[r]=Uf(r,s,o);else if(s!=null){const a=Hs(s);t[r]=()=>a}}},dl=(e,t)=>{const n=Hs(t);e.slots.default=()=>n},fl=(e,t,n)=>{for(const o in t)(n||!Gs(o))&&(e[o]=t[o])},Gf=(e,t,n)=>{const o=e.slots=sl();if(e.vnode.shapeFlag&32){const r=t._;r?(fl(o,t,n),n&&Ja(o,"_",r,!0)):ul(t,o)}else t&&dl(e,t)},Hf=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,a=Ye;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:fl(r,t,n):(s=!t.$stable,ul(t,r)),a=t}else t&&(dl(e,t),a={default:1});if(s)for(const i in r)!Gs(i)&&a[i]==null&&delete r[i]},kt=Yf;function qf(e){return Vf(e)}function Vf(e,t){const n=gr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:b,setScopeId:w=Yt,insertStaticContent:$}=e,y=(v,C,A,B=null,X=null,J=null,se=void 0,ee=null,h=!!C.dynamicChildren)=>{if(v===C)return;v&&!Ho(v,C)&&(B=Le(v),V(v,X,J,!0),v=null),C.patchFlag===-2&&(h=!1,C.dynamicChildren=null);const{type:_,ref:O,shapeFlag:W}=C;switch(_){case Bo:x(v,C,A,B);break;case tn:E(v,C,A,B);break;case Ws:v==null&&m(C,A,B,se);break;case Ne:Z(v,C,A,B,X,J,se,ee,h);break;default:W&1?p(v,C,A,B,X,J,se,ee,h):W&6?he(v,C,A,B,X,J,se,ee,h):(W&64||W&128)&&_.process(v,C,A,B,X,J,se,ee,h,be)}O!=null&&X?Do(O,v&&v.ref,J,C||v,!C):O==null&&v&&v.ref!=null&&Do(v.ref,null,J,v,!0)},x=(v,C,A,B)=>{if(v==null)o(C.el=i(C.children),A,B);else{const X=C.el=v.el;C.children!==v.children&&c(X,C.children)}},E=(v,C,A,B)=>{v==null?o(C.el=l(C.children||""),A,B):C.el=v.el},m=(v,C,A,B)=>{[v.el,v.anchor]=$(v.children,C,A,B,v.el,v.anchor)},d=({el:v,anchor:C},A,B)=>{let X;for(;v&&v!==C;)X=b(v),o(v,A,B),v=X;o(C,A,B)},f=({el:v,anchor:C})=>{let A;for(;v&&v!==C;)A=b(v),r(v),v=A;r(C)},p=(v,C,A,B,X,J,se,ee,h)=>{if(C.type==="svg"?se="svg":C.type==="math"&&(se="mathml"),v==null)k(C,A,B,X,J,se,ee,h);else{const _=v.el&&v.el._isVueCE?v.el:null;try{_&&_._beginPatch(),T(v,C,X,J,se,ee,h)}finally{_&&_._endPatch()}}},k=(v,C,A,B,X,J,se,ee)=>{let h,_;const{props:O,shapeFlag:W,transition:de,dirs:ae}=v;if(h=v.el=a(v.type,J,O&&O.is,O),W&8?u(h,v.children):W&16&&M(v.children,h,null,B,X,qs(v,J),se,ee),ae&&Gn(v,null,B,"created"),S(h,v,v.scopeId,se,B),O){for(const Y in O)Y!=="value"&&!So(Y)&&s(h,Y,null,O[Y],J,B);"value"in O&&s(h,"value",null,O.value,J),(_=O.onVnodeBeforeMount)&&rn(_,B,v)}ae&&Gn(v,null,B,"beforeMount");const F=Wf(X,de);F&&de.beforeEnter(h),o(h,C,A),((_=O&&O.onVnodeMounted)||F||ae)&&kt(()=>{try{_&&rn(_,B,v),F&&de.enter(h),ae&&Gn(v,null,B,"mounted")}finally{}},X)},S=(v,C,A,B,X)=>{if(A&&w(v,A),B)for(let J=0;J{for(let _=h;_{const ee=C.el=v.el;let{patchFlag:h,dynamicChildren:_,dirs:O}=C;h|=v.patchFlag&16;const W=v.props||Ye,de=C.props||Ye;let ae;if(A&&Vn(A,!1),(ae=de.onVnodeBeforeUpdate)&&rn(ae,A,C,v),O&&Gn(C,v,A,"beforeUpdate"),A&&Vn(A,!0),_&&(!v.dynamicChildren||v.dynamicChildren.length!==_.length)&&(h=0,se=!1,_=null),(W.innerHTML&&de.innerHTML==null||W.textContent&&de.textContent==null)&&u(ee,""),_?z(v.dynamicChildren,_,ee,A,B,qs(C,X),J):se||L(v,C,ee,null,A,B,qs(C,X),J,!1),h>0){if(h&16)q(ee,W,de,A,X);else if(h&2&&W.class!==de.class&&s(ee,"class",null,de.class,X),h&4&&s(ee,"style",W.style,de.style,X),h&8){const F=C.dynamicProps;for(let Y=0;Y{ae&&rn(ae,A,C,v),O&&Gn(C,v,A,"updated")},B)},z=(v,C,A,B,X,J,se)=>{for(let ee=0;ee{if(C!==A){if(C!==Ye)for(const J in C)!So(J)&&!(J in A)&&s(v,J,C[J],null,X,B);for(const J in A){if(So(J))continue;const se=A[J],ee=C[J];se!==ee&&J!=="value"&&s(v,J,ee,se,X,B)}"value"in A&&s(v,"value",C.value,A.value,X)}},Z=(v,C,A,B,X,J,se,ee,h)=>{const _=C.el=v?v.el:i(""),O=C.anchor=v?v.anchor:i("");let{patchFlag:W,dynamicChildren:de,slotScopeIds:ae}=C;ae&&(ee=ee?ee.concat(ae):ae),v==null?(o(_,A,B),o(O,A,B),M(C.children||[],A,O,X,J,se,ee,h)):W>0&&W&64&&de&&v.dynamicChildren&&v.dynamicChildren.length===de.length?(z(v.dynamicChildren,de,A,X,J,se,ee),(C.key!=null||X&&C===X.subTree)&&Vs(v,C,!0)):L(v,C,A,O,X,J,se,ee,h)},he=(v,C,A,B,X,J,se,ee,h)=>{C.slotScopeIds=ee,v==null?C.shapeFlag&512?X.ctx.activate(C,A,B,se,h):j(C,A,B,X,J,se,h):K(v,C,h)},j=(v,C,A,B,X,J,se)=>{const ee=v.component=tp(v,B,X);if(Pr(v)&&(ee.ctx.renderer=be),np(ee,!1,se),ee.asyncDep){if(X&&X.registerDep(ee,G,se),!v.el){const h=ee.subTree=Ue(tn);E(null,h,C,A),v.placeholder=h.el}}else G(ee,v,C,A,X,J,se)},K=(v,C,A)=>{const B=C.component=v.component;if(Of(v,C,A))if(B.asyncDep&&!B.asyncResolved){D(B,C,A);return}else B.next=C,B.update();else C.el=v.el,B.vnode=C},G=(v,C,A,B,X,J,se)=>{const ee=()=>{if(v.isMounted){let{next:W,bu:de,u:ae,parent:F,vnode:Y}=v;{const ot=pl(v);if(ot){W&&(W.el=Y.el,D(v,W,se)),ot.asyncDep.then(()=>{kt(()=>{v.isUnmounted||_()},X)});return}}let me=W,Se;Vn(v,!1),W?(W.el=Y.el,D(v,W,se)):W=Y,de&&pr(de),(Se=W.props&&W.props.onVnodeBeforeUpdate)&&rn(Se,F,W,Y),Vn(v,!0);const De=tl(v),Qe=v.subTree;v.subTree=De,y(Qe,De,g(Qe.el),Le(Qe),v,X,J),W.el=De.el,me===null&&Df(v,De.el),ae&&kt(ae,X),(Se=W.props&&W.props.onVnodeUpdated)&&kt(()=>rn(Se,F,W,Y),X)}else{let W;const{el:de,props:ae}=C,{bm:F,m:Y,parent:me,root:Se,type:De}=v,Qe=so(C);Vn(v,!1),F&&pr(F),!Qe&&(W=ae&&ae.onVnodeBeforeMount)&&rn(W,me,C),Vn(v,!0);{Se.ce&&Se.ce._hasShadowRoot()&&Se.ce._injectChildStyle(De,v.parent?v.parent.type:void 0);const ot=v.subTree=tl(v);y(null,ot,A,B,v,X,J),C.el=ot.el}if(Y&&kt(Y,X),!Qe&&(W=ae&&ae.onVnodeMounted)){const ot=C;kt(()=>rn(W,me,ot),X)}(C.shapeFlag&256||me&&so(me.vnode)&&me.vnode.shapeFlag&256)&&v.a&&kt(v.a,X),v.isMounted=!0,C=A=B=null}};v.scope.on();const h=v.effect=new ai(ee);v.scope.off();const _=v.update=h.run.bind(h),O=v.job=h.runIfDirty.bind(h);O.i=v,O.id=v.uid,h.scheduler=()=>Ls(O),Vn(v,!0),_()},D=(v,C,A)=>{C.component=v;const B=v.vnode.props;v.vnode=C,v.next=null,zf(v,C.props,B,A),Hf(v,C.children,A),Jt(),Ti(v),Zt()},L=(v,C,A,B,X,J,se,ee,h=!1)=>{const _=v&&v.children,O=v?v.shapeFlag:0,W=C.children,{patchFlag:de,shapeFlag:ae}=C;if(de>0){if(de&128){R(_,W,A,B,X,J,se,ee,h);return}else if(de&256){U(_,W,A,B,X,J,se,ee,h);return}}ae&8?(O&16&&Te(_,X,J),W!==_&&u(A,W)):O&16?ae&16?R(_,W,A,B,X,J,se,ee,h):Te(_,X,J,!0):(O&8&&u(A,""),ae&16&&M(W,A,B,X,J,se,ee,h))},U=(v,C,A,B,X,J,se,ee,h)=>{v=v||Zn,C=C||Zn;const _=v.length,O=C.length,W=Math.min(_,O);let de;for(de=0;deO?Te(v,X,J,!0,!1,W):M(C,A,B,X,J,se,ee,h,W)},R=(v,C,A,B,X,J,se,ee,h)=>{let _=0;const O=C.length;let W=v.length-1,de=O-1;for(;_<=W&&_<=de;){const ae=v[_],F=C[_]=h?mn(C[_]):on(C[_]);if(Ho(ae,F))y(ae,F,A,null,X,J,se,ee,h);else break;_++}for(;_<=W&&_<=de;){const ae=v[W],F=C[de]=h?mn(C[de]):on(C[de]);if(Ho(ae,F))y(ae,F,A,null,X,J,se,ee,h);else break;W--,de--}if(_>W){if(_<=de){const ae=de+1,F=aede)for(;_<=W;)V(v[_],X,J,!0),_++;else{const ae=_,F=_,Y=new Map;for(_=F;_<=de;_++){const ue=C[_]=h?mn(C[_]):on(C[_]);ue.key!=null&&Y.set(ue.key,_)}let me,Se=0;const De=de-F+1;let Qe=!1,ot=0;const Ot=new Array(De);for(_=0;_=De){V(ue,X,J,!0);continue}let fe;if(ue.key!=null)fe=Y.get(ue.key);else for(me=F;me<=de;me++)if(Ot[me-F]===0&&Ho(ue,C[me])){fe=me;break}fe===void 0?V(ue,X,J,!0):(Ot[fe-F]=_+1,fe>=ot?ot=fe:Qe=!0,y(ue,C[fe],A,null,X,J,se,ee,h),Se++)}const te=Qe?Kf(Ot):Zn;for(me=te.length-1,_=De-1;_>=0;_--){const ue=F+_,fe=C[ue],je=C[ue+1],Oe=ue+1{const{el:J,type:se,transition:ee,children:h,shapeFlag:_}=v;if(_&6){P(v.component.subTree,C,A,B);return}if(_&128){v.suspense.move(C,A,B);return}if(_&64){se.move(v,C,A,be);return}if(se===Ne){o(J,C,A);for(let W=0;Wee.enter(J),X));else{const{leave:W,delayLeave:de,afterLeave:ae}=ee,F=()=>{v.ctx.isUnmounted?r(J):o(J,C,A)},Y=()=>{const me=J._isLeaving||!!J[Ns];J._isLeaving&&J[Ns](!0),ee.persisted&&!me?F():W(J,()=>{F(),ae&&ae()})};de?de(J,F,Y):Y()}else o(J,C,A)},V=(v,C,A,B=!1,X=!1)=>{const{type:J,props:se,ref:ee,children:h,dynamicChildren:_,shapeFlag:O,patchFlag:W,dirs:de,cacheIndex:ae,memo:F}=v;if(W===-2&&(X=!1),ee!=null&&(Jt(),Do(ee,null,A,v,!0),Zt()),ae!=null&&(C.renderCache[ae]=void 0),O&256){C.ctx.deactivate(v);return}const Y=O&1&&de,me=!so(v);let Se;if(me&&(Se=se&&se.onVnodeBeforeUnmount)&&rn(Se,C,v),O&6)Ce(v.component,A,B);else{if(O&128){v.suspense.unmount(A,B);return}Y&&Gn(v,null,C,"beforeUnmount"),O&64?v.type.remove(v,C,A,be,B):_&&!_.hasOnce&&(J!==Ne||W>0&&W&64)?Te(_,C,A,!1,!0):(J===Ne&&W&384||!X&&O&16)&&Te(h,C,A),B&&re(v)}const De=F!=null&&ae==null;(me&&(Se=se&&se.onVnodeUnmounted)||Y||De)&&kt(()=>{Se&&rn(Se,C,v),Y&&Gn(v,null,C,"unmounted"),De&&(v.el=null)},A)},re=v=>{const{type:C,el:A,anchor:B,transition:X}=v;if(C===Ne){ye(A,B);return}if(C===Ws){f(v);return}const J=()=>{r(A),X&&!X.persisted&&X.afterLeave&&X.afterLeave()};if(v.shapeFlag&1&&X&&!X.persisted){const{leave:se,delayLeave:ee}=X,h=()=>se(A,J);ee?ee(v.el,J,h):h()}else J()},ye=(v,C)=>{let A;for(;v!==C;)A=b(v),r(v),v=A;r(C)},Ce=(v,C,A)=>{const{bum:B,scope:X,job:J,subTree:se,um:ee,m:h,a:_}=v;gl(h),gl(_),B&&pr(B),X.stop(),J&&(J.flags|=8,V(se,v,C,A)),ee&&kt(ee,C),kt(()=>{v.isUnmounted=!0},C)},Te=(v,C,A,B=!1,X=!1,J=0)=>{for(let se=J;se{if(v.shapeFlag&6)return Le(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const C=b(v.anchor||v.el),A=C&&C[Ni];return A?b(A):C};let ve=!1;const _e=(v,C,A)=>{let B;v==null?C._vnode&&(V(C._vnode,null,null,!0),B=C._vnode.component):y(C._vnode||null,v,C,null,null,null,A),C._vnode=v,ve||(ve=!0,Ti(B),Li(),ve=!1)},be={p:y,um:V,m:P,r:re,mt:j,mc:M,pc:L,pbc:z,n:Le,o:e};return{render:_e,hydrate:void 0,createApp:Pf(_e)}}function qs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Vn({effect:e,job:t},n){n?(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 Vs(e,t,n=!1){const o=e.children,r=t.children;if(Ee(o)&&Ee(r))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function pl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:pl(t)}function gl(e){if(e)for(let t=0;te.__isSuspense;function Yf(e,t){t&&t.pendingBranch?Ee(e)?t.effects.push(...e):t.effects.push(e):Qd(e)}const Ne=Symbol.for("v-fgt"),Bo=Symbol.for("v-txt"),tn=Symbol.for("v-cmt"),Ws=Symbol.for("v-stc"),hn=[];let Mt=null;function Q(e=!1){hn.push(Mt=e?null:[])}function Ks(){hn.pop(),Mt=hn[hn.length-1]||null}let Uo=1;function Fr(e,t=!1){Uo+=e,e<0&&Mt&&t&&(Mt.hasOnce=!0)}function bl(e){return e.dynamicChildren=Uo>0?Mt||Zn:null,Ks(),Uo>0&&Mt&&Mt.push(e),e}function ne(e,t,n,o,r,s){return bl(N(e,t,n,o,r,s,!0))}function nn(e,t,n,o,r){return bl(Ue(e,t,n,o,r,!0))}function Go(e){return e?e.__v_isVNode===!0:!1}function Ho(e,t){return e.type===t.type&&e.key===t.key}const _l=({key:e})=>e??null,Or=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Xe(e)||nt(e)||Pe(e)?{i:pt,r:e,k:t,f:!!n}:e:null);function N(e,t=null,n=null,o=0,r=null,s=e===Ne?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_l(t),ref:t&&Or(t),scopeId:Mi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pt};return i?(Dr(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Xe(n)?8:16),Uo>0&&!a&&Mt&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Mt.push(l),l}const Ue=Xf;function Xf(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===Gi)&&(e=tn),Go(e)){const i=ao(e,t,!0);return n&&Dr(i,n),Uo>0&&!s&&Mt&&(i.shapeFlag&6?Mt[Mt.indexOf(e)]=i:Mt.push(i)),i.patchFlag=-2,i}if(lp(e)&&(e=e.__vccOpts),t){t=Jf(t);let{class:i,style:l}=t;i&&!Xe(i)&&(t.class=Be(i)),Ve(l)&&(xr(l)&&!Ee(l)&&(l=st({},l)),t.style=lt(l))}const a=Xe(e)?1:ml(e)?128:Ar(e)?64:Ve(e)?4:Pe(e)?2:0;return N(e,t,n,o,r,a,s,!0)}function Jf(e){return e?xr(e)||al(e)?st({},e):e:null}function ao(e,t,n=!1,o=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Zf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&_l(c),ref:t&&t.ref?n&&s?Ee(s)?s.concat(Or(t)):[s,Or(t)]:Or(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ne?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ao(e.ssContent),ssFallback:e.ssFallback&&ao(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Rs(u,l.clone(u)),u}function at(e=" ",t=0){return Ue(Bo,null,e,t)}function We(e="",t=!1){return t?(Q(),nn(tn,null,e)):Ue(tn,null,e)}function on(e){return e==null||typeof e=="boolean"?Ue(tn):Ee(e)?Ue(Ne,null,e.slice()):Go(e)?mn(e):Ue(Bo,null,String(e))}function mn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ao(e)}function Dr(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Ee(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Dr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!al(t)?t._ctx=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Pe(t)){if(o&65){Dr(e,{default:t});return}t={default:t,_ctx:pt},n=32}else t=String(t),o&64?(n=16,t=[at(t)]):n=8;e.children=t,e.shapeFlag|=n}function Zf(...e){const t={};for(let n=0;nmt||pt;let jr,qo;{const e=gr(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};jr=t("__VUE_INSTANCE_SETTERS__",n=>mt=n),qo=t("__VUE_SSR_SETTERS__",n=>io=n)}const Vo=e=>{const t=mt;return jr(e),e.scope.on(),()=>{e.scope.off(),jr(t)}},yl=()=>{mt&&mt.scope.off(),jr(null)};function vl(e){return e.vnode.shapeFlag&4}let io=!1;function np(e,t=!1,n=!1){t&&qo(t);const{props:o,children:r}=e.vnode,s=vl(e);jf(e,o,s,t),Gf(e,r,n||t);const a=s?op(e,t):void 0;return t&&qo(!1),a}function op(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$f);const{setup:o}=n;if(o){Jt();const r=e.setupContext=o.length>1?sp(e):null,s=Vo(e),a=to(o,e,0,[e.props,r]),i=Ya(a);if(Zt(),s(),(i||e.sp)&&!so(e)&&Fs(e),i){if(a.then(yl,yl),t)return a.then(l=>{qo(!0);try{wl(e,l,t)}finally{qo(!1)}}).catch(l=>{No(l,e,0)});e.asyncDep=a}else wl(e,a)}else xl(e)}function wl(e,t,n){Pe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ve(t)&&(e.setupState=Si(t)),xl(e)}function xl(e,t,n){const o=e.type;e.render||(e.render=o.render||Yt);{const r=Vo(e);Jt();try{Sf(e)}finally{Zt(),r()}}}const rp={get(e,t){return yt(e,"get",""),e[t]}};function sp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,rp),slots:e.slots,emit:e.emit,expose:t}}function zr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Si(Po(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in jo)return jo[n](e)},has(t,n){return n in t||n in jo}})):e.proxy}const ap=/(?:^|[-_])\w/g,ip=e=>e.replace(ap,t=>t.toUpperCase()).replace(/[-_]/g,"");function kl(e,t=!0){return Pe(e)?e.displayName||e.name:e.name||t&&e.__name}function $l(e,t,n=!1){let o=kl(t);if(!o&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(o=r[1])}if(!o&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};o=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return o?ip(o):n?"App":"Anonymous"}function lp(e){return Pe(e)&&"__vccOpts"in e}const oe=(e,t)=>Hd(e,t,io);function Sl(e,t,n){try{Fr(-1);const o=arguments.length;return o===2?Ve(t)&&!Ee(t)?Go(t)?Ue(e,null,[t]):Ue(e,t):Ue(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Go(n)&&(n=[n]),Ue(e,t,n))}finally{Fr(1)}}const cp="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ys;const El=typeof window<"u"&&window.trustedTypes;if(El)try{Ys=El.createPolicy("vue",{createHTML:e=>e})}catch{}const Al=Ys?e=>Ys.createHTML(e):e=>e,up="http://www.w3.org/2000/svg",dp="http://www.w3.org/1998/Math/MathML",_o=typeof document<"u"?document:null,Cl=_o&&_o.createElement("template"),fp={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"?_o.createElementNS(up,e):t==="mathml"?_o.createElementNS(dp,e):o?_o.createElement(e,{is:o}):_o.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>_o.createTextNode(e),createComment:e=>_o.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_o.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{Cl.innerHTML=Al(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=Cl.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},pp=Symbol("_vtc");function gp(e,t,o){const n=e[pp];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Br=Symbol("_vod"),Tl=Symbol("_vsh"),Gt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Br]=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[Br]:"none",e[Tl]=!t}const hp=Symbol(""),mp=/(?:^|;)\s*display\s*:/;function bp(e,t,o){const n=e.style,r=Xe(o);let s=!1;if(o&&!r){if(t)if(Xe(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();o[i]==null&&Kn(n,i,"")}else for(const a in t)o[a]==null&&Kn(n,a,"");for(const a in o){a==="display"&&(s=!0);const i=o[a];i!=null?yp(e,a,!Xe(t)&&t?t[a]:void 0,i)||Kn(n,a,i):Kn(n,a,"")}}else if(r){if(t!==o){const a=n[hp];a&&(o+=";"+a),n.cssText=o,s=mp.test(o)}}else t&&e.removeAttribute("style");Br in e&&(e[Br]=s?n.display:"",e[Tl]&&(n.display="none"))}const Ur=/\s*!important$/;function Kn(e,t,o){if(Ee(o))o.forEach(n=>Kn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Ur.test(o)?e.setProperty(t,o.replace(Ur,""),"important"):e.setProperty(t,o);else{const n=_p(e,t);Ur.test(o)?e.setProperty(Lt(n),o.replace(Ur,""),"important"):e[n]=o}}const Ll=["Webkit","Moz","ms"],Xs={};function _p(e,t){const o=Xs[t];if(o)return o;let n=dt(t);if(n!=="filter"&&n in e)return Xs[t]=n;n=fr(n);for(let r=0;rJs||(Sp.then(()=>Js=0),Js=Date.now());function Ap(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(Ee(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cp=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?gp(e,n,a):t==="style"?bp(e,o,n):ar(t)?ir(t)||wp(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tp(e,t,n,a))?(Il(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ml(e,t,n,a,s,t!=="value")):e._isVueCE&&(Lp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Xe(n)))?Il(e,dt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Ml(e,t,n,a))};function Tp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Rl(t)&&Pe(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Rl(t)&&Xe(o)?!1:t in e}function Lp(e,t){const o=e._def.props;if(!o)return!1;const n=dt(t);return Array.isArray(o)?o.some(r=>dt(r)===n):Object.keys(o).some(r=>dt(r)===n)}const Fl={};function Pp(e,t,o){let n=On(e,t);cr(n)&&(n=st({},n,t));class r extends Zs{constructor(a){super(n,a,o)}}return r.def=n,r}const Mp=typeof HTMLElement<"u"?HTMLElement:class{};class Zs extends Mp{constructor(t,o={},n=Bl){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!==Bl?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(st({},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 Zs){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,Uo(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let i;if(s&&!Ee(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Za(this._props[l])),(i||(i=Object.create(null)))[dt(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)qe(this,n)||Object.defineProperty(this,n,{get:()=>ce(o[n])})}_resolveProps(t){const{props:o}=t,n=Ee(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(dt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Fl;const r=dt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Za(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===Fl?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Lt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Lt(t),o+""):o||this.removeAttribute(Lt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),jp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ue(this._def,st(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,cr(a[0])?st({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),Lt(s)!==s&&r(Lt(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===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 Ee(t)?o=>pr(t,o):t};function Ip(e){e.target.composing=!0}function Dl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Gr=Symbol("_assign"),Hr=Symbol("_initialValue");function Qs(e,t,o){return t&&(e=e.trim()),o&&(e=hs(e)),e}const Np={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Hr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Hr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Gr]=Ol(r);const s=n||r.props&&r.props.type==="number";cn(e,t?"change":"input",a=>{a.target.composing||e[Gr](Qs(e.value,o,s))}),(o||s)&&cn(e,"change",()=>{e.value=Qs(e.value,o,s)}),t||(cn(e,"compositionstart",Ip),cn(e,"compositionend",Dl),cn(e,"change",Dl))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",s=e[Hr];delete e[Hr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Gr](Qs(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:s}},a){if(e[Gr]=Ol(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?hs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||r&&e.value.trim()===l)||(e.value=l)}},Rp=["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)=>Rp.some(o=>e[`${o}Key`]&&!t.includes(o))},un=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...s)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const s=Lt(r.key);if(t.some(a=>a===s||Op[a]===s))return e(r)})},Dp=st({patchProp:Cp},fp);let jl;function zl(){return jl||(jl=qf(Dp))}const jp=(...e)=>{zl().render(...e)},Bl=(...e)=>{const t=zl().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=Bp(n);if(!r)return;const s=t._component;!Pe(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,zp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function zp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Bp(e){return Xe(e)?document.querySelector(e):e}/*! +**/let Ys;const El=typeof window<"u"&&window.trustedTypes;if(El)try{Ys=El.createPolicy("vue",{createHTML:e=>e})}catch{}const Al=Ys?e=>Ys.createHTML(e):e=>e,up="http://www.w3.org/2000/svg",dp="http://www.w3.org/1998/Math/MathML",_n=typeof document<"u"?document:null,Cl=_n&&_n.createElement("template"),fp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?_n.createElementNS(up,e):t==="mathml"?_n.createElementNS(dp,e):n?_n.createElement(e,{is:n}):_n.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>_n.createTextNode(e),createComment:e=>_n.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_n.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const a=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{Cl.innerHTML=Al(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=Cl.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},pp=Symbol("_vtc");function gp(e,t,n){const o=e[pp];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Br=Symbol("_vod"),Tl=Symbol("_vsh"),Gt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Br]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Wo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Wo(e,!0),o.enter(e)):o.leave(e,()=>{Wo(e,!1)}):Wo(e,t))},beforeUnmount(e,{value:t}){Wo(e,t)}};function Wo(e,t){e.style.display=t?e[Br]:"none",e[Tl]=!t}const hp=Symbol(""),mp=/(?:^|;)\s*display\s*:/;function bp(e,t,n){const o=e.style,r=Xe(n);let s=!1;if(n&&!r){if(t)if(Xe(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&Ko(o,i,"")}else for(const a in t)n[a]==null&&Ko(o,a,"");for(const a in n){a==="display"&&(s=!0);const i=n[a];i!=null?yp(e,a,!Xe(t)&&t?t[a]:void 0,i)||Ko(o,a,i):Ko(o,a,"")}}else if(r){if(t!==n){const a=o[hp];a&&(n+=";"+a),o.cssText=n,s=mp.test(n)}}else t&&e.removeAttribute("style");Br in e&&(e[Br]=s?o.display:"",e[Tl]&&(o.display="none"))}const Ur=/\s*!important$/;function Ko(e,t,n){if(Ee(n))n.forEach(o=>Ko(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Ur.test(n)?e.setProperty(t,n.replace(Ur,""),"important"):e.setProperty(t,n);else{const o=_p(e,t);Ur.test(n)?e.setProperty(Lt(o),n.replace(Ur,""),"important"):e[o]=n}}const Ll=["Webkit","Moz","ms"],Xs={};function _p(e,t){const n=Xs[t];if(n)return n;let o=dt(t);if(o!=="filter"&&o in e)return Xs[t]=o;o=fr(o);for(let r=0;rJs||(Sp.then(()=>Js=0),Js=Date.now());function Ap(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const r=n.value;if(Ee(r)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const a=r.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cp=(e,t,n,o,r,s)=>{const a=r==="svg";t==="class"?gp(e,o,a):t==="style"?bp(e,n,o):ar(t)?ir(t)||wp(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Tp(e,t,o,a))?(Il(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ml(e,t,o,a,s,t!=="value")):e._isVueCE&&(Lp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Xe(o)))?Il(e,dt(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ml(e,t,o,a))};function Tp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Rl(t)&&Pe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Rl(t)&&Xe(n)?!1:t in e}function Lp(e,t){const n=e._def.props;if(!n)return!1;const o=dt(t);return Array.isArray(n)?n.some(r=>dt(r)===o):Object.keys(n).some(r=>dt(r)===o)}const Fl={};function Pp(e,t,n){let o=Oo(e,t);cr(o)&&(o=st({},o,t));class r extends Zs{constructor(a){super(o,a,n)}}return r.def=o,r}const Mp=typeof HTMLElement<"u"?HTMLElement:class{};class Zs extends Mp{constructor(t,n={},o=Bl){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Bl?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(st({},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 Zs){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,Un(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=o;let i;if(s&&!Ee(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Za(this._props[l])),(i||(i=Object.create(null)))[dt(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)qe(this,o)||Object.defineProperty(this,o,{get:()=>ce(n[o])})}_resolveProps(t){const{props:n}=t,o=Ee(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&o.includes(r)&&this._setProp(r,this[r]);for(const r of o.map(dt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):Fl;const r=dt(t);n&&this._numberProps&&this._numberProps[r]&&(o=Za(o)),this._setProp(r,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Fl?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Lt(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Lt(t),n+""):n||this.removeAttribute(Lt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),jp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Ue(this._def,st(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,cr(a[0])?st({detail:a},a[0]):{detail:a}))};o.emit=(s,...a)=>{r(s,a),Lt(s)!==s&&r(Lt(s),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,s=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{const t=e.props["onUpdate:modelValue"]||!1;return Ee(t)?n=>pr(t,n):t};function Ip(e){e.target.composing=!0}function Dl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Gr=Symbol("_assign"),Hr=Symbol("_initialValue");function Qs(e,t,n){return t&&(e=e.trim()),n&&(e=hs(e)),e}const Np={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e.parentNode&&(e.type==="text"?e[Hr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Hr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Gr]=Ol(r);const s=o||r.props&&r.props.type==="number";lo(e,t?"change":"input",a=>{a.target.composing||e[Gr](Qs(e.value,n,s))}),(n||s)&&lo(e,"change",()=>{e.value=Qs(e.value,n,s)}),t||(lo(e,"compositionstart",Ip),lo(e,"compositionend",Dl),lo(e,"change",Dl))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const r=t??"",s=e[Hr];delete e[Hr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Gr](Qs(e.value,n,o)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:s}},a){if(e[Gr]=Ol(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?hs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l)}},Rp=["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)=>Rp.some(n=>e[`${n}Key`]&&!t.includes(n))},co=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const s=Lt(r.key);if(t.some(a=>a===s||Op[a]===s))return e(r)})},Dp=st({patchProp:Cp},fp);let jl;function zl(){return jl||(jl=qf(Dp))}const jp=(...e)=>{zl().render(...e)},Bl=(...e)=>{const t=zl().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Bp(o);if(!r)return;const s=t._component;!Pe(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,zp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function zp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Bp(e){return Xe(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ul;const Vr=e=>Ul=e,Gl=Symbol();function ea(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Yn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Yn||(Yn={}));function Up(){const e=bs(!0),t=e.run(()=>le({}));let o=[],n=[];const r=Pn({install(s){Vr(r),r._a=s,s.provide(Gl,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const Hl=()=>{};function ql(e,t,o,n=Hl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&si()&&_d(r),r}function dn(e,...t){e.slice().forEach(o=>{o(...t)})}const Gp=e=>e(),Vl=Symbol(),ta=Symbol();function oa(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],r=e[o];ea(r)&&ea(n)&&e.hasOwnProperty(o)&&!ot(n)&&!uo(n)?e[o]=oa(r,n):e[o]=n}return e}const Hp=Symbol();function qp(e){return!ea(e)||!e.hasOwnProperty(Hp)}const{assign:Lo}=Object;function Vp(e){return!!(ot(e)&&e.effect)}function Wp(e,t,o,n){const{state:r,actions:s,getters:a}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=r?r():{});const u=zd(o.state.value[e]);return Lo(u,s,Object.keys(a||{}).reduce((g,b)=>(g[b]=Pn(ne(()=>{Vr(o);const w=o._s.get(e);return a[b].call(w,w)})),g),{}))}return l=Wl(e,c,t,o,n,!0),l}function Wl(e,t,o={},n,r,s){let a;const i=Lo({actions:{}},o),l={deep:!0};let c,u,g=[],b=[],w;const $=n.state.value[e];!s&&!$&&(n.state.value[e]={});let y;function x(M){let T;c=u=!1,typeof M=="function"?(M(n.state.value[e]),T={type:Yn.patchFunction,storeId:e,events:w}):(oa(n.state.value[e],M),T={type:Yn.patchObject,payload:M,storeId:e,events:w});const z=y=Symbol();Uo().then(()=>{y===z&&(c=!0)}),u=!0,dn(g,T,n.state.value[e])}const E=s?function(){const{state:T}=o,z=T?T():{};this.$patch(q=>{Lo(q,z)})}:Hl;function m(){a.stop(),g=[],b=[],n._s.delete(e)}const d=(M,T="")=>{if(Vl in M)return M[ta]=T,M;const z=function(){Vr(n);const q=Array.from(arguments),Z=[],he=[];function j(D){Z.push(D)}function K(D){he.push(D)}dn(b,{args:q,name:z[ta],store:p,after:j,onError:K});let G;try{G=M.apply(this&&this.$id===e?this:p,q)}catch(D){throw dn(he,D),D}return G instanceof Promise?G.then(D=>(dn(Z,D),D)).catch(D=>(dn(he,D),Promise.reject(D))):(dn(Z,G),G)};return z[Vl]=!0,z[ta]=T,z},f={_p:n,$id:e,$onAction:ql.bind(null,b),$patch:x,$reset:E,$subscribe(M,T={}){const z=ql(g,M,T.detached,()=>q()),q=a.run(()=>ht(()=>n.state.value[e],Z=>{(T.flush==="sync"?u:c)&&M({storeId:e,type:Yn.direct,events:w},Z)},Lo({},l,T)));return z},$dispose:m},p=zo(f);n._s.set(e,p);const S=(n._a&&n._a.runWithContext||Gp)(()=>n._e.run(()=>(a=bs()).run(()=>t({action:d}))));for(const M in S){const T=S[M];if(ot(T)&&!Vp(T)||uo(T))s||($&&qp(T)&&(ot(T)?T.value=$[M]:oa(T,$[M])),n.state.value[e][M]=T);else if(typeof T=="function"){const z=d(T,M);S[M]=z,i.actions[M]=T}}return Lo(p,S),Lo(Ge(p),S),Object.defineProperty(p,"$state",{get:()=>n.state.value[e],set:M=>{x(T=>{Lo(T,M)})}}),n._p.forEach(M=>{Lo(p,a.run(()=>M({store:p,app:n._a,pinia:n,options:i})))}),$&&s&&o.hydrate&&o.hydrate(p.$state,$),c=!0,u=!0,p}/*! #__NO_SIDE_EFFECTS__ */function na(e,t,o){let n,r;const s=typeof t=="function";typeof e=="string"?(n=e,r=s?o:t):(r=e,n=e.id);function a(i,l){const c=ef();return i=i||(c?Me(Gl,null):null),i&&Vr(i),i=Ul,i._s.has(n)||(s?Wl(n,t,r,i):Wp(n,r,i)),i._s.get(n)}return a.$id=n,a}const Kp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Yp={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:"لا يوجد وصف متاح."}},Jp={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:"اللغات"}},Zp={menuComingSoon:"القائمة قادمة قريباً"},Qp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},eg={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},tg={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},og={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},ng={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},rg={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"},sg={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ag={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"}},ig={menuComingSoon:"Menü folgt in Kürze"},lg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},cg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ug={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},dg={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"},fg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},pg={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"},gg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},hg={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"}},mg={menuComingSoon:"Menu coming soon"},bg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},_g={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},yg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},vg={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"}},wg={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"},xg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},kg={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"},$g={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."}},Sg={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"}},Eg={menuComingSoon:"Menú próximamente"},Ag={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Cg={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"}},Lg={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"},Pg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Mg={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"},Ig={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Ng={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"}},Rg={menuComingSoon:"Menu bientôt disponible"},Fg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Og={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Dg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},jg={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"}},zg={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"},Bg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Ug={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},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:"कुल"}},qg={menuComingSoon:"मेनू शीघ्र आ रहा है"},Vg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Wg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Kg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Yg={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"},Jg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Zg={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"}},Qg={menuComingSoon:"Menu in arrivo"},eh={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},th={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},oh={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},nh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},rh={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"},sh={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."}},ah={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"}},ih={menuComingSoon:"Menu em breve"},lh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ch={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},uh={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"}},dh={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"},fh={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ph={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ă"},gh={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ă."}},hh={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"}},mh={menuComingSoon:"Meniu în curând"},bh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},_h={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},yh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},vh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},wh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},xh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},kh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},$h={menuComingSoon:"Меню скоро появится"},Sh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Eh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Ah={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Ch={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:"关闭详情视图"},Lh={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ph={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Mh={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:"总计"}},Ih={menuComingSoon:"菜单即将推出"},Nh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Rh={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Fh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ul;const Vr=e=>Ul=e,Gl=Symbol();function ea(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Yo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Yo||(Yo={}));function Up(){const e=bs(!0),t=e.run(()=>le({}));let n=[],o=[];const r=Po({install(s){Vr(r),r._a=s,s.provide(Gl,r),s.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const Hl=()=>{};function ql(e,t,n,o=Hl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&si()&&_d(r),r}function uo(e,...t){e.slice().forEach(n=>{n(...t)})}const Gp=e=>e(),Vl=Symbol(),ta=Symbol();function na(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];ea(r)&&ea(o)&&e.hasOwnProperty(n)&&!nt(o)&&!dn(o)?e[n]=na(r,o):e[n]=o}return e}const Hp=Symbol();function qp(e){return!ea(e)||!e.hasOwnProperty(Hp)}const{assign:Ln}=Object;function Vp(e){return!!(nt(e)&&e.effect)}function Wp(e,t,n,o){const{state:r,actions:s,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=r?r():{});const u=zd(n.state.value[e]);return Ln(u,s,Object.keys(a||{}).reduce((g,b)=>(g[b]=Po(oe(()=>{Vr(n);const w=n._s.get(e);return a[b].call(w,w)})),g),{}))}return l=Wl(e,c,t,n,o,!0),l}function Wl(e,t,n={},o,r,s){let a;const i=Ln({actions:{}},n),l={deep:!0};let c,u,g=[],b=[],w;const $=o.state.value[e];!s&&!$&&(o.state.value[e]={});let y;function x(M){let T;c=u=!1,typeof M=="function"?(M(o.state.value[e]),T={type:Yo.patchFunction,storeId:e,events:w}):(na(o.state.value[e],M),T={type:Yo.patchObject,payload:M,storeId:e,events:w});const z=y=Symbol();Un().then(()=>{y===z&&(c=!0)}),u=!0,uo(g,T,o.state.value[e])}const E=s?function(){const{state:T}=n,z=T?T():{};this.$patch(q=>{Ln(q,z)})}:Hl;function m(){a.stop(),g=[],b=[],o._s.delete(e)}const d=(M,T="")=>{if(Vl in M)return M[ta]=T,M;const z=function(){Vr(o);const q=Array.from(arguments),Z=[],he=[];function j(D){Z.push(D)}function K(D){he.push(D)}uo(b,{args:q,name:z[ta],store:p,after:j,onError:K});let G;try{G=M.apply(this&&this.$id===e?this:p,q)}catch(D){throw uo(he,D),D}return G instanceof Promise?G.then(D=>(uo(Z,D),D)).catch(D=>(uo(he,D),Promise.reject(D))):(uo(Z,G),G)};return z[Vl]=!0,z[ta]=T,z},f={_p:o,$id:e,$onAction:ql.bind(null,b),$patch:x,$reset:E,$subscribe(M,T={}){const z=ql(g,M,T.detached,()=>q()),q=a.run(()=>ht(()=>o.state.value[e],Z=>{(T.flush==="sync"?u:c)&&M({storeId:e,type:Yo.direct,events:w},Z)},Ln({},l,T)));return z},$dispose:m},p=zn(f);o._s.set(e,p);const S=(o._a&&o._a.runWithContext||Gp)(()=>o._e.run(()=>(a=bs()).run(()=>t({action:d}))));for(const M in S){const T=S[M];if(nt(T)&&!Vp(T)||dn(T))s||($&&qp(T)&&(nt(T)?T.value=$[M]:na(T,$[M])),o.state.value[e][M]=T);else if(typeof T=="function"){const z=d(T,M);S[M]=z,i.actions[M]=T}}return Ln(p,S),Ln(Ge(p),S),Object.defineProperty(p,"$state",{get:()=>o.state.value[e],set:M=>{x(T=>{Ln(T,M)})}}),o._p.forEach(M=>{Ln(p,a.run(()=>M({store:p,app:o._a,pinia:o,options:i})))}),$&&s&&n.hydrate&&n.hydrate(p.$state,$),c=!0,u=!0,p}/*! #__NO_SIDE_EFFECTS__ */function oa(e,t,n){let o,r;const s=typeof t=="function";typeof e=="string"?(o=e,r=s?n:t):(r=e,o=e.id);function a(i,l){const c=ef();return i=i||(c?Me(Gl,null):null),i&&Vr(i),i=Ul,i._s.has(o)||(s?Wl(o,t,r,i):Wp(o,r,i)),i._s.get(o)}return a.$id=o,a}const Kp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Yp={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:"لا يوجد وصف متاح."}},Jp={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:"اللغات"}},Zp={menuComingSoon:"القائمة قادمة قريباً"},Qp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},eg={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},tg={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},ng={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},og={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},rg={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"},sg={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ag={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"}},ig={menuComingSoon:"Menü folgt in Kürze"},lg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},cg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ug={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},dg={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"},fg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},pg={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"},gg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},hg={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"}},mg={menuComingSoon:"Menu coming soon"},bg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},_g={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},yg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},vg={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"}},wg={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"},xg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},kg={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"},$g={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."}},Sg={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"}},Eg={menuComingSoon:"Menú próximamente"},Ag={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Cg={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"}},Lg={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"},Pg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Mg={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"},Ig={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Ng={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"}},Rg={menuComingSoon:"Menu bientôt disponible"},Fg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Og={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Dg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},jg={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"}},zg={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"},Bg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Ug={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},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:"कुल"}},qg={menuComingSoon:"मेनू शीघ्र आ रहा है"},Vg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Wg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Kg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Yg={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"},Jg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Zg={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"}},Qg={menuComingSoon:"Menu in arrivo"},eh={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},th={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},nh={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},oh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},rh={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"},sh={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."}},ah={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"}},ih={menuComingSoon:"Menu em breve"},lh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ch={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},uh={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"}},dh={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"},fh={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ph={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ă"},gh={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ă."}},hh={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"}},mh={menuComingSoon:"Meniu în curând"},bh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},_h={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},yh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},vh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},wh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},xh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},kh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},$h={menuComingSoon:"Меню скоро появится"},Sh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Eh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Ah={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Ch={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:"关闭详情视图"},Lh={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ph={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Mh={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:"总计"}},Ih={menuComingSoon:"菜单即将推出"},Nh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Rh={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Fh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Oh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Wr=typeof window<"u",Po=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Dh=(e,t,o)=>jh({l:e,k:t,s:o}),jh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),it=e=>typeof e=="number"&&isFinite(e),zh=e=>Zl(e)==="[object Date]",Mo=e=>Zl(e)==="[object RegExp]",Kr=e=>Ie(e)&&Object.keys(e).length===0,bt=Object.assign,Bh=Object.create,Ke=(e=null)=>Bh(e);let Kl;const yo=()=>Kl||(Kl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ke());function Yl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Xl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Uh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Xl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Xl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Gh=Object.prototype.hasOwnProperty;function Ht(e,t){return Gh.call(e,t)}const et=Array.isArray,Ze=e=>typeof e=="function",ge=e=>typeof e=="string",ze=e=>typeof e=="boolean",He=e=>e!==null&&typeof e=="object",Hh=e=>He(e)&&Ze(e.then)&&Ze(e.catch),Jl=Object.prototype.toString,Zl=e=>Jl.call(e),Ie=e=>{if(!He(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},qh=e=>e==null?"":et(e)||Ie(e)&&e.toString===Jl?JSON.stringify(e,null,2):String(e);function Vh(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Yr(e){let t=e;return()=>++t}const Xr=e=>!He(e)||et(e);function Jr(e,t){if(Xr(e)||Xr(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(He(n[s])&&!He(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ke()),Xr(r[s])||Xr(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! + */function Oh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Wr=typeof window<"u",Pn=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Dh=(e,t,n)=>jh({l:e,k:t,s:n}),jh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),it=e=>typeof e=="number"&&isFinite(e),zh=e=>Zl(e)==="[object Date]",Mn=e=>Zl(e)==="[object RegExp]",Kr=e=>Ie(e)&&Object.keys(e).length===0,bt=Object.assign,Bh=Object.create,Ke=(e=null)=>Bh(e);let Kl;const yn=()=>Kl||(Kl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ke());function Yl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Xl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Uh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,r,s)=>`${r}="${Xl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,r,s)=>`${r}='${Xl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Gh=Object.prototype.hasOwnProperty;function Ht(e,t){return Gh.call(e,t)}const et=Array.isArray,Ze=e=>typeof e=="function",ge=e=>typeof e=="string",ze=e=>typeof e=="boolean",He=e=>e!==null&&typeof e=="object",Hh=e=>He(e)&&Ze(e.then)&&Ze(e.catch),Jl=Object.prototype.toString,Zl=e=>Jl.call(e),Ie=e=>{if(!He(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},qh=e=>e==null?"":et(e)||Ie(e)&&e.toString===Jl?JSON.stringify(e,null,2):String(e);function Vh(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function Yr(e){let t=e;return()=>++t}const Xr=e=>!He(e)||et(e);function Jr(e,t){if(Xr(e)||Xr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(He(o[s])&&!He(r[s])&&(r[s]=Array.isArray(o[s])?[]:Ke()),Xr(r[s])||Xr(o[s])?r[s]=o[s]:n.push({src:o[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wh(e,t,o){return{line:e,column:t,offset:o}}function Zr(e,t,o){return{start:e,end:t}}const Kh=/\{([0-9a-zA-Z]+)\}/g;function Ql(e,...t){return t.length===1&&Yh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Kh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const ec=Object.assign,tc=e=>typeof e=="string",Yh=e=>e!==null&&typeof e=="object";function oc(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const ra={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Xh={[ra.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Jh(e,t,...o){const n=Ql(Xh[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const Ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Zh={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function fn(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ql((r||Zh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=n,i}function Qh(e){throw e}const vo=" ",em="\r",$t=` -`,tm="\u2028",om="\u2029";function nm(e){const t=e;let o=0,n=1,r=1,s=0;const a=S=>t[S]===em&&t[S+1]===$t,i=S=>t[S]===$t,l=S=>t[S]===om,c=S=>t[S]===tm,u=S=>a(S)||i(S)||l(S)||c(S),g=()=>o,b=()=>n,w=()=>r,$=()=>s,y=S=>a(S)||l(S)||c(S)?$t:t[S],x=()=>y(o),E=()=>y(o+s);function m(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function d(){return a(o+s)&&s++,s++,t[o+s]}function f(){o=0,n=1,r=1,s=0}function p(S=0){s=S}function k(){const S=o+s;for(;S!==o;)m();s=0}return{index:g,line:b,column:w,peekOffset:$,charAt:y,currentChar:x,currentPeek:E,next:m,peek:d,reset:f,resetPeek:p,skipToPeek:k}}const Io=void 0,rm=".",nc="'",sm="tokenizer";function am(e,t={}){const o=t.location!==!1,n=nm(e),r=()=>n.index(),s=()=>Wh(n.line(),n.column(),n.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(h,_,O,...W){const de=c();if(_.column+=O,_.offset+=O,u){const ae=o?Zr(de.startLoc,_):null,F=fn(h,ae,{domain:sm,args:W});u(F)}}function b(h,_,O){h.endLoc=s(),h.currentType=_;const W={type:_};return o&&(W.loc=Zr(h.startLoc,h.endLoc)),O!=null&&(W.value=O),W}const w=h=>b(h,14);function $(h,_){return h.currentChar()===_?(h.next(),_):(g(Ae.EXPECTED_TOKEN,s(),0,_),"")}function y(h){let _="";for(;h.currentPeek()===vo||h.currentPeek()===$t;)_+=h.currentPeek(),h.peek();return _}function x(h){const _=y(h);return h.skipToPeek(),_}function E(h){if(h===Io)return!1;const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_===95}function m(h){if(h===Io)return!1;const _=h.charCodeAt(0);return _>=48&&_<=57}function d(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=E(h.currentPeek());return h.resetPeek(),W}function f(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=h.currentPeek()==="-"?h.peek():h.currentPeek(),de=m(W);return h.resetPeek(),de}function p(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=h.currentPeek()===nc;return h.resetPeek(),W}function k(h,_){const{currentType:O}=_;if(O!==8)return!1;y(h);const W=h.currentPeek()===".";return h.resetPeek(),W}function S(h,_){const{currentType:O}=_;if(O!==9)return!1;y(h);const W=E(h.currentPeek());return h.resetPeek(),W}function M(h,_){const{currentType:O}=_;if(!(O===8||O===12))return!1;y(h);const W=h.currentPeek()===":";return h.resetPeek(),W}function T(h,_){const{currentType:O}=_;if(O!==10)return!1;const W=()=>{const ae=h.currentPeek();return ae==="{"?E(h.peek()):ae==="@"||ae==="%"||ae==="|"||ae===":"||ae==="."||ae===vo||!ae?!1:ae===$t?(h.peek(),W()):Z(h,!1)},de=W();return h.resetPeek(),de}function z(h){y(h);const _=h.currentPeek()==="|";return h.resetPeek(),_}function q(h){const _=y(h),O=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:O,hasSpace:_.length>0}}function Z(h,_=!0){const O=(de=!1,ae="",F=!1)=>{const Y=h.currentPeek();return Y==="{"?ae==="%"?!1:de:Y==="@"||!Y?ae==="%"?!0:de:Y==="%"?(h.peek(),O(de,"%",!0)):Y==="|"?ae==="%"||F?!0:!(ae===vo||ae===$t):Y===vo?(h.peek(),O(!0,vo,F)):Y===$t?(h.peek(),O(!0,$t,F)):!0},W=O();return _&&h.resetPeek(),W}function he(h,_){const O=h.currentChar();return O===Io?Io:_(O)?(h.next(),O):null}function j(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36}function K(h){return he(h,j)}function G(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36||_===45}function D(h){return he(h,G)}function L(h){const _=h.charCodeAt(0);return _>=48&&_<=57}function U(h){return he(h,L)}function R(h){const _=h.charCodeAt(0);return _>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102}function P(h){return he(h,R)}function V(h){let _="",O="";for(;_=U(h);)O+=_;return O}function re(h){x(h);const _=h.currentChar();return _!=="%"&&g(Ae.EXPECTED_TOKEN,s(),0,_),h.next(),"%"}function ye(h){let _="";for(;;){const O=h.currentChar();if(O==="{"||O==="}"||O==="@"||O==="|"||!O)break;if(O==="%")if(Z(h))_+=O,h.next();else break;else if(O===vo||O===$t)if(Z(h))_+=O,h.next();else{if(z(h))break;_+=O,h.next()}else _+=O,h.next()}return _}function Ce(h){x(h);let _="",O="";for(;_=D(h);)O+=_;return h.currentChar()===Io&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O}function Te(h){x(h);let _="";return h.currentChar()==="-"?(h.next(),_+=`-${V(h)}`):_+=V(h),h.currentChar()===Io&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),_}function Le(h){return h!==nc&&h!==$t}function ve(h){x(h),$(h,"'");let _="",O="";for(;_=he(h,Le);)_==="\\"?O+=_e(h):O+=_;const W=h.currentChar();return W===$t||W===Io?(g(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),W===$t&&(h.next(),$(h,"'")),O):($(h,"'"),O)}function _e(h){const _=h.currentChar();switch(_){case"\\":case"'":return h.next(),`\\${_}`;case"u":return be(h,_,4);case"U":return be(h,_,6);default:return g(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,_),""}}function be(h,_,O){$(h,_);let W="";for(let de=0;de{const W=h.currentChar();return W==="{"||W==="%"||W==="@"||W==="|"||W==="("||W===")"||!W||W===vo?O:(O+=W,h.next(),_(O))};return _("")}function B(h){x(h);const _=$(h,"|");return x(h),_}function X(h,_){let O=null;switch(h.currentChar()){case"{":return _.braceNest>=1&&g(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),O=b(_,2,"{"),x(h),_.braceNest++,O;case"}":return _.braceNest>0&&_.currentType===2&&g(Ae.EMPTY_PLACEHOLDER,s(),0),h.next(),O=b(_,3,"}"),_.braceNest--,_.braceNest>0&&x(h),_.inLinked&&_.braceNest===0&&(_.inLinked=!1),O;case"@":return _.braceNest>0&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O=J(h,_)||w(_),_.braceNest=0,O;default:{let de=!0,ae=!0,F=!0;if(z(h))return _.braceNest>0&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,O;if(_.braceNest>0&&(_.currentType===5||_.currentType===6||_.currentType===7))return g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),_.braceNest=0,se(h,_);if(de=d(h,_))return O=b(_,5,Ce(h)),x(h),O;if(ae=f(h,_))return O=b(_,6,Te(h)),x(h),O;if(F=p(h,_))return O=b(_,7,ve(h)),x(h),O;if(!de&&!ae&&!F)return O=b(_,13,v(h)),g(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,O.value),x(h),O;break}}return O}function J(h,_){const{currentType:O}=_;let W=null;const de=h.currentChar();switch((O===8||O===9||O===12||O===10)&&(de===$t||de===vo)&&g(Ae.INVALID_LINKED_FORMAT,s(),0),de){case"@":return h.next(),W=b(_,8,"@"),_.inLinked=!0,W;case".":return x(h),h.next(),b(_,9,".");case":":return x(h),h.next(),b(_,10,":");default:return z(h)?(W=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,W):k(h,_)||M(h,_)?(x(h),J(h,_)):S(h,_)?(x(h),b(_,12,C(h))):T(h,_)?(x(h),de==="{"?X(h,_)||W:b(_,11,A(h))):(O===8&&g(Ae.INVALID_LINKED_FORMAT,s(),0),_.braceNest=0,_.inLinked=!1,se(h,_))}}function se(h,_){let O={type:14};if(_.braceNest>0)return X(h,_)||w(_);if(_.inLinked)return J(h,_)||w(_);switch(h.currentChar()){case"{":return X(h,_)||w(_);case"}":return g(Ae.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(_,3,"}");case"@":return J(h,_)||w(_);default:{if(z(h))return O=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,O;const{isModulo:de,hasSpace:ae}=q(h);if(de)return ae?b(_,0,ye(h)):b(_,4,re(h));if(Z(h))return b(_,0,ye(h));break}}return O}function ee(){const{currentType:h,offset:_,startLoc:O,endLoc:W}=l;return l.lastType=h,l.lastOffset=_,l.lastStartLoc=O,l.lastEndLoc=W,l.offset=r(),l.startLoc=s(),n.currentChar()===Io?b(l,14):se(n,l)}return{nextToken:ee,currentOffset:r,currentPosition:s,context:c}}const im="parser",lm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function cm(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 um(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(d,f,p,k,...S){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const T=t?Zr(p,M):null,z=fn(f,T,{domain:im,args:S});o(z)}}function s(d,f,p,k,...S){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const T=t?Zr(p,M):null;n(Jh(f,T,S))}}function a(d,f,p){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:p,end:p}),k}function i(d,f,p,k){t&&(d.end=f,d.loc&&(d.loc.end=p))}function l(d,f){const p=d.context(),k=a(3,p.offset,p.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(5,k,S);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,p){const k=d.context(),{lastOffset:S,lastStartLoc:M}=k,T=a(4,S,M);return T.key=f,p===!0&&(T.modulo=!0),d.nextToken(),i(T,d.currentOffset(),d.currentPosition()),T}function g(d,f){const p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(9,k,S);return M.value=f.replace(lm,cm),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function b(d){const f=d.nextToken(),p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(8,k,S);return f.type!==12?(r(d,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,p.lastStartLoc,0),M.value="",i(M,k,S),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,qt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function w(d,f){const p=d.context(),k=a(7,p.offset,p.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function $(d){const f=d.context(),p=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const S=b(d);p.modifier=S.node,k=S.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=w(d,k.value||"");break;case 5:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=g(d,k.value||"");break;default:{r(d,Ae.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const S=d.context(),M=a(7,S.offset,S.startLoc);return M.value="",i(M,S.offset,S.startLoc),p.key=M,i(p,S.offset,S.startLoc),{nextConsumeToken:k,node:p}}}return i(p,d.currentOffset(),d.currentPosition()),{node:p}}function y(d){const f=d.context(),p=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,S=a(2,p,k);S.items=[];let M=null,T=null;do{const Z=M||d.nextToken();switch(M=null,Z.type){case 0:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(l(d,Z.value||""));break;case 6:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(c(d,Z.value||""));break;case 4:T=!0;break;case 5:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(u(d,Z.value||"",!!T)),T&&(s(d,ra.USE_MODULO_SYNTAX,f.lastStartLoc,0,qt(Z)),T=null);break;case 7:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(g(d,Z.value||""));break;case 8:{const he=$(d);S.items.push(he.node),M=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const z=f.currentType===1?f.lastOffset:d.currentOffset(),q=f.currentType===1?f.lastEndLoc:d.currentPosition();return i(S,z,q),S}function x(d,f,p,k){const S=d.context();let M=k.items.length===0;const T=a(1,f,p);T.cases=[],T.cases.push(k);do{const z=y(d);M||(M=z.items.length===0),T.cases.push(z)}while(S.currentType!==14);return M&&r(d,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,p,0),i(T,d.currentOffset(),d.currentPosition()),T}function E(d){const f=d.context(),{offset:p,startLoc:k}=f,S=y(d);return f.currentType===14?S:x(d,p,k,S)}function m(d){const f=am(d,ec({},e)),p=f.context(),k=a(0,p.offset,p.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=E(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),p.currentType!==14&&r(f,Ae.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,d[p.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:m}}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 dm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function rc(e,t){for(let o=0;osc(o)),e}function sc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function l(y,x){a.code+=y}function c(y,x=!0){const E=x?n:"";l(r?E+" ".repeat(y):E)}function u(y=!0){const x=++a.indentLevel;y&&c(x)}function g(y=!0){const x=--a.indentLevel;y&&c(x)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function bm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),gn(e,t.key),t.modifier?(e.push(", "),gn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function _m(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=tc(t.mode)?t.mode:"normal",n=tc(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],i=mm(e,{filename:n,breakLineCode:r,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${oc(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),gn(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function xm(e,t={}){const o=ec({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,i=um(o).parse(e);return n?(s&&pm(i),r&&pn(i),{ast:i,code:""}):(fm(i,o),wm(i,o))}/*! + */function Wh(e,t,n){return{line:e,column:t,offset:n}}function Zr(e,t,n){return{start:e,end:t}}const Kh=/\{([0-9a-zA-Z]+)\}/g;function Ql(e,...t){return t.length===1&&Yh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Kh,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const ec=Object.assign,tc=e=>typeof e=="string",Yh=e=>e!==null&&typeof e=="object";function nc(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}const ra={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Xh={[ra.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Jh(e,t,...n){const o=Ql(Xh[e],...n||[]),r={message:String(o),code:e};return t&&(r.location=t),r}const Ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Zh={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function fo(e,t,n={}){const{domain:o,messages:r,args:s}=n,a=Ql((r||Zh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=o,i}function Qh(e){throw e}const vn=" ",em="\r",$t=` +`,tm="\u2028",nm="\u2029";function om(e){const t=e;let n=0,o=1,r=1,s=0;const a=S=>t[S]===em&&t[S+1]===$t,i=S=>t[S]===$t,l=S=>t[S]===nm,c=S=>t[S]===tm,u=S=>a(S)||i(S)||l(S)||c(S),g=()=>n,b=()=>o,w=()=>r,$=()=>s,y=S=>a(S)||l(S)||c(S)?$t:t[S],x=()=>y(n),E=()=>y(n+s);function m(){return s=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function d(){return a(n+s)&&s++,s++,t[n+s]}function f(){n=0,o=1,r=1,s=0}function p(S=0){s=S}function k(){const S=n+s;for(;S!==n;)m();s=0}return{index:g,line:b,column:w,peekOffset:$,charAt:y,currentChar:x,currentPeek:E,next:m,peek:d,reset:f,resetPeek:p,skipToPeek:k}}const In=void 0,rm=".",oc="'",sm="tokenizer";function am(e,t={}){const n=t.location!==!1,o=om(e),r=()=>o.index(),s=()=>Wh(o.line(),o.column(),o.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(h,_,O,...W){const de=c();if(_.column+=O,_.offset+=O,u){const ae=n?Zr(de.startLoc,_):null,F=fo(h,ae,{domain:sm,args:W});u(F)}}function b(h,_,O){h.endLoc=s(),h.currentType=_;const W={type:_};return n&&(W.loc=Zr(h.startLoc,h.endLoc)),O!=null&&(W.value=O),W}const w=h=>b(h,14);function $(h,_){return h.currentChar()===_?(h.next(),_):(g(Ae.EXPECTED_TOKEN,s(),0,_),"")}function y(h){let _="";for(;h.currentPeek()===vn||h.currentPeek()===$t;)_+=h.currentPeek(),h.peek();return _}function x(h){const _=y(h);return h.skipToPeek(),_}function E(h){if(h===In)return!1;const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_===95}function m(h){if(h===In)return!1;const _=h.charCodeAt(0);return _>=48&&_<=57}function d(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=E(h.currentPeek());return h.resetPeek(),W}function f(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=h.currentPeek()==="-"?h.peek():h.currentPeek(),de=m(W);return h.resetPeek(),de}function p(h,_){const{currentType:O}=_;if(O!==2)return!1;y(h);const W=h.currentPeek()===oc;return h.resetPeek(),W}function k(h,_){const{currentType:O}=_;if(O!==8)return!1;y(h);const W=h.currentPeek()===".";return h.resetPeek(),W}function S(h,_){const{currentType:O}=_;if(O!==9)return!1;y(h);const W=E(h.currentPeek());return h.resetPeek(),W}function M(h,_){const{currentType:O}=_;if(!(O===8||O===12))return!1;y(h);const W=h.currentPeek()===":";return h.resetPeek(),W}function T(h,_){const{currentType:O}=_;if(O!==10)return!1;const W=()=>{const ae=h.currentPeek();return ae==="{"?E(h.peek()):ae==="@"||ae==="%"||ae==="|"||ae===":"||ae==="."||ae===vn||!ae?!1:ae===$t?(h.peek(),W()):Z(h,!1)},de=W();return h.resetPeek(),de}function z(h){y(h);const _=h.currentPeek()==="|";return h.resetPeek(),_}function q(h){const _=y(h),O=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:O,hasSpace:_.length>0}}function Z(h,_=!0){const O=(de=!1,ae="",F=!1)=>{const Y=h.currentPeek();return Y==="{"?ae==="%"?!1:de:Y==="@"||!Y?ae==="%"?!0:de:Y==="%"?(h.peek(),O(de,"%",!0)):Y==="|"?ae==="%"||F?!0:!(ae===vn||ae===$t):Y===vn?(h.peek(),O(!0,vn,F)):Y===$t?(h.peek(),O(!0,$t,F)):!0},W=O();return _&&h.resetPeek(),W}function he(h,_){const O=h.currentChar();return O===In?In:_(O)?(h.next(),O):null}function j(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36}function K(h){return he(h,j)}function G(h){const _=h.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36||_===45}function D(h){return he(h,G)}function L(h){const _=h.charCodeAt(0);return _>=48&&_<=57}function U(h){return he(h,L)}function R(h){const _=h.charCodeAt(0);return _>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102}function P(h){return he(h,R)}function V(h){let _="",O="";for(;_=U(h);)O+=_;return O}function re(h){x(h);const _=h.currentChar();return _!=="%"&&g(Ae.EXPECTED_TOKEN,s(),0,_),h.next(),"%"}function ye(h){let _="";for(;;){const O=h.currentChar();if(O==="{"||O==="}"||O==="@"||O==="|"||!O)break;if(O==="%")if(Z(h))_+=O,h.next();else break;else if(O===vn||O===$t)if(Z(h))_+=O,h.next();else{if(z(h))break;_+=O,h.next()}else _+=O,h.next()}return _}function Ce(h){x(h);let _="",O="";for(;_=D(h);)O+=_;return h.currentChar()===In&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O}function Te(h){x(h);let _="";return h.currentChar()==="-"?(h.next(),_+=`-${V(h)}`):_+=V(h),h.currentChar()===In&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),_}function Le(h){return h!==oc&&h!==$t}function ve(h){x(h),$(h,"'");let _="",O="";for(;_=he(h,Le);)_==="\\"?O+=_e(h):O+=_;const W=h.currentChar();return W===$t||W===In?(g(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),W===$t&&(h.next(),$(h,"'")),O):($(h,"'"),O)}function _e(h){const _=h.currentChar();switch(_){case"\\":case"'":return h.next(),`\\${_}`;case"u":return be(h,_,4);case"U":return be(h,_,6);default:return g(Ae.UNKNOWN_ESCAPE_SEQUENCE,s(),0,_),""}}function be(h,_,O){$(h,_);let W="";for(let de=0;de{const W=h.currentChar();return W==="{"||W==="%"||W==="@"||W==="|"||W==="("||W===")"||!W||W===vn?O:(O+=W,h.next(),_(O))};return _("")}function B(h){x(h);const _=$(h,"|");return x(h),_}function X(h,_){let O=null;switch(h.currentChar()){case"{":return _.braceNest>=1&&g(Ae.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),O=b(_,2,"{"),x(h),_.braceNest++,O;case"}":return _.braceNest>0&&_.currentType===2&&g(Ae.EMPTY_PLACEHOLDER,s(),0),h.next(),O=b(_,3,"}"),_.braceNest--,_.braceNest>0&&x(h),_.inLinked&&_.braceNest===0&&(_.inLinked=!1),O;case"@":return _.braceNest>0&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O=J(h,_)||w(_),_.braceNest=0,O;default:{let de=!0,ae=!0,F=!0;if(z(h))return _.braceNest>0&&g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),O=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,O;if(_.braceNest>0&&(_.currentType===5||_.currentType===6||_.currentType===7))return g(Ae.UNTERMINATED_CLOSING_BRACE,s(),0),_.braceNest=0,se(h,_);if(de=d(h,_))return O=b(_,5,Ce(h)),x(h),O;if(ae=f(h,_))return O=b(_,6,Te(h)),x(h),O;if(F=p(h,_))return O=b(_,7,ve(h)),x(h),O;if(!de&&!ae&&!F)return O=b(_,13,v(h)),g(Ae.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,O.value),x(h),O;break}}return O}function J(h,_){const{currentType:O}=_;let W=null;const de=h.currentChar();switch((O===8||O===9||O===12||O===10)&&(de===$t||de===vn)&&g(Ae.INVALID_LINKED_FORMAT,s(),0),de){case"@":return h.next(),W=b(_,8,"@"),_.inLinked=!0,W;case".":return x(h),h.next(),b(_,9,".");case":":return x(h),h.next(),b(_,10,":");default:return z(h)?(W=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,W):k(h,_)||M(h,_)?(x(h),J(h,_)):S(h,_)?(x(h),b(_,12,C(h))):T(h,_)?(x(h),de==="{"?X(h,_)||W:b(_,11,A(h))):(O===8&&g(Ae.INVALID_LINKED_FORMAT,s(),0),_.braceNest=0,_.inLinked=!1,se(h,_))}}function se(h,_){let O={type:14};if(_.braceNest>0)return X(h,_)||w(_);if(_.inLinked)return J(h,_)||w(_);switch(h.currentChar()){case"{":return X(h,_)||w(_);case"}":return g(Ae.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(_,3,"}");case"@":return J(h,_)||w(_);default:{if(z(h))return O=b(_,1,B(h)),_.braceNest=0,_.inLinked=!1,O;const{isModulo:de,hasSpace:ae}=q(h);if(de)return ae?b(_,0,ye(h)):b(_,4,re(h));if(Z(h))return b(_,0,ye(h));break}}return O}function ee(){const{currentType:h,offset:_,startLoc:O,endLoc:W}=l;return l.lastType=h,l.lastOffset=_,l.lastStartLoc=O,l.lastEndLoc=W,l.offset=r(),l.startLoc=s(),o.currentChar()===In?b(l,14):se(o,l)}return{nextToken:ee,currentOffset:r,currentPosition:s,context:c}}const im="parser",lm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function cm(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function um(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(d,f,p,k,...S){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const T=t?Zr(p,M):null,z=fo(f,T,{domain:im,args:S});n(z)}}function s(d,f,p,k,...S){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const T=t?Zr(p,M):null;o(Jh(f,T,S))}}function a(d,f,p){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:p,end:p}),k}function i(d,f,p,k){t&&(d.end=f,d.loc&&(d.loc.end=p))}function l(d,f){const p=d.context(),k=a(3,p.offset,p.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(5,k,S);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,p){const k=d.context(),{lastOffset:S,lastStartLoc:M}=k,T=a(4,S,M);return T.key=f,p===!0&&(T.modulo=!0),d.nextToken(),i(T,d.currentOffset(),d.currentPosition()),T}function g(d,f){const p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(9,k,S);return M.value=f.replace(lm,cm),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function b(d){const f=d.nextToken(),p=d.context(),{lastOffset:k,lastStartLoc:S}=p,M=a(8,k,S);return f.type!==12?(r(d,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,p.lastStartLoc,0),M.value="",i(M,k,S),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,qt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function w(d,f){const p=d.context(),k=a(7,p.offset,p.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function $(d){const f=d.context(),p=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const S=b(d);p.modifier=S.node,k=S.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=w(d,k.value||"");break;case 5:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(k)),p.key=g(d,k.value||"");break;default:{r(d,Ae.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const S=d.context(),M=a(7,S.offset,S.startLoc);return M.value="",i(M,S.offset,S.startLoc),p.key=M,i(p,S.offset,S.startLoc),{nextConsumeToken:k,node:p}}}return i(p,d.currentOffset(),d.currentPosition()),{node:p}}function y(d){const f=d.context(),p=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,S=a(2,p,k);S.items=[];let M=null,T=null;do{const Z=M||d.nextToken();switch(M=null,Z.type){case 0:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(l(d,Z.value||""));break;case 6:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(c(d,Z.value||""));break;case 4:T=!0;break;case 5:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(u(d,Z.value||"",!!T)),T&&(s(d,ra.USE_MODULO_SYNTAX,f.lastStartLoc,0,qt(Z)),T=null);break;case 7:Z.value==null&&r(d,Ae.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,qt(Z)),S.items.push(g(d,Z.value||""));break;case 8:{const he=$(d);S.items.push(he.node),M=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const z=f.currentType===1?f.lastOffset:d.currentOffset(),q=f.currentType===1?f.lastEndLoc:d.currentPosition();return i(S,z,q),S}function x(d,f,p,k){const S=d.context();let M=k.items.length===0;const T=a(1,f,p);T.cases=[],T.cases.push(k);do{const z=y(d);M||(M=z.items.length===0),T.cases.push(z)}while(S.currentType!==14);return M&&r(d,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,p,0),i(T,d.currentOffset(),d.currentPosition()),T}function E(d){const f=d.context(),{offset:p,startLoc:k}=f,S=y(d);return f.currentType===14?S:x(d,p,k,S)}function m(d){const f=am(d,ec({},e)),p=f.context(),k=a(0,p.offset,p.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=E(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),p.currentType!==14&&r(f,Ae.UNEXPECTED_LEXICAL_ANALYSIS,p.lastStartLoc,0,d[p.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:m}}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 dm(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function rc(e,t){for(let n=0;nsc(n)),e}function sc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(y,x){a.code+=y}function c(y,x=!0){const E=x?o:"";l(r?E+" ".repeat(y):E)}function u(y=!0){const x=++a.indentLevel;y&&c(x)}function g(y=!0){const x=--a.indentLevel;y&&c(x)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function bm(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),go(e,t.key),t.modifier?(e.push(", "),go(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function _m(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let s=0;s{const n=tc(t.mode)?t.mode:"normal",o=tc(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],i=mm(e,{filename:o,breakLineCode:r,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${nc(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),go(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function xm(e,t={}){const n=ec({},t),o=!!n.jit,r=!!n.minify,s=n.optimize==null?!0:n.optimize,i=um(n).parse(e);return o?(s&&pm(i),r&&po(i),{ast:i,code:""}):(fm(i,n),wm(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function km(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(yo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function so(e){return He(e)&&aa(e)===0&&(Ht(e,"b")||Ht(e,"body"))}const ac=["b","body"];function $m(e){return No(e,ac)}const ic=["c","cases"];function Sm(e){return No(e,ic,[])}const lc=["s","static"];function Em(e){return No(e,lc)}const cc=["i","items"];function Am(e){return No(e,cc,[])}const uc=["t","type"];function aa(e){return No(e,uc)}const dc=["v","value"];function Qr(e,t){const o=No(e,dc);if(o!=null)return o;throw Xn(t)}const fc=["m","modifier"];function Cm(e){return No(e,fc)}const pc=["k","key"];function Tm(e){const t=No(e,pc);if(t)return t;throw Xn(6)}function No(e,t,o){for(let n=0;n{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,n=4,b[0]();else{if(r=0,a===void 0||(a=Nm(a),a===!1))return!1;b[1]()}};function w(){const $=e[o+1];if(n===5&&$==="'"||n===6&&$==='"')return o++,i="\\"+$,b[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&w())){if(l=Im(s),g=Ro[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const hc=new Map;function Fm(e,t){return He(e)?e[t]:null}function Om(e,t){if(!He(e))return null;let o=hc.get(t);if(o||(o=Rm(t),o&&hc.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,jm=e=>"",zm="text",Bm=e=>e.length===0?"":Vh(e),Um=qh;function mc(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=it(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(it(e.named.count)||it(e.named.n))?it(e.named.count)?e.named.count:it(e.named.n)?e.named.n:t:t}function Hm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function qm(e={}){const t=e.locale,o=Gm(e),n=He(e.pluralRules)&&ge(t)&&Ze(e.pluralRules[t])?e.pluralRules[t]:mc,r=He(e.pluralRules)&&ge(t)&&Ze(e.pluralRules[t])?mc:void 0,s=E=>E[n(o,E.length,r)],a=e.list||[],i=E=>a[E],l=e.named||Ke();it(e.pluralIndex)&&Hm(o,l);const c=E=>l[E];function u(E){const m=Ze(e.messages)?e.messages(E):He(e.messages)?e.messages[E]:!1;return m||(e.parent?e.parent.message(E):jm)}const g=E=>e.modifiers?e.modifiers[E]:Dm,b=Ie(e.processor)&&Ze(e.processor.normalize)?e.processor.normalize:Bm,w=Ie(e.processor)&&Ze(e.processor.interpolate)?e.processor.interpolate:Um,$=Ie(e.processor)&&ge(e.processor.type)?e.processor.type:zm,x={list:i,named:c,plural:s,linked:(E,...m)=>{const[d,f]=m;let p="text",k="";m.length===1?He(d)?(k=d.modifier||k,p=d.type||p):ge(d)&&(k=d||k):m.length===2&&(ge(d)&&(k=d||k),ge(f)&&(p=f||p));const S=u(E)(x),M=p==="vnode"&&et(S)&&k?S[0]:S;return k?g(k)(M,p):M},message:u,type:$,interpolate:w,normalize:b,values:bt(Ke(),a,l)};return x}let Jn=null;function Vm(e){Jn=e}function Wm(e,t,o){Jn&&Jn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Km=Ym("function:translate");function Ym(e){return t=>Jn&&Jn.emit(e,t)}const Xm=ra.__EXTEND_POINT__,Wo=Yr(Xm),Jm={FALLBACK_TO_TRANSLATE:Wo(),CANNOT_FORMAT_NUMBER:Wo(),FALLBACK_TO_NUMBER_FORMAT:Wo(),CANNOT_FORMAT_DATE:Wo(),FALLBACK_TO_DATE_FORMAT:Wo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Wo(),__EXTEND_POINT__:Wo()},bc=Ae.__EXTEND_POINT__,Ko=Yr(bc),Vt={INVALID_ARGUMENT:bc,INVALID_DATE_ARGUMENT:Ko(),INVALID_ISO_DATE_ARGUMENT:Ko(),NOT_SUPPORT_NON_STRING_MESSAGE:Ko(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Ko(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Ko(),NOT_SUPPORT_LOCALE_TYPE:Ko(),__EXTEND_POINT__:Ko()};function ao(e){return fn(e,null,void 0)}function ia(e,t){return t.locale!=null?_c(t.locale):_c(e.locale)}let la;function _c(e){if(ge(e))return e;if(Ze(e)){if(e.resolvedOnce&&la!=null)return la;if(e.constructor.name==="Function"){const t=e();if(Hh(t))throw ao(Vt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return la=t}else throw ao(Vt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ao(Vt.NOT_SUPPORT_LOCALE_TYPE)}function Zm(e,t,o){return[...new Set([o,...et(t)?t:He(t)?Object.keys(t):ge(t)?[t]:[o]])]}function yc(e,t,o){const n=ge(o)?o:hn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;et(a);)a=vc(s,a,t);const i=et(t)||!Ie(t)?t:t.default?t.default:null;a=ge(i)?[i]:i,et(a)&&vc(s,a,!1),r.__localeChainCache.set(n,s)}return s}function vc(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ob(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?xc(e):t==="vnode"&&He(e)&&"__v_isVNode"in e?xc(e.children):e}}let kc;function $c(e){kc=e}let Sc;function nb(e){Sc=e}let Ec;function rb(e){Ec=e}let Ac=null;const sb=e=>{Ac=e},ab=()=>Ac;let Cc=null;const Tc=e=>{Cc=e},ib=()=>Cc;let Lc=0;function lb(e={}){const t=Ze(e.onWarn)?e.onWarn:Oh,o=ge(e.version)?e.version:tb,n=ge(e.locale)||Ze(e.locale)?e.locale:hn,r=Ze(n)?hn:n,s=et(e.fallbackLocale)||Ie(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ie(e.messages)?e.messages:ca(r),i=Ie(e.datetimeFormats)?e.datetimeFormats:ca(r),l=Ie(e.numberFormats)?e.numberFormats:ca(r),c=bt(Ke(),e.modifiers,ob()),u=e.pluralRules||Ke(),g=Ze(e.missing)?e.missing:null,b=ze(e.missingWarn)||Mo(e.missingWarn)?e.missingWarn:!0,w=ze(e.fallbackWarn)||Mo(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,y=!!e.unresolving,x=Ze(e.postTranslation)?e.postTranslation:null,E=Ie(e.processor)?e.processor:null,m=ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Ze(e.messageCompiler)?e.messageCompiler:kc,p=Ze(e.messageResolver)?e.messageResolver:Sc||Fm,k=Ze(e.localeFallbacker)?e.localeFallbacker:Ec||Zm,S=He(e.fallbackContext)?e.fallbackContext:void 0,M=e,T=He(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,z=He(M.__numberFormatters)?M.__numberFormatters:new Map,q=He(M.__meta)?M.__meta:{};Lc++;const Z={version:o,cid:Lc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:g,missingWarn:b,fallbackWarn:w,fallbackFormat:$,unresolving:y,postTranslation:x,processor:E,warnHtmlMessage:m,escapeParameter:d,messageCompiler:f,messageResolver:p,localeFallbacker:k,fallbackContext:S,onWarn:t,__meta:q};return Z.datetimeFormats=i,Z.numberFormats=l,Z.__datetimeFormatters=T,Z.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&Wm(Z,o,q),Z}const ca=e=>({[e]:Ke()});function ua(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,o,t,r);return ge(i)?i:t}else return t}function Zn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function cb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ub(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;ndb(o,e)}function db(e,t){const o=$m(t);if(o==null)throw Xn(0);if(aa(o)===1){const s=Sm(o);return e.plural(s.reduce((a,i)=>[...a,Pc(e,i)],[]))}else return Pc(e,o)}function Pc(e,t){const o=Em(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Am(t).reduce((r,s)=>[...r,fa(e,s)],[]);return e.normalize(n)}}function fa(e,t){const o=aa(t);switch(o){case 3:return Qr(t,o);case 9:return Qr(t,o);case 4:{const n=t;if(Ht(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ht(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Xn(o)}case 5:{const n=t;if(Ht(n,"i")&&it(n.i))return e.interpolate(e.list(n.i));if(Ht(n,"index")&&it(n.index))return e.interpolate(e.list(n.index));throw Xn(o)}case 6:{const n=t,r=Cm(n),s=Tm(n);return e.linked(fa(e,s),r?fa(e,r):void 0,e.type)}case 7:return Qr(t,o);case 8:return Qr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Mc=e=>e;let mn=Ke();function Ic(e,t={}){let o=!1;const n=t.onError||Qh;return t.onError=r=>{o=!0,n(r)},{...xm(e,t),detectError:o}}const fb=(e,t)=>{if(!ge(e))throw ao(Vt.NOT_SUPPORT_NON_STRING_MESSAGE);{ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Mc)(e),r=mn[n];if(r)return r;const{code:s,detectError:a}=Ic(e,t),i=new Function(`return ${s}`)();return a?i:mn[n]=i}};function pb(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Mc)(e),r=mn[n];if(r)return r;const{ast:s,detectError:a}=Ic(e,{...t,location:!1,jit:!0}),i=da(s);return a?i:mn[n]=i}else{const o=e.cacheKey;if(o){const n=mn[o];return n||(mn[o]=da(e))}else return da(e)}}const Nc=()=>"",Rt=e=>Ze(e);function Rc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=pa(...t),u=ze(c.missingWarn)?c.missingWarn:e.missingWarn,g=ze(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=ze(c.escapeParameter)?c.escapeParameter:e.escapeParameter,w=!!c.resolvedMessage,$=ge(c.default)||ze(c.default)?ze(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",y=o||$!=="",x=ia(e,c);b&&gb(c);let[E,m,d]=w?[l,x,i[x]||Ke()]:Fc(e,l,x,a,g,u),f=E,p=l;if(!w&&!(ge(f)||so(f)||Rt(f))&&y&&(f=$,p=f),!w&&(!(ge(f)||so(f)||Rt(f))||!ge(m)))return r?es:l;let k=!1;const S=()=>{k=!0},M=Rt(f)?f:Oc(e,l,m,f,p,S);if(k)return f;const T=bb(e,m,d,c),z=qm(T),q=hb(e,M,z);let Z=n?n(q,l):q;if(b&&ge(Z)&&(Z=Uh(Z)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:ge(l)?l:Rt(f)?f.key:"",locale:m||(Rt(f)?f.locale:""),format:ge(f)?f:Rt(f)?f.source:"",message:Z};he.meta=bt({},e.__meta,ab()||{}),Km(he)}return Z}function gb(e){et(e.list)?e.list=e.list.map(t=>ge(t)?Yl(t):t):He(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Yl(e.named[t]))})}function Fc(e,t,o,n,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=Ke(),b,w=null;const $="translate";for(let y=0;yn;return c.locale=o,c.key=t,c}const l=a(n,mb(e,o,r,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function hb(e,t,o){return t(o)}function pa(...e){const[t,o,n]=e,r=Ke();if(!ge(t)&&!it(t)&&!Rt(t)&&!so(t))throw ao(Vt.INVALID_ARGUMENT);const s=it(t)?String(t):(Rt(t),t);return it(o)?r.plural=o:ge(o)?r.default=o:Ie(o)&&!Kr(o)?r.named=o:et(o)&&(r.list=o),it(n)?r.plural=n:ge(n)?r.default=n:Ie(n)&&bt(r,n),[s,r]}function mb(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Dh(t,o,a)}}function bb(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:w=>{let $=a(o,w);if($==null&&u){const[,,y]=Fc(u,w,t,i,l,c);$=a(y,w)}if(ge($)||so($)){let y=!1;const E=Oc(e,w,t,$,w,()=>{y=!0});return y?Nc:E}else return Rt($)?$:Nc}};return e.processor&&(b.processor=e.processor),n.list&&(b.list=n.list),n.named&&(b.named=n.named),it(n.plural)&&(b.pluralIndex=n.plural),b}function Dc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=ga(...t),b=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const w=!!u.part,$=ia(e,u),y=a(e,r,$);if(!ge(l)||l==="")return new Intl.DateTimeFormat($,g).format(c);let x={},E,m=null;const d="datetime format";for(let k=0;k{jc.includes(l)?a[l]=o[l]:s[l]=o[l]}),ge(n)?s.locale=n:Ie(n)&&(a=n),Ie(r)&&(a=r),[s.key||"",i,s,a]}function zc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Bc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,g]=ha(...t),b=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const w=!!u.part,$=ia(e,u),y=a(e,r,$);if(!ge(l)||l==="")return new Intl.NumberFormat($,g).format(c);let x={},E,m=null;const d="number format";for(let k=0;k{Uc.includes(l)?a[l]=o[l]:s[l]=o[l]}),ge(n)?s.locale=n:Ie(n)&&(a=n),Ie(r)&&(a=r),[s.key||"",i,s,a]}function Gc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}km();/*! + */function km(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(yn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(yn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(yn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function sn(e){return He(e)&&aa(e)===0&&(Ht(e,"b")||Ht(e,"body"))}const ac=["b","body"];function $m(e){return Nn(e,ac)}const ic=["c","cases"];function Sm(e){return Nn(e,ic,[])}const lc=["s","static"];function Em(e){return Nn(e,lc)}const cc=["i","items"];function Am(e){return Nn(e,cc,[])}const uc=["t","type"];function aa(e){return Nn(e,uc)}const dc=["v","value"];function Qr(e,t){const n=Nn(e,dc);if(n!=null)return n;throw Xo(t)}const fc=["m","modifier"];function Cm(e){return Nn(e,fc)}const pc=["k","key"];function Tm(e){const t=Nn(e,pc);if(t)return t;throw Xo(6)}function Nn(e,t,n){for(let o=0;o{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,o=4,b[0]();else{if(r=0,a===void 0||(a=Nm(a),a===!1))return!1;b[1]()}};function w(){const $=e[n+1];if(o===5&&$==="'"||o===6&&$==='"')return n++,i="\\"+$,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&w())){if(l=Im(s),g=Rn[o],c=g[l]||g.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const hc=new Map;function Fm(e,t){return He(e)?e[t]:null}function Om(e,t){if(!He(e))return null;let n=hc.get(t);if(n||(n=Rm(t),n&&hc.set(t,n)),!n)return null;const o=n.length;let r=e,s=0;for(;se,jm=e=>"",zm="text",Bm=e=>e.length===0?"":Vh(e),Um=qh;function mc(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=it(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(it(e.named.count)||it(e.named.n))?it(e.named.count)?e.named.count:it(e.named.n)?e.named.n:t:t}function Hm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function qm(e={}){const t=e.locale,n=Gm(e),o=He(e.pluralRules)&&ge(t)&&Ze(e.pluralRules[t])?e.pluralRules[t]:mc,r=He(e.pluralRules)&&ge(t)&&Ze(e.pluralRules[t])?mc:void 0,s=E=>E[o(n,E.length,r)],a=e.list||[],i=E=>a[E],l=e.named||Ke();it(e.pluralIndex)&&Hm(n,l);const c=E=>l[E];function u(E){const m=Ze(e.messages)?e.messages(E):He(e.messages)?e.messages[E]:!1;return m||(e.parent?e.parent.message(E):jm)}const g=E=>e.modifiers?e.modifiers[E]:Dm,b=Ie(e.processor)&&Ze(e.processor.normalize)?e.processor.normalize:Bm,w=Ie(e.processor)&&Ze(e.processor.interpolate)?e.processor.interpolate:Um,$=Ie(e.processor)&&ge(e.processor.type)?e.processor.type:zm,x={list:i,named:c,plural:s,linked:(E,...m)=>{const[d,f]=m;let p="text",k="";m.length===1?He(d)?(k=d.modifier||k,p=d.type||p):ge(d)&&(k=d||k):m.length===2&&(ge(d)&&(k=d||k),ge(f)&&(p=f||p));const S=u(E)(x),M=p==="vnode"&&et(S)&&k?S[0]:S;return k?g(k)(M,p):M},message:u,type:$,interpolate:w,normalize:b,values:bt(Ke(),a,l)};return x}let Jo=null;function Vm(e){Jo=e}function Wm(e,t,n){Jo&&Jo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Km=Ym("function:translate");function Ym(e){return t=>Jo&&Jo.emit(e,t)}const Xm=ra.__EXTEND_POINT__,Wn=Yr(Xm),Jm={FALLBACK_TO_TRANSLATE:Wn(),CANNOT_FORMAT_NUMBER:Wn(),FALLBACK_TO_NUMBER_FORMAT:Wn(),CANNOT_FORMAT_DATE:Wn(),FALLBACK_TO_DATE_FORMAT:Wn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Wn(),__EXTEND_POINT__:Wn()},bc=Ae.__EXTEND_POINT__,Kn=Yr(bc),Vt={INVALID_ARGUMENT:bc,INVALID_DATE_ARGUMENT:Kn(),INVALID_ISO_DATE_ARGUMENT:Kn(),NOT_SUPPORT_NON_STRING_MESSAGE:Kn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Kn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Kn(),NOT_SUPPORT_LOCALE_TYPE:Kn(),__EXTEND_POINT__:Kn()};function an(e){return fo(e,null,void 0)}function ia(e,t){return t.locale!=null?_c(t.locale):_c(e.locale)}let la;function _c(e){if(ge(e))return e;if(Ze(e)){if(e.resolvedOnce&&la!=null)return la;if(e.constructor.name==="Function"){const t=e();if(Hh(t))throw an(Vt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return la=t}else throw an(Vt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw an(Vt.NOT_SUPPORT_LOCALE_TYPE)}function Zm(e,t,n){return[...new Set([n,...et(t)?t:He(t)?Object.keys(t):ge(t)?[t]:[n]])]}function yc(e,t,n){const o=ge(n)?n:ho,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(o);if(!s){s=[];let a=[n];for(;et(a);)a=vc(s,a,t);const i=et(t)||!Ie(t)?t:t.default?t.default:null;a=ge(i)?[i]:i,et(a)&&vc(s,a,!1),r.__localeChainCache.set(o,s)}return s}function vc(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function nb(){return{upper:(e,t)=>t==="text"&&ge(e)?e.toUpperCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ge(e)?e.toLowerCase():t==="vnode"&&He(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ge(e)?xc(e):t==="vnode"&&He(e)&&"__v_isVNode"in e?xc(e.children):e}}let kc;function $c(e){kc=e}let Sc;function ob(e){Sc=e}let Ec;function rb(e){Ec=e}let Ac=null;const sb=e=>{Ac=e},ab=()=>Ac;let Cc=null;const Tc=e=>{Cc=e},ib=()=>Cc;let Lc=0;function lb(e={}){const t=Ze(e.onWarn)?e.onWarn:Oh,n=ge(e.version)?e.version:tb,o=ge(e.locale)||Ze(e.locale)?e.locale:ho,r=Ze(o)?ho:o,s=et(e.fallbackLocale)||Ie(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ie(e.messages)?e.messages:ca(r),i=Ie(e.datetimeFormats)?e.datetimeFormats:ca(r),l=Ie(e.numberFormats)?e.numberFormats:ca(r),c=bt(Ke(),e.modifiers,nb()),u=e.pluralRules||Ke(),g=Ze(e.missing)?e.missing:null,b=ze(e.missingWarn)||Mn(e.missingWarn)?e.missingWarn:!0,w=ze(e.fallbackWarn)||Mn(e.fallbackWarn)?e.fallbackWarn:!0,$=!!e.fallbackFormat,y=!!e.unresolving,x=Ze(e.postTranslation)?e.postTranslation:null,E=Ie(e.processor)?e.processor:null,m=ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Ze(e.messageCompiler)?e.messageCompiler:kc,p=Ze(e.messageResolver)?e.messageResolver:Sc||Fm,k=Ze(e.localeFallbacker)?e.localeFallbacker:Ec||Zm,S=He(e.fallbackContext)?e.fallbackContext:void 0,M=e,T=He(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,z=He(M.__numberFormatters)?M.__numberFormatters:new Map,q=He(M.__meta)?M.__meta:{};Lc++;const Z={version:n,cid:Lc,locale:o,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:g,missingWarn:b,fallbackWarn:w,fallbackFormat:$,unresolving:y,postTranslation:x,processor:E,warnHtmlMessage:m,escapeParameter:d,messageCompiler:f,messageResolver:p,localeFallbacker:k,fallbackContext:S,onWarn:t,__meta:q};return Z.datetimeFormats=i,Z.numberFormats=l,Z.__datetimeFormatters=T,Z.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&Wm(Z,n,q),Z}const ca=e=>({[e]:Ke()});function ua(e,t,n,o,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,n,t,r);return ge(i)?i:t}else return t}function Zo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function cb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ub(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;odb(n,e)}function db(e,t){const n=$m(t);if(n==null)throw Xo(0);if(aa(n)===1){const s=Sm(n);return e.plural(s.reduce((a,i)=>[...a,Pc(e,i)],[]))}else return Pc(e,n)}function Pc(e,t){const n=Em(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Am(t).reduce((r,s)=>[...r,fa(e,s)],[]);return e.normalize(o)}}function fa(e,t){const n=aa(t);switch(n){case 3:return Qr(t,n);case 9:return Qr(t,n);case 4:{const o=t;if(Ht(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(Ht(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Xo(n)}case 5:{const o=t;if(Ht(o,"i")&&it(o.i))return e.interpolate(e.list(o.i));if(Ht(o,"index")&&it(o.index))return e.interpolate(e.list(o.index));throw Xo(n)}case 6:{const o=t,r=Cm(o),s=Tm(o);return e.linked(fa(e,s),r?fa(e,r):void 0,e.type)}case 7:return Qr(t,n);case 8:return Qr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Mc=e=>e;let mo=Ke();function Ic(e,t={}){let n=!1;const o=t.onError||Qh;return t.onError=r=>{n=!0,o(r)},{...xm(e,t),detectError:n}}const fb=(e,t)=>{if(!ge(e))throw an(Vt.NOT_SUPPORT_NON_STRING_MESSAGE);{ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Mc)(e),r=mo[o];if(r)return r;const{code:s,detectError:a}=Ic(e,t),i=new Function(`return ${s}`)();return a?i:mo[o]=i}};function pb(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&ge(e)){ze(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Mc)(e),r=mo[o];if(r)return r;const{ast:s,detectError:a}=Ic(e,{...t,location:!1,jit:!0}),i=da(s);return a?i:mo[o]=i}else{const n=e.cacheKey;if(n){const o=mo[n];return o||(mo[n]=da(e))}else return da(e)}}const Nc=()=>"",Rt=e=>Ze(e);function Rc(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=pa(...t),u=ze(c.missingWarn)?c.missingWarn:e.missingWarn,g=ze(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=ze(c.escapeParameter)?c.escapeParameter:e.escapeParameter,w=!!c.resolvedMessage,$=ge(c.default)||ze(c.default)?ze(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",y=n||$!=="",x=ia(e,c);b&&gb(c);let[E,m,d]=w?[l,x,i[x]||Ke()]:Fc(e,l,x,a,g,u),f=E,p=l;if(!w&&!(ge(f)||sn(f)||Rt(f))&&y&&(f=$,p=f),!w&&(!(ge(f)||sn(f)||Rt(f))||!ge(m)))return r?es:l;let k=!1;const S=()=>{k=!0},M=Rt(f)?f:Oc(e,l,m,f,p,S);if(k)return f;const T=bb(e,m,d,c),z=qm(T),q=hb(e,M,z);let Z=o?o(q,l):q;if(b&&ge(Z)&&(Z=Uh(Z)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:ge(l)?l:Rt(f)?f.key:"",locale:m||(Rt(f)?f.locale:""),format:ge(f)?f:Rt(f)?f.source:"",message:Z};he.meta=bt({},e.__meta,ab()||{}),Km(he)}return Z}function gb(e){et(e.list)?e.list=e.list.map(t=>ge(t)?Yl(t):t):He(e.named)&&Object.keys(e.named).forEach(t=>{ge(e.named[t])&&(e.named[t]=Yl(e.named[t]))})}function Fc(e,t,n,o,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let g=Ke(),b,w=null;const $="translate";for(let y=0;yo;return c.locale=n,c.key=t,c}const l=a(o,mb(e,n,r,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function hb(e,t,n){return t(n)}function pa(...e){const[t,n,o]=e,r=Ke();if(!ge(t)&&!it(t)&&!Rt(t)&&!sn(t))throw an(Vt.INVALID_ARGUMENT);const s=it(t)?String(t):(Rt(t),t);return it(n)?r.plural=n:ge(n)?r.default=n:Ie(n)&&!Kr(n)?r.named=n:et(n)&&(r.list=n),it(o)?r.plural=o:ge(o)?r.default=o:Ie(o)&&bt(r,o),[s,r]}function mb(e,t,n,o,r,s){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Dh(t,n,a)}}function bb(e,t,n,o){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:w=>{let $=a(n,w);if($==null&&u){const[,,y]=Fc(u,w,t,i,l,c);$=a(y,w)}if(ge($)||sn($)){let y=!1;const E=Oc(e,w,t,$,w,()=>{y=!0});return y?Nc:E}else return Rt($)?$:Nc}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),it(o.plural)&&(b.pluralIndex=o.plural),b}function Dc(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=ga(...t),b=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const w=!!u.part,$=ia(e,u),y=a(e,r,$);if(!ge(l)||l==="")return new Intl.DateTimeFormat($,g).format(c);let x={},E,m=null;const d="datetime format";for(let k=0;k{jc.includes(l)?a[l]=n[l]:s[l]=n[l]}),ge(o)?s.locale=o:Ie(o)&&(a=o),Ie(r)&&(a=r),[s.key||"",i,s,a]}function zc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Bc(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,g]=ha(...t),b=ze(u.missingWarn)?u.missingWarn:e.missingWarn;ze(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const w=!!u.part,$=ia(e,u),y=a(e,r,$);if(!ge(l)||l==="")return new Intl.NumberFormat($,g).format(c);let x={},E,m=null;const d="number format";for(let k=0;k{Uc.includes(l)?a[l]=n[l]:s[l]=n[l]}),ge(o)?s.locale=o:Ie(o)&&(a=o),Ie(r)&&(a=r),[s.key||"",i,s,a]}function Gc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}km();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const _b="9.14.5";function yb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(yo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(yo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(yo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(yo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(yo().__INTLIFY_PROD_DEVTOOLS__=!1)}const vb=Jm.__EXTEND_POINT__,wo=Yr(vb);wo(),wo(),wo(),wo(),wo(),wo(),wo(),wo(),wo();const Hc=Vt.__EXTEND_POINT__,At=Yr(Hc),ut={UNEXPECTED_RETURN_TYPE:Hc,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 ft(e,...t){return fn(e,null,void 0)}const ma=Po("__translateVNode"),ba=Po("__datetimeParts"),_a=Po("__numberParts"),qc=Po("__setPluralRules"),Vc=Po("__injectWithOption"),ya=Po("__dispose");function Qn(e){if(!He(e)||so(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))He(e[t])&&Qn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Ke(),Jr(c,a[l])):Jr(c,a)}else ge(i)&&Jr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Ht(a,i)&&Qn(a[i]);return a}function Wc(e){return e.type}function Kc(e,t,o){let n=He(t.messages)?t.messages:Ke();"__i18nGlobal"in o&&(n=ts(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(He(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(He(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Yc(e){return Ue(Bn,null,e,0)}const Xc="__INTLIFY_META__",Jc=()=>[],wb=()=>!1;let Zc=0;function Qc(e){return(t,o,n,r)=>e(o,n,bo()||void 0,r)}const xb=()=>{const e=bo();let t=null;return e&&(t=Wc(e)[Xc])?{[Xc]:t}:null};function va(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Wr?le:Mn,i=!!e.translateExistCompatible;let l=ze(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&l?o.locale.value:ge(e.locale)?e.locale:hn),u=a(o&&l?o.fallbackLocale.value:ge(e.fallbackLocale)||et(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=a(ts(c.value,e)),b=a(Ie(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),w=a(Ie(e.numberFormats)?e.numberFormats:{[c.value]:{}});let $=o?o.missingWarn:ze(e.missingWarn)||Mo(e.missingWarn)?e.missingWarn:!0,y=o?o.fallbackWarn:ze(e.fallbackWarn)||Mo(e.fallbackWarn)?e.fallbackWarn:!0,x=o?o.fallbackRoot:ze(e.fallbackRoot)?e.fallbackRoot:!0,E=!!e.fallbackFormat,m=Ze(e.missing)?e.missing:null,d=Ze(e.missing)?Qc(e.missing):null,f=Ze(e.postTranslation)?e.postTranslation:null,p=o?o.warnHtmlMessage:ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const S=o?o.modifiers:Ie(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,T;T=(()=>{r&&Tc(null);const F={version:_b,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:S,pluralRules:M,missing:d===null?void 0:d,missingWarn:$,fallbackWarn:y,fallbackFormat:E,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:p,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};F.datetimeFormats=b.value,F.numberFormats=w.value,F.__datetimeFormatters=Ie(T)?T.__datetimeFormatters:void 0,F.__numberFormatters=Ie(T)?T.__numberFormatters:void 0;const Y=lb(F);return r&&Tc(Y),Y})(),Zn(T,c.value,u.value);function q(){return[c.value,u.value,g.value,b.value,w.value]}const Z=ne({get:()=>c.value,set:F=>{c.value=F,T.locale=c.value}}),he=ne({get:()=>u.value,set:F=>{u.value=F,T.fallbackLocale=u.value,Zn(T,c.value,F)}}),j=ne(()=>g.value),K=ne(()=>b.value),G=ne(()=>w.value);function D(){return Ze(f)?f:null}function L(F){f=F,T.postTranslation=F}function U(){return m}function R(F){F!==null&&(d=Qc(F)),m=F,T.missing=d}const P=(F,Y,me,Se,De,Qe)=>{q();let nt;try{__INTLIFY_PROD_DEVTOOLS__,r||(T.fallbackContext=o?ib():void 0),nt=F(T)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(T.fallbackContext=void 0)}if(me!=="translate exists"&&it(nt)&&nt===es||me==="translate exists"&&!nt){const[Ot,te]=Y();return o&&x?Se(o):De(Ot)}else{if(Qe(nt))return nt;throw ft(ut.UNEXPECTED_RETURN_TYPE)}};function V(...F){return P(Y=>Reflect.apply(Rc,null,[Y,...F]),()=>pa(...F),"translate",Y=>Reflect.apply(Y.t,Y,[...F]),Y=>Y,Y=>ge(Y))}function re(...F){const[Y,me,Se]=F;if(Se&&!He(Se))throw ft(ut.INVALID_ARGUMENT);return V(Y,me,bt({resolvedMessage:!0},Se||{}))}function ye(...F){return P(Y=>Reflect.apply(Dc,null,[Y,...F]),()=>ga(...F),"datetime format",Y=>Reflect.apply(Y.d,Y,[...F]),()=>wc,Y=>ge(Y))}function Ce(...F){return P(Y=>Reflect.apply(Bc,null,[Y,...F]),()=>ha(...F),"number format",Y=>Reflect.apply(Y.n,Y,[...F]),()=>wc,Y=>ge(Y))}function Te(F){return F.map(Y=>ge(Y)||it(Y)||ze(Y)?Yc(String(Y)):Y)}const ve={normalize:Te,interpolate:F=>F,type:"vnode"};function _e(...F){return P(Y=>{let me;const Se=Y;try{Se.processor=ve,me=Reflect.apply(Rc,null,[Se,...F])}finally{Se.processor=null}return me},()=>pa(...F),"translate",Y=>Y[ma](...F),Y=>[Yc(Y)],Y=>et(Y))}function be(...F){return P(Y=>Reflect.apply(Bc,null,[Y,...F]),()=>ha(...F),"number format",Y=>Y[_a](...F),Jc,Y=>ge(Y)||et(Y))}function we(...F){return P(Y=>Reflect.apply(Dc,null,[Y,...F]),()=>ga(...F),"datetime format",Y=>Y[ba](...F),Jc,Y=>ge(Y)||et(Y))}function v(F){M=F,T.pluralRules=M}function C(F,Y){return P(()=>{if(!F)return!1;const me=ge(Y)?Y:c.value,Se=X(me),De=T.messageResolver(Se,F);return i?De!=null:so(De)||Rt(De)||ge(De)},()=>[F],"translate exists",me=>Reflect.apply(me.te,me,[F,Y]),wb,me=>ze(me))}function A(F){let Y=null;const me=yc(T,u.value,c.value);for(let Se=0;Se{l&&(c.value=F,T.locale=F,Zn(T,c.value,u.value))}),ht(o.fallbackLocale,F=>{l&&(u.value=F,T.fallbackLocale=F,Zn(T,c.value,u.value))}));const ae={id:Zc,locale:Z,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(F){l=F,F&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Zn(T,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:j,get modifiers(){return S},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return $},set missingWarn(F){$=F,T.missingWarn=$},get fallbackWarn(){return y},set fallbackWarn(F){y=F,T.fallbackWarn=y},get fallbackRoot(){return x},set fallbackRoot(F){x=F},get fallbackFormat(){return E},set fallbackFormat(F){E=F,T.fallbackFormat=E},get warnHtmlMessage(){return p},set warnHtmlMessage(F){p=F,T.warnHtmlMessage=F},get escapeParameter(){return k},set escapeParameter(F){k=F,T.escapeParameter=F},t:V,getLocaleMessage:X,setLocaleMessage:J,mergeLocaleMessage:se,getPostTranslationHandler:D,setPostTranslationHandler:L,getMissingHandler:U,setMissingHandler:R,[qc]:v};return ae.datetimeFormats=K,ae.numberFormats=G,ae.rt=re,ae.te=C,ae.tm=B,ae.d=ye,ae.n=Ce,ae.getDateTimeFormat=ee,ae.setDateTimeFormat=h,ae.mergeDateTimeFormat=_,ae.getNumberFormat=O,ae.setNumberFormat=W,ae.mergeNumberFormat=de,ae[Vc]=n,ae[ma]=_e,ae[ba]=we,ae[_a]=be,ae}function kb(e){const t=ge(e.locale)?e.locale:hn,o=ge(e.fallbackLocale)||et(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ze(e.missing)?e.missing:void 0,r=ze(e.silentTranslationWarn)||Mo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ze(e.silentFallbackWarn)||Mo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=ze(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ie(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ze(e.postTranslation)?e.postTranslation:void 0,g=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,w=ze(e.sync)?e.sync:!0;let $=e.messages;if(Ie(e.sharedMessages)){const k=e.sharedMessages;$=Object.keys(k).reduce((M,T)=>{const z=M[T]||(M[T]={});return bt(z,k[T]),M},$||{})}const{__i18n:y,__root:x,__injectWithOption:E}=e,m=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,p=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:$,flatJson:f,datetimeFormats:m,numberFormats:d,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:w,translateExistCompatible:p,__i18n:y,__root:x,__injectWithOption:E}}function wa(e={},t){{const o=va(kb(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return ze(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=ze(s)?!s:s},get silentFallbackWarn(){return ze(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=ze(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,i,l]=s,c={};let u=null,g=null;if(!ge(a))throw ft(ut.INVALID_ARGUMENT);const b=a;return ge(i)?c.locale=i:et(i)?u=i:Ie(i)&&(g=i),et(l)?u=l:Ie(l)&&(g=l),Reflect.apply(o.t,o,[b,u||g||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,g=null;if(!ge(a))throw ft(ut.INVALID_ARGUMENT);const b=a;return ge(i)?c.locale=i:it(i)?c.plural=i:et(i)?u=i:Ie(i)&&(g=i),ge(l)?c.locale=l:et(l)?u=l:Ie(l)&&(g=l),Reflect.apply(o.t,o,[b,u||g||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const xa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function $b({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===Ne?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ke())}function eu(e){return Ne}const tu=On({name:"i18n-t",props:bt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>it(e)||!isNaN(e)}},xa),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||bn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(g=>g!=="_"),a=Ke();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const i=$b(t,s),l=r[ma](e.keypath,i,a),c=bt(Ke(),n),u=ge(e.tag)||He(e.tag)?e.tag:eu();return Sl(u,c,l)}}});function Sb(e){return et(e)&&!ge(e[0])}function ou(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Ke();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:He(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,w)=>o.includes(w)?bt(Ke(),b,{[w]:e.format[w]}):b,Ke()));const l=n(e.value,a,i);let c=[a.key];et(l)?c=l.map((b,w)=>{const $=r[b.type],y=$?$({[b.type]:b.value,index:w,parts:l}):[b.value];return Sb(y)&&(y[0].key=`${b.type}-${w}`),y}):ge(l)&&(c=[l]);const u=bt(Ke(),s),g=ge(e.tag)||He(e.tag)?e.tag:eu();return Sl(g,u,c)}}const nu=On({name:"i18n-n",props:bt({value:{type:Number,required:!0},format:{type:[String,Object]}},xa),setup(e,t){const o=e.i18n||bn({useScope:e.scope,__useComponent:!0});return ou(e,t,Uc,(...n)=>o[_a](...n))}}),ru=On({name:"i18n-d",props:bt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},xa),setup(e,t){const o=e.i18n||bn({useScope:e.scope,__useComponent:!0});return ou(e,t,jc,(...n)=>o[ba](...n))}});function Eb(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 Ab(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw ft(ut.UNEXPECTED_ERROR);const u=Eb(e,i.$),g=su(c);return[Reflect.apply(u.t,u,[...au(g)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Wr&&e.global===c&&(a.__i18nWatcher=ht(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Wr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=su(i);a.textContent=Reflect.apply(l.t,l,[...au(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function su(e){if(ge(e))return{path:e};if(Ie(e)){if(!("path"in e))throw ft(ut.REQUIRED_VALUE,"path");return e}else throw ft(ut.INVALID_VALUE)}function au(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},i=n||{};return ge(o)&&(a.locale=o),it(r)&&(a.plural=r),it(s)&&(a.plural=s),[t,i,a]}function Cb(e,t,...o){const n=Ie(o[0])?o[0]:{},r=!!n.useI18nComponentName;(ze(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":tu.name,"I18nT"].forEach(a=>e.component(a,tu)),[nu.name,"I18nN"].forEach(a=>e.component(a,nu)),[ru.name,"I18nD"].forEach(a=>e.component(a,ru))),e.directive("t",Ab(t))}function Tb(e,t,o){return{beforeCreate(){const n=bo();if(!n)throw ft(ut.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=iu(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=wa(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=iu(e,r);else{this.$i18n=wa({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Kc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=bo();if(!n)throw ft(ut.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 iu(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[qc](t.pluralizationRules||e.pluralizationRules);const o=ts(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 Lb=Po("global-vue-i18n");function Pb(e={},t){const o=__VUE_I18N_LEGACY_API__&&ze(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=ze(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,i]=Mb(e,o),l=Po("");function c(b){return s.get(b)||null}function u(b,w){s.set(b,w)}function g(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(w,...$){if(w.__VUE_I18N_SYMBOL__=l,w.provide(w.__VUE_I18N_SYMBOL__,b),Ie($[0])){const E=$[0];b.__composerExtend=E.__composerExtend,b.__vueI18nExtend=E.__vueI18nExtend}let y=null;!o&&n&&(y=Bb(w,b.global)),__VUE_I18N_FULL_INSTALL__&&Cb(w,b,...$),__VUE_I18N_LEGACY_API__&&o&&w.mixin(Tb(i,i.__composer,b));const x=w.unmount;w.unmount=()=>{y&&y(),b.dispose(),x()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:g};return b}}function bn(e={}){const t=bo();if(t==null)throw ft(ut.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(ut.NOT_INSTALLED);const o=Ib(t),n=Rb(o),r=Wc(t),s=Nb(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ft(ut.NOT_AVAILABLE_IN_LEGACY_MODE);return jb(t,s,n,e)}if(s==="global")return Kc(n,e,r),n;if(s==="parent"){let l=Fb(o,t,e.__useComponent);return l==null&&(l=n),l}const a=o;let i=a.__getInstance(t);if(i==null){const l=bt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),n&&(l.__root=n),i=va(l),a.__composerExtend&&(i[ya]=a.__composerExtend(i)),Db(a,t,i),a.__setInstance(t,i)}return i}function Mb(e,t,o){const n=bs();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>wa(e)):n.run(()=>va(e));if(r==null)throw ft(ut.UNEXPECTED_ERROR);return[n,r]}}function Ib(e){{const t=Me(e.isCE?Lb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?ut.NOT_INSTALLED_WITH_PROVIDE:ut.UNEXPECTED_ERROR);return t}}function Nb(e,t){return Kr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Rb(e){return e.mode==="composition"?e.global:e.global.__composer}function Fb(e,t,o=!1){let n=null;const r=t.root;let s=Ob(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Vc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function Ob(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Db(e,t,o){vt(()=>{},t),Ir(()=>{const n=o;e.__deleteInstance(t);const r=n[ya];r&&(r(),delete n[ya])},t)}function jb(e,t,o,n={}){const r=t==="local",s=Mn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(ut.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=ze(n.inheritLocale)?n.inheritLocale:!ge(n.locale),i=le(!r||a?o.locale.value:ge(n.locale)?n.locale:hn),l=le(!r||a?o.fallbackLocale.value:ge(n.fallbackLocale)||et(n.fallbackLocale)||Ie(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=le(ts(i.value,n)),u=le(Ie(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=le(Ie(n.numberFormats)?n.numberFormats:{[i.value]:{}}),b=r?o.missingWarn:ze(n.missingWarn)||Mo(n.missingWarn)?n.missingWarn:!0,w=r?o.fallbackWarn:ze(n.fallbackWarn)||Mo(n.fallbackWarn)?n.fallbackWarn:!0,$=r?o.fallbackRoot:ze(n.fallbackRoot)?n.fallbackRoot:!0,y=!!n.fallbackFormat,x=Ze(n.missing)?n.missing:null,E=Ze(n.postTranslation)?n.postTranslation:null,m=r?o.warnHtmlMessage:ze(n.warnHtmlMessage)?n.warnHtmlMessage:!0,d=!!n.escapeParameter,f=r?o.modifiers:Ie(n.modifiers)?n.modifiers:{},p=n.pluralRules||r&&o.pluralRules;function k(){return[i.value,l.value,c.value,u.value,g.value]}const S=ne({get:()=>s.value?s.value.locale.value:i.value,set:A=>{s.value&&(s.value.locale.value=A),i.value=A}}),M=ne({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:A=>{s.value&&(s.value.fallbackLocale.value=A),l.value=A}}),T=ne(()=>s.value?s.value.messages.value:c.value),z=ne(()=>u.value),q=ne(()=>g.value);function Z(){return s.value?s.value.getPostTranslationHandler():E}function he(A){s.value&&s.value.setPostTranslationHandler(A)}function j(){return s.value?s.value.getMissingHandler():x}function K(A){s.value&&s.value.setMissingHandler(A)}function G(A){return k(),A()}function D(...A){return s.value?G(()=>Reflect.apply(s.value.t,null,[...A])):G(()=>"")}function L(...A){return s.value?Reflect.apply(s.value.rt,null,[...A]):""}function U(...A){return s.value?G(()=>Reflect.apply(s.value.d,null,[...A])):G(()=>"")}function R(...A){return s.value?G(()=>Reflect.apply(s.value.n,null,[...A])):G(()=>"")}function P(A){return s.value?s.value.tm(A):{}}function V(A,B){return s.value?s.value.te(A,B):!1}function re(A){return s.value?s.value.getLocaleMessage(A):{}}function ye(A,B){s.value&&(s.value.setLocaleMessage(A,B),c.value[A]=B)}function Ce(A,B){s.value&&s.value.mergeLocaleMessage(A,B)}function Te(A){return s.value?s.value.getDateTimeFormat(A):{}}function Le(A,B){s.value&&(s.value.setDateTimeFormat(A,B),u.value[A]=B)}function ve(A,B){s.value&&s.value.mergeDateTimeFormat(A,B)}function _e(A){return s.value?s.value.getNumberFormat(A):{}}function be(A,B){s.value&&(s.value.setNumberFormat(A,B),g.value[A]=B)}function we(A,B){s.value&&s.value.mergeNumberFormat(A,B)}const v={get id(){return s.value?s.value.id:-1},locale:S,fallbackLocale:M,messages:T,datetimeFormats:z,numberFormats:q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(A){s.value&&(s.value.inheritLocale=A)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:p},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(A){s.value&&(s.value.missingWarn=A)},get fallbackWarn(){return s.value?s.value.fallbackWarn:w},set fallbackWarn(A){s.value&&(s.value.missingWarn=A)},get fallbackRoot(){return s.value?s.value.fallbackRoot:$},set fallbackRoot(A){s.value&&(s.value.fallbackRoot=A)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(A){s.value&&(s.value.fallbackFormat=A)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:m},set warnHtmlMessage(A){s.value&&(s.value.warnHtmlMessage=A)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(A){s.value&&(s.value.escapeParameter=A)},t:D,getPostTranslationHandler:Z,setPostTranslationHandler:he,getMissingHandler:j,setMissingHandler:K,rt:L,d:U,n:R,tm:P,te:V,getLocaleMessage:re,setLocaleMessage:ye,mergeLocaleMessage:Ce,getDateTimeFormat:Te,setDateTimeFormat:Le,mergeDateTimeFormat:ve,getNumberFormat:_e,setNumberFormat:be,mergeNumberFormat:we};function C(A){A.locale.value=i.value,A.fallbackLocale.value=l.value,Object.keys(c.value).forEach(B=>{A.mergeLocaleMessage(B,c.value[B])}),Object.keys(u.value).forEach(B=>{A.mergeDateTimeFormat(B,u.value[B])}),Object.keys(g.value).forEach(B=>{A.mergeNumberFormat(B,g.value[B])}),A.escapeParameter=d,A.fallbackFormat=y,A.fallbackRoot=$,A.fallbackWarn=w,A.missingWarn=b,A.warnHtmlMessage=m}return Ui(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(ut.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const A=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=A.locale.value,l.value=A.fallbackLocale.value,c.value=A.messages.value,u.value=A.datetimeFormats.value,g.value=A.numberFormats.value):r&&C(A)}),v}const zb=["locale","fallbackLocale","availableLocales"],lu=["t","rt","d","n","tm","te"];function Bb(e,t){const o=Object.create(null);return zb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw ft(ut.UNEXPECTED_ERROR);const a=ot(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,lu.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw ft(ut.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,lu.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(yb(),__INTLIFY_JIT_COMPILATION__?$c(pb):$c(fb),nb(Om),rb(yc),__INTLIFY_PROD_DEVTOOLS__){const e=yo();e.__INTLIFY__=!0,Vm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Ub=Object.assign({"./locales/ar/aria.json":Kp,"./locales/ar/buttons.json":Yp,"./locales/ar/detail.json":Xp,"./locales/ar/legend.json":Jp,"./locales/ar/messages.json":Zp,"./locales/ar/options.json":Qp,"./locales/ar/prayerLaps.json":eg,"./locales/ar/search.json":tg,"./locales/ar/tabs.json":og,"./locales/de/aria.json":ng,"./locales/de/buttons.json":rg,"./locales/de/detail.json":sg,"./locales/de/legend.json":ag,"./locales/de/messages.json":ig,"./locales/de/options.json":lg,"./locales/de/prayerLaps.json":cg,"./locales/de/search.json":ug,"./locales/de/tabs.json":dg,"./locales/en/aria.json":fg,"./locales/en/buttons.json":pg,"./locales/en/detail.json":gg,"./locales/en/legend.json":hg,"./locales/en/messages.json":mg,"./locales/en/options.json":bg,"./locales/en/popup.json":_g,"./locales/en/prayerLaps.json":yg,"./locales/en/search.json":vg,"./locales/en/tabs.json":wg,"./locales/es/aria.json":xg,"./locales/es/buttons.json":kg,"./locales/es/detail.json":$g,"./locales/es/legend.json":Sg,"./locales/es/messages.json":Eg,"./locales/es/options.json":Ag,"./locales/es/prayerLaps.json":Cg,"./locales/es/search.json":Tg,"./locales/es/tabs.json":Lg,"./locales/fr/aria.json":Pg,"./locales/fr/buttons.json":Mg,"./locales/fr/detail.json":Ig,"./locales/fr/legend.json":Ng,"./locales/fr/messages.json":Rg,"./locales/fr/options.json":Fg,"./locales/fr/popup.json":Og,"./locales/fr/prayerLaps.json":Dg,"./locales/fr/search.json":jg,"./locales/fr/tabs.json":zg,"./locales/hi/aria.json":Bg,"./locales/hi/buttons.json":Ug,"./locales/hi/detail.json":Gg,"./locales/hi/legend.json":Hg,"./locales/hi/messages.json":qg,"./locales/hi/options.json":Vg,"./locales/hi/prayerLaps.json":Wg,"./locales/hi/search.json":Kg,"./locales/it/aria.json":Yg,"./locales/it/buttons.json":Xg,"./locales/it/detail.json":Jg,"./locales/it/legend.json":Zg,"./locales/it/messages.json":Qg,"./locales/it/options.json":eh,"./locales/it/prayerLaps.json":th,"./locales/it/search.json":oh,"./locales/pt/aria.json":nh,"./locales/pt/buttons.json":rh,"./locales/pt/detail.json":sh,"./locales/pt/legend.json":ah,"./locales/pt/messages.json":ih,"./locales/pt/options.json":lh,"./locales/pt/prayerLaps.json":ch,"./locales/pt/search.json":uh,"./locales/pt/tabs.json":dh,"./locales/ro/aria.json":fh,"./locales/ro/buttons.json":ph,"./locales/ro/detail.json":gh,"./locales/ro/legend.json":hh,"./locales/ro/messages.json":mh,"./locales/ro/options.json":bh,"./locales/ro/prayerLaps.json":_h,"./locales/ro/search.json":yh,"./locales/ru/aria.json":vh,"./locales/ru/buttons.json":wh,"./locales/ru/detail.json":xh,"./locales/ru/legend.json":kh,"./locales/ru/messages.json":$h,"./locales/ru/options.json":Sh,"./locales/ru/prayerLaps.json":Eh,"./locales/ru/search.json":Ah,"./locales/ru/tabs.json":Ch,"./locales/zh/aria.json":Th,"./locales/zh/buttons.json":Lh,"./locales/zh/detail.json":Ph,"./locales/zh/legend.json":Mh,"./locales/zh/messages.json":Ih,"./locales/zh/options.json":Nh,"./locales/zh/prayerLaps.json":Rh,"./locales/zh/search.json":Fh}),er={};for(const[e,t]of Object.entries(Ub)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;er[n]??(er[n]={}),er[n][r]=t}const cu=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Gb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return cu.includes(t)?t:"en"}function Hb(){return Pb({legacy:!1,globalInjection:!0,locale:Gb(),fallbackLocale:"en",messages:er,missingWarn:!1,fallbackWarn:!1})}function It(e,t){const o=t||qb(e);vt(()=>{var i;const n=bo();if(!n)return;const r=(i=n.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function qb(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),r=ne(()=>{var x;return((x=o==null?void 0:o.value)==null?void 0:x.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=le(!1),a=le(null);let i=null,l=null,c=null,u=null,g=null;function b(){s.value=!1}function w(x,E){var d;let m=x==null?void 0:x.parentElement;for(let f=0;m&&f<12;f++,m=m.parentElement){if(m===E||(d=m.classList)!=null&&d.contains("profile-loader"))return null;let p="";try{p=getComputedStyle(m).position}catch{}if(p&&p!=="static"){const k=m.getBoundingClientRect();if(k.height>=120&&k.width>=160)return m}}return null}function $(){const x=a.value;if(x)try{x.style.removeProperty("--pin-hint-lift");const E=x.getBoundingClientRect();if(!E.height)return;const m=Math.round(E.bottom-window.innerHeight);m>0&&x.style.setProperty("--pin-hint-lift",m+8+"px")}catch{}}function y(x){const E=a.value;if(!E||!(x!=null&&x.querySelector))return;let m=0;try{const f=x.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const p=f.getBoundingClientRect(),k=E.parentElement,S=k?k.getBoundingClientRect():null;if(m=S?Math.max(p.height||0,S.bottom-p.top):p.height||0,g!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=f,c=new ResizeObserver(()=>y(x)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(m)||20,20),72);E.style.setProperty("--pin-hint-attrib-clear",d+"px"),$()}return vt(()=>{var d,f,p;const x=bo(),E=(p=(f=(d=x==null?void 0:x.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:p.call(f);if(!E||typeof E.querySelector!="function")return;let m=0;i=setInterval(()=>{m++;const k=E.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Uo(()=>{const S=w(k,E),M=a.value;if(S&&M&&M.parentElement!==S)try{S.appendChild(M),l=S}catch{}y(E),$();try{const T=a.value&&a.value.offsetParent||null;if(T&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>$()),u.observe(T)}}catch{}})):m>40&&(clearInterval(i),i=null)},300)}),Ut(()=>{var x;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((x=a.value)==null?void 0:x.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),It(` + */const _b="9.14.5";function yb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(yn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(yn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(yn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(yn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(yn().__INTLIFY_PROD_DEVTOOLS__=!1)}const vb=Jm.__EXTEND_POINT__,wn=Yr(vb);wn(),wn(),wn(),wn(),wn(),wn(),wn(),wn(),wn();const Hc=Vt.__EXTEND_POINT__,At=Yr(Hc),ut={UNEXPECTED_RETURN_TYPE:Hc,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 ft(e,...t){return fo(e,null,void 0)}const ma=Pn("__translateVNode"),ba=Pn("__datetimeParts"),_a=Pn("__numberParts"),qc=Pn("__setPluralRules"),Vc=Pn("__injectWithOption"),ya=Pn("__dispose");function Qo(e){if(!He(e)||sn(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))He(e[t])&&Qo(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Ke(),Jr(c,a[l])):Jr(c,a)}else ge(i)&&Jr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Ht(a,i)&&Qo(a[i]);return a}function Wc(e){return e.type}function Kc(e,t,n){let o=He(t.messages)?t.messages:Ke();"__i18nGlobal"in n&&(o=ts(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(He(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(He(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Yc(e){return Ue(Bo,null,e,0)}const Xc="__INTLIFY_META__",Jc=()=>[],wb=()=>!1;let Zc=0;function Qc(e){return(t,n,o,r)=>e(n,o,bn()||void 0,r)}const xb=()=>{const e=bn();let t=null;return e&&(t=Wc(e)[Xc])?{[Xc]:t}:null};function va(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,s=e.flatJson,a=Wr?le:Mo,i=!!e.translateExistCompatible;let l=ze(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:ge(e.locale)?e.locale:ho),u=a(n&&l?n.fallbackLocale.value:ge(e.fallbackLocale)||et(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=a(ts(c.value,e)),b=a(Ie(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),w=a(Ie(e.numberFormats)?e.numberFormats:{[c.value]:{}});let $=n?n.missingWarn:ze(e.missingWarn)||Mn(e.missingWarn)?e.missingWarn:!0,y=n?n.fallbackWarn:ze(e.fallbackWarn)||Mn(e.fallbackWarn)?e.fallbackWarn:!0,x=n?n.fallbackRoot:ze(e.fallbackRoot)?e.fallbackRoot:!0,E=!!e.fallbackFormat,m=Ze(e.missing)?e.missing:null,d=Ze(e.missing)?Qc(e.missing):null,f=Ze(e.postTranslation)?e.postTranslation:null,p=n?n.warnHtmlMessage:ze(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const S=n?n.modifiers:Ie(e.modifiers)?e.modifiers:{};let M=e.pluralRules||n&&n.pluralRules,T;T=(()=>{r&&Tc(null);const F={version:_b,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:S,pluralRules:M,missing:d===null?void 0:d,missingWarn:$,fallbackWarn:y,fallbackFormat:E,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:p,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};F.datetimeFormats=b.value,F.numberFormats=w.value,F.__datetimeFormatters=Ie(T)?T.__datetimeFormatters:void 0,F.__numberFormatters=Ie(T)?T.__numberFormatters:void 0;const Y=lb(F);return r&&Tc(Y),Y})(),Zo(T,c.value,u.value);function q(){return[c.value,u.value,g.value,b.value,w.value]}const Z=oe({get:()=>c.value,set:F=>{c.value=F,T.locale=c.value}}),he=oe({get:()=>u.value,set:F=>{u.value=F,T.fallbackLocale=u.value,Zo(T,c.value,F)}}),j=oe(()=>g.value),K=oe(()=>b.value),G=oe(()=>w.value);function D(){return Ze(f)?f:null}function L(F){f=F,T.postTranslation=F}function U(){return m}function R(F){F!==null&&(d=Qc(F)),m=F,T.missing=d}const P=(F,Y,me,Se,De,Qe)=>{q();let ot;try{__INTLIFY_PROD_DEVTOOLS__,r||(T.fallbackContext=n?ib():void 0),ot=F(T)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(T.fallbackContext=void 0)}if(me!=="translate exists"&&it(ot)&&ot===es||me==="translate exists"&&!ot){const[Ot,te]=Y();return n&&x?Se(n):De(Ot)}else{if(Qe(ot))return ot;throw ft(ut.UNEXPECTED_RETURN_TYPE)}};function V(...F){return P(Y=>Reflect.apply(Rc,null,[Y,...F]),()=>pa(...F),"translate",Y=>Reflect.apply(Y.t,Y,[...F]),Y=>Y,Y=>ge(Y))}function re(...F){const[Y,me,Se]=F;if(Se&&!He(Se))throw ft(ut.INVALID_ARGUMENT);return V(Y,me,bt({resolvedMessage:!0},Se||{}))}function ye(...F){return P(Y=>Reflect.apply(Dc,null,[Y,...F]),()=>ga(...F),"datetime format",Y=>Reflect.apply(Y.d,Y,[...F]),()=>wc,Y=>ge(Y))}function Ce(...F){return P(Y=>Reflect.apply(Bc,null,[Y,...F]),()=>ha(...F),"number format",Y=>Reflect.apply(Y.n,Y,[...F]),()=>wc,Y=>ge(Y))}function Te(F){return F.map(Y=>ge(Y)||it(Y)||ze(Y)?Yc(String(Y)):Y)}const ve={normalize:Te,interpolate:F=>F,type:"vnode"};function _e(...F){return P(Y=>{let me;const Se=Y;try{Se.processor=ve,me=Reflect.apply(Rc,null,[Se,...F])}finally{Se.processor=null}return me},()=>pa(...F),"translate",Y=>Y[ma](...F),Y=>[Yc(Y)],Y=>et(Y))}function be(...F){return P(Y=>Reflect.apply(Bc,null,[Y,...F]),()=>ha(...F),"number format",Y=>Y[_a](...F),Jc,Y=>ge(Y)||et(Y))}function we(...F){return P(Y=>Reflect.apply(Dc,null,[Y,...F]),()=>ga(...F),"datetime format",Y=>Y[ba](...F),Jc,Y=>ge(Y)||et(Y))}function v(F){M=F,T.pluralRules=M}function C(F,Y){return P(()=>{if(!F)return!1;const me=ge(Y)?Y:c.value,Se=X(me),De=T.messageResolver(Se,F);return i?De!=null:sn(De)||Rt(De)||ge(De)},()=>[F],"translate exists",me=>Reflect.apply(me.te,me,[F,Y]),wb,me=>ze(me))}function A(F){let Y=null;const me=yc(T,u.value,c.value);for(let Se=0;Se{l&&(c.value=F,T.locale=F,Zo(T,c.value,u.value))}),ht(n.fallbackLocale,F=>{l&&(u.value=F,T.fallbackLocale=F,Zo(T,c.value,u.value))}));const ae={id:Zc,locale:Z,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(F){l=F,F&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Zo(T,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:j,get modifiers(){return S},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return $},set missingWarn(F){$=F,T.missingWarn=$},get fallbackWarn(){return y},set fallbackWarn(F){y=F,T.fallbackWarn=y},get fallbackRoot(){return x},set fallbackRoot(F){x=F},get fallbackFormat(){return E},set fallbackFormat(F){E=F,T.fallbackFormat=E},get warnHtmlMessage(){return p},set warnHtmlMessage(F){p=F,T.warnHtmlMessage=F},get escapeParameter(){return k},set escapeParameter(F){k=F,T.escapeParameter=F},t:V,getLocaleMessage:X,setLocaleMessage:J,mergeLocaleMessage:se,getPostTranslationHandler:D,setPostTranslationHandler:L,getMissingHandler:U,setMissingHandler:R,[qc]:v};return ae.datetimeFormats=K,ae.numberFormats=G,ae.rt=re,ae.te=C,ae.tm=B,ae.d=ye,ae.n=Ce,ae.getDateTimeFormat=ee,ae.setDateTimeFormat=h,ae.mergeDateTimeFormat=_,ae.getNumberFormat=O,ae.setNumberFormat=W,ae.mergeNumberFormat=de,ae[Vc]=o,ae[ma]=_e,ae[ba]=we,ae[_a]=be,ae}function kb(e){const t=ge(e.locale)?e.locale:ho,n=ge(e.fallbackLocale)||et(e.fallbackLocale)||Ie(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ze(e.missing)?e.missing:void 0,r=ze(e.silentTranslationWarn)||Mn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ze(e.silentFallbackWarn)||Mn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=ze(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ie(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ze(e.postTranslation)?e.postTranslation:void 0,g=ge(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,w=ze(e.sync)?e.sync:!0;let $=e.messages;if(Ie(e.sharedMessages)){const k=e.sharedMessages;$=Object.keys(k).reduce((M,T)=>{const z=M[T]||(M[T]={});return bt(z,k[T]),M},$||{})}const{__i18n:y,__root:x,__injectWithOption:E}=e,m=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,p=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:$,flatJson:f,datetimeFormats:m,numberFormats:d,missing:o,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:w,translateExistCompatible:p,__i18n:y,__root:x,__injectWithOption:E}}function wa(e={},t){{const n=va(kb(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return ze(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=ze(s)?!s:s},get silentFallbackWarn(){return ze(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=ze(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[a,i,l]=s,c={};let u=null,g=null;if(!ge(a))throw ft(ut.INVALID_ARGUMENT);const b=a;return ge(i)?c.locale=i:et(i)?u=i:Ie(i)&&(g=i),et(l)?u=l:Ie(l)&&(g=l),Reflect.apply(n.t,n,[b,u||g||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,g=null;if(!ge(a))throw ft(ut.INVALID_ARGUMENT);const b=a;return ge(i)?c.locale=i:it(i)?c.plural=i:et(i)?u=i:Ie(i)&&(g=i),ge(l)?c.locale=l:et(l)?u=l:Ie(l)&&(g=l),Reflect.apply(n.t,n,[b,u||g||{},c])},te(s,a){return n.te(s,a)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,a){n.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){n.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,a){n.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){n.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,a){n.setNumberFormat(s,a)},mergeNumberFormat(s,a){n.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=o,r}}const xa={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function $b({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===Ne?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},Ke())}function eu(e){return Ne}const tu=Oo({name:"i18n-t",props:bt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>it(e)||!isNaN(e)}},xa),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||bo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(g=>g!=="_"),a=Ke();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=ge(e.plural)?+e.plural:e.plural);const i=$b(t,s),l=r[ma](e.keypath,i,a),c=bt(Ke(),o),u=ge(e.tag)||He(e.tag)?e.tag:eu();return Sl(u,c,l)}}});function Sb(e){return et(e)&&!ge(e[0])}function nu(e,t,n,o){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Ke();e.locale&&(a.locale=e.locale),ge(e.format)?a.key=e.format:He(e.format)&&(ge(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,w)=>n.includes(w)?bt(Ke(),b,{[w]:e.format[w]}):b,Ke()));const l=o(e.value,a,i);let c=[a.key];et(l)?c=l.map((b,w)=>{const $=r[b.type],y=$?$({[b.type]:b.value,index:w,parts:l}):[b.value];return Sb(y)&&(y[0].key=`${b.type}-${w}`),y}):ge(l)&&(c=[l]);const u=bt(Ke(),s),g=ge(e.tag)||He(e.tag)?e.tag:eu();return Sl(g,u,c)}}const ou=Oo({name:"i18n-n",props:bt({value:{type:Number,required:!0},format:{type:[String,Object]}},xa),setup(e,t){const n=e.i18n||bo({useScope:e.scope,__useComponent:!0});return nu(e,t,Uc,(...o)=>n[_a](...o))}}),ru=Oo({name:"i18n-d",props:bt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},xa),setup(e,t){const n=e.i18n||bo({useScope:e.scope,__useComponent:!0});return nu(e,t,jc,(...o)=>n[ba](...o))}});function Eb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Ab(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw ft(ut.UNEXPECTED_ERROR);const u=Eb(e,i.$),g=su(c);return[Reflect.apply(u.t,u,[...au(g)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Wr&&e.global===c&&(a.__i18nWatcher=ht(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Wr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=su(i);a.textContent=Reflect.apply(l.t,l,[...au(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function su(e){if(ge(e))return{path:e};if(Ie(e)){if(!("path"in e))throw ft(ut.REQUIRED_VALUE,"path");return e}else throw ft(ut.INVALID_VALUE)}function au(e){const{path:t,locale:n,args:o,choice:r,plural:s}=e,a={},i=o||{};return ge(n)&&(a.locale=n),it(r)&&(a.plural=r),it(s)&&(a.plural=s),[t,i,a]}function Cb(e,t,...n){const o=Ie(n[0])?n[0]:{},r=!!o.useI18nComponentName;(ze(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":tu.name,"I18nT"].forEach(a=>e.component(a,tu)),[ou.name,"I18nN"].forEach(a=>e.component(a,ou)),[ru.name,"I18nD"].forEach(a=>e.component(a,ru))),e.directive("t",Ab(t))}function Tb(e,t,n){return{beforeCreate(){const o=bn();if(!o)throw ft(ut.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=iu(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=wa(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=iu(e,r);else{this.$i18n=wa({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Kc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=bn();if(!o)throw ft(ut.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),n.__deleteInstance(o),delete this.$i18n}}}function iu(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[qc](t.pluralizationRules||e.pluralizationRules);const n=ts(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const Lb=Pn("global-vue-i18n");function Pb(e={},t){const n=__VUE_I18N_LEGACY_API__&&ze(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ze(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[a,i]=Mb(e,n),l=Pn("");function c(b){return s.get(b)||null}function u(b,w){s.set(b,w)}function g(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(w,...$){if(w.__VUE_I18N_SYMBOL__=l,w.provide(w.__VUE_I18N_SYMBOL__,b),Ie($[0])){const E=$[0];b.__composerExtend=E.__composerExtend,b.__vueI18nExtend=E.__vueI18nExtend}let y=null;!n&&o&&(y=Bb(w,b.global)),__VUE_I18N_FULL_INSTALL__&&Cb(w,b,...$),__VUE_I18N_LEGACY_API__&&n&&w.mixin(Tb(i,i.__composer,b));const x=w.unmount;w.unmount=()=>{y&&y(),b.dispose(),x()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:g};return b}}function bo(e={}){const t=bn();if(t==null)throw ft(ut.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(ut.NOT_INSTALLED);const n=Ib(t),o=Rb(n),r=Wc(t),s=Nb(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw ft(ut.NOT_AVAILABLE_IN_LEGACY_MODE);return jb(t,s,o,e)}if(s==="global")return Kc(o,e,r),o;if(s==="parent"){let l=Fb(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=bt({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),i=va(l),a.__composerExtend&&(i[ya]=a.__composerExtend(i)),Db(a,t,i),a.__setInstance(t,i)}return i}function Mb(e,t,n){const o=bs();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>wa(e)):o.run(()=>va(e));if(r==null)throw ft(ut.UNEXPECTED_ERROR);return[o,r]}}function Ib(e){{const t=Me(e.isCE?Lb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?ut.NOT_INSTALLED_WITH_PROVIDE:ut.UNEXPECTED_ERROR);return t}}function Nb(e,t){return Kr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Rb(e){return e.mode==="composition"?e.global:e.global.__composer}function Fb(e,t,n=!1){let o=null;const r=t.root;let s=Ob(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Vc]&&(o=null))}if(o!=null||r===s)break;s=s.parent}return o}function Ob(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Db(e,t,n){vt(()=>{},t),Ir(()=>{const o=n;e.__deleteInstance(t);const r=o[ya];r&&(r(),delete o[ya])},t)}function jb(e,t,n,o={}){const r=t==="local",s=Mo(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(ut.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=ze(o.inheritLocale)?o.inheritLocale:!ge(o.locale),i=le(!r||a?n.locale.value:ge(o.locale)?o.locale:ho),l=le(!r||a?n.fallbackLocale.value:ge(o.fallbackLocale)||et(o.fallbackLocale)||Ie(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=le(ts(i.value,o)),u=le(Ie(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),g=le(Ie(o.numberFormats)?o.numberFormats:{[i.value]:{}}),b=r?n.missingWarn:ze(o.missingWarn)||Mn(o.missingWarn)?o.missingWarn:!0,w=r?n.fallbackWarn:ze(o.fallbackWarn)||Mn(o.fallbackWarn)?o.fallbackWarn:!0,$=r?n.fallbackRoot:ze(o.fallbackRoot)?o.fallbackRoot:!0,y=!!o.fallbackFormat,x=Ze(o.missing)?o.missing:null,E=Ze(o.postTranslation)?o.postTranslation:null,m=r?n.warnHtmlMessage:ze(o.warnHtmlMessage)?o.warnHtmlMessage:!0,d=!!o.escapeParameter,f=r?n.modifiers:Ie(o.modifiers)?o.modifiers:{},p=o.pluralRules||r&&n.pluralRules;function k(){return[i.value,l.value,c.value,u.value,g.value]}const S=oe({get:()=>s.value?s.value.locale.value:i.value,set:A=>{s.value&&(s.value.locale.value=A),i.value=A}}),M=oe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:A=>{s.value&&(s.value.fallbackLocale.value=A),l.value=A}}),T=oe(()=>s.value?s.value.messages.value:c.value),z=oe(()=>u.value),q=oe(()=>g.value);function Z(){return s.value?s.value.getPostTranslationHandler():E}function he(A){s.value&&s.value.setPostTranslationHandler(A)}function j(){return s.value?s.value.getMissingHandler():x}function K(A){s.value&&s.value.setMissingHandler(A)}function G(A){return k(),A()}function D(...A){return s.value?G(()=>Reflect.apply(s.value.t,null,[...A])):G(()=>"")}function L(...A){return s.value?Reflect.apply(s.value.rt,null,[...A]):""}function U(...A){return s.value?G(()=>Reflect.apply(s.value.d,null,[...A])):G(()=>"")}function R(...A){return s.value?G(()=>Reflect.apply(s.value.n,null,[...A])):G(()=>"")}function P(A){return s.value?s.value.tm(A):{}}function V(A,B){return s.value?s.value.te(A,B):!1}function re(A){return s.value?s.value.getLocaleMessage(A):{}}function ye(A,B){s.value&&(s.value.setLocaleMessage(A,B),c.value[A]=B)}function Ce(A,B){s.value&&s.value.mergeLocaleMessage(A,B)}function Te(A){return s.value?s.value.getDateTimeFormat(A):{}}function Le(A,B){s.value&&(s.value.setDateTimeFormat(A,B),u.value[A]=B)}function ve(A,B){s.value&&s.value.mergeDateTimeFormat(A,B)}function _e(A){return s.value?s.value.getNumberFormat(A):{}}function be(A,B){s.value&&(s.value.setNumberFormat(A,B),g.value[A]=B)}function we(A,B){s.value&&s.value.mergeNumberFormat(A,B)}const v={get id(){return s.value?s.value.id:-1},locale:S,fallbackLocale:M,messages:T,datetimeFormats:z,numberFormats:q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(A){s.value&&(s.value.inheritLocale=A)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:p},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(A){s.value&&(s.value.missingWarn=A)},get fallbackWarn(){return s.value?s.value.fallbackWarn:w},set fallbackWarn(A){s.value&&(s.value.missingWarn=A)},get fallbackRoot(){return s.value?s.value.fallbackRoot:$},set fallbackRoot(A){s.value&&(s.value.fallbackRoot=A)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(A){s.value&&(s.value.fallbackFormat=A)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:m},set warnHtmlMessage(A){s.value&&(s.value.warnHtmlMessage=A)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(A){s.value&&(s.value.escapeParameter=A)},t:D,getPostTranslationHandler:Z,setPostTranslationHandler:he,getMissingHandler:j,setMissingHandler:K,rt:L,d:U,n:R,tm:P,te:V,getLocaleMessage:re,setLocaleMessage:ye,mergeLocaleMessage:Ce,getDateTimeFormat:Te,setDateTimeFormat:Le,mergeDateTimeFormat:ve,getNumberFormat:_e,setNumberFormat:be,mergeNumberFormat:we};function C(A){A.locale.value=i.value,A.fallbackLocale.value=l.value,Object.keys(c.value).forEach(B=>{A.mergeLocaleMessage(B,c.value[B])}),Object.keys(u.value).forEach(B=>{A.mergeDateTimeFormat(B,u.value[B])}),Object.keys(g.value).forEach(B=>{A.mergeNumberFormat(B,g.value[B])}),A.escapeParameter=d,A.fallbackFormat=y,A.fallbackRoot=$,A.fallbackWarn=w,A.missingWarn=b,A.warnHtmlMessage=m}return Ui(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(ut.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const A=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=A.locale.value,l.value=A.fallbackLocale.value,c.value=A.messages.value,u.value=A.datetimeFormats.value,g.value=A.numberFormats.value):r&&C(A)}),v}const zb=["locale","fallbackLocale","availableLocales"],lu=["t","rt","d","n","tm","te"];function Bb(e,t){const n=Object.create(null);return zb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw ft(ut.UNEXPECTED_ERROR);const a=nt(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,lu.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw ft(ut.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,lu.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(yb(),__INTLIFY_JIT_COMPILATION__?$c(pb):$c(fb),ob(Om),rb(yc),__INTLIFY_PROD_DEVTOOLS__){const e=yn();e.__INTLIFY__=!0,Vm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Ub=Object.assign({"./locales/ar/aria.json":Kp,"./locales/ar/buttons.json":Yp,"./locales/ar/detail.json":Xp,"./locales/ar/legend.json":Jp,"./locales/ar/messages.json":Zp,"./locales/ar/options.json":Qp,"./locales/ar/prayerLaps.json":eg,"./locales/ar/search.json":tg,"./locales/ar/tabs.json":ng,"./locales/de/aria.json":og,"./locales/de/buttons.json":rg,"./locales/de/detail.json":sg,"./locales/de/legend.json":ag,"./locales/de/messages.json":ig,"./locales/de/options.json":lg,"./locales/de/prayerLaps.json":cg,"./locales/de/search.json":ug,"./locales/de/tabs.json":dg,"./locales/en/aria.json":fg,"./locales/en/buttons.json":pg,"./locales/en/detail.json":gg,"./locales/en/legend.json":hg,"./locales/en/messages.json":mg,"./locales/en/options.json":bg,"./locales/en/popup.json":_g,"./locales/en/prayerLaps.json":yg,"./locales/en/search.json":vg,"./locales/en/tabs.json":wg,"./locales/es/aria.json":xg,"./locales/es/buttons.json":kg,"./locales/es/detail.json":$g,"./locales/es/legend.json":Sg,"./locales/es/messages.json":Eg,"./locales/es/options.json":Ag,"./locales/es/prayerLaps.json":Cg,"./locales/es/search.json":Tg,"./locales/es/tabs.json":Lg,"./locales/fr/aria.json":Pg,"./locales/fr/buttons.json":Mg,"./locales/fr/detail.json":Ig,"./locales/fr/legend.json":Ng,"./locales/fr/messages.json":Rg,"./locales/fr/options.json":Fg,"./locales/fr/popup.json":Og,"./locales/fr/prayerLaps.json":Dg,"./locales/fr/search.json":jg,"./locales/fr/tabs.json":zg,"./locales/hi/aria.json":Bg,"./locales/hi/buttons.json":Ug,"./locales/hi/detail.json":Gg,"./locales/hi/legend.json":Hg,"./locales/hi/messages.json":qg,"./locales/hi/options.json":Vg,"./locales/hi/prayerLaps.json":Wg,"./locales/hi/search.json":Kg,"./locales/it/aria.json":Yg,"./locales/it/buttons.json":Xg,"./locales/it/detail.json":Jg,"./locales/it/legend.json":Zg,"./locales/it/messages.json":Qg,"./locales/it/options.json":eh,"./locales/it/prayerLaps.json":th,"./locales/it/search.json":nh,"./locales/pt/aria.json":oh,"./locales/pt/buttons.json":rh,"./locales/pt/detail.json":sh,"./locales/pt/legend.json":ah,"./locales/pt/messages.json":ih,"./locales/pt/options.json":lh,"./locales/pt/prayerLaps.json":ch,"./locales/pt/search.json":uh,"./locales/pt/tabs.json":dh,"./locales/ro/aria.json":fh,"./locales/ro/buttons.json":ph,"./locales/ro/detail.json":gh,"./locales/ro/legend.json":hh,"./locales/ro/messages.json":mh,"./locales/ro/options.json":bh,"./locales/ro/prayerLaps.json":_h,"./locales/ro/search.json":yh,"./locales/ru/aria.json":vh,"./locales/ru/buttons.json":wh,"./locales/ru/detail.json":xh,"./locales/ru/legend.json":kh,"./locales/ru/messages.json":$h,"./locales/ru/options.json":Sh,"./locales/ru/prayerLaps.json":Eh,"./locales/ru/search.json":Ah,"./locales/ru/tabs.json":Ch,"./locales/zh/aria.json":Th,"./locales/zh/buttons.json":Lh,"./locales/zh/detail.json":Ph,"./locales/zh/legend.json":Mh,"./locales/zh/messages.json":Ih,"./locales/zh/options.json":Nh,"./locales/zh/prayerLaps.json":Rh,"./locales/zh/search.json":Fh}),er={};for(const[e,t]of Object.entries(Ub)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,r]=n;er[o]??(er[o]={}),er[o][r]=t}const cu=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Gb(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return cu.includes(t)?t:"en"}function Hb(){return Pb({legacy:!1,globalInjection:!0,locale:Gb(),fallbackLocale:"en",messages:er,missingWarn:!1,fallbackWarn:!1})}function It(e,t){const n=t||qb(e);vt(()=>{var i;const o=bn();if(!o)return;const r=(i=o.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,s.appendChild(a)})}function qb(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),r=oe(()=>{var x;return((x=n==null?void 0:n.value)==null?void 0:x.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=le(!1),a=le(null);let i=null,l=null,c=null,u=null,g=null;function b(){s.value=!1}function w(x,E){var d;let m=x==null?void 0:x.parentElement;for(let f=0;m&&f<12;f++,m=m.parentElement){if(m===E||(d=m.classList)!=null&&d.contains("profile-loader"))return null;let p="";try{p=getComputedStyle(m).position}catch{}if(p&&p!=="static"){const k=m.getBoundingClientRect();if(k.height>=120&&k.width>=160)return m}}return null}function $(){const x=a.value;if(x)try{x.style.removeProperty("--pin-hint-lift");const E=x.getBoundingClientRect();if(!E.height)return;const m=Math.round(E.bottom-window.innerHeight);m>0&&x.style.setProperty("--pin-hint-lift",m+8+"px")}catch{}}function y(x){const E=a.value;if(!E||!(x!=null&&x.querySelector))return;let m=0;try{const f=x.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const p=f.getBoundingClientRect(),k=E.parentElement,S=k?k.getBoundingClientRect():null;if(m=S?Math.max(p.height||0,S.bottom-p.top):p.height||0,g!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}g=f,c=new ResizeObserver(()=>y(x)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(m)||20,20),72);E.style.setProperty("--pin-hint-attrib-clear",d+"px"),$()}return vt(()=>{var d,f,p;const x=bn(),E=(p=(f=(d=x==null?void 0:x.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:p.call(f);if(!E||typeof E.querySelector!="function")return;let m=0;i=setInterval(()=>{m++;const k=E.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Un(()=>{const S=w(k,E),M=a.value;if(S&&M&&M.parentElement!==S)try{S.appendChild(M),l=S}catch{}y(E),$();try{const T=a.value&&a.value.offsetParent||null;if(T&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>$()),u.observe(T)}}catch{}})):m>40&&(clearInterval(i),i=null)},300)}),Ut(()=>{var x;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(g=null,u){try{u.disconnect()}catch{}u=null}if(l&&((x=a.value)==null?void 0:x.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),It(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,11 +69,11 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(x,E)=>s.value?(Q(),oe("div",{key:0,ref_key:"hintEl",ref:a,class:Be(["pin-hint",{dark:n.value}]),role:"status"},[N("span",Vb,[E[0]||(E[0]=N("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),at(" "+pe(r.value)+" ",1),N("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):We("",!0)}};let Kb=0;const Yb=na("ui",{state:()=>({_storeInstanceId:++Kb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:o,duration:n,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&n>0&&setTimeout(()=>{this.removeToast(a.id)},n),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Xb=na("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let r=[0,0];if(o.center)r=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Jb=na("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Pn({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Pn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Ft={_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}}},Zb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",os=(e,t)=>{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Qb={class:"profile-loader"},e_={key:0,class:"profile-error"},t_={key:1,class:"profile-error"},o_=os({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const o=e,n=Me("profileConfig",null),r=ne(()=>{var k;if(!o.profileConfig)return null;let p;try{p=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(p&&p.assetsBase===void 0){const S=(k=n==null?void 0:n.value)==null?void 0:k.assetsBase;typeof S=="string"&&S&&(p.assetsBase=S)}return p}),s=ne(()=>{var p;return((p=r.value)==null?void 0:p.profile)||null}),a=ne(()=>{var k;const p=(k=r.value)==null?void 0:k.tk;return typeof p=="string"&&p?p:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=ne(()=>{var p;return((p=r.value)==null?void 0:p.dataSource)||Ft.activeSource||"doxa-csv"}),l=ne(()=>{var p;return((p=r.value)==null?void 0:p.colorSet)||"default"}),c=ne(()=>!1),u=ne(()=>{var p;return((p=r.value)==null?void 0:p.pinHint)!==!1}),g=ne(()=>{var k,S;const p=(((k=r.value)==null?void 0:k.locale)||((S=r.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return cu.includes(p)?p:""}),b=Me("appI18n",null);nf(()=>{g.value&&b&&(b.global.locale.value=g.value)});const w=ne(()=>{var p,k;return g.value||((k=(p=b==null?void 0:b.global)==null?void 0:p.locale)==null?void 0:k.value)||"en"}),$=ne(()=>{var p;return((p=r.value)==null?void 0:p.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Me("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const x=ne(()=>{if(!s.value)return null;const p=`./${s.value}.vue`;return y[p]?ff(y[p]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});gt("mapboxToken",a),gt("dataSource",i),gt("colorSet",l),gt("profileConfig",r),gt("instanceId",$),gt("lang",w);const E=Yb(),m=Xb(),d=Jb();try{const p=typeof localStorage<"u"?localStorage.getItem("theme"):null;p&&((f=E.setTheme)==null||f.call(E,p))}catch{}return gt("uiStore",E),gt("mapStore",m),gt("dataStore",d),(p,k)=>(Q(),oe("div",Qb,[r.value?x.value?(Q(),oo(Hi(x.value),{key:2})):(Q(),oe("div",t_,[N("p",null,[k[1]||(k[1]=at("⚠️ Profile ",-1)),N("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=at(" not found.",-1))])])):(Q(),oe("div",e_,[...k[0]||(k[0]=[N("p",null,[at("⚠️ "),N("strong",null,"doxa-map"),at(": missing or invalid "),N("code",null,"profile-config"),at(" prop.")],-1),N("p",null,[at("Example: "),N("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),x.value&&c.value?(Q(),oo(Hi(ce(null)),{key:3})):We("",!0),x.value&&u.value?(Q(),oo(Wb,{key:4})):We("",!0)]))}},[["styles",[Zb]],["__scopeId","data-v-931b414b"]]),uu="adoptionStatus",xo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},n_=xo,ka={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},r_=ka;function du(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)?xo.hasAdoption:xo.notAdopted}function $a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],xo.hasAdoption,["==",t,1],xo.hasAdoption,xo.notAdopted]}const fu=$a,s_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:n_,ADOPTION_LABELS:r_,LABELS:ka,PALETTE:xo,PROPERTY_KEY:uu,applyColor:$a,buildColorExpression:fu,default:{name:"Adoption Progress",propertyKey:uu,palette:xo,colors:xo,labels:ka,getColor:du,applyColor:$a,buildColorExpression:fu},getColor:du},Symbol.toStringTag,{value:"Module"})),pu="engagementStatus",ko={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},a_=ko,Sa={notEngaged:"Unengaged",hasEngagement:"Engaged"},i_=Sa;function gu(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)?ko.hasEngagement:ko.notEngaged}function Ea({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],ko.hasEngagement,["==",t,1],ko.hasEngagement,ko.notEngaged]}const hu=Ea,l_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:a_,ENGAGEMENT_LABELS:i_,LABELS:Sa,PALETTE:ko,PROPERTY_KEY:pu,applyColor:Ea,buildColorExpression:hu,default:{name:"Engagement Progress",propertyKey:pu,palette:ko,colors:ko,labels:Sa,getColor:gu,applyColor:Ea,buildColorExpression:hu},getColor:gu},Symbol.toStringTag,{value:"Module"})),Aa="languageFamily",c_="#000000",$o={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},u_=$o;function Ca(e){return $o[e]||c_}const d_=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys($o))t[e(o)]=o;return t})(),f_={"tai-kadai":"Kra-Dai",none:"Unknown"};function ns(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return f_[o]||d_[o]||t}function mu(e){var t;return Ca(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ta(){const e=["match",["get",Aa]];return Object.entries($o).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const bu=Ta,p_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:u_,PALETTE:$o,PROPERTY_KEY:Aa,applyColor:Ta,buildColorExpression:bu,canonicalFamilyName:ns,default:{name:"Language Family",propertyKey:Aa,palette:$o,colors:$o,getColor:mu,applyColor:Ta,buildColorExpression:bu,getLanguageFamilyColor:Ca,canonicalFamilyName:ns},defaultFamilyColor:"#95a5a6",getColor:mu,getLanguageFamilyColor:Ca,languageFamilyColors:$o},Symbol.toStringTag,{value:"Module"})),_u="peoplePraying",rs=144,Fo={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},g_=Fo,tr={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},h_=tr;function _n(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>=rs?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function La(e){return Fo[_n(e)]}function yu(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 vu(e){return _n(e)==="fullPrayer"}function wu(e){return La(e)}function ss({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,rs],Fo.fullPrayer,[">",t,0],Fo.hasPrayer,Fo.noPrayer]}const xu=ss,m_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:rs,LABELS:tr,PALETTE:Fo,PRAYER_COLORS:g_,PRAYER_LABELS:h_,PROPERTY_KEY:_u,applyColor:ss,buildColorExpression:xu,checkHasFullPrayer:vu,checkHasPrayer:yu,default:{name:"Prayer Progress",propertyKey:_u,palette:Fo,colors:Fo,labels:tr,threshold:rs,getColor:wu,applyColor:ss,buildColorExpression:xu,getPrayerLevel:_n,getPrayerColor:La,checkHasPrayer:yu,checkHasFullPrayer:vu},getColor:wu,getPrayerColor:La,getPrayerLevel:_n},Symbol.toStringTag,{value:"Module"})),ku="religion",Pa="#94a3b8",Yo={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 Ma(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Yo[t]?t:"U"}function $u(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[Ma(t)]||Pa}function Ia(){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,Pa]}const Su=Ia,b_=Object.assign({"./adoption.js":s_,"./engagement.js":l_,"./language-family.js":p_,"./prayer-progress.js":m_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ct,PROPERTY_KEY:ku,RELIGION_FAMILIES:Yo,applyColor:Ia,buildColorExpression:Su,default:{name:"Religion",propertyKey:ku,palette:Ct,families:Yo,getColor:$u,applyColor:Ia,buildColorExpression:Su,fallback:Pa},getColor:$u,getReligionFamily:Ma},Symbol.toStringTag,{value:"Module"}))}),__=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),y_=e=>e.replace(/-/g,"_").toUpperCase(),So={...{STATUS:"status",CUSTOM:"custom"}},Na={};function Eu(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=__(o);So[y_(o)]=r,Na[r]=n}}Eu(b_);function v_(e){e&&Eu(e)}function as(e){return Na[e]||Na[So.LANGUAGE_FAMILY]}const w_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function x_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(w_,null,!0),!0}catch{return!1}}const Au="affinityBlock",yn="#95a5a6",vn={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"},Ra={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"},wn=Ra;Object.entries(vn).reduce((e,[t,o])=>(e[o]=t,e),{});const k_=Object.entries(vn).reduce((e,[t,o])=>(e[o]=wn[t],e),{}),$_=vn;function Cu(e){return vn[e]||"Unknown"}function Tu(e){return wn[e]||yn}function S_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?wn[e]||yn:k_[e]||yn:yn}function E_(){return Object.entries(vn).map(([e,t])=>({code:e,name:t,color:wn[e]}))}function A_(e){return{code:e,name:vn[e]||"Unknown",color:wn[e]||yn}}function C_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Tu(t)}function T_(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return Cu(t)}function Lu(){const e=["match",["get",Au]];return Object.entries(wn).forEach(([t,o])=>{e.push(t,o)}),e.push(yn),e}const L_={name:"Affinity Block",propertyKey:Au,palette:Ra,colors:Ra,names:$_,getColor:C_,applyColor:Lu,buildColorExpression:Lu,getName:T_,getAffinityBlockName:Cu,getAffinityBlockColor:S_,getAffinityBlockColorByCode:Tu,getAffinityBlocksArray:E_,getAffinityBlockData:A_};function P_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Fa),e}const N_={name:"DOXA Region",propertyKey:Pu,palette:Iu,colors:Iu,slugColors:Oa,aliases:Ru,fallback:Fa,getColor:I_,applyColor:Fu,buildColorExpression:Fu,getRegionColor:M_,getRegionColorBySlug:Nu},R_=Object.assign({"./research-dashboard.vue":()=>id(()=>Promise.resolve().then(()=>ex),void 0)});v_({"./affinity-block.js":{default:L_},"./doxa-region.js":{default:N_}}),x_();function F_(){return Pp(o_,{configureApp(e){e.use(Up()),e.use(Hb()),e.provide("profileModules",R_)}})}const O_=F_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",O_));function D_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function j_(){const e=zo({}),t=new Set,o=le(0),n=le(""),r=new Map;function s(m,d){return r.has(m)||r.set(m,new Set),r.get(m).add(d),()=>{var f;return(f=r.get(m))==null?void 0:f.delete(d)}}function a(m,d){var f;(f=r.get(m))==null||f.forEach(p=>{try{p(d)}catch{}})}let i={};function l(m){i=D_(m)}function c(m,d){if(d==null){delete e[m];for(const f of i[m]||[])delete e[f]}else e[m]=d;a("filter",e)}function u(){Object.keys(e).forEach(m=>delete e[m]),a("filter",e)}function g(m){n.value=m==null?"":String(m),a("search",n.value)}function b(){o.value++,a("select",t)}function w(m){t.has(m)?t.delete(m):t.add(m),b()}function $(){t.size&&(t.clear(),b())}function y(m,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const p of m)t.has(p)||(t.add(p),f=!0);return f&&b(),f}function x(m){let d=!1;for(const f of m)t.delete(f)&&(d=!0);return d&&b(),d}function E(m){const d=m instanceof Set?m:new Set(m);if(d.size===t.size){let f=!0;for(const p of d)if(!t.has(p)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:g,configureHierarchy:l,toggleSelect:w,clearSelection:$,selectMany:y,deselectMany:x,setSelection:E}}function Da(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function z_(e={}){const t=le(!1),o=le(null),n=Mn(new Map),r=Mn([]),s=le(null),a=le(0),i=e.source||Ft.activeSource;async function l(){var c,u,g,b;t.value=!0,o.value=null;try{const w=((c=Ft==null?void 0:Ft.sources)==null?void 0:c[i])||{},$=Da(),y=((u=w.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",x=(w.defaultFields||[]).join(","),E=((g=w.queryParams)==null?void 0:g.lang)||"en",m=`${$}${y}?${x?`fields=${x}&`:""}lang=${E}&_=${Date.now()}`,d=await fetch(m,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),p=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of p){const T=M&&(M.slug||M.id);T&&k.set(T,M)}n.value=k,r.value=p,a.value=k.size;const S=((b=w.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${$}${S}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(w){o.value=w&&w.message?w.message:String(w)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:l,sourceId:i}}const is=["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 ja({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var K,G,D;const p=s.source||Ft.activeSource,k=((K=Ft==null?void 0:Ft.sources)==null?void 0:K[p])||{},S=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:is,M=((G=k.endpoints)==null?void 0:G.bulk)||"/api/people-groups/list",T=((D=k.queryParams)==null?void 0:D.lang)||"en",z=`${Da()}${M}?fields=${S.join(",")}&lang=${T}`,q=await fetch(z,{cache:"no-store"});if(!q.ok)throw new Error(`export list HTTP ${q.status}`);const Z=await q.json(),he=Array.isArray(Z)?Z:Z.posts||Z.data||Z.results||[],j=new Map;for(const L of he){const U=L&&(L.slug||L.id);U&&j.set(U,L)}return i=j,j})().catch(p=>{throw l=null,p}),l)}function u(p){if(!i)return p;const k=i.get(p&&(p.slug||p.id));return k?{...p,...k}:p}function g(){if(o&&o.size)return[...o].map(k=>e.value.get(k)).filter(Boolean);const p=Object.keys(n);return p.length?(t.value||[]).filter(k=>p.every(S=>{const M=r[S];return M?M(k)===n[S]:!0})):t.value||[]}function b(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function w(p){return p==null?p:Array.isArray(p)?p.map(k=>w(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof p=="object"?p.label??p.value??p.text??p.name??p.link??JSON.stringify(p):p}function $(p){const k={};for(const S of Object.keys(p))k[S]=w(p[S]);return k}function y(p){let k=p==null?"":String(p);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function x(){const p=g().map(u).map($),k=p.reduce((q,Z)=>(Object.keys(Z).forEach(he=>q.add(he)),q),new Set),S=[...is.filter(q=>k.has(q)),...[...k].filter(q=>!is.includes(q))],M=Object.entries(n).map(([q,Z])=>`${q}=${a?a(q,Z):Z}`).join(" | ")||"none",T=`# Research Dashboard export — scope: ${b()}; filters: ${M}; rows: ${p.length}`;return[S.map(y).join(","),...p.map(q=>S.map(Z=>y(q[Z])).join(",")),T].join(`\r +`,"pin-hint"),(x,E)=>s.value?(Q(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:Be(["pin-hint",{dark:o.value}]),role:"status"},[N("span",Vb,[E[0]||(E[0]=N("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),at(" "+pe(r.value)+" ",1),N("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):We("",!0)}};let Kb=0;const Yb=oa("ui",{state:()=>({_storeInstanceId:++Kb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Xb=oa("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let r=[0,0];if(n.center)r=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Jb=oa("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Po({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Po({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ft={_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}}},Zb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",ns=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Qb={class:"profile-loader"},e_={key:0,class:"profile-error"},t_={key:1,class:"profile-error"},n_=ns({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const n=e,o=Me("profileConfig",null),r=oe(()=>{var k;if(!n.profileConfig)return null;let p;try{p=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(p&&p.assetsBase===void 0){const S=(k=o==null?void 0:o.value)==null?void 0:k.assetsBase;typeof S=="string"&&S&&(p.assetsBase=S)}return p}),s=oe(()=>{var p;return((p=r.value)==null?void 0:p.profile)||null}),a=oe(()=>{var k;const p=(k=r.value)==null?void 0:k.tk;return typeof p=="string"&&p?p:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=oe(()=>{var p;return((p=r.value)==null?void 0:p.dataSource)||Ft.activeSource||"doxa-csv"}),l=oe(()=>{var p;return((p=r.value)==null?void 0:p.colorSet)||"default"}),c=oe(()=>!1),u=oe(()=>{var p;return((p=r.value)==null?void 0:p.pinHint)!==!1}),g=oe(()=>{var k,S;const p=(((k=r.value)==null?void 0:k.locale)||((S=r.value)==null?void 0:S.lang)||"").split("-")[0].toLowerCase();return cu.includes(p)?p:""}),b=Me("appI18n",null);of(()=>{g.value&&b&&(b.global.locale.value=g.value)});const w=oe(()=>{var p,k;return g.value||((k=(p=b==null?void 0:b.global)==null?void 0:p.locale)==null?void 0:k.value)||"en"}),$=oe(()=>{var p;return((p=r.value)==null?void 0:p.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Me("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const x=oe(()=>{if(!s.value)return null;const p=`./${s.value}.vue`;return y[p]?ff(y[p]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});gt("mapboxToken",a),gt("dataSource",i),gt("colorSet",l),gt("profileConfig",r),gt("instanceId",$),gt("lang",w);const E=Yb(),m=Xb(),d=Jb();try{const p=typeof localStorage<"u"?localStorage.getItem("theme"):null;p&&((f=E.setTheme)==null||f.call(E,p))}catch{}return gt("uiStore",E),gt("mapStore",m),gt("dataStore",d),(p,k)=>(Q(),ne("div",Qb,[r.value?x.value?(Q(),nn(Hi(x.value),{key:2})):(Q(),ne("div",t_,[N("p",null,[k[1]||(k[1]=at("⚠️ Profile ",-1)),N("strong",null,'"'+pe(s.value)+'"',1),k[2]||(k[2]=at(" not found.",-1))])])):(Q(),ne("div",e_,[...k[0]||(k[0]=[N("p",null,[at("⚠️ "),N("strong",null,"doxa-map"),at(": missing or invalid "),N("code",null,"profile-config"),at(" prop.")],-1),N("p",null,[at("Example: "),N("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),x.value&&c.value?(Q(),nn(Hi(ce(null)),{key:3})):We("",!0),x.value&&u.value?(Q(),nn(Wb,{key:4})):We("",!0)]))}},[["styles",[Zb]],["__scopeId","data-v-931b414b"]]),uu="adoptionStatus",xn={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},o_=xn,ka={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},r_=ka;function du(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xn.hasAdoption:xn.notAdopted}function $a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],xn.hasAdoption,["==",t,1],xn.hasAdoption,xn.notAdopted]}const fu=$a,s_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:o_,ADOPTION_LABELS:r_,LABELS:ka,PALETTE:xn,PROPERTY_KEY:uu,applyColor:$a,buildColorExpression:fu,default:{name:"Adoption Progress",propertyKey:uu,palette:xn,colors:xn,labels:ka,getColor:du,applyColor:$a,buildColorExpression:fu},getColor:du},Symbol.toStringTag,{value:"Module"})),pu="engagementStatus",kn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},a_=kn,Sa={notEngaged:"Unengaged",hasEngagement:"Engaged"},i_=Sa;function gu(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?kn.hasEngagement:kn.notEngaged}function Ea({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],kn.hasEngagement,["==",t,1],kn.hasEngagement,kn.notEngaged]}const hu=Ea,l_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:a_,ENGAGEMENT_LABELS:i_,LABELS:Sa,PALETTE:kn,PROPERTY_KEY:pu,applyColor:Ea,buildColorExpression:hu,default:{name:"Engagement Progress",propertyKey:pu,palette:kn,colors:kn,labels:Sa,getColor:gu,applyColor:Ea,buildColorExpression:hu},getColor:gu},Symbol.toStringTag,{value:"Module"})),Aa="languageFamily",c_="#000000",$n={"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"},u_=$n;function Ca(e){return $n[e]||c_}const d_=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys($n))t[e(n)]=n;return t})(),f_={"tai-kadai":"Kra-Dai",none:"Unknown"};function os(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return f_[n]||d_[n]||t}function mu(e){var t;return Ca(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ta(){const e=["match",["get",Aa]];return Object.entries($n).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const bu=Ta,p_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:u_,PALETTE:$n,PROPERTY_KEY:Aa,applyColor:Ta,buildColorExpression:bu,canonicalFamilyName:os,default:{name:"Language Family",propertyKey:Aa,palette:$n,colors:$n,getColor:mu,applyColor:Ta,buildColorExpression:bu,getLanguageFamilyColor:Ca,canonicalFamilyName:os},defaultFamilyColor:"#95a5a6",getColor:mu,getLanguageFamilyColor:Ca,languageFamilyColors:$n},Symbol.toStringTag,{value:"Module"})),_u="peoplePraying",rs=144,Fn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},g_=Fn,tr={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},h_=tr;function _o(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=rs?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function La(e){return Fn[_o(e)]}function yu(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function vu(e){return _o(e)==="fullPrayer"}function wu(e){return La(e)}function ss({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,rs],Fn.fullPrayer,[">",t,0],Fn.hasPrayer,Fn.noPrayer]}const xu=ss,m_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:rs,LABELS:tr,PALETTE:Fn,PRAYER_COLORS:g_,PRAYER_LABELS:h_,PROPERTY_KEY:_u,applyColor:ss,buildColorExpression:xu,checkHasFullPrayer:vu,checkHasPrayer:yu,default:{name:"Prayer Progress",propertyKey:_u,palette:Fn,colors:Fn,labels:tr,threshold:rs,getColor:wu,applyColor:ss,buildColorExpression:xu,getPrayerLevel:_o,getPrayerColor:La,checkHasPrayer:yu,checkHasFullPrayer:vu},getColor:wu,getPrayerColor:La,getPrayerLevel:_o},Symbol.toStringTag,{value:"Module"})),ku="religion",Pa="#94a3b8",Yn={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 Ma(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Yn[t]?t:"U"}function $u(e){var n,o,r;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return Ct[Ma(t)]||Pa}function Ia(){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,Pa]}const Su=Ia,b_=Object.assign({"./adoption.js":s_,"./engagement.js":l_,"./language-family.js":p_,"./prayer-progress.js":m_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Ct,PROPERTY_KEY:ku,RELIGION_FAMILIES:Yn,applyColor:Ia,buildColorExpression:Su,default:{name:"Religion",propertyKey:ku,palette:Ct,families:Yn,getColor:$u,applyColor:Ia,buildColorExpression:Su,fallback:Pa},getColor:$u,getReligionFamily:Ma},Symbol.toStringTag,{value:"Module"}))}),__=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),y_=e=>e.replace(/-/g,"_").toUpperCase(),Sn={...{STATUS:"status",CUSTOM:"custom"}},Na={};function Eu(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const r=__(n);Sn[y_(n)]=r,Na[r]=o}}Eu(b_);function v_(e){e&&Eu(e)}function as(e){return Na[e]||Na[Sn.LANGUAGE_FAMILY]}const w_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function x_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(w_,null,!0),!0}catch{return!1}}const Au="affinityBlock",yo="#95a5a6",vo={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"},Ra={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"},wo=Ra;Object.entries(vo).reduce((e,[t,n])=>(e[n]=t,e),{});const k_=Object.entries(vo).reduce((e,[t,n])=>(e[n]=wo[t],e),{}),$_=vo;function Cu(e){return vo[e]||"Unknown"}function Tu(e){return wo[e]||yo}function S_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?wo[e]||yo:k_[e]||yo:yo}function E_(){return Object.entries(vo).map(([e,t])=>({code:e,name:t,color:wo[e]}))}function A_(e){return{code:e,name:vo[e]||"Unknown",color:wo[e]||yo}}function C_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Tu(t)}function T_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Cu(t)}function Lu(){const e=["match",["get",Au]];return Object.entries(wo).forEach(([t,n])=>{e.push(t,n)}),e.push(yo),e}const L_={name:"Affinity Block",propertyKey:Au,palette:Ra,colors:Ra,names:$_,getColor:C_,applyColor:Lu,buildColorExpression:Lu,getName:T_,getAffinityBlockName:Cu,getAffinityBlockColor:S_,getAffinityBlockColorByCode:Tu,getAffinityBlocksArray:E_,getAffinityBlockData:A_};function P_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let o=0;o{e.push(t,n)}),e.push(Fa),e}const N_={name:"DOXA Region",propertyKey:Pu,palette:Iu,colors:Iu,slugColors:Oa,aliases:Ru,fallback:Fa,getColor:I_,applyColor:Fu,buildColorExpression:Fu,getRegionColor:M_,getRegionColorBySlug:Nu},R_=Object.assign({"./research-dashboard.vue":()=>id(()=>Promise.resolve().then(()=>ex),void 0)});v_({"./affinity-block.js":{default:L_},"./doxa-region.js":{default:N_}}),x_();function F_(){return Pp(n_,{configureApp(e){e.use(Up()),e.use(Hb()),e.provide("profileModules",R_)}})}const O_=F_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",O_));function D_(e){const t={};for(const n of(e==null?void 0:e.facetRail)||[]){const o=Array.isArray(n.drill)?n.drill.filter(Boolean):[];for(let r=0;r!t[o[r]].includes(a))):s}}return t}function j_(){const e=zn({}),t=new Set,n=le(0),o=le(""),r=new Map;function s(m,d){return r.has(m)||r.set(m,new Set),r.get(m).add(d),()=>{var f;return(f=r.get(m))==null?void 0:f.delete(d)}}function a(m,d){var f;(f=r.get(m))==null||f.forEach(p=>{try{p(d)}catch{}})}let i={};function l(m){i=D_(m)}function c(m,d){if(d==null){delete e[m];for(const f of i[m]||[])delete e[f]}else e[m]=d;a("filter",e)}function u(){Object.keys(e).forEach(m=>delete e[m]),a("filter",e)}function g(m){o.value=m==null?"":String(m),a("search",o.value)}function b(){n.value++,a("select",t)}function w(m){t.has(m)?t.delete(m):t.add(m),b()}function $(){t.size&&(t.clear(),b())}function y(m,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const p of m)t.has(p)||(t.add(p),f=!0);return f&&b(),f}function x(m){let d=!1;for(const f of m)t.delete(f)&&(d=!0);return d&&b(),d}function E(m){const d=m instanceof Set?m:new Set(m);if(d.size===t.size){let f=!0;for(const p of d)if(!t.has(p)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:n,searchTerm:o,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:g,configureHierarchy:l,toggleSelect:w,clearSelection:$,selectMany:y,deselectMany:x,setSelection:E}}function Da(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Jn&&Jn.tagName.toUpperCase()==="SCRIPT"&&Jn.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}function z_(e={}){const t=le(!1),n=le(null),o=Mo(new Map),r=Mo([]),s=le(null),a=le(0),i=e.source||Ft.activeSource;async function l(){var c,u,g,b;t.value=!0,n.value=null;try{const w=((c=Ft==null?void 0:Ft.sources)==null?void 0:c[i])||{},$=Da(),y=((u=w.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",x=(w.defaultFields||[]).join(","),E=((g=w.queryParams)==null?void 0:g.lang)||"en",m=`${$}${y}?${x?`fields=${x}&`:""}lang=${E}&_=${Date.now()}`,d=await fetch(m,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),p=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of p){const T=M&&(M.slug||M.id);T&&k.set(T,M)}o.value=k,r.value=p,a.value=k.size;const S=((b=w.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${$}${S}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(n.value="No records loaded from the live API.")}catch(w){n.value=w&&w.message?w.message:String(w)}finally{t.value=!1}}return{loading:t,error:n,rowStore:o,rows:r,stats:s,total:a,load:l,sourceId:i}}const is=["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 ja({rowStore:e,rows:t,selectionSet:n,filterSet:o,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var K,G,D;const p=s.source||Ft.activeSource,k=((K=Ft==null?void 0:Ft.sources)==null?void 0:K[p])||{},S=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:is,M=((G=k.endpoints)==null?void 0:G.bulk)||"/api/people-groups/list",T=((D=k.queryParams)==null?void 0:D.lang)||"en",z=`${Da()}${M}?fields=${S.join(",")}&lang=${T}`,q=await fetch(z,{cache:"no-store"});if(!q.ok)throw new Error(`export list HTTP ${q.status}`);const Z=await q.json(),he=Array.isArray(Z)?Z:Z.posts||Z.data||Z.results||[],j=new Map;for(const L of he){const U=L&&(L.slug||L.id);U&&j.set(U,L)}return i=j,j})().catch(p=>{throw l=null,p}),l)}function u(p){if(!i)return p;const k=i.get(p&&(p.slug||p.id));return k?{...p,...k}:p}function g(){if(n&&n.size)return[...n].map(k=>e.value.get(k)).filter(Boolean);const p=Object.keys(o);return p.length?(t.value||[]).filter(k=>p.every(S=>{const M=r[S];return M?M(k)===o[S]:!0})):t.value||[]}function b(){return n&&n.size?`selection (${n.size})`:Object.keys(o).length?"filter result":"all"}function w(p){return p==null?p:Array.isArray(p)?p.map(k=>w(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof p=="object"?p.label??p.value??p.text??p.name??p.link??JSON.stringify(p):p}function $(p){const k={};for(const S of Object.keys(p))k[S]=w(p[S]);return k}function y(p){let k=p==null?"":String(p);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function x(){const p=g().map(u).map($),k=p.reduce((q,Z)=>(Object.keys(Z).forEach(he=>q.add(he)),q),new Set),S=[...is.filter(q=>k.has(q)),...[...k].filter(q=>!is.includes(q))],M=Object.entries(o).map(([q,Z])=>`${q}=${a?a(q,Z):Z}`).join(" | ")||"none",T=`# Research Dashboard export — scope: ${b()}; filters: ${M}; rows: ${p.length}`;return[S.map(y).join(","),...p.map(q=>S.map(Z=>y(q[Z])).join(",")),T].join(`\r `)}const E={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function m(){const p=x(),k=g().length,S=(p.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=p)}catch{}let M=!1,T=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(p).catch(()=>{}),M=!0)}catch{}try{const z=new Blob([p],{type:"text/csv;charset=utf-8"}),q=URL.createObjectURL(z),Z=document.createElement("a");Z.href=q,Z.download="research-dashboard.csv",Z.style.display="none",document.body.appendChild(Z),Z.click(),T=!0,setTimeout(()=>{try{URL.revokeObjectURL(q),Z.remove()}catch{}},200)}catch{}Object.assign(E,{rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i}}catch{}return{csv:p,rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i}}async function d(){try{await c()}catch{}return m()}function f(){try{return c()}catch{return null}}return{exportCsv:m,exportCsvAsync:d,buildCsv:x,pickRows:g,scopeLabel:b,lastExport:E,prefetchExportFields:f,EXPORT_FIELDS:is}}const B_="#6b7280";function U_(){const e=as(So.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function G_(e,t){const o=U_();return e&&o[e]?o[e]:B_}function H_(e){return(e==null?void 0:e.properties)||e||{}}function za(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function q_(e){var t;return String(e.affinityBlock||za((t=e._raw)==null?void 0:t.rop1)||"").trim()}function V_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function W_(e){var t;return String(e.cluster||za((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function K_(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 Y_(e){var t;return String(e.peopleGroup||za((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function X_(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 J_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function Z_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function Q_(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 ey(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function ty(e){const t=ne(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=H_(i),c=q_(l),u=V_(l)||c||"— Unknown —",g=W_(l),b=K_(l)||g||"— Unknown —",w=Y_(l),$=X_(l)||w||"— Unknown —",y=J_(l),x=Z_(l)||y,E=Q_(l),m=ey(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=E,d.memberIds.push(y);let f=d.clusters.get(g||"__unknown__");f||(f={code:g,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(g||"__unknown__",f)),f.count+=1,f.pop+=E,f.memberIds.push(y);let p=f.peopleGroups.get(w||"__unknown__");p||(p={code:w,label:$,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(w||"__unknown__",p)),p.count+=1,p.pop+=E,p.memberIds.push(y),p.instances.push({id:y,name:x,country:m,pop:E})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=ne(()=>{const s=t.value,a=[];for(const i of s.values()){const l=G_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:o(i.memberIds),children:[]};for(const u of i.clusters.values()){const g={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const w={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:o(b.memberIds),children:[]};b.instances.sort(($,y)=>y.pop-$.pop||$.country.localeCompare(y.country));for(const $ of b.instances)w.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(w)}g.children.sort((b,w)=>w.count-b.count||w.pop-b.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:n,highlight:r}}function or(e,t,o){const n=ne(()=>{const l=t&&o&&t.sources&&t.sources[o];return l&&l.features||[]}),{aggregated:r}=ty(n),s=ne(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=ne(()=>{const[l,c,u]=s.value,g=new Map,b=new Map,w=new Map;for(const y of r.value.values()){y.code&&g.set(y.code,y.label);for(const x of y.clusters.values()){x.code&&b.set(x.code,x.label);for(const E of x.peopleGroups.values())E.code&&w.set(E.code,E.label)}}const $={};return l&&($[l]=g),c&&($[c]=b),u&&($[u]=w),$});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Ou{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=Ft,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],i=!0;for(let l=0;l{}),M=!0)}catch{}try{const z=new Blob([p],{type:"text/csv;charset=utf-8"}),q=URL.createObjectURL(z),Z=document.createElement("a");Z.href=q,Z.download="research-dashboard.csv",Z.style.display="none",document.body.appendChild(Z),Z.click(),T=!0,setTimeout(()=>{try{URL.revokeObjectURL(q),Z.remove()}catch{}},200)}catch{}Object.assign(E,{rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i}}catch{}return{csv:p,rows:k,clipboard:M,downloaded:T,fields:S,wide:!!i}}async function d(){try{await c()}catch{}return m()}function f(){try{return c()}catch{return null}}return{exportCsv:m,exportCsvAsync:d,buildCsv:x,pickRows:g,scopeLabel:b,lastExport:E,prefetchExportFields:f,EXPORT_FIELDS:is}}const B_="#6b7280";function U_(){const e=as(Sn.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function G_(e,t){const n=U_();return e&&n[e]?n[e]:B_}function H_(e){return(e==null?void 0:e.properties)||e||{}}function za(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function q_(e){var t;return String(e.affinityBlock||za((t=e._raw)==null?void 0:t.rop1)||"").trim()}function V_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function W_(e){var t;return String(e.cluster||za((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function K_(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 Y_(e){var t;return String(e.peopleGroup||za((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function X_(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 J_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function Z_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function Q_(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 ey(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function ty(e){const t=oe(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=H_(i),c=q_(l),u=V_(l)||c||"— Unknown —",g=W_(l),b=K_(l)||g||"— Unknown —",w=Y_(l),$=X_(l)||w||"— Unknown —",y=J_(l),x=Z_(l)||y,E=Q_(l),m=ey(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=E,d.memberIds.push(y);let f=d.clusters.get(g||"__unknown__");f||(f={code:g,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(g||"__unknown__",f)),f.count+=1,f.pop+=E,f.memberIds.push(y);let p=f.peopleGroups.get(w||"__unknown__");p||(p={code:w,label:$,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(w||"__unknown__",p)),p.count+=1,p.pop+=E,p.memberIds.push(y),p.instances.push({id:y,name:x,country:m,pop:E})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=oe(()=>{const s=t.value,a=[];for(const i of s.values()){const l=G_(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 b of u.peopleGroups.values()){const w={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:n(b.memberIds),children:[]};b.instances.sort(($,y)=>y.pop-$.pop||$.country.localeCompare(y.country));for(const $ of b.instances)w.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(w)}g.children.sort((b,w)=>w.count-b.count||w.pop-b.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 nr(e,t,n){const o=oe(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=ty(o),s=oe(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=oe(()=>{const[l,c,u]=s.value,g=new Map,b=new Map,w=new Map;for(const y of r.value.values()){y.code&&g.set(y.code,y.label);for(const x of y.clusters.values()){x.code&&b.set(x.code,x.label);for(const E of x.peopleGroups.values())E.code&&w.set(E.code,E.label)}}const $={};return l&&($[l]=g),c&&($[c]=b),u&&($[u]=w),$});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 Ou{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=Ft,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)n.push(...a),i=!1;else if(a.length>1){const g={};n.forEach((b,w)=>{g[b]=a[w]||""}),o.push(g)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};n.forEach((c,u)=>{l[c]=a[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var l,c;const o=Da(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,g]of Object.entries(a))s.push(`${u}=${encodeURIComponent(g)}`);const i=`${o}${n}?${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 ${o} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(g=>this.getFieldValue(n,g));r[l]=u.join("_")}else r[l]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Ou;const Du=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),ju=e=>e==null?"—":Number(e).toLocaleString("en-US");function nr(e){const t=Du(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().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function oy(e,t,o,n,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,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]:n[s.field],g=new Set;t.forEach(b=>{const w=u?u(b):b[s.field];w&&g.add(w)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function ny(e){const t=le(null),o=le(!1),n=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 x=t.value.clientWidth;o.value=x<760,n.value=x>=760&&x<1180,r.value=x>=760&&x<980}),i.observe(t.value)),e&&e.on("toggleTable",x=>{l.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>i&&i.disconnect());function g(x){const E=x.target.closest("[data-view]");E&&(s.value=E.getAttribute("data-view"))}const b=ne(()=>!o.value||s.value==="facets"),w=ne(()=>!o.value||s.value==="map"),$=ne(()=>!o.value||s.value==="table"),y=ne(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:g,showFacets:b,showMap:w,showTable:$,showCharts:y}}function ry(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}ht(()=>({...e.filterSet}),t,{deep:!0}),vt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function sy(e){var y;const t=j_();t.configureHierarchy(e);const o=z_(e.data),n=Du(e.facets,x=>x.get),r=rr(t,nr(e)),s=ne(()=>{var d;const x=o.rows.value||[],E=Object.keys(t.filterSet),m=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!E.length&&!m?x:x.filter(f=>E.every(p=>{const k=n[p];return k?k(f)===t.filterSet[p]:!0})&&r(f))}),a=ne(()=>oy(e.kpis,s.value,o.rows.value||[],n,e)),i=ny(t);ry(t);const l=o.sourceId||Ft.activeSource,c=((y=Ft.sources)==null?void 0:y[l])||{},u=new Ou,g=ne(()=>{const x=o.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return g.value}}}},{labelFor:w}=or(e,b,l),$=ja({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:w});return gt("selectionBus",t),gt("dashboardData",o),gt("dashboardConfig",e),gt("dataStore",b),gt("searchSourceId",l),vt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:$,responsive:i}}const ay={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:602},iy={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},zu=32,Bu=120,St=(e,[t,o])=>Math.min(o,Math.max(t,e)),ls=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function ly(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ay,...e.defaults||{}},i={...iy,...e.clamps||{}},l=le(a.facetW),c=le(a.railW),u=le(a.tableH),g=le(a.mapH),b=le(a.shellH),w=le(!1),$=le(!1),y=le(!1),x=()=>!!ce(n),E=()=>!!ce(r);function m(){const R=t&&t.value;if(!R)return b.value;const P=parseFloat(getComputedStyle(R).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const V=R.querySelector('[data-region="map"]'),re=R.querySelector('[data-region="table"]');if(!V||!re)return b.value;const ye=V.getBoundingClientRect().height+re.getBoundingClientRect().height;return ye>0?Math.round(ye):b.value}function d(){const R=t&&t.value;R&&(w.value&&(R.style.setProperty("--facet-w",l.value+"px"),R.style.setProperty("--rail-w",c.value+"px"),R.style.setProperty("--table-h",u.value)),$.value&&R.style.setProperty("--rd-map-h",g.value+"px"),y.value&&R.style.setProperty("--rd-shell-h",b.value+"px"))}function f(){const R=t&&t.value;R&&(R.style.removeProperty("--facet-w"),R.style.removeProperty("--rail-w"),R.style.removeProperty("--table-h"),R.style.removeProperty("--rd-map-h"),R.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:b.value}))}catch{}}function k(){try{const R=localStorage.getItem(s);if(!R)return!1;const P=JSON.parse(R);return Number.isFinite(P.facetW)&&(l.value=St(P.facetW,i.facetW)),Number.isFinite(P.railW)&&(c.value=St(P.railW,i.railW)),P.tableH!=null&&(u.value=St(ls(P.tableH,ls(a.tableH,34)),i.tableH)+"%"),w.value=!0,Number.isFinite(P.shellH)&&(b.value=St(P.shellH,i.shellH),y.value=!0),Number.isFinite(P.mapH)&&(g.value=St(P.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,b.value=a.shellH,w.value=!1,$.value=!1,y.value=!1,f()}const M=le(!1);function T(){if(M.value)return;M.value=!0;const R=t&&t.value;if(R&&R.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function z(){if(!M.value)return;M.value=!1;const R=t&&t.value;if(R&&R.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function q(R,P){if(x())return;const V=t&&t.value;if(!V)return;P.preventDefault();const re=V.getBoundingClientRect(),ye=P.clientX,Ce=l.value,Te=c.value,Le=P.currentTarget,ve=R==="table"&&E(),_e=R==="shell"&&E();let be=0,we=i.mapH[1];if(ve){const ee=V.querySelector('[data-region="map"]'),h=ee?ee.getBoundingClientRect():null;be=h?h.top:P.clientY-g.value,we=Math.max(i.mapH[0],b.value-(zu+Bu))}const v=P.clientY,C=_e?m():b.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(P.pointerId)}catch{}T();let A=0,B=null;function X(){if(A=0,!B)return;const ee=B;if(B=null,R==="facet")l.value=Math.round(St(Ce+(ee.clientX-ye),i.facetW)),w.value=!0;else if(R==="rail")c.value=Math.round(St(Te-(ee.clientX-ye),i.railW)),w.value=!0;else if(ve)g.value=Math.round(St(ee.clientY-be,[i.mapH[0],we])),$.value=!0;else if(R==="table"){const h=(re.bottom-ee.clientY)/re.height*100;u.value=Math.round(St(h,i.tableH))+"%",w.value=!0}else _e&&(b.value=Math.round(St(C+(ee.clientY-v),i.shellH)),y.value=!0);d()}function J(ee){B={clientX:ee.clientX,clientY:ee.clientY},A||(A=requestAnimationFrame(X))}function se(ee){window.removeEventListener("pointermove",J),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",se),A&&(cancelAnimationFrame(A),A=0),X();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(ee.pointerId)}catch{}p(),z()}window.addEventListener("pointermove",J),window.addEventListener("pointerup",se),window.addEventListener("pointercancel",se)}const Z=R=>q("facet",R),he=R=>q("rail",R),j=R=>q("table",R),K=R=>q("shell",R),G={facet:16,rail:16,table:24,mapH:24,shellH:24};function D(R,P,V){if(!x()){if(R==="facet")l.value=V?P<0?i.facetW[0]:i.facetW[1]:Math.round(St(l.value+P*G.facet,i.facetW)),w.value=!0;else if(R==="rail")c.value=V?P<0?i.railW[1]:i.railW[0]:Math.round(St(c.value-P*G.rail,i.railW)),w.value=!0;else if(R==="table"&&E()){const re=Math.max(i.mapH[0],b.value-(zu+Bu));g.value=V?P<0?i.mapH[0]:re:Math.round(St(g.value+P*G.mapH,[i.mapH[0],re])),$.value=!0}else if(R==="table"){const re=V?P<0?i.tableH[0]:i.tableH[1]:St(ls(u.value,ls(a.tableH,34))-P*G.table/4,i.tableH);u.value=Math.round(re)+"%",w.value=!0}else R==="shell"&&E()&&(b.value=V?P<0?i.shellH[0]:i.shellH[1]:Math.round(St(b.value+P*G.shellH,i.shellH)),y.value=!0);d(),p()}}function L(R,P){const V=P.key;let re=0;if(R==="table"||R==="shell"?V==="ArrowUp"?re=-1:V==="ArrowDown"&&(re=1):V==="ArrowLeft"?re=-1:V==="ArrowRight"&&(re=1),re){P.preventDefault(),D(R,re);return}(V==="Home"||V==="End")&&(P.preventDefault(),D(R,V==="Home"?-1:1,!0))}let U=null;return vt(()=>{k()&&d(),o&&typeof o.on=="function"&&(U=o.on("resetLayout",S))}),Ut(()=>{try{U&&U()}catch{}try{z()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:g,shellH:b,customized:w,resizing:M,startFacetResize:Z,startRailResize:he,startTableResize:j,startShellResize:K,startResize:q,reset:S,applyVars:d,stepResize:D,onResizeKeydown:L}}const cy=".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))}",uy=["value","placeholder","aria-label"],Uu=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 o=e,n=t,r=ne(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const i=a.target.value??"";n("update:modelValue",i),n("search",{value:i})}return(a,i)=>(Q(),oe("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,uy)],4))}},[["styles",[cy]]]),dy=Jo&&Jo.tagName.toUpperCase()==="SCRIPT"&&Jo.src||new URL("research-dashboard.js",document.baseURI).href,Oo=e=>String(e||"").trim().replace(/\/+$/,"");function Gu(){try{const t=String(dy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function fy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Oo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Oo(o)}return Oo(Gu()||"")}function py(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Oo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Oo((e==null?void 0:e.treeBase)||"")||Oo(Gu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Oo(new URL(o+"/../assets",n).href)}catch{return Oo(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function gy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=fy(n),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const hy=["title","aria-label","disabled"],Ba={__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((b,w)=>{g[b]=a[w]||""}),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=Da(),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 b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.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 Ou;const Du=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),ju=e=>e==null?"—":Number(e).toLocaleString("en-US");function or(e){const t=Du(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 rr(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&String(a).toLowerCase().includes(o))return!0}return!1}}function ny(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(b=>{const w=u?u(b):b[s.field];w&&g.add(w)}),a=g.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function oy(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 x=t.value.clientWidth;n.value=x<760,o.value=x>=760&&x<1180,r.value=x>=760&&x<980}),i.observe(t.value)),e&&e.on("toggleTable",x=>{l.value=!!x}),e&&e.on("toggleFacet",x=>{c.value=!!x}),e&&e.on("toggleRail",x=>{u.value=!!x})}),Ut(()=>i&&i.disconnect());function g(x){const E=x.target.closest("[data-view]");E&&(s.value=E.getAttribute("data-view"))}const b=oe(()=>!n.value||s.value==="facets"),w=oe(()=>!n.value||s.value==="map"),$=oe(()=>!n.value||s.value==="table"),y=oe(()=>!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:b,showMap:w,showTable:$,showCharts:y}}function ry(e){function t(){try{const n=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+n)}catch{}}ht(()=>({...e.filterSet}),t,{deep:!0}),vt(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(n){const o=JSON.parse(decodeURIComponent(n[1]));Object.entries(o).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function sy(e){var y;const t=j_();t.configureHierarchy(e);const n=z_(e.data),o=Du(e.facets,x=>x.get),r=rr(t,or(e)),s=oe(()=>{var d;const x=n.rows.value||[],E=Object.keys(t.filterSet),m=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!E.length&&!m?x:x.filter(f=>E.every(p=>{const k=o[p];return k?k(f)===t.filterSet[p]:!0})&&r(f))}),a=oe(()=>ny(e.kpis,s.value,n.rows.value||[],o,e)),i=oy(t);ry(t);const l=n.sourceId||Ft.activeSource,c=((y=Ft.sources)==null?void 0:y[l])||{},u=new Ou,g=oe(()=>{const x=n.rows.value||[];return x.length?(u.rawData=x.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return g.value}}}},{labelFor:w}=nr(e,b,l),$=ja({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:w});return gt("selectionBus",t),gt("dashboardData",n),gt("dashboardConfig",e),gt("dataStore",b),gt("searchSourceId",l),vt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:$,responsive:i}}const ay={facetW:296,railW:264,tableH:"34%",mapH:360,shellH:602},iy={facetW:[160,420],railW:[200,520],tableH:[12,70],mapH:[220,1400],shellH:[400,2600]},zu=32,Bu=120,St=(e,[t,n])=>Math.min(n,Math.max(t,e)),ls=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function ly(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,pageScroll:r=!1,storageKey:s="rd-dashboard-layout"}=e,a={...ay,...e.defaults||{}},i={...iy,...e.clamps||{}},l=le(a.facetW),c=le(a.railW),u=le(a.tableH),g=le(a.mapH),b=le(a.shellH),w=le(!1),$=le(!1),y=le(!1),x=()=>!!ce(o),E=()=>!!ce(r);function m(){const R=t&&t.value;if(!R)return b.value;const P=parseFloat(getComputedStyle(R).getPropertyValue("--rd-shell-h"));if(Number.isFinite(P)&&P>0)return Math.round(P);const V=R.querySelector('[data-region="map"]'),re=R.querySelector('[data-region="table"]');if(!V||!re)return b.value;const ye=V.getBoundingClientRect().height+re.getBoundingClientRect().height;return ye>0?Math.round(ye):b.value}function d(){const R=t&&t.value;R&&(w.value&&(R.style.setProperty("--facet-w",l.value+"px"),R.style.setProperty("--rail-w",c.value+"px"),R.style.setProperty("--table-h",u.value)),$.value&&R.style.setProperty("--rd-map-h",g.value+"px"),y.value&&R.style.setProperty("--rd-shell-h",b.value+"px"))}function f(){const R=t&&t.value;R&&(R.style.removeProperty("--facet-w"),R.style.removeProperty("--rail-w"),R.style.removeProperty("--table-h"),R.style.removeProperty("--rd-map-h"),R.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:b.value}))}catch{}}function k(){try{const R=localStorage.getItem(s);if(!R)return!1;const P=JSON.parse(R);return Number.isFinite(P.facetW)&&(l.value=St(P.facetW,i.facetW)),Number.isFinite(P.railW)&&(c.value=St(P.railW,i.railW)),P.tableH!=null&&(u.value=St(ls(P.tableH,ls(a.tableH,34)),i.tableH)+"%"),w.value=!0,Number.isFinite(P.shellH)&&(b.value=St(P.shellH,i.shellH),y.value=!0),Number.isFinite(P.mapH)&&(g.value=St(P.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,b.value=a.shellH,w.value=!1,$.value=!1,y.value=!1,f()}const M=le(!1);function T(){if(M.value)return;M.value=!0;const R=t&&t.value;if(R&&R.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function z(){if(!M.value)return;M.value=!1;const R=t&&t.value;if(R&&R.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function q(R,P){if(x())return;const V=t&&t.value;if(!V)return;P.preventDefault();const re=V.getBoundingClientRect(),ye=P.clientX,Ce=l.value,Te=c.value,Le=P.currentTarget,ve=R==="table"&&E(),_e=R==="shell"&&E();let be=0,we=i.mapH[1];if(ve){const ee=V.querySelector('[data-region="map"]'),h=ee?ee.getBoundingClientRect():null;be=h?h.top:P.clientY-g.value,we=Math.max(i.mapH[0],b.value-(zu+Bu))}const v=P.clientY,C=_e?m():b.value;try{Le&&Le.setPointerCapture&&Le.setPointerCapture(P.pointerId)}catch{}T();let A=0,B=null;function X(){if(A=0,!B)return;const ee=B;if(B=null,R==="facet")l.value=Math.round(St(Ce+(ee.clientX-ye),i.facetW)),w.value=!0;else if(R==="rail")c.value=Math.round(St(Te-(ee.clientX-ye),i.railW)),w.value=!0;else if(ve)g.value=Math.round(St(ee.clientY-be,[i.mapH[0],we])),$.value=!0;else if(R==="table"){const h=(re.bottom-ee.clientY)/re.height*100;u.value=Math.round(St(h,i.tableH))+"%",w.value=!0}else _e&&(b.value=Math.round(St(C+(ee.clientY-v),i.shellH)),y.value=!0);d()}function J(ee){B={clientX:ee.clientX,clientY:ee.clientY},A||(A=requestAnimationFrame(X))}function se(ee){window.removeEventListener("pointermove",J),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",se),A&&(cancelAnimationFrame(A),A=0),X();try{Le&&Le.releasePointerCapture&&Le.releasePointerCapture(ee.pointerId)}catch{}p(),z()}window.addEventListener("pointermove",J),window.addEventListener("pointerup",se),window.addEventListener("pointercancel",se)}const Z=R=>q("facet",R),he=R=>q("rail",R),j=R=>q("table",R),K=R=>q("shell",R),G={facet:16,rail:16,table:24,mapH:24,shellH:24};function D(R,P,V){if(!x()){if(R==="facet")l.value=V?P<0?i.facetW[0]:i.facetW[1]:Math.round(St(l.value+P*G.facet,i.facetW)),w.value=!0;else if(R==="rail")c.value=V?P<0?i.railW[1]:i.railW[0]:Math.round(St(c.value-P*G.rail,i.railW)),w.value=!0;else if(R==="table"&&E()){const re=Math.max(i.mapH[0],b.value-(zu+Bu));g.value=V?P<0?i.mapH[0]:re:Math.round(St(g.value+P*G.mapH,[i.mapH[0],re])),$.value=!0}else if(R==="table"){const re=V?P<0?i.tableH[0]:i.tableH[1]:St(ls(u.value,ls(a.tableH,34))-P*G.table/4,i.tableH);u.value=Math.round(re)+"%",w.value=!0}else R==="shell"&&E()&&(b.value=V?P<0?i.shellH[0]:i.shellH[1]:Math.round(St(b.value+P*G.shellH,i.shellH)),y.value=!0);d(),p()}}function L(R,P){const V=P.key;let re=0;if(R==="table"||R==="shell"?V==="ArrowUp"?re=-1:V==="ArrowDown"&&(re=1):V==="ArrowLeft"?re=-1:V==="ArrowRight"&&(re=1),re){P.preventDefault(),D(R,re);return}(V==="Home"||V==="End")&&(P.preventDefault(),D(R,V==="Home"?-1:1,!0))}let U=null;return vt(()=>{k()&&d(),n&&typeof n.on=="function"&&(U=n.on("resetLayout",S))}),Ut(()=>{try{U&&U()}catch{}try{z()}catch{}}),{facetW:l,railW:c,tableH:u,mapH:g,shellH:b,customized:w,resizing:M,startFacetResize:Z,startRailResize:he,startTableResize:j,startShellResize:K,startResize:q,reset:S,applyVars:d,stepResize:D,onResizeKeydown:L}}const cy=".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))}",uy=["value","placeholder","aria-label"],Uu=ns({__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=oe(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(Q(),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,uy)],4))}},[["styles",[cy]]]),dy=Jn&&Jn.tagName.toUpperCase()==="SCRIPT"&&Jn.src||new URL("research-dashboard.js",document.baseURI).href,On=e=>String(e||"").trim().replace(/\/+$/,"");function Gu(){try{const t=String(dy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function fy(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(Gu()||"")}function py(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(Gu()||"");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 gy({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=fy(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 hy=["title","aria-label","disabled"],Ba={__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; @@ -97,7 +97,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)=>(Q(),oe("button",{class:Be(["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"))},[Os(t.$slots,"default")],10,hy))}},my=["aria-label"],by={class:"mcm-header"},_y={class:"mcm-title"},yy={class:"mcm-body"},vy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Ua="doxa-map-menu-open",wy={__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}){It(` +`,"map-control-button"),(t,n)=>(Q(),ne("button",{class:Be(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Os(t.$slots,"default")],10,hy))}},my=["aria-label"],by={class:"mcm-header"},_y={class:"mcm-title"},yy={class:"mcm-body"},vy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Ua="doxa-map-menu-open",wy={__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}){It(` .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; @@ -113,7 +113,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=Me("mapToolbar",null),s=le(null),a=le(null),i=le({});function l(){var M;const w=(M=r==null?void 0:r.el)==null?void 0:M.value,$=s.value;if(!w||!$){i.value={};return}const y=$.getBoundingClientRect(),x=w.getBoundingClientRect(),E=(x.left+x.right)/2>(y.left+y.right)/2,m=8,d=12,f=E?y.right-x.left+m:x.right-y.left+m,p=Math.max(200,Math.min(o.width,y.width-f-d)),k=Math.max(0,x.top-y.top);let S=Math.max(120,y.height-k-d);o.matchToolbar&&(S=Math.max(120,Math.min(S,x.height))),o.maxHeight&&(S=Math.min(S,o.maxHeight)),i.value={top:`${Math.round(k)}px`,[E?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(p)}px`,maxHeight:`${Math.round(S)}px`,...o.height?{height:`${Math.round(Math.min(o.height,S))}px`}:{}}}function c(w){o.open&&w.detail!==a.value&&n("close")}ht(()=>o.open,async w=>{var $;if(w){await Uo(),l();try{($=s.value)==null||$.dispatchEvent(new CustomEvent(Ua,{detail:a.value}))}catch{}}});function u(){o.open&&l()}function g(w){w.key==="Escape"&&o.open&&n("close")}function b(w){var y;if(!o.open)return;const $=w.composedPath?w.composedPath():[w.target];a.value&&$.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&$.includes(r.el.value)||$.some(x=>{var E,m,d,f;return((m=(E=x==null?void 0:x.classList)==null?void 0:E.contains)==null?void 0:m.call(E,"mapboxgl-canvas"))||((f=(d=x==null?void 0:x.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&n("close")}return vt(()=>{var w,$,y;s.value=(($=(w=r==null?void 0:r.el)==null?void 0:w.value)==null?void 0:$.closest(vy))||null,(y=s.value)==null||y.addEventListener(Ua,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",g)}),Ut(()=>{var w;(w=s.value)==null||w.removeEventListener(Ua,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",g)}),(w,$)=>(Q(),oo(cf,{to:s.value,disabled:!s.value},[e.open?(Q(),oe("div",{key:0,ref_key:"el",ref:a,class:Be(["mcm",{light:!e.isDark}]),style:lt(i.value),role:"dialog","aria-label":e.title},[N("div",by,[N("span",_y,pe(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:$[0]||($[0]=y=>n("close"))},[...$[1]||($[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",yy,[Os(w.$slots,"default")])],14,my)):We("",!0)],8,["to","disabled"]))}},xy={class:"share-steps"},ky={class:"share-tabs"},$y={key:0,class:"share-body"},Sy={class:"share-url-box"},Ey={class:"share-url-text"},Ay={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={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"},Ty={key:1,class:"share-body"},Ly={class:"share-size-pills"},Py=["onClick"],My={class:"share-code-box"},Iy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ny={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"},Ry={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){It(` +`,"map-control-menu");const n=e,o=t,r=Me("mapToolbar",null),s=le(null),a=le(null),i=le({});function l(){var M;const w=(M=r==null?void 0:r.el)==null?void 0:M.value,$=s.value;if(!w||!$){i.value={};return}const y=$.getBoundingClientRect(),x=w.getBoundingClientRect(),E=(x.left+x.right)/2>(y.left+y.right)/2,m=8,d=12,f=E?y.right-x.left+m:x.right-y.left+m,p=Math.max(200,Math.min(n.width,y.width-f-d)),k=Math.max(0,x.top-y.top);let S=Math.max(120,y.height-k-d);n.matchToolbar&&(S=Math.max(120,Math.min(S,x.height))),n.maxHeight&&(S=Math.min(S,n.maxHeight)),i.value={top:`${Math.round(k)}px`,[E?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(p)}px`,maxHeight:`${Math.round(S)}px`,...n.height?{height:`${Math.round(Math.min(n.height,S))}px`}:{}}}function c(w){n.open&&w.detail!==a.value&&o("close")}ht(()=>n.open,async w=>{var $;if(w){await Un(),l();try{($=s.value)==null||$.dispatchEvent(new CustomEvent(Ua,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function g(w){w.key==="Escape"&&n.open&&o("close")}function b(w){var y;if(!n.open)return;const $=w.composedPath?w.composedPath():[w.target];a.value&&$.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&$.includes(r.el.value)||$.some(x=>{var E,m,d,f;return((m=(E=x==null?void 0:x.classList)==null?void 0:E.contains)==null?void 0:m.call(E,"mapboxgl-canvas"))||((f=(d=x==null?void 0:x.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&o("close")}return vt(()=>{var w,$,y;s.value=(($=(w=r==null?void 0:r.el)==null?void 0:w.value)==null?void 0:$.closest(vy))||null,(y=s.value)==null||y.addEventListener(Ua,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",g)}),Ut(()=>{var w;(w=s.value)==null||w.removeEventListener(Ua,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",g)}),(w,$)=>(Q(),nn(cf,{to:s.value,disabled:!s.value},[e.open?(Q(),ne("div",{key:0,ref_key:"el",ref:a,class:Be(["mcm",{light:!e.isDark}]),style:lt(i.value),role:"dialog","aria-label":e.title},[N("div",by,[N("span",_y,pe(e.title),1),N("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:$[0]||($[0]=y=>o("close"))},[...$[1]||($[1]=[N("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[N("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),N("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),N("div",yy,[Os(w.$slots,"default")])],14,my)):We("",!0)],8,["to","disabled"]))}},xy={class:"share-steps"},ky={class:"share-tabs"},$y={key:0,class:"share-body"},Sy={class:"share-url-box"},Ey={class:"share-url-text"},Ay={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={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"},Ty={key:1,class:"share-body"},Ly={class:"share-size-pills"},Py=["onClick"],My={class:"share-code-box"},Iy={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ny={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"},Ry={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){It(` .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); @@ -365,7 +365,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=bn(),r=e,s=le(null),a=le(!1),i=le(null),l=le(null),c=le("link"),u=le(!1),g=le(!1),b=le("medium"),w={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},$=Me("profileConfig",null),y=ne(()=>gy({embedPath:r.embedPath,profileConfig:ce($)||null})),x=ne(()=>{const z=w[b.value].height;return''});function E(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,g.value=!1)}function m(){a.value=!1}async function d(z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(z),!0}catch{}try{const q=document.createElement("textarea");q.value=z,q.setAttribute("readonly",""),q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(q),q.select();const Z=document.execCommand("copy");return document.body.removeChild(q),Z}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function p(){await d(x.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const k=Me("mapToolbar",null),S=le(null);gt("mapToolbar",k||{el:S});const M=!k;function T(z){if(s.value=z||null,!M||!z){z||(S.value=null);return}const q=z.offsetParent||z.parentElement;q&&!q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&q.setAttribute("data-map-area","share-fallback"),S.value=z}return(z,q)=>(Q(),oe("div",{ref:T,class:"share-wrap","data-share-root":""},[Ue(Ba,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ce(t)("buttons.share"),onClick:E},{default:rn(()=>[...q[2]||(q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ue(wy,{open:a.value,title:ce(t)("buttons.share"),"is-dark":e.isDark,onClose:m},{default:rn(()=>[N("div",{ref_key:"popoverEl",ref:i,class:Be(["share-pop",{light:!e.isDark}])},[N("ul",xy,[(Q(!0),oe(Ne,null,rt(ce(o)("buttons.shareSteps"),(Z,he)=>(Q(),oe("li",{key:he},pe(ce(n)(Z)),1))),128))]),N("div",ky,[N("button",{class:Be(["share-tab",{active:c.value==="link"}]),onClick:q[0]||(q[0]=Z=>c.value="link")},"Embed link",2),N("button",{class:Be(["share-tab",{active:c.value==="embed"}]),onClick:q[1]||(q[1]=Z=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(Q(),oe("div",$y,[N("div",Sy,[N("div",Ey,pe(y.value),1)]),N("button",{class:Be(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(Q(),oe("svg",Cy,[...q[4]||(q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),oe("svg",Ay,[...q[3]||(q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),at(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):We("",!0),c.value==="embed"?(Q(),oe("div",Ty,[q[7]||(q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",Ly,[(Q(),oe(Ne,null,rt(w,(Z,he)=>N("button",{key:he,class:Be(["share-size-pill",{active:b.value===he}]),onClick:j=>b.value=he},pe(Z.label),11,Py)),64))]),N("div",My,pe(x.value),1),N("button",{class:Be(["share-secondary-btn",{copied:g.value}]),onClick:p},[g.value?(Q(),oe("svg",Ny,[...q[6]||(q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),oe("svg",Iy,[...q[5]||(q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),at(" "+pe(g.value?"Copied!":"Copy Code"),1)],2)])):We("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},Eo="#c4c8c0",tt=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Fy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function cs(e,t){const o=as(e);return o&&o.propertyKey===t?o:null}function Oy(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(i=>t[i]===o);if(r)return r;let s=null,a=0;for(const i of n){const l=t[i];l&&o.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(o)?Ma(o):"U")}function Ga(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Dy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),i=o&&o(s);if(!a||!i)continue;n.has(a)||n.set(a,new Map);const l=n.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of n){let i=null,l=0,c=!1;for(const[u,g]of a)g>l?(i=u,l=g,c=!1):g===l&&(c=!0);r.set(s,i&&!c?qu("wagf_region",i):Eo)}return r}function jy(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*o,c=e.reduce((g,b)=>g+b.value,0)||1;let u=-Math.PI/2;return e.map((g,b)=>{const w=u,$=u+g.value/c*Math.PI*2;u=$;const y=$-w>Math.PI?1:0,x=(m,d)=>`${(s+d*Math.cos(m)).toFixed(2)},${(a+d*Math.sin(m)).toFixed(2)}`,E=`M${x(w,i)} A${i},${i} 0 ${y} 1 ${x($,i)} L${x($,l)} A${l},${l} 0 ${y} 0 ${x(w,l)} Z`;return{...g,path:E,pct:Math.round(g.value/c*100),color:Hu(n,g.key,r)}})}function zy(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:Hu(t,r.key,o)}))}function Hu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return qu(e,t)}function qu(e,t){if(t==null||t===""||t==="Other")return Eo;if(e==="religion"||e==="religion_family"){const o=cs(So.RELIGION,"religion"),n=o&&o.palette||Ct,r=o&&o.families||Yo;return n[Oy(t,r)]||Eo}if(e==="wagf_region"){const o=cs(So.DOXA_REGION,"doxaRegion");if(!o)return Eo;const n=o.slugColors&&o.slugColors[Fy(t)];return n||o.aliases&&o.aliases[t]||Eo}if(e==="affinity_bloc"){const o=cs(So.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||Eo}if(e==="language_family"){const o=cs(So.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||Eo}return Eo}const By={class:"rd-left"},Uy={class:"rd-brand"},Gy={class:"rd-ttl"},Hy={class:"rd-filter-search","data-filter-search":""},qy={key:0,class:"rd-search","data-search":""},Vy=["data-slug"],Wy={class:"nm"},Ky={class:"sub"},Yy={key:1,class:"rd-empty"},Xy=["onKeydown"],Jy="research-dashboard/research-dashboard/index.html",Zy={__name:"DashboardTopBar",setup(e){const t=Me("dashboardData",null),o=Me("selectionBus",null),n=Me("dashboardConfig",{}),r=ne(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=ne(()=>{var d;return((d=o==null?void 0:o.searchTerm)==null?void 0:d.value)||""}),i=ne(()=>{var d;return((d=n.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){o==null||o.setSearch((d==null?void 0:d.value)??"")}const c=le(""),u=le(!1),g=le(0),b=ne(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],p=[];for(const S of f)if((S.name||"").toLowerCase().includes(d)&&(p.push(S),p.length>=8))break;return p});function w(d){!d||!o||(d.slug&&(o.toggleSelect(d.slug),o.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,g.value=0)}function $(){u.value=!0,g.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),g.value=(g.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),g.value=(g.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),w(b.value[g.value])):d.key==="Escape"&&(c.value="",u.value=!1,g.value=0)}function x(d){var S;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const p=f.getAttribute("data-slug"),k=(((S=t==null?void 0:t.rows)==null?void 0:S.value)||[]).find(M=>M.slug===p);k&&w(k)}const E=le(null);function m(d){E.value&&!E.value.contains(d.target)&&(u.value=!1)}return vt(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",m)}catch{}}),Ut(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",m)}catch{}}),It(` +`,"share-button");const{t,tm:n,rt:o}=bo(),r=e,s=le(null),a=le(!1),i=le(null),l=le(null),c=le("link"),u=le(!1),g=le(!1),b=le("medium"),w={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},$=Me("profileConfig",null),y=oe(()=>gy({embedPath:r.embedPath,profileConfig:ce($)||null})),x=oe(()=>{const z=w[b.value].height;return''});function E(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,g.value=!1)}function m(){a.value=!1}async function d(z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(z),!0}catch{}try{const q=document.createElement("textarea");q.value=z,q.setAttribute("readonly",""),q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(q),q.select();const Z=document.execCommand("copy");return document.body.removeChild(q),Z}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function p(){await d(x.value)&&(g.value=!0,setTimeout(()=>{g.value=!1},2e3))}const k=Me("mapToolbar",null),S=le(null);gt("mapToolbar",k||{el:S});const M=!k;function T(z){if(s.value=z||null,!M||!z){z||(S.value=null);return}const q=z.offsetParent||z.parentElement;q&&!q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&q.setAttribute("data-map-area","share-fallback"),S.value=z}return(z,q)=>(Q(),ne("div",{ref:T,class:"share-wrap","data-share-root":""},[Ue(Ba,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:ce(t)("buttons.share"),onClick:E},{default:ro(()=>[...q[2]||(q[2]=[N("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[N("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),N("polyline",{points:"16 6 12 2 8 6"}),N("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ue(wy,{open:a.value,title:ce(t)("buttons.share"),"is-dark":e.isDark,onClose:m},{default:ro(()=>[N("div",{ref_key:"popoverEl",ref:i,class:Be(["share-pop",{light:!e.isDark}])},[N("ul",xy,[(Q(!0),ne(Ne,null,rt(ce(n)("buttons.shareSteps"),(Z,he)=>(Q(),ne("li",{key:he},pe(ce(o)(Z)),1))),128))]),N("div",ky,[N("button",{class:Be(["share-tab",{active:c.value==="link"}]),onClick:q[0]||(q[0]=Z=>c.value="link")},"Embed link",2),N("button",{class:Be(["share-tab",{active:c.value==="embed"}]),onClick:q[1]||(q[1]=Z=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(Q(),ne("div",$y,[N("div",Sy,[N("div",Ey,pe(y.value),1)]),N("button",{class:Be(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(Q(),ne("svg",Cy,[...q[4]||(q[4]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),ne("svg",Ay,[...q[3]||(q[3]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),at(" "+pe(u.value?"Copied!":"Copy Link"),1)],2)])):We("",!0),c.value==="embed"?(Q(),ne("div",Ty,[q[7]||(q[7]=N("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),N("div",Ly,[(Q(),ne(Ne,null,rt(w,(Z,he)=>N("button",{key:he,class:Be(["share-size-pill",{active:b.value===he}]),onClick:j=>b.value=he},pe(Z.label),11,Py)),64))]),N("div",My,pe(x.value),1),N("button",{class:Be(["share-secondary-btn",{copied:g.value}]),onClick:p},[g.value?(Q(),ne("svg",Ny,[...q[6]||(q[6]=[N("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),ne("svg",Iy,[...q[5]||(q[5]=[N("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),N("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),at(" "+pe(g.value?"Copied!":"Copy Code"),1)],2)])):We("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},En="#c4c8c0",tt=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Fy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function cs(e,t){const n=as(e);return n&&n.propertyKey===t?n:null}function Oy(e,t){const n=String(e||"").trim();if(!n)return"U";const o=Object.keys(t),r=o.find(i=>t[i]===n);if(r)return r;let s=null,a=0;for(const i of o){const l=t[i];l&&n.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(n)?Ma(n):"U")}function Ga(e,t,n){const o=new Map;for(const s of e){const a=t(s);a==null||a===""||o.set(a,(o.get(a)||0)+1)}let r=[...o.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(n&&r.length>n){const s=r.slice(0,n),a=r.slice(n).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Dy(e,t,n){const o=new Map;for(const s of e||[]){const a=t&&t(s),i=n&&n(s);if(!a||!i)continue;o.has(a)||o.set(a,new Map);const l=o.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of o){let i=null,l=0,c=!1;for(const[u,g]of a)g>l?(i=u,l=g,c=!1):g===l&&(c=!0);r.set(s,i&&!c?qu("wagf_region",i):En)}return r}function jy(e,t=132,n=.58,o="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*n,c=e.reduce((g,b)=>g+b.value,0)||1;let u=-Math.PI/2;return e.map((g,b)=>{const w=u,$=u+g.value/c*Math.PI*2;u=$;const y=$-w>Math.PI?1:0,x=(m,d)=>`${(s+d*Math.cos(m)).toFixed(2)},${(a+d*Math.sin(m)).toFixed(2)}`,E=`M${x(w,i)} A${i},${i} 0 ${y} 1 ${x($,i)} L${x($,l)} A${l},${l} 0 ${y} 0 ${x(w,l)} Z`;return{...g,path:E,pct:Math.round(g.value/c*100),color:Hu(o,g.key,r)}})}function zy(e,t="",n=null){const o=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/o,color:Hu(t,r.key,n)}))}function Hu(e,t,n){if(n&&t!=="Other"){const o=n.get?n.get(t):n[t];if(o)return o}return qu(e,t)}function qu(e,t){if(t==null||t===""||t==="Other")return En;if(e==="religion"||e==="religion_family"){const n=cs(Sn.RELIGION,"religion"),o=n&&n.palette||Ct,r=n&&n.families||Yn;return o[Oy(t,r)]||En}if(e==="wagf_region"){const n=cs(Sn.DOXA_REGION,"doxaRegion");if(!n)return En;const o=n.slugColors&&n.slugColors[Fy(t)];return o||n.aliases&&n.aliases[t]||En}if(e==="affinity_bloc"){const n=cs(Sn.AFFINITY_BLOCK,"affinityBlock");return n&&n.palette&&n.palette[t]||En}if(e==="language_family"){const n=cs(Sn.LANGUAGE_FAMILY,"languageFamily");return n&&n.palette&&n.palette[t]||En}return En}const By={class:"rd-left"},Uy={class:"rd-brand"},Gy={class:"rd-ttl"},Hy={class:"rd-filter-search","data-filter-search":""},qy={key:0,class:"rd-search","data-search":""},Vy=["data-slug"],Wy={class:"nm"},Ky={class:"sub"},Yy={key:1,class:"rd-empty"},Xy=["onKeydown"],Jy="research-dashboard/research-dashboard/index.html",Zy={__name:"DashboardTopBar",setup(e){const t=Me("dashboardData",null),n=Me("selectionBus",null),o=Me("dashboardConfig",{}),r=oe(()=>o.showTopBarSearch===!0);function s(){n&&n.emit("resetLayout")}const a=oe(()=>{var d;return((d=n==null?void 0:n.searchTerm)==null?void 0:d.value)||""}),i=oe(()=>{var d;return((d=o.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){n==null||n.setSearch((d==null?void 0:d.value)??"")}const c=le(""),u=le(!1),g=le(0),b=oe(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],p=[];for(const S of f)if((S.name||"").toLowerCase().includes(d)&&(p.push(S),p.length>=8))break;return p});function w(d){!d||!n||(d.slug&&(n.toggleSelect(d.slug),n.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,g.value=0)}function $(){u.value=!0,g.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),g.value=(g.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),g.value=(g.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),w(b.value[g.value])):d.key==="Escape"&&(c.value="",u.value=!1,g.value=0)}function x(d){var S;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const p=f.getAttribute("data-slug"),k=(((S=t==null?void 0:t.rows)==null?void 0:S.value)||[]).find(M=>M.slug===p);k&&w(k)}const E=le(null);function m(d){E.value&&!E.value.contains(d.target)&&(u.value=!1)}return vt(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",m)}catch{}}),Ut(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",m)}catch{}}),It(` .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); @@ -407,7 +407,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(d,f)=>(Q(),oe("header",{ref_key:"rootEl",ref:E,class:"rd-topbar","data-region":"topbar"},[N("div",By,[N("span",Uy,[N("span",Gy,[at(pe(ce(n).title||"Research Dashboard"),1),f[1]||(f[1]=N("span",{class:"dot"},".",-1))])])]),N("div",Hy,[Ue(Uu,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(Q(),oe("div",qy,[f[2]||(f[2]=N("span",{class:"ic"},"⌕",-1)),Nt(N("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=p=>c.value=p),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:$,onFocus:$,onKeydown:y},null,544),[[Np,c.value]]),u.value&&c.value.trim().length>=2?(Q(),oe("div",{key:0,class:"rd-results","data-search-results":"",onClick:x},[b.value.length?(Q(!0),oe(Ne,{key:0},rt(b.value,(p,k)=>(Q(),oe("div",{key:p.slug,class:Be(["rd-res",{on:k===g.value}]),"data-slug":p.slug},[N("span",Wy,pe(p.name),1),N("span",Ky,pe(ce(tt)(p.country_code))+" · "+pe(ce(tt)(p.religion)),1)],10,Vy))),128)):(Q(),oe("div",Yy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):We("",!0)])):We("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[qr(un(s,["prevent"]),["enter"]),qr(un(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Xy),Ue(Ry,{"embed-path":Jy})],512))}},Do="#c4c8c0";function Qy(e,t){const o=as(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const ev=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function tv(){const e=ne(()=>{const o=as(So.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return Do;if(o==="people"){const a=Qy(So.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Do}if(o==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[ev(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Do}return o==="language"?$o[s||r]||Do:o==="religion"&&Ct[s]||Do}return{colorFor:t,NEUTRAL:Do}}const ov={class:"rd-facets","data-region":"facets"},nv={class:"fr-head"},rv={class:"fr-scope","data-scope-count":""},sv=["data-facet-section"],av=["onClick"],iv={class:"fr-rows"},lv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],cv=["data-expand","data-expand-value","aria-expanded","aria-label"],uv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},dv={class:"fr-lbl"},fv={class:"fr-bar"},pv={class:"fr-cnt"},gv={key:3,class:"fr-donly","aria-hidden":"true"},hv={__name:"DashboardFacetRail",setup(e){const t=Me("dashboardData",null),o=Me("selectionBus",null),n=Me("dashboardConfig",{}),r=Me("dataStore",null),s=Me("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(n.facets||{}).map(([L,U])=>[L,U.get])),l=new Set(Object.entries(n.facets||{}).filter(([,L])=>L&&L.dashboardOnly).map(([L])=>L)),c=rr(o,nr(n));function u(L){var V,re;const U=((V=t==null?void 0:t.rows)==null?void 0:V.value)||[],R=Object.keys(a).filter(ye=>!L.includes(ye)),P=!!(((re=o==null?void 0:o.searchTerm)==null?void 0:re.value)||"").trim();return!R.length&&!P?U:U.filter(ye=>R.every(Ce=>{const Te=i[Ce];return Te?Te(ye)===a[Ce]:!0})&&c(ye))}const g=new Set(["people","place","language","religion"]),b=zo(Object.fromEntries((n.facetRail||[]).map(L=>[L.id,g.has(L.id)])));function w(L){b[L]=!b[L]}const $=zo({}),y=(L,U)=>L+":"+U;function x(L,U){const R=y(L,U);$[R]=!E(L,U)}function E(L,U){const R=y(L,U);return R in $?$[R]:a[L]===U}function m(L,U,R){const P=L.reduce((V,re)=>Math.max(V,re.value),0)||1;return L.map(V=>({facet:U,value:V.key,label:V.key,count:V.value,frac:V.value/P,level:R,other:!!V.other,active:!V.other&&a[U]===V.key,dashboardOnly:l.has(U)}))}const d=new Map;function f(L,U,R){if(R)return d.set(L,U.map(ve=>({...ve,count:0,frac:0,active:!1,expanded:!1}))),U;const P=d.get(L);if(!P)return U;const V=ve=>ve.facet+":"+ve.value,re=new Set(U.map(V));if(!P.filter(ve=>!re.has(V(ve))).length)return U;const Ce=new Map;let Te="";for(const ve of P){const _e=V(ve);if(re.has(_e)){Te=_e;continue}Ce.has(Te)||Ce.set(Te,[]),Ce.get(Te).push({...ve,zero:!0})}const Le=[];for(const ve of Ce.get("")||[])Le.push(ve);for(let ve=0;ve_e.level;)Le.push(U[++ve]);for(const we of be)Le.push(we)}}return Le}function p(L,U){return m(Ga(u([L]),i[L],U??24),L,0)}function k(L,U){const R=[],P=(V,re)=>{const ye=L[V],Ce=(U&&U[V])??(V===L.length-1?40:30);let Te=u(L.slice(V));re.length&&(Te=Te.filter(ve=>re.every(([_e,be])=>{const we=i[_e];return we?we(ve)===be:!0})));const Le=m(Ga(Te,i[ye],Ce),ye,V);for(const ve of Le)ve.hasChildren=!ve.other&&V{var R;const L=new Map,U=n.facets&&n.facets.religion_family;if(!U||!U.famKey)return L;for(const P of((R=t==null?void 0:t.rows)==null?void 0:R.value)||[]){const V=U.get(P);V&&!L.has(V)&&L.set(V,U.famKey(P))}return L}),Z=ne(()=>{var L;return!Object.keys(a).length&&!(((L=o==null?void 0:o.searchTerm)==null?void 0:L.value)||"").trim()}),he=ne(()=>(n.facetRail||[]).map(L=>{let U=L.drill?k(L.drill,L.topN):p(L.facet,L.topN);if(U=f(L.id,U,Z.value),L.tree==="affinity"){const R=M.value;U=U.map(P=>P.other?P:{...P,label:R[P.facet]&&R[P.facet].get(P.value)||P.label})}return U=z(U,L.axis,q.value),{id:L.id,title:L.title,axis:L.axis,rows:S(U)}})),j=ne(()=>{var R;const L=((R=t==null?void 0:t.rows)==null?void 0:R.value)||[],U=Object.keys(a);return U.length?L.filter(P=>U.every(V=>{const re=i[V];return re?re(P)===a[V]:!0})).length:L.length});function K(L){const U=L.target;if(!U||!U.closest)return;const R=U.closest("[data-expand]");if(R){const ye=R.getAttribute("data-expand"),Ce=R.getAttribute("data-expand-value");ye&&Ce!=null&&(L.stopPropagation(),x(ye,Ce));return}const P=U.closest("[data-facet]");if(!P||!o)return;const V=P.getAttribute("data-facet"),re=P.getAttribute("data-value");!V||!re||o.setFilter(V,a[V]===re?null:re)}function G(L){if(L.key!=="Enter"&&L.key!==" "&&L.key!=="Spacebar")return;const U=L.target&&L.target.closest?L.target.closest("[data-facet]"):null;if(!U||!o)return;L.preventDefault();const R=U.getAttribute("data-facet"),P=U.getAttribute("data-value");!R||!P||o.setFilter(R,a[R]===P?null:P)}const D=le(null);return vt(()=>{o&&o.on("mapFocus",({value:L}={})=>{if(!L||!D.value)return;const R=[...D.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(L));R&&(D.value.scrollTop=Math.max(0,R.offsetTop-8))})}),It(` +`,"rd-topbar"),(d,f)=>(Q(),ne("header",{ref_key:"rootEl",ref:E,class:"rd-topbar","data-region":"topbar"},[N("div",By,[N("span",Uy,[N("span",Gy,[at(pe(ce(o).title||"Research Dashboard"),1),f[1]||(f[1]=N("span",{class:"dot"},".",-1))])])]),N("div",Hy,[Ue(Uu,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=N("span",{class:"rd-spacer"},null,-1)),r.value?(Q(),ne("div",qy,[f[2]||(f[2]=N("span",{class:"ic"},"⌕",-1)),Nt(N("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=p=>c.value=p),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:$,onFocus:$,onKeydown:y},null,544),[[Np,c.value]]),u.value&&c.value.trim().length>=2?(Q(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:x},[b.value.length?(Q(!0),ne(Ne,{key:0},rt(b.value,(p,k)=>(Q(),ne("div",{key:p.slug,class:Be(["rd-res",{on:k===g.value}]),"data-slug":p.slug},[N("span",Wy,pe(p.name),1),N("span",Ky,pe(ce(tt)(p.country_code))+" · "+pe(ce(tt)(p.religion)),1)],10,Vy))),128)):(Q(),ne("div",Yy,"No people groups match “"+pe(c.value.trim())+"”.",1))])):We("",!0)])):We("",!0),N("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[qr(co(s,["prevent"]),["enter"]),qr(co(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Xy),Ue(Ry,{"embed-path":Jy})],512))}},Dn="#c4c8c0";function Qy(e,t){const n=as(e);return n&&n.propertyKey===t&&n.palette?n.palette:null}const ev=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function tv(){const e=oe(()=>{const n=as(Sn.DOXA_REGION),o=n&&n.propertyKey==="doxaRegion";return{slug:o&&n.slugColors||null,alias:o&&n.aliases||null}});function t(n,o,r,s){if(r==null||r==="")return Dn;if(n==="people"){const a=Qy(Sn.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Dn}if(n==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[ev(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Dn}return n==="language"?$n[s||r]||Dn:n==="religion"&&Ct[s]||Dn}return{colorFor:t,NEUTRAL:Dn}}const nv={class:"rd-facets","data-region":"facets"},ov={class:"fr-head"},rv={class:"fr-scope","data-scope-count":""},sv=["data-facet-section"],av=["onClick"],iv={class:"fr-rows"},lv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],cv=["data-expand","data-expand-value","aria-expanded","aria-label"],uv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},dv={class:"fr-lbl"},fv={class:"fr-bar"},pv={class:"fr-cnt"},gv={key:3,class:"fr-donly","aria-hidden":"true"},hv={__name:"DashboardFacetRail",setup(e){const t=Me("dashboardData",null),n=Me("selectionBus",null),o=Me("dashboardConfig",{}),r=Me("dataStore",null),s=Me("searchSourceId",null),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(o.facets||{}).map(([L,U])=>[L,U.get])),l=new Set(Object.entries(o.facets||{}).filter(([,L])=>L&&L.dashboardOnly).map(([L])=>L)),c=rr(n,or(o));function u(L){var V,re;const U=((V=t==null?void 0:t.rows)==null?void 0:V.value)||[],R=Object.keys(a).filter(ye=>!L.includes(ye)),P=!!(((re=n==null?void 0:n.searchTerm)==null?void 0:re.value)||"").trim();return!R.length&&!P?U:U.filter(ye=>R.every(Ce=>{const Te=i[Ce];return Te?Te(ye)===a[Ce]:!0})&&c(ye))}const g=new Set(["people","place","language","religion"]),b=zn(Object.fromEntries((o.facetRail||[]).map(L=>[L.id,g.has(L.id)])));function w(L){b[L]=!b[L]}const $=zn({}),y=(L,U)=>L+":"+U;function x(L,U){const R=y(L,U);$[R]=!E(L,U)}function E(L,U){const R=y(L,U);return R in $?$[R]:a[L]===U}function m(L,U,R){const P=L.reduce((V,re)=>Math.max(V,re.value),0)||1;return L.map(V=>({facet:U,value:V.key,label:V.key,count:V.value,frac:V.value/P,level:R,other:!!V.other,active:!V.other&&a[U]===V.key,dashboardOnly:l.has(U)}))}const d=new Map;function f(L,U,R){if(R)return d.set(L,U.map(ve=>({...ve,count:0,frac:0,active:!1,expanded:!1}))),U;const P=d.get(L);if(!P)return U;const V=ve=>ve.facet+":"+ve.value,re=new Set(U.map(V));if(!P.filter(ve=>!re.has(V(ve))).length)return U;const Ce=new Map;let Te="";for(const ve of P){const _e=V(ve);if(re.has(_e)){Te=_e;continue}Ce.has(Te)||Ce.set(Te,[]),Ce.get(Te).push({...ve,zero:!0})}const Le=[];for(const ve of Ce.get("")||[])Le.push(ve);for(let ve=0;ve_e.level;)Le.push(U[++ve]);for(const we of be)Le.push(we)}}return Le}function p(L,U){return m(Ga(u([L]),i[L],U??24),L,0)}function k(L,U){const R=[],P=(V,re)=>{const ye=L[V],Ce=(U&&U[V])??(V===L.length-1?40:30);let Te=u(L.slice(V));re.length&&(Te=Te.filter(ve=>re.every(([_e,be])=>{const we=i[_e];return we?we(ve)===be:!0})));const Le=m(Ga(Te,i[ye],Ce),ye,V);for(const ve of Le)ve.hasChildren=!ve.other&&V{var R;const L=new Map,U=o.facets&&o.facets.religion_family;if(!U||!U.famKey)return L;for(const P of((R=t==null?void 0:t.rows)==null?void 0:R.value)||[]){const V=U.get(P);V&&!L.has(V)&&L.set(V,U.famKey(P))}return L}),Z=oe(()=>{var L;return!Object.keys(a).length&&!(((L=n==null?void 0:n.searchTerm)==null?void 0:L.value)||"").trim()}),he=oe(()=>(o.facetRail||[]).map(L=>{let U=L.drill?k(L.drill,L.topN):p(L.facet,L.topN);if(U=f(L.id,U,Z.value),L.tree==="affinity"){const R=M.value;U=U.map(P=>P.other?P:{...P,label:R[P.facet]&&R[P.facet].get(P.value)||P.label})}return U=z(U,L.axis,q.value),{id:L.id,title:L.title,axis:L.axis,rows:S(U)}})),j=oe(()=>{var R;const L=((R=t==null?void 0:t.rows)==null?void 0:R.value)||[],U=Object.keys(a);return U.length?L.filter(P=>U.every(V=>{const re=i[V];return re?re(P)===a[V]:!0})).length:L.length});function K(L){const U=L.target;if(!U||!U.closest)return;const R=U.closest("[data-expand]");if(R){const ye=R.getAttribute("data-expand"),Ce=R.getAttribute("data-expand-value");ye&&Ce!=null&&(L.stopPropagation(),x(ye,Ce));return}const P=U.closest("[data-facet]");if(!P||!n)return;const V=P.getAttribute("data-facet"),re=P.getAttribute("data-value");!V||!re||n.setFilter(V,a[V]===re?null:re)}function G(L){if(L.key!=="Enter"&&L.key!==" "&&L.key!=="Spacebar")return;const U=L.target&&L.target.closest?L.target.closest("[data-facet]"):null;if(!U||!n)return;L.preventDefault();const R=U.getAttribute("data-facet"),P=U.getAttribute("data-value");!R||!P||n.setFilter(R,a[R]===P?null:P)}const D=le(null);return vt(()=>{n&&n.on("mapFocus",({value:L}={})=>{if(!L||!D.value)return;const R=[...D.value.querySelectorAll(".fr-row")].find(P=>P.textContent&&P.textContent.includes(L));R&&(D.value.scrollTop=Math.max(0,R.offsetTop-8))})}),It(` .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); } @@ -482,7 +482,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(L,U)=>(Q(),oe("aside",ov,[N("div",nv,[U[1]||(U[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",rv,[N("b",null,pe(j.value.toLocaleString("en-US")),1),U[0]||(U[0]=at(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:D,onClick:K,onKeydown:G},[(Q(!0),oe(Ne,null,rt(he.value,R=>(Q(),oe("div",{key:R.id,class:"fr-sec","data-facet-section":R.id},[N("div",{class:Be(["fr-sech",{closed:!b[R.id]}]),onClick:un(P=>w(R.id),["stop"])},[N("span",null,pe(R.title),1),U[2]||(U[2]=N("span",{class:"chev"},"▾",-1))],10,av),Nt(N("div",iv,[(Q(!0),oe(Ne,null,rt(R.rows,P=>(Q(),oe("div",{key:P.facet+":"+P.value,class:Be(["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},[(Q(!0),oe(Ne,null,rt(P.trunks,(V,re)=>(Q(),oe("span",{key:"tr"+re,class:Be(["fr-trunk","fr-trunk-"+V])},null,2))),128)),P.hasChildren?(Q(),oe("button",{key:0,type:"button",class:Be(["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},[...U[3]||(U[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,cv)):(Q(),oe("span",uv)),P.swatch?(Q(),oe("span",{key:2,class:"fr-sw",style:lt({background:P.swatch}),"aria-hidden":"true"},null,4)):We("",!0),N("span",dv,pe(P.label),1),N("span",fv,[N("i",{style:lt({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",pv,pe(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(Q(),oe("span",gv,"◐")):We("",!0)],10,lv))),128))],512),[[Gt,b[R.id]]])],8,sv))),128))],544)]))}},mv=["data-sel-count","data-fullscreen"],bv=["data-collapsed"],_v=["title","aria-expanded"],yv={class:"ct","data-table-count":""},vv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},wv=["aria-pressed"],xv=["aria-pressed"],kv={key:2,class:"rd-toast","data-export-toast":""},$v=["aria-pressed","title","aria-label"],Sv=["aria-busy","title","onKeydown"],Ev={key:0,class:"rd-csv-n"},Av=["data-sort-by","aria-rowcount"],Cv=["title"],Tv=["checked","aria-label"],Lv=["title","aria-sort","data-col","onClick"],Pv={class:"ind"},Mv=["data-slug","aria-selected","aria-rowindex"],Iv={class:"rd-td chk",role:"gridcell"},Nv=["checked","aria-label"],Rv={class:"rd-foot",role:"row"},Fv=90,Ov=9.9,Dv=12,sr=26,jv={__name:"DashboardDataTable",setup(e){const t=Me("dashboardData",null),o=Me("selectionBus",null),n=Me("dashboardConfig",{}),r=te=>{if(typeof te=="number")return te;const ue=parseFloat(String(te??"").replace(/[^0-9.\-]/g,""));return isNaN(ue)?null:ue},s=te=>te==null?"":Number(te).toLocaleString("en-US"),a=ne(()=>n.columns||[]);function i(te){const ue=Number(te&&te.minW);if(Number.isFinite(ue)&&ue>0)return ue;const fe=String(te&&te.label||"");return fe?Math.ceil(fe.length*Ov)+Dv:Fv}function l(te){const ue=Number(te&&te.w);return{flex:`${Number.isFinite(ue)&&ue>0?ue:1} 1 0`,minWidth:i(te)+"px"}}const c=ne(()=>a.value.reduce((te,ue)=>te+i(ue),30)),u=ne(()=>({minWidth:c.value+"px"})),g=Object.fromEntries(Object.entries(n.facets||{}).map(([te,ue])=>[te,ue.get])),b=ne(()=>{var te;return((te=t==null?void 0:t.rows)==null?void 0:te.value)||[]}),w=(o==null?void 0:o.filterSet)||{},$=o==null?void 0:o.selectionSet;function y(te,ue,fe){const je=g[ue];if(!je)return!0;const Oe=je(te);return Array.isArray(fe)?fe.includes(Oe):Oe===fe}const x=rr(o,nr(n)),E=ne(()=>{var fe;const te=Object.keys(w),ue=!!(((fe=o==null?void 0:o.searchTerm)==null?void 0:fe.value)||"").trim();return!te.length&&!ue?b.value:b.value.filter(je=>te.every(Oe=>y(je,Oe,w[Oe]))&&x(je))}),m=le([]);function d(te,ue){const fe=!!(ue&&ue.shiftKey),je=m.value.findIndex(Oe=>Oe.key===te.key);if(je<0)m.value=(fe?[...m.value]:[]).concat({key:te.key,dir:"asc"});else if(m.value[je].dir==="asc"){const Oe=[...m.value];Oe[je]={key:te.key,dir:"desc"},m.value=Oe}else m.value=fe?m.value.filter(Oe=>Oe.key!==te.key):[]}function f(te){const ue=m.value.find(fe=>fe.key===te.key);return ue?ue.dir==="asc"?"ascending":"descending":"none"}const p=ne(()=>{const te=m.value;if(!te.length)return E.value;const ue=te.map(fe=>({col:a.value.find(je=>je.key===fe.key),dir:fe.dir==="asc"?1:-1}));return E.value.slice().sort((fe,je)=>{for(const{col:Oe,dir:Wt}of ue){let Et=Oe.get(fe),Dt=Oe.get(je);if((Et==null||Et==="")&&(Et=Oe.type==="num"?-1/0:""),(Dt==null||Dt==="")&&(Dt=Oe.type==="num"?-1/0:""),EtDt)return 1*Wt}return 0})}),k=le(!1),S=le(!1);function M(){k.value=!k.value}function T(){S.value=!S.value}const z=()=>o&&o.selectionVersion?o.selectionVersion.value:0,q=ne(()=>{let te=p.value;if(k.value&&(z(),te=te.filter(ue=>$&&$.has(ue.slug))),S.value){z();const ue=[],fe=[];for(const je of te)($&&$.has(je.slug)?ue:fe).push(je);te=ue.concat(fe)}return te}),Z=le(0),he=le(360),j=le(null);let K=null;const G=le(0);function D(te){Z.value=te.target.scrollTop,G.value=te.target.scrollLeft}const L=ne(()=>Math.max(0,Math.floor(Z.value/sr)-6)),U=ne(()=>Math.ceil(he.value/sr)+12),R=ne(()=>q.value.slice(L.value,L.value+U.value)),P=ne(()=>L.value*sr),V=ne(()=>Math.max(0,(q.value.length-(L.value+R.value.length))*sr));vt(()=>{j.value&&(he.value=j.value.clientHeight||360,K=new ResizeObserver(()=>{he.value=j.value.clientHeight||he.value}),K.observe(j.value)),o&&o.on("toggleTable",te=>{h.value=!!te}),o&&o.on("focusRow",({slug:te}={})=>{if(!te||!j.value)return;const ue=q.value.findIndex(fe=>fe.slug===te);ue>=0&&(j.value.scrollTop=Math.max(0,ue*sr-he.value/2))})}),vt(()=>{typeof document<"u"&&document.addEventListener("keydown",de)}),Ut(()=>{K&&K.disconnect(),clearTimeout(Qe),typeof document<"u"&&document.removeEventListener("keydown",de)});const re=ne(()=>(z(),$?$.size:0)),ye=te=>!!($&&$.has(te.slug)),Ce=ne(()=>z()),Te=le(null),Le=le("select");let ve=new Set;function _e(te,ue){Te.value=te,Le.value=ue,ve=new Set($)}function be(te,ue){const fe=q.value,je=fe.findIndex(io=>io.slug===te),Oe=fe.findIndex(io=>io.slug===ue);if(je<0||Oe<0)return[];const[Wt,Et]=je<=Oe?[je,Oe]:[Oe,je],Dt=[];for(let io=Wt;io<=Et;io++)Dt.push(fe[io].slug);return Dt}function we(te,ue){if(!o||!te)return;const fe=!!(ue&&(ue.ctrlKey||ue.metaKey));if(!!(ue&&ue.shiftKey)&&Te.value){const Oe=be(Te.value,te);if(!Oe.length)return;if(fe){const Wt=new Set(ve);if(Le.value==="deselect")for(const Et of Oe)Wt.delete(Et);else for(const Et of Oe)Wt.add(Et);o.setSelection(Wt)}else o.setSelection(Oe);return}if(fe){const Oe=!$.has(te);_e(te,Oe?"select":"deselect"),o.toggleSelect(te),ve=new Set($);return}_e(te,"select"),o.setSelection([te]),ve=new Set($)}function v(te){const ue=te.target;if(!ue||!ue.closest)return;const fe=ue.closest(".rd-row");if(!fe||!o)return;const je=fe.getAttribute("data-slug");if(je){if(ue.closest(".rd-td.chk")){if(te.shiftKey||te.ctrlKey||te.metaKey){we(je,te);return}_e(je,$.has(je)?"deselect":"select"),o.toggleSelect(je),ve=new Set($);return}we(je,te)}}function C(te){te.shiftKey&&te.target&&te.target.closest&&te.target.closest(".rd-row")&&te.preventDefault()}const A=ne(()=>{z();const te=E.value;if(!te.length)return!1;for(const ue of te)if(!$.has(ue.slug))return!1;return!0}),B=ne(()=>{if(z(),A.value)return!1;for(const te of E.value)if($.has(te.slug))return!0;return!1});function X(){if(!o)return;const te=E.value.map(ue=>ue.slug);A.value?o.deselectMany(te):o.selectMany(te),Te.value=null,ve=new Set($)}function J(){o&&o.clearSelection(),Te.value=null,ve=new Set}const se=le(null);function ee(te){se.value=te||null}ht([B,se],()=>{se.value&&(se.value.indeterminate=B.value)},{immediate:!0}),ht([m,()=>E.value.length,k,S],()=>{Te.value=null}),ht(re,te=>{te||(k.value=!1)});const h=le(!1);function _(){h.value=!h.value,o&&o.emit("toggleTable",h.value)}const O=le(!1);function W(){O.value=!O.value,O.value&&h.value&&(h.value=!1,o&&o.emit("toggleTable",!1))}function de(te){te.key==="Escape"&&O.value&&(O.value=!1)}const ae=ne(()=>E.value.reduce((te,ue)=>te+(r(ue.population)||0),0)),F=ne(()=>E.value.length),{labelFor:Y}=or(n,Me("dataStore",null),Me("searchSourceId",null)),me=t&&o?ja({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:g,dataOpts:n.data,labelFor:Y}):null,Se=le(""),De=le(!1);let Qe=null;async function nt(){if(!(!me||De.value)){De.value=!0;try{const te=await me.exportCsvAsync(),ue=te.downloaded?"exported":te.clipboard?"copied to clipboard":"ready";Se.value=`✓ ${s(te.rows)} rows × ${te.fields} fields ${ue}`}catch{Se.value="✕ Export failed"}finally{De.value=!1,clearTimeout(Qe),Qe=setTimeout(()=>{Se.value=""},3200)}}}function Ot(){me&&me.prefetchExportFields()}return It(` +`,"rd-facetrail"),(L,U)=>(Q(),ne("aside",nv,[N("div",ov,[U[1]||(U[1]=N("div",{class:"fr-title"},"Tree Legend",-1)),N("div",rv,[N("b",null,pe(j.value.toLocaleString("en-US")),1),U[0]||(U[0]=at(" groups in scope",-1))])]),N("div",{class:"fr-body",ref_key:"railEl",ref:D,onClick:K,onKeydown:G},[(Q(!0),ne(Ne,null,rt(he.value,R=>(Q(),ne("div",{key:R.id,class:"fr-sec","data-facet-section":R.id},[N("div",{class:Be(["fr-sech",{closed:!b[R.id]}]),onClick:co(P=>w(R.id),["stop"])},[N("span",null,pe(R.title),1),U[2]||(U[2]=N("span",{class:"chev"},"▾",-1))],10,av),Nt(N("div",iv,[(Q(!0),ne(Ne,null,rt(R.rows,P=>(Q(),ne("div",{key:P.facet+":"+P.value,class:Be(["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},[(Q(!0),ne(Ne,null,rt(P.trunks,(V,re)=>(Q(),ne("span",{key:"tr"+re,class:Be(["fr-trunk","fr-trunk-"+V])},null,2))),128)),P.hasChildren?(Q(),ne("button",{key:0,type:"button",class:Be(["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},[...U[3]||(U[3]=[N("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,cv)):(Q(),ne("span",uv)),P.swatch?(Q(),ne("span",{key:2,class:"fr-sw",style:lt({background:P.swatch}),"aria-hidden":"true"},null,4)):We("",!0),N("span",dv,pe(P.label),1),N("span",fv,[N("i",{style:lt({width:Math.max(4,P.frac*100)+"%"})},null,4)]),N("span",pv,pe(P.count.toLocaleString("en-US")),1),P.dashboardOnly?(Q(),ne("span",gv,"◐")):We("",!0)],10,lv))),128))],512),[[Gt,b[R.id]]])],8,sv))),128))],544)]))}},mv=["data-sel-count","data-fullscreen"],bv=["data-collapsed"],_v=["title","aria-expanded"],yv={class:"ct","data-table-count":""},vv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},wv=["aria-pressed"],xv=["aria-pressed"],kv={key:2,class:"rd-toast","data-export-toast":""},$v=["aria-pressed","title","aria-label"],Sv=["aria-busy","title","onKeydown"],Ev={key:0,class:"rd-csv-n"},Av=["data-sort-by","aria-rowcount"],Cv=["title"],Tv=["checked","aria-label"],Lv=["title","aria-sort","data-col","onClick"],Pv={class:"ind"},Mv=["data-slug","aria-selected","aria-rowindex"],Iv={class:"rd-td chk",role:"gridcell"},Nv=["checked","aria-label"],Rv={class:"rd-foot",role:"row"},Fv=90,Ov=9.9,Dv=12,sr=26,jv={__name:"DashboardDataTable",setup(e){const t=Me("dashboardData",null),n=Me("selectionBus",null),o=Me("dashboardConfig",{}),r=te=>{if(typeof te=="number")return te;const ue=parseFloat(String(te??"").replace(/[^0-9.\-]/g,""));return isNaN(ue)?null:ue},s=te=>te==null?"":Number(te).toLocaleString("en-US"),a=oe(()=>o.columns||[]);function i(te){const ue=Number(te&&te.minW);if(Number.isFinite(ue)&&ue>0)return ue;const fe=String(te&&te.label||"");return fe?Math.ceil(fe.length*Ov)+Dv:Fv}function l(te){const ue=Number(te&&te.w);return{flex:`${Number.isFinite(ue)&&ue>0?ue:1} 1 0`,minWidth:i(te)+"px"}}const c=oe(()=>a.value.reduce((te,ue)=>te+i(ue),30)),u=oe(()=>({minWidth:c.value+"px"})),g=Object.fromEntries(Object.entries(o.facets||{}).map(([te,ue])=>[te,ue.get])),b=oe(()=>{var te;return((te=t==null?void 0:t.rows)==null?void 0:te.value)||[]}),w=(n==null?void 0:n.filterSet)||{},$=n==null?void 0:n.selectionSet;function y(te,ue,fe){const je=g[ue];if(!je)return!0;const Oe=je(te);return Array.isArray(fe)?fe.includes(Oe):Oe===fe}const x=rr(n,or(o)),E=oe(()=>{var fe;const te=Object.keys(w),ue=!!(((fe=n==null?void 0:n.searchTerm)==null?void 0:fe.value)||"").trim();return!te.length&&!ue?b.value:b.value.filter(je=>te.every(Oe=>y(je,Oe,w[Oe]))&&x(je))}),m=le([]);function d(te,ue){const fe=!!(ue&&ue.shiftKey),je=m.value.findIndex(Oe=>Oe.key===te.key);if(je<0)m.value=(fe?[...m.value]:[]).concat({key:te.key,dir:"asc"});else if(m.value[je].dir==="asc"){const Oe=[...m.value];Oe[je]={key:te.key,dir:"desc"},m.value=Oe}else m.value=fe?m.value.filter(Oe=>Oe.key!==te.key):[]}function f(te){const ue=m.value.find(fe=>fe.key===te.key);return ue?ue.dir==="asc"?"ascending":"descending":"none"}const p=oe(()=>{const te=m.value;if(!te.length)return E.value;const ue=te.map(fe=>({col:a.value.find(je=>je.key===fe.key),dir:fe.dir==="asc"?1:-1}));return E.value.slice().sort((fe,je)=>{for(const{col:Oe,dir:Wt}of ue){let Et=Oe.get(fe),Dt=Oe.get(je);if((Et==null||Et==="")&&(Et=Oe.type==="num"?-1/0:""),(Dt==null||Dt==="")&&(Dt=Oe.type==="num"?-1/0:""),EtDt)return 1*Wt}return 0})}),k=le(!1),S=le(!1);function M(){k.value=!k.value}function T(){S.value=!S.value}const z=()=>n&&n.selectionVersion?n.selectionVersion.value:0,q=oe(()=>{let te=p.value;if(k.value&&(z(),te=te.filter(ue=>$&&$.has(ue.slug))),S.value){z();const ue=[],fe=[];for(const je of te)($&&$.has(je.slug)?ue:fe).push(je);te=ue.concat(fe)}return te}),Z=le(0),he=le(360),j=le(null);let K=null;const G=le(0);function D(te){Z.value=te.target.scrollTop,G.value=te.target.scrollLeft}const L=oe(()=>Math.max(0,Math.floor(Z.value/sr)-6)),U=oe(()=>Math.ceil(he.value/sr)+12),R=oe(()=>q.value.slice(L.value,L.value+U.value)),P=oe(()=>L.value*sr),V=oe(()=>Math.max(0,(q.value.length-(L.value+R.value.length))*sr));vt(()=>{j.value&&(he.value=j.value.clientHeight||360,K=new ResizeObserver(()=>{he.value=j.value.clientHeight||he.value}),K.observe(j.value)),n&&n.on("toggleTable",te=>{h.value=!!te}),n&&n.on("focusRow",({slug:te}={})=>{if(!te||!j.value)return;const ue=q.value.findIndex(fe=>fe.slug===te);ue>=0&&(j.value.scrollTop=Math.max(0,ue*sr-he.value/2))})}),vt(()=>{typeof document<"u"&&document.addEventListener("keydown",de)}),Ut(()=>{K&&K.disconnect(),clearTimeout(Qe),typeof document<"u"&&document.removeEventListener("keydown",de)});const re=oe(()=>(z(),$?$.size:0)),ye=te=>!!($&&$.has(te.slug)),Ce=oe(()=>z()),Te=le(null),Le=le("select");let ve=new Set;function _e(te,ue){Te.value=te,Le.value=ue,ve=new Set($)}function be(te,ue){const fe=q.value,je=fe.findIndex(ln=>ln.slug===te),Oe=fe.findIndex(ln=>ln.slug===ue);if(je<0||Oe<0)return[];const[Wt,Et]=je<=Oe?[je,Oe]:[Oe,je],Dt=[];for(let ln=Wt;ln<=Et;ln++)Dt.push(fe[ln].slug);return Dt}function we(te,ue){if(!n||!te)return;const fe=!!(ue&&(ue.ctrlKey||ue.metaKey));if(!!(ue&&ue.shiftKey)&&Te.value){const Oe=be(Te.value,te);if(!Oe.length)return;if(fe){const Wt=new Set(ve);if(Le.value==="deselect")for(const Et of Oe)Wt.delete(Et);else for(const Et of Oe)Wt.add(Et);n.setSelection(Wt)}else n.setSelection(Oe);return}if(fe){const Oe=!$.has(te);_e(te,Oe?"select":"deselect"),n.toggleSelect(te),ve=new Set($);return}_e(te,"select"),n.setSelection([te]),ve=new Set($)}function v(te){const ue=te.target;if(!ue||!ue.closest)return;const fe=ue.closest(".rd-row");if(!fe||!n)return;const je=fe.getAttribute("data-slug");if(je){if(ue.closest(".rd-td.chk")){if(te.shiftKey||te.ctrlKey||te.metaKey){we(je,te);return}_e(je,$.has(je)?"deselect":"select"),n.toggleSelect(je),ve=new Set($);return}we(je,te)}}function C(te){te.shiftKey&&te.target&&te.target.closest&&te.target.closest(".rd-row")&&te.preventDefault()}const A=oe(()=>{z();const te=E.value;if(!te.length)return!1;for(const ue of te)if(!$.has(ue.slug))return!1;return!0}),B=oe(()=>{if(z(),A.value)return!1;for(const te of E.value)if($.has(te.slug))return!0;return!1});function X(){if(!n)return;const te=E.value.map(ue=>ue.slug);A.value?n.deselectMany(te):n.selectMany(te),Te.value=null,ve=new Set($)}function J(){n&&n.clearSelection(),Te.value=null,ve=new Set}const se=le(null);function ee(te){se.value=te||null}ht([B,se],()=>{se.value&&(se.value.indeterminate=B.value)},{immediate:!0}),ht([m,()=>E.value.length,k,S],()=>{Te.value=null}),ht(re,te=>{te||(k.value=!1)});const h=le(!1);function _(){h.value=!h.value,n&&n.emit("toggleTable",h.value)}const O=le(!1);function W(){O.value=!O.value,O.value&&h.value&&(h.value=!1,n&&n.emit("toggleTable",!1))}function de(te){te.key==="Escape"&&O.value&&(O.value=!1)}const ae=oe(()=>E.value.reduce((te,ue)=>te+(r(ue.population)||0),0)),F=oe(()=>E.value.length),{labelFor:Y}=nr(o,Me("dataStore",null),Me("searchSourceId",null)),me=t&&n?ja({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:g,dataOpts:o.data,labelFor:Y}):null,Se=le(""),De=le(!1);let Qe=null;async function ot(){if(!(!me||De.value)){De.value=!0;try{const te=await me.exportCsvAsync(),ue=te.downloaded?"exported":te.clipboard?"copied to clipboard":"ready";Se.value=`✓ ${s(te.rows)} rows × ${te.fields} fields ${ue}`}catch{Se.value="✕ Export failed"}finally{De.value=!1,clearTimeout(Qe),Qe=setTimeout(()=>{Se.value=""},3200)}}}function Ot(){me&&me.prefetchExportFields()}return It(` .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); } @@ -541,7 +541,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"),(te,ue)=>(Q(),oe("div",{class:Be(["rd-table-wrap",{"is-full":O.value}]),"data-sel-count":re.value,"data-fullscreen":O.value?"1":"0"},[N("div",{class:"rd-table-bar","data-collapsed":h.value?"1":"0"},[N("button",{class:"rd-dock",title:h.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":h.value?"false":"true",onClick:_},pe(h.value?"▴":"▾"),9,_v),ue[0]||(ue[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",yv,pe(s(F.value))+" "+pe(F.value===1?"group":"groups"),1),re.value?(Q(),oe("span",vv,[N("span",null,pe(s(re.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:J},"✕")])):We("",!0),re.value?(Q(),oe(Ne,{key:1},[N("button",{class:Be(["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,wv),N("button",{class:Be(["rd-vtog",{on:S.value}]),"data-selected-first":"","aria-pressed":S.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:T},"Selected first",10,xv)],64)):We("",!0),ue[1]||(ue[1]=N("span",{class:"rd-bar-sp"},null,-1)),Se.value?(Q(),oe("span",kv,pe(Se.value),1)):We("",!0),N("button",{class:Be(["rd-fs",{on:O.value}]),"data-table-fullscreen":"","aria-pressed":O.value?"true":"false",title:O.value?"Exit full screen (Esc) — back to seven rows":"Open this table full screen","aria-label":O.value?"Exit full screen":"Open table full screen",onClick:W},pe(O.value?"⤡ Exit full screen":"⤢ Full screen"),11,$v),N("span",{class:Be(["rd-csv",{busy:De.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":De.value?"true":"false",title:re.value?`Export the ${re.value} selected people groups — all fields`:`Export these ${s(F.value)} people groups — all fields`,onClick:nt,onMouseenter:Ot,onFocus:Ot,onKeydown:[qr(un(nt,["prevent"]),["enter"]),qr(un(nt,["prevent"]),["space"])]},[at(pe(De.value?"…":"↓")+" Export CSV",1),re.value?(Q(),oe("span",Ev,pe(re.value),1)):We("",!0)],42,Sv)],8,bv),Nt(N("div",{ref_key:"scroller",ref:j,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":m.value.map(fe=>fe.key+":"+fe.dir).join(","),"aria-rowcount":q.value.length+1,onScroll:D,onClick:v,onMousedown:C},[N("div",{class:"rd-thead",role:"row",style:lt(u.value)},[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:A.value?"Deselect all "+s(F.value):"Select all "+s(F.value),onClick:X},[N("input",{type:"checkbox",checked:A.value,ref:ee,"aria-label":A.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Tv)],8,Cv),(Q(!0),oe(Ne,null,rt(a.value,fe=>(Q(),oe("div",{key:fe.key,class:Be(["rd-th",{num:fe.type==="num"}]),style:lt(l(fe)),title:`Sort this table by ${fe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":f(fe),"data-col":fe.key,onClick:je=>d(fe,je)},[at(pe(fe.label),1),N("span",Pv,pe(f(fe)==="ascending"?"▲":f(fe)==="descending"?"▼":""),1)],14,Lv))),128))],4),N("div",{style:lt({height:P.value+"px"})},null,4),(Q(!0),oe(Ne,null,rt(R.value,(fe,je)=>(Q(),oe("div",{key:fe.slug,class:Be(["rd-row",{sel:Ce.value>=0&&ye(fe)}]),role:"row","data-slug":fe.slug,"aria-selected":ye(fe)?"true":"false",style:lt(u.value),"aria-rowindex":L.value+je+2},[N("div",Iv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:ye(fe),"aria-label":"Select "+fe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Nv)]),(Q(!0),oe(Ne,null,rt(a.value,Oe=>(Q(),oe("div",{key:Oe.key,class:Be(["rd-td",{num:Oe.type==="num"}]),style:lt(l(Oe)),role:"gridcell"},pe(Oe.type==="num"?s(Oe.get(fe)):Oe.get(fe)),7))),128))],14,Mv))),128)),N("div",{style:lt({height:V.value+"px"})},null,4)],40,Av),[[Gt,!h.value]]),Nt(N("div",Rv,[N("div",{class:"rd-foot-inner",style:lt([u.value,{transform:"translateX("+-G.value+"px)"}])},[ue[2]||(ue[2]=N("div",{class:"rd-td chk"},null,-1)),(Q(!0),oe(Ne,null,rt(a.value,(fe,je)=>(Q(),oe("div",{key:"f-"+fe.key,class:Be(["rd-td",{num:fe.type==="num"}]),style:lt(l(fe))},[je===0?(Q(),oe(Ne,{key:0},[at("Σ "+pe(s(F.value))+" groups",1)],64)):fe.key==="population"?(Q(),oe(Ne,{key:1},[at(pe(s(ae.value)),1)],64)):We("",!0)],6))),128))],4)],512),[[Gt,!h.value]])],10,mv))}},zv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Bv=["aria-selected","disabled","title","data-tab","onClick"],Uv=["data-chart"],Gv={class:"rd-ct"},Hv={class:"rd-donutwrap"},qv=["aria-label"],Vv=["d","fill","data-facet","data-key"],Wv={class:"rd-legend"},Kv=["data-facet","data-key","title"],Yv={class:"rd-lt"},Xv=["data-chart"],Jv={class:"rd-ct"},Zv={class:"rd-bars"},Qv=["data-facet","data-key"],e0={class:"rd-bl"},t0={class:"rd-bt"},o0={class:"rd-bv"},n0={__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=le("charts"),n=Me("dashboardData",null),r=Me("selectionBus",null),s=Me("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([x,E])=>[x,E.get])),l=rr(r,nr(s));function c(x){var f,p;const E=((f=n==null?void 0:n.rows)==null?void 0:f.value)||[],m=Object.keys(a).filter(k=>!x.includes(k)),d=!!(((p=r==null?void 0:r.searchTerm)==null?void 0:p.value)||"").trim();return!m.length&&!d?E:E.filter(k=>m.every(S=>{const M=i[S];return M?M(k)===a[S]:!0})&&l(k))}const u=ne(()=>{var m,d,f,p,k;const x=(d=(m=s.facets)==null?void 0:m.country_code)==null?void 0:d.get,E=(p=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:p.get;return!x||!E?null:Dy(((k=n==null?void 0:n.rows)==null?void 0:k.value)||[],x,E)}),g=ne(()=>(s.charts||[]).map(x=>{var f,p;const E=((p=(f=s.facets)==null?void 0:f[x.facet])==null?void 0:p.get)||(k=>tt(k[x.facet])),m=Ga(c([x.facet]),E,x.topN),d=x.facet==="country_code"?u.value:null;return{id:x.id,type:x.type,facet:x.facet,title:x.title,geometry:x.type==="bar"?zy(m,x.facet,d):jy(m,132,.58,x.facet,d)}})),b=(x,E)=>a[x]===E,w=x=>a[x]!=null;function $(x,E){!E||E==="Other"||!r||r.setFilter(x,a[x]===E?null:E)}function y(x){const E=x.target&&x.target.closest&&x.target.closest("[data-facet]");E&&$(E.getAttribute("data-facet"),E.getAttribute("data-key"))}return It(` +`,"rd-datatable"),(te,ue)=>(Q(),ne("div",{class:Be(["rd-table-wrap",{"is-full":O.value}]),"data-sel-count":re.value,"data-fullscreen":O.value?"1":"0"},[N("div",{class:"rd-table-bar","data-collapsed":h.value?"1":"0"},[N("button",{class:"rd-dock",title:h.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":h.value?"false":"true",onClick:_},pe(h.value?"▴":"▾"),9,_v),ue[0]||(ue[0]=N("span",{class:"ttl"},"People Groups",-1)),N("span",yv,pe(s(F.value))+" "+pe(F.value===1?"group":"groups"),1),re.value?(Q(),ne("span",vv,[N("span",null,pe(s(re.value))+" selected",1),N("button",{title:"Clear selection","aria-label":"Clear selection",onClick:J},"✕")])):We("",!0),re.value?(Q(),ne(Ne,{key:1},[N("button",{class:Be(["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,wv),N("button",{class:Be(["rd-vtog",{on:S.value}]),"data-selected-first":"","aria-pressed":S.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:T},"Selected first",10,xv)],64)):We("",!0),ue[1]||(ue[1]=N("span",{class:"rd-bar-sp"},null,-1)),Se.value?(Q(),ne("span",kv,pe(Se.value),1)):We("",!0),N("button",{class:Be(["rd-fs",{on:O.value}]),"data-table-fullscreen":"","aria-pressed":O.value?"true":"false",title:O.value?"Exit full screen (Esc) — back to seven rows":"Open this table full screen","aria-label":O.value?"Exit full screen":"Open table full screen",onClick:W},pe(O.value?"⤡ Exit full screen":"⤢ Full screen"),11,$v),N("span",{class:Be(["rd-csv",{busy:De.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":De.value?"true":"false",title:re.value?`Export the ${re.value} selected people groups — all fields`:`Export these ${s(F.value)} people groups — all fields`,onClick:ot,onMouseenter:Ot,onFocus:Ot,onKeydown:[qr(co(ot,["prevent"]),["enter"]),qr(co(ot,["prevent"]),["space"])]},[at(pe(De.value?"…":"↓")+" Export CSV",1),re.value?(Q(),ne("span",Ev,pe(re.value),1)):We("",!0)],42,Sv)],8,bv),Nt(N("div",{ref_key:"scroller",ref:j,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":m.value.map(fe=>fe.key+":"+fe.dir).join(","),"aria-rowcount":q.value.length+1,onScroll:D,onClick:v,onMousedown:C},[N("div",{class:"rd-thead",role:"row",style:lt(u.value)},[N("div",{class:"rd-th chk",style:{cursor:"pointer"},title:A.value?"Deselect all "+s(F.value):"Select all "+s(F.value),onClick:X},[N("input",{type:"checkbox",checked:A.value,ref:ee,"aria-label":A.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Tv)],8,Cv),(Q(!0),ne(Ne,null,rt(a.value,fe=>(Q(),ne("div",{key:fe.key,class:Be(["rd-th",{num:fe.type==="num"}]),style:lt(l(fe)),title:`Sort this table by ${fe.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":f(fe),"data-col":fe.key,onClick:je=>d(fe,je)},[at(pe(fe.label),1),N("span",Pv,pe(f(fe)==="ascending"?"▲":f(fe)==="descending"?"▼":""),1)],14,Lv))),128))],4),N("div",{style:lt({height:P.value+"px"})},null,4),(Q(!0),ne(Ne,null,rt(R.value,(fe,je)=>(Q(),ne("div",{key:fe.slug,class:Be(["rd-row",{sel:Ce.value>=0&&ye(fe)}]),role:"row","data-slug":fe.slug,"aria-selected":ye(fe)?"true":"false",style:lt(u.value),"aria-rowindex":L.value+je+2},[N("div",Iv,[N("input",{type:"checkbox",class:"rd-rowchk",checked:ye(fe),"aria-label":"Select "+fe.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Nv)]),(Q(!0),ne(Ne,null,rt(a.value,Oe=>(Q(),ne("div",{key:Oe.key,class:Be(["rd-td",{num:Oe.type==="num"}]),style:lt(l(Oe)),role:"gridcell"},pe(Oe.type==="num"?s(Oe.get(fe)):Oe.get(fe)),7))),128))],14,Mv))),128)),N("div",{style:lt({height:V.value+"px"})},null,4)],40,Av),[[Gt,!h.value]]),Nt(N("div",Rv,[N("div",{class:"rd-foot-inner",style:lt([u.value,{transform:"translateX("+-G.value+"px)"}])},[ue[2]||(ue[2]=N("div",{class:"rd-td chk"},null,-1)),(Q(!0),ne(Ne,null,rt(a.value,(fe,je)=>(Q(),ne("div",{key:"f-"+fe.key,class:Be(["rd-td",{num:fe.type==="num"}]),style:lt(l(fe))},[je===0?(Q(),ne(Ne,{key:0},[at("Σ "+pe(s(F.value))+" groups",1)],64)):fe.key==="population"?(Q(),ne(Ne,{key:1},[at(pe(s(ae.value)),1)],64)):We("",!0)],6))),128))],4)],512),[[Gt,!h.value]])],10,mv))}},zv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Bv=["aria-selected","disabled","title","data-tab","onClick"],Uv=["data-chart"],Gv={class:"rd-ct"},Hv={class:"rd-donutwrap"},qv=["aria-label"],Vv=["d","fill","data-facet","data-key"],Wv={class:"rd-legend"},Kv=["data-facet","data-key","title"],Yv={class:"rd-lt"},Xv=["data-chart"],Jv={class:"rd-ct"},Zv={class:"rd-bars"},Qv=["data-facet","data-key"],e0={class:"rd-bl"},t0={class:"rd-bt"},n0={class:"rd-bv"},o0={__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."}],n=le("charts"),o=Me("dashboardData",null),r=Me("selectionBus",null),s=Me("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([x,E])=>[x,E.get])),l=rr(r,or(s));function c(x){var f,p;const E=((f=o==null?void 0:o.rows)==null?void 0:f.value)||[],m=Object.keys(a).filter(k=>!x.includes(k)),d=!!(((p=r==null?void 0:r.searchTerm)==null?void 0:p.value)||"").trim();return!m.length&&!d?E:E.filter(k=>m.every(S=>{const M=i[S];return M?M(k)===a[S]:!0})&&l(k))}const u=oe(()=>{var m,d,f,p,k;const x=(d=(m=s.facets)==null?void 0:m.country_code)==null?void 0:d.get,E=(p=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:p.get;return!x||!E?null:Dy(((k=o==null?void 0:o.rows)==null?void 0:k.value)||[],x,E)}),g=oe(()=>(s.charts||[]).map(x=>{var f,p;const E=((p=(f=s.facets)==null?void 0:f[x.facet])==null?void 0:p.get)||(k=>tt(k[x.facet])),m=Ga(c([x.facet]),E,x.topN),d=x.facet==="country_code"?u.value:null;return{id:x.id,type:x.type,facet:x.facet,title:x.title,geometry:x.type==="bar"?zy(m,x.facet,d):jy(m,132,.58,x.facet,d)}})),b=(x,E)=>a[x]===E,w=x=>a[x]!=null;function $(x,E){!E||E==="Other"||!r||r.setFilter(x,a[x]===E?null:E)}function y(x){const E=x.target&&x.target.closest&&x.target.closest("[data-facet]");E&&$(E.getAttribute("data-facet"),E.getAttribute("data-key"))}return It(` .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; @@ -594,7 +594,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,E)=>(Q(),oe("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[N("div",zv,[(Q(),oe(Ne,null,rt(t,m=>N("button",{key:m.id,class:Be(["rd-tab",{on:o.value===m.id,off:m.disabled}]),role:"tab",type:"button","aria-selected":o.value===m.id?"true":"false",disabled:m.disabled,title:m.disabled?m.why:m.label,"data-tab":m.id,onClick:un(d=>!m.disabled&&(o.value=m.id),["stop"])},pe(m.label),11,Bv)),64))]),(Q(!0),oe(Ne,null,rt(g.value,m=>(Q(),oe(Ne,{key:m.id},[m.type==="donut"?(Q(),oe("div",{key:0,class:"rd-chart","data-chart":m.facet},[N("div",Gv,pe(m.title),1),N("div",Hv,[(Q(),oe("svg",{class:Be(["rd-donut",{"has-sel":w(m.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":m.title+" donut"},[(Q(!0),oe(Ne,null,rt(m.geometry,d=>(Q(),oe("path",{key:d.key,d:d.path,fill:d.color,class:Be(["rd-slice",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key},[N("title",null,pe(d.key)+": "+pe(d.value)+" ("+pe(d.pct)+"%)",1)],10,Vv))),128))],10,qv)),N("div",Wv,[(Q(!0),oe(Ne,null,rt(m.geometry,d=>(Q(),oe("span",{key:d.key,class:Be(["rd-li",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key,title:d.key+": "+d.value},[N("i",{style:lt({background:d.color})},null,4),N("span",Yv,pe(d.key),1),N("b",null,pe(d.value),1)],10,Kv))),128))])])],8,Uv)):(Q(),oe("div",{key:1,class:"rd-chart","data-chart":m.facet},[N("div",Jv,pe(m.title),1),N("div",Zv,[(Q(!0),oe(Ne,null,rt(m.geometry,d=>(Q(),oe("div",{key:d.key,class:Be(["rd-bar",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key},[N("span",e0,pe(d.key),1),N("span",t0,[N("span",{class:"rd-bf",style:lt({width:d.frac*100+"%",background:d.color})},null,4)]),N("span",o0,pe(d.value),1)],10,Qv))),128))])],8,Xv))],64))),128))]))}},r0={class:"rd-detail","data-region":"detail-drawer"},s0={class:"rd-dh"},a0={key:0,class:"rd-empty","data-detail-empty":""},i0={class:"rd-top"},l0=["src","alt"],c0={key:1,class:"rd-ph","data-detail-thumb":""},u0={class:"rd-name","data-detail-name":""},d0={class:"rd-meta"},f0={class:"rd-actions"},p0=["href","title"],g0=["href","title"],h0={class:"rd-rows"},m0={class:"rd-row"},b0={class:"v"},_0={key:0,class:"fam"},y0={class:"rd-row"},v0={class:"v"},w0={class:"rd-row"},x0={class:"v"},k0={class:"rd-row"},$0={class:"v"},S0={class:"rd-row"},E0={class:"v"},A0={class:"rd-row"},C0={class:"v"},T0={__name:"DashboardDetailDrawer",setup(e){const t=Me("dashboardData",null),o=Me("selectionBus",null),n=Me("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([f,p])=>[f,p.get])),{labelFor:s}=or(n,Me("dataStore",null),Me("searchSourceId",null)),a=t&&o?ja({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,i=le(null),l=[];vt(()=>{o&&(l.push(o.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(o.on("select",f=>{const p=f?[...f]:[];p.length&&(i.value=p[p.length-1])})))}),Ut(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=ne(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),g=ne(()=>{const f=c.value;return f?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=ne(()=>n.detail||{});function w(f,p,k){if(typeof f=="function")try{return f(p)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(p.slug||"")):k}const $=ne(()=>{const f=c.value;if(!f)return null;const p=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(p||b.value.utmSource||n.utmSource||"agwm")),S=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return w(b.value.prayUrl,f,S)}),y=ne(()=>{var T;const f=c.value;if(!f)return null;const p=typeof window<"u"&&((T=window.location)==null?void 0:T.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(k||b.value.utmSource||n.utmSource||"agwm")),M=`${p}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${S}`;return w(b.value.moreInfoUrl,f,M)}),x=ne(()=>b.value.prayLabel||"Pray for this people group"),E=ne(()=>b.value.moreInfoLabel||"More information");function m(){!a||!o||(!o.selectionSet.size&&i.value&&o.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return It(` +`,"rd-charts"),(x,E)=>(Q(),ne("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[N("div",zv,[(Q(),ne(Ne,null,rt(t,m=>N("button",{key:m.id,class:Be(["rd-tab",{on:n.value===m.id,off:m.disabled}]),role:"tab",type:"button","aria-selected":n.value===m.id?"true":"false",disabled:m.disabled,title:m.disabled?m.why:m.label,"data-tab":m.id,onClick:co(d=>!m.disabled&&(n.value=m.id),["stop"])},pe(m.label),11,Bv)),64))]),(Q(!0),ne(Ne,null,rt(g.value,m=>(Q(),ne(Ne,{key:m.id},[m.type==="donut"?(Q(),ne("div",{key:0,class:"rd-chart","data-chart":m.facet},[N("div",Gv,pe(m.title),1),N("div",Hv,[(Q(),ne("svg",{class:Be(["rd-donut",{"has-sel":w(m.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":m.title+" donut"},[(Q(!0),ne(Ne,null,rt(m.geometry,d=>(Q(),ne("path",{key:d.key,d:d.path,fill:d.color,class:Be(["rd-slice",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key},[N("title",null,pe(d.key)+": "+pe(d.value)+" ("+pe(d.pct)+"%)",1)],10,Vv))),128))],10,qv)),N("div",Wv,[(Q(!0),ne(Ne,null,rt(m.geometry,d=>(Q(),ne("span",{key:d.key,class:Be(["rd-li",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key,title:d.key+": "+d.value},[N("i",{style:lt({background:d.color})},null,4),N("span",Yv,pe(d.key),1),N("b",null,pe(d.value),1)],10,Kv))),128))])])],8,Uv)):(Q(),ne("div",{key:1,class:"rd-chart","data-chart":m.facet},[N("div",Jv,pe(m.title),1),N("div",Zv,[(Q(!0),ne(Ne,null,rt(m.geometry,d=>(Q(),ne("div",{key:d.key,class:Be(["rd-bar",{on:b(m.facet,d.key)}]),"data-facet":m.facet,"data-key":d.key},[N("span",e0,pe(d.key),1),N("span",t0,[N("span",{class:"rd-bf",style:lt({width:d.frac*100+"%",background:d.color})},null,4)]),N("span",n0,pe(d.value),1)],10,Qv))),128))])],8,Xv))],64))),128))]))}},r0={class:"rd-detail","data-region":"detail-drawer"},s0={class:"rd-dh"},a0={key:0,class:"rd-empty","data-detail-empty":""},i0={class:"rd-top"},l0=["src","alt"],c0={key:1,class:"rd-ph","data-detail-thumb":""},u0={class:"rd-name","data-detail-name":""},d0={class:"rd-meta"},f0={class:"rd-actions"},p0=["href","title"],g0=["href","title"],h0={class:"rd-rows"},m0={class:"rd-row"},b0={class:"v"},_0={key:0,class:"fam"},y0={class:"rd-row"},v0={class:"v"},w0={class:"rd-row"},x0={class:"v"},k0={class:"rd-row"},$0={class:"v"},S0={class:"rd-row"},E0={class:"v"},A0={class:"rd-row"},C0={class:"v"},T0={__name:"DashboardDetailDrawer",setup(e){const t=Me("dashboardData",null),n=Me("selectionBus",null),o=Me("dashboardConfig",{}),r=Object.fromEntries(Object.entries(o.facets||{}).map(([f,p])=>[f,p.get])),{labelFor:s}=nr(o,Me("dataStore",null),Me("searchSourceId",null)),a=t&&n?ja({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:r,labelFor:s}):null,i=le(null),l=[];vt(()=>{n&&(l.push(n.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(n.on("select",f=>{const p=f?[...f]:[];p.length&&(i.value=p[p.length-1])})))}),Ut(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=oe(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),g=oe(()=>{const f=c.value;return f?o.detail&&typeof o.detail.photo=="function"?!!o.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=oe(()=>o.detail||{});function w(f,p,k){if(typeof f=="function")try{return f(p)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(p.slug||"")):k}const $=oe(()=>{const f=c.value;if(!f)return null;const p=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(p||b.value.utmSource||o.utmSource||"agwm")),S=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return w(b.value.prayUrl,f,S)}),y=oe(()=>{var T;const f=c.value;if(!f)return null;const p=typeof window<"u"&&((T=window.location)==null?void 0:T.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),S=encodeURIComponent(String(k||b.value.utmSource||o.utmSource||"agwm")),M=`${p}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${S}`;return w(b.value.moreInfoUrl,f,M)}),x=oe(()=>b.value.prayLabel||"Pray for this people group"),E=oe(()=>b.value.moreInfoLabel||"More information");function m(){!a||!n||(!n.selectionSet.size&&i.value&&n.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,n&&typeof n.clearSelection=="function"&&n.clearSelection()}return It(` .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; } @@ -633,7 +633,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(f,p)=>(Q(),oe("section",r0,[N("div",s0,[p[0]||(p[0]=N("span",null,"Detail",-1)),c.value?(Q(),oe("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):We("",!0)]),c.value?(Q(),oe(Ne,{key:1},[N("div",i0,[g.value?(Q(),oe("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,l0)):(Q(),oe("div",c0,"No photo")),N("div",null,[N("div",u0,pe(c.value.name||"—"),1),N("div",d0,pe(ce(tt)(c.value.country_code)||"—")+" · "+pe(ce(tt)(c.value.religion)||"—"),1)])]),N("div",f0,[$.value?(Q(),oe("a",{key:0,class:"rd-act rd-act-pray",href:$.value,target:"_blank",rel:"noopener",title:x.value,"data-detail-pray":""},[p[1]||(p[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,pe(x.value),1)],8,p0)):We("",!0),y.value?(Q(),oe("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:E.value,"data-detail-moreinfo":""},[p[2]||(p[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,pe(E.value),1)],8,g0)):We("",!0)]),N("div",h0,[N("div",m0,[p[3]||(p[3]=N("span",{class:"k"},"Language",-1)),N("span",b0,[at(pe(ce(tt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(Q(),oe("span",_0," ("+pe(c.value.imb_language_family)+")",1)):We("",!0)])]),N("div",y0,[p[4]||(p[4]=N("span",{class:"k"},"Population",-1)),N("span",v0,pe(u(c.value.population)),1)]),N("div",w0,[p[5]||(p[5]=N("span",{class:"k"},"People praying",-1)),N("span",x0,pe(u(c.value.people_praying)),1)]),N("div",k0,[p[6]||(p[6]=N("span",{class:"k"},"People committed",-1)),N("span",$0,pe(u(c.value.people_committed)),1)]),N("div",S0,[p[7]||(p[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",E0,pe(u(c.value.adopted_by_churches)),1)]),N("div",A0,[p[8]||(p[8]=N("span",{class:"k"},"Engagement",-1)),N("span",C0,pe(ce(tt)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:m},"Export this selection ↓")],64)):(Q(),oe("div",a0,"Select a people group to see detail"))]))}},L0="rgba(120, 128, 134, 0.28)",Vu="36px",Wu=()=>{};function P0(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return Wu;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return Wu;const r=m=>m.classList.contains("map-scroll-edge--left");for(const m of n)m.style.background=`linear-gradient(${r(m)?"to right":"to left"}, ${L0} ${Vu}, transparent ${Vu})`,m.style.opacity="0",m.style.transition="opacity 0.16s ease",m.style.userSelect="none",m.style.webkitUserSelect="none";const s=m=>{m.style.opacity="1"},a=m=>{m.style.opacity="0"},i=()=>n.find(m=>!r(m))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const m of n)l.has(m)||a(m)},b=()=>{const m=i();m&&(s(m),u&&clearTimeout(u),u=setTimeout(g,250))},w=()=>b(),$=m=>{if(!(m.touches&&m.touches.length===1))return;const d=m.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",w,{passive:!0}),e.addEventListener("touchmove",$,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const x=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",x,{passive:!0});const E=[];for(const m of n){const d=()=>{l.add(m),s(m)},f=()=>{l.delete(m),a(m)},p=()=>{c=!0,s(m)},k=()=>{c=!1,a(m)};m.addEventListener("mouseenter",d),m.addEventListener("mouseleave",f),m.addEventListener("touchstart",p,{passive:!0}),m.addEventListener("touchend",k,{passive:!0}),E.push(()=>{m.removeEventListener("mouseenter",d),m.removeEventListener("mouseleave",f),m.removeEventListener("touchstart",p),m.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",w),e.removeEventListener("touchmove",$),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",x);for(const d of E)d();for(const d of n)a(d)}}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:"deep-space ground, blue oceans — the night side of Earth",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",paint:[{layer:"water",prop:"fill-color",value:"#2563a8"},{layer:"waterway",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-shadow",prop:"line-color",value:"#1d4f86"},{layer:"water-shadow",prop:"fill-color",value:"#1d4f86"},{layer:"waterway-river",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-stream-canal",prop:"line-color",value:"#2b6fbb"},{layer:"background",prop:"background-color",value:"#05070d"},{layer:"land",prop:"background-color",value:"#05070d"}],bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function I0(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 N0(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 xn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Ku(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const R0=xn.mapbox.css,F0="https://tiles.openfreemap.org/styles/liberty";function Ha(e){var o;const t=((o=xn[e])==null?void 0:o.global)||xn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function O0(e){const t=xn[e]||xn.mapbox;if(Ha(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(Ha(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function D0(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(i=>setTimeout(i,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function j0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:F0}const z0=85.0511,Yu=-2,B0=0,U0=-60;function Xu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function G0(e,t,o,n){if(!e||e<=0||!t||t<=0)return B0;const r=Math.log2(e/512),s=Xu(n)-Xu(z0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Yu,Math.min(i,(o??18)-1))}function H0({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:g=!0,showEdgeBorders:b=!0,southCutoff:w=U0,maxBounds:$=void 0}){const y=Mn(null),x=le(!1);let E=null,m=null,d=null;const f=r==="maplibre";async function p(){var U;const S=I0(o,r),M=S.style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await O0(r);const T=Ha(r);if(!T){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await D0(e.value,f?xn.maplibre.css:R0),await new Promise(R=>requestAnimationFrame(R));const z=e.value,q=z.clientWidth,Z=z.clientHeight;if(q===0||Z===0){console.error(`[useMapInstance] Container has ZERO dimensions (${q}×${Z}). Map will be invisible. Check that parent elements have CSS sizing.`);let R=z.parentElement,P=0;for(;R&&P<5;)R=R.parentElement,P++}const he=t;f||(T.accessToken=he);const j=()=>typeof window<"u"&&window.innerWidth>=1024,K=(R,P)=>{if(!j())return Yu;const V=G0(R,P,l,w);return typeof i=="number"?Math.max(i,V):V},G=K(z.clientWidth,z.clientHeight);if(f){y.value=new T.Map({container:e.value,style:j0(M),center:s,zoom:a,minZoom:G,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:g,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Ku(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const R=typeof n=="function"?n():n;y.value=new T.Map({accessToken:he,container:e.value,style:M,...R?{config:R}:{},center:s,zoom:a,minZoom:G,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:g,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Ku(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let R=!1;y.value.on("error",P=>{var ye,Ce;const V=((ye=P==null?void 0:P.error)==null?void 0:ye.status)??(P==null?void 0:P.status),re=String(((Ce=P==null?void 0:P.error)==null?void 0:Ce.url)||(P==null?void 0:P.sourceId)||"");V!==401&&V!==403||R||(R=!0,console.error(`[doxa-maps] Mapbox returned ${V} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(re?` First failing request: ${re.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=P0(((U=e.value)==null?void 0:U.parentElement)||null,{enabled:b});let D=G,L=null;E=()=>{const R=y.value;if(!R)return;const P=K(z.clientWidth,z.clientHeight);P!==D&&(D=P,R.setMinZoom(P)),R.getZoom(){L=null;const V=y.value;if(!V)return;const re=K(z.clientWidth,z.clientHeight);if(V.getZoom(){L&&(clearTimeout(L),L=null)},y.value.on("resize",E),typeof window<"u"&&(window.addEventListener("resize",E),window.addEventListener("orientationchange",E)),y.value.on("style.load",()=>{if(S.paint&&y.value){const R=N0(y.value,S.paint);console.info("[useMapInstance] style paint applied ("+r+"):",R.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var R;(R=y.value)==null||R.resize(),y.value&&y.value.setMinZoom(K(z.clientWidth,z.clientHeight)),x.value=!0})})}function k(){if(y.value){if(E&&(y.value.off("resize",E),typeof window<"u"&&(window.removeEventListener("resize",E),window.removeEventListener("orientationchange",E)),E=null),m){try{m()}catch{}m=null}d&&(d(),d=null),y.value.remove(),y.value=null,x.value=!1}}return{map:y,isMapReady:x,initializeMap:p,destroy:k}}const q0={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 V0(e){return q0[e]||null}const kn={center:[20,10],zoom:1.8};function W0(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(kn==null?void 0:kn.center)||[20,10],defaultZoom:a=kn==null?void 0:kn.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(j,K,G={x:150,y:0}){const D=t();if(!D)return j;try{const L=D.getCanvas(),U=L.width,R=L.height,P=D.project(j),V=window.devicePixelRatio||1,re=(G.x||0)*V,ye=(G.y||0)*V,Ce={x:P.x-re,y:P.y-ye},Te=D.unproject(Ce);return[Te.lng,Te.lat]}catch{return j}}function c(j,K=[]){const G=t();if(!G)return;let D=null,L=5;const U=K.filter(P=>P.languageFamily===j);if(U.length>0){let P=1/0,V=-1/0,re=1/0,ye=-1/0;if(U.forEach(Ce=>{Ce.longitude&&Ce.latitude&&(P=Math.min(P,Ce.longitude),V=Math.max(V,Ce.longitude),re=Math.min(re,Ce.latitude),ye=Math.max(ye,Ce.latitude))}),P!==1/0){D=[(P+V)/2,(re+ye)/2];const Ce=V-P,Te=ye-re,Le=Math.max(Ce,Te);Le>50?L=2:Le>20?L=3:Le>10?L=4:Le>5?L=5:L=6}}if(!D)return;const R=l(D);G.flyTo({center:R,zoom:L,...i})}function u(j){const K=t();if(!K)return;let G=null,D=4;const L=V0(j);if(L)G=L.center,D=L.zoom||4;else if(r!=null&&r.features){const R=r.features.find(P=>{var V,re;return((V=P.properties)==null?void 0:V.region)===j||((re=P.properties)==null?void 0:re.name)===j});R&&(G=g(R))}if(!G)return;const U=l(G);K.flyTo({center:U,zoom:D,...i})}function g(j){if(!j||!j.geometry)return null;const{type:K,coordinates:G}=j.geometry;let D=[];if(K==="Polygon"?D=G[0]||[]:K==="MultiPolygon"&&G.forEach(R=>{D=D.concat(R[0]||[])}),D.length===0)return null;let L=0,U=0;return D.forEach(R=>{L+=R[0],U+=R[1]}),[L/D.length,U/D.length]}function b(j,K={}){const G=t();if(!G)return;const D={center:j,...i,...K};G.flyTo(D)}function w(j,K){const G=t();if(!G||(j==null?void 0:j.longitude)==null||(j==null?void 0:j.latitude)==null)return;const D=K??Math.min(G.getZoom()+2,8);b([j.longitude,j.latitude],{zoom:D})}function $(j,K={top:40,right:40,bottom:40,left:40},G={}){const D=t();if(!D||!j)return;const L=G.maxZoom??4,U=G.duration??900;D.fitBounds(j,{padding:K,maxZoom:L,duration:U,...i,...G})}function y(){const j=t();j&&j.flyTo({center:s,zoom:a,...i})}const x=80,E=800,m=5,d=5,f=110,p=1.2;function k(j){const K=j.filter(Number.isFinite).slice().sort((v,C)=>v-C),G=K.length;if(!G)return null;let D=-1,L=0;for(let v=0;vD&&(D=A,L=v)}const U=(L+1)%G,R=new Array(G);for(let v=0;v0&&C((v+180)%360+360)%360-180,Te=Ce(re),Le=24,ve=360/Le,_e=new Array(Le).fill(0);for(const v of K){let C=Math.floor(((v+180)%360+360)%360/ve);C>=Le&&(C=Le-1),_e[C]++}let be=0;for(let v=1;v_e[be]&&(be=v);return{center:Ce(-180+(be+.5)*ve),minLng:Te,maxLng:Te+(ye-re),span:ye-re}}function S(j){try{const K=j.getContainer&&j.getContainer().clientWidth||0,G=K>0?Math.log2(K/512):p,D=typeof j.getMinZoom=="function"?j.getMinZoom():G;return Math.max(D,G)}catch{return p}}function M(j,K,G,D){j.easeTo({center:[K,(G+D)/2],zoom:S(j),duration:E,essential:!0})}function T(j,K,G){if(G>f)return!0;try{const D=typeof j.cameraForBounds=="function"?j.cameraForBounds(K,{padding:x,maxZoom:m}):null;return D==null?!0:typeof D.zoom=="number"&&D.zoom<=S(j)+.05}catch{return!1}}function z(j,K){if(!Array.isArray(j))return j;switch(j[0]){case"get":return K==null?void 0:K[j[1]];case"literal":return j[1];case"has":return K!=null&&j[1]in K;case"!has":return K==null||!(j[1]in K);case"!":return!z(j[1],K);case"coalesce":{for(let D=1;D2){const U=Number(z(j[2],K));return Number.isFinite(U)?U:0}return NaN}case"to-string":{const D=z(j[1],K);return D==null?"":String(D)}case"to-boolean":return!!z(j[1],K);case"slice":{const D=z(j[1],K),L=z(j[2],K),U=j.length>3?z(j[3],K):void 0;return typeof D!="string"?"":U!=null?D.slice(L,U):D.slice(L)}default:return j}}function q(j,K){if(j===!0)return!0;if(j===!1)return!1;if(!Array.isArray(j))return!!j;const G=j[0];if(G==="all"){for(let D=1;D"||G===">="||G==="<"||G==="<="){const D=typeof j[1]=="string"?K==null?void 0:K[j[1]]:z(j[1],K),L=z(j[2],K);switch(G){case"==":return D===L||D==null&&L==null;case"!=":return!(D===L||D==null&&L==null);case">":return D>L;case">=":return D>=L;case"<":return D{const B=(A==null?void 0:A.properties)||{};return B.region===v||B.name===v||B.id===v});if(C){const A=[];let B=1/0,X=-1/0;const J=ee=>{for(const h of ee)Array.isArray(h[0])?J(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(A.push(h[0]),h[1]X&&(X=h[1]))};(_e=C.geometry)!=null&&_e.coordinates&&J(C.geometry.coordinates);const se=k(A);if(se&&Number.isFinite(B)){const ee=[[se.minLng,B],[se.maxLng,X]];T(G,ee,se.span)?M(G,se.center,B,X):G.fitBounds(ee,{padding:x,maxZoom:m,duration:E,essential:!0});return}}}const D=K.sourceId??"language-families";if(!G.getSource(D))return;const L=K.matchExpr??j.filter;if(!L)return;const U=Z(G,D);if(!U.length)return;const R=[];let P=1/0,V=-1/0,re=0,ye=0,Ce=0;const Te=new Set;for(const we of U){const v=we==null?void 0:we.properties;if(!q(L,v))continue;const C=v==null?void 0:v.uniqueId;if(C!=null){if(Te.has(C))continue;Te.add(C)}const A=(be=we.geometry)==null?void 0:be.coordinates;if(!Array.isArray(A)||A.length<2)continue;const B=A[0],X=A[1];!Number.isFinite(B)||!Number.isFinite(X)||(re===0&&(ye=B,Ce=X),R.push(B),XV&&(V=X),re++)}if(re===0)return;if(re===1){G.flyTo({center:[ye,Ce],zoom:d,duration:E,essential:!0});return}const Le=k(R)||{center:0,minLng:0,maxLng:0,span:0},ve=[[Le.minLng,P],[Le.maxLng,V]];if(T(G,ve,Le.span)){M(G,Le.center,P,V);return}try{G.fitBounds(ve,{padding:x,maxZoom:m,duration:E,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:w,fitBounds:$,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:g}}const K0=150,Y0=1200,X0=70,J0=5.5,Z0=6,Ju=.01,Q0=110,ew=1.45;function tw(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function ow(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 nw(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const i of e){io&&(o=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:o,span:s}}function rw(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=ow(t.get(l));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=nw(o);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=rw(e.selectionSet,o&&o());if(!c)return;const u=tw()?0:Y0;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:Z0,duration:u,essential:!0});return}if(c.span>Q0){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:ew,duration:u,essential:!0});return}n.fitBounds(c.bounds,X0,{maxZoom:J0,duration:u,essential:!0})}catch{}}const i=ht(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,K0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const aw={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=le(null);return gt("mapToolbar",{el:t}),It(` +`,"rd-detaildrawer"),(f,p)=>(Q(),ne("section",r0,[N("div",s0,[p[0]||(p[0]=N("span",null,"Detail",-1)),c.value?(Q(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):We("",!0)]),c.value?(Q(),ne(Ne,{key:1},[N("div",i0,[g.value?(Q(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,l0)):(Q(),ne("div",c0,"No photo")),N("div",null,[N("div",u0,pe(c.value.name||"—"),1),N("div",d0,pe(ce(tt)(c.value.country_code)||"—")+" · "+pe(ce(tt)(c.value.religion)||"—"),1)])]),N("div",f0,[$.value?(Q(),ne("a",{key:0,class:"rd-act rd-act-pray",href:$.value,target:"_blank",rel:"noopener",title:x.value,"data-detail-pray":""},[p[1]||(p[1]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),N("span",null,pe(x.value),1)],8,p0)):We("",!0),y.value?(Q(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:E.value,"data-detail-moreinfo":""},[p[2]||(p[2]=N("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[N("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),N("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),N("span",null,pe(E.value),1)],8,g0)):We("",!0)]),N("div",h0,[N("div",m0,[p[3]||(p[3]=N("span",{class:"k"},"Language",-1)),N("span",b0,[at(pe(ce(tt)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(Q(),ne("span",_0," ("+pe(c.value.imb_language_family)+")",1)):We("",!0)])]),N("div",y0,[p[4]||(p[4]=N("span",{class:"k"},"Population",-1)),N("span",v0,pe(u(c.value.population)),1)]),N("div",w0,[p[5]||(p[5]=N("span",{class:"k"},"People praying",-1)),N("span",x0,pe(u(c.value.people_praying)),1)]),N("div",k0,[p[6]||(p[6]=N("span",{class:"k"},"People committed",-1)),N("span",$0,pe(u(c.value.people_committed)),1)]),N("div",S0,[p[7]||(p[7]=N("span",{class:"k"},"Adopted by churches",-1)),N("span",E0,pe(u(c.value.adopted_by_churches)),1)]),N("div",A0,[p[8]||(p[8]=N("span",{class:"k"},"Engagement",-1)),N("span",C0,pe(ce(tt)(c.value.engagement_status)||"—"),1)])]),N("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:m},"Export this selection ↓")],64)):(Q(),ne("div",a0,"Select a people group to see detail"))]))}},L0="rgba(120, 128, 134, 0.28)",Vu="36px",Wu=()=>{};function P0(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return Wu;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return Wu;const r=m=>m.classList.contains("map-scroll-edge--left");for(const m of o)m.style.background=`linear-gradient(${r(m)?"to right":"to left"}, ${L0} ${Vu}, transparent ${Vu})`,m.style.opacity="0",m.style.transition="opacity 0.16s ease",m.style.userSelect="none",m.style.webkitUserSelect="none";const s=m=>{m.style.opacity="1"},a=m=>{m.style.opacity="0"},i=()=>o.find(m=>!r(m))||null,l=new Set;let c=!1,u=null;const g=()=>{for(const m of o)l.has(m)||a(m)},b=()=>{const m=i();m&&(s(m),u&&clearTimeout(u),u=setTimeout(g,250))},w=()=>b(),$=m=>{if(!(m.touches&&m.touches.length===1))return;const d=m.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),g()};e.addEventListener("wheel",w,{passive:!0}),e.addEventListener("touchmove",$,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const x=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",x,{passive:!0});const E=[];for(const m of o){const d=()=>{l.add(m),s(m)},f=()=>{l.delete(m),a(m)},p=()=>{c=!0,s(m)},k=()=>{c=!1,a(m)};m.addEventListener("mouseenter",d),m.addEventListener("mouseleave",f),m.addEventListener("touchstart",p,{passive:!0}),m.addEventListener("touchend",k,{passive:!0}),E.push(()=>{m.removeEventListener("mouseenter",d),m.removeEventListener("mouseleave",f),m.removeEventListener("touchstart",p),m.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",w),e.removeEventListener("touchmove",$),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",x);for(const d of E)d();for(const d of o)a(d)}}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.openfreemap.org/styles/liberty",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function I0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=M0[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function N0(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const xo={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Ku(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const R0=xo.mapbox.css,F0="https://tiles.openfreemap.org/styles/liberty";function Ha(e){var n;const t=((n=xo[e])==null?void 0:n.global)||xo.mapbox.global;return typeof window<"u"?window[t]:void 0}async function O0(e){const t=xo[e]||xo.mapbox;if(Ha(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(Ha(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function D0(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=a=>new Promise(i=>setTimeout(i,a)),r=n.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),n.prepend(s)}),o(2e3)])}function j0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:F0}const z0=85.0511,Yu=-2,B0=0,U0=-60;function Xu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function G0(e,t,n,o){if(!e||e<=0||!t||t<=0)return B0;const r=Math.log2(e/512),s=Xu(o)-Xu(z0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Yu,Math.min(i,(n??18)-1))}function H0({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:g=!0,showEdgeBorders:b=!0,southCutoff:w=U0,maxBounds:$=void 0}){const y=Mo(null),x=le(!1);let E=null,m=null,d=null;const f=r==="maplibre";async function p(){var U;const S=I0(n,r),M=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await O0(r);const T=Ha(r);if(!T){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await D0(e.value,f?xo.maplibre.css:R0),await new Promise(R=>requestAnimationFrame(R));const z=e.value,q=z.clientWidth,Z=z.clientHeight;if(q===0||Z===0){console.error(`[useMapInstance] Container has ZERO dimensions (${q}×${Z}). Map will be invisible. Check that parent elements have CSS sizing.`);let R=z.parentElement,P=0;for(;R&&P<5;)R=R.parentElement,P++}const he=t;f||(T.accessToken=he);const j=()=>typeof window<"u"&&window.innerWidth>=1024,K=(R,P)=>{if(!j())return Yu;const V=G0(R,P,l,w);return typeof i=="number"?Math.max(i,V):V},G=K(z.clientWidth,z.clientHeight);if(f){y.value=new T.Map({container:e.value,style:j0(M),center:s,zoom:a,minZoom:G,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:g,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Ku(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const R=typeof o=="function"?o():o;y.value=new T.Map({accessToken:he,container:e.value,style:M,...R?{config:R}:{},center:s,zoom:a,minZoom:G,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:g,...$?{maxBounds:$}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Ku(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let R=!1;y.value.on("error",P=>{var ye,Ce;const V=((ye=P==null?void 0:P.error)==null?void 0:ye.status)??(P==null?void 0:P.status),re=String(((Ce=P==null?void 0:P.error)==null?void 0:Ce.url)||(P==null?void 0:P.sourceId)||"");V!==401&&V!==403||R||(R=!0,console.error(`[doxa-maps] Mapbox returned ${V} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(re?` First failing request: ${re.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=P0(((U=e.value)==null?void 0:U.parentElement)||null,{enabled:b});let D=G,L=null;E=()=>{const R=y.value;if(!R)return;const P=K(z.clientWidth,z.clientHeight);P!==D&&(D=P,R.setMinZoom(P)),R.getZoom(){L=null;const V=y.value;if(!V)return;const re=K(z.clientWidth,z.clientHeight);if(V.getZoom(){L&&(clearTimeout(L),L=null)},y.value.on("resize",E),typeof window<"u"&&(window.addEventListener("resize",E),window.addEventListener("orientationchange",E)),y.value.on("style.load",()=>{if(S.paint&&y.value){const R=N0(y.value,S.paint);console.info("[useMapInstance] style paint applied ("+r+"):",R.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var R;(R=y.value)==null||R.resize(),y.value&&y.value.setMinZoom(K(z.clientWidth,z.clientHeight)),x.value=!0})})}function k(){if(y.value){if(E&&(y.value.off("resize",E),typeof window<"u"&&(window.removeEventListener("resize",E),window.removeEventListener("orientationchange",E)),E=null),m){try{m()}catch{}m=null}d&&(d(),d=null),y.value.remove(),y.value=null,x.value=!1}}return{map:y,isMapReady:x,initializeMap:p,destroy:k}}const q0={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 V0(e){return q0[e]||null}const ko={center:[20,10],zoom:1.8};function W0(e={}){const{getMap:t=()=>null,mapId:n="unknown",mapStore:o=null,regionsGeoData:r=null,defaultCenter:s=(ko==null?void 0:ko.center)||[20,10],defaultZoom:a=ko==null?void 0:ko.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(j,K,G={x:150,y:0}){const D=t();if(!D)return j;try{const L=D.getCanvas(),U=L.width,R=L.height,P=D.project(j),V=window.devicePixelRatio||1,re=(G.x||0)*V,ye=(G.y||0)*V,Ce={x:P.x-re,y:P.y-ye},Te=D.unproject(Ce);return[Te.lng,Te.lat]}catch{return j}}function c(j,K=[]){const G=t();if(!G)return;let D=null,L=5;const U=K.filter(P=>P.languageFamily===j);if(U.length>0){let P=1/0,V=-1/0,re=1/0,ye=-1/0;if(U.forEach(Ce=>{Ce.longitude&&Ce.latitude&&(P=Math.min(P,Ce.longitude),V=Math.max(V,Ce.longitude),re=Math.min(re,Ce.latitude),ye=Math.max(ye,Ce.latitude))}),P!==1/0){D=[(P+V)/2,(re+ye)/2];const Ce=V-P,Te=ye-re,Le=Math.max(Ce,Te);Le>50?L=2:Le>20?L=3:Le>10?L=4:Le>5?L=5:L=6}}if(!D)return;const R=l(D);G.flyTo({center:R,zoom:L,...i})}function u(j){const K=t();if(!K)return;let G=null,D=4;const L=V0(j);if(L)G=L.center,D=L.zoom||4;else if(r!=null&&r.features){const R=r.features.find(P=>{var V,re;return((V=P.properties)==null?void 0:V.region)===j||((re=P.properties)==null?void 0:re.name)===j});R&&(G=g(R))}if(!G)return;const U=l(G);K.flyTo({center:U,zoom:D,...i})}function g(j){if(!j||!j.geometry)return null;const{type:K,coordinates:G}=j.geometry;let D=[];if(K==="Polygon"?D=G[0]||[]:K==="MultiPolygon"&&G.forEach(R=>{D=D.concat(R[0]||[])}),D.length===0)return null;let L=0,U=0;return D.forEach(R=>{L+=R[0],U+=R[1]}),[L/D.length,U/D.length]}function b(j,K={}){const G=t();if(!G)return;const D={center:j,...i,...K};G.flyTo(D)}function w(j,K){const G=t();if(!G||(j==null?void 0:j.longitude)==null||(j==null?void 0:j.latitude)==null)return;const D=K??Math.min(G.getZoom()+2,8);b([j.longitude,j.latitude],{zoom:D})}function $(j,K={top:40,right:40,bottom:40,left:40},G={}){const D=t();if(!D||!j)return;const L=G.maxZoom??4,U=G.duration??900;D.fitBounds(j,{padding:K,maxZoom:L,duration:U,...i,...G})}function y(){const j=t();j&&j.flyTo({center:s,zoom:a,...i})}const x=80,E=800,m=5,d=5,f=110,p=1.2;function k(j){const K=j.filter(Number.isFinite).slice().sort((v,C)=>v-C),G=K.length;if(!G)return null;let D=-1,L=0;for(let v=0;vD&&(D=A,L=v)}const U=(L+1)%G,R=new Array(G);for(let v=0;v0&&C((v+180)%360+360)%360-180,Te=Ce(re),Le=24,ve=360/Le,_e=new Array(Le).fill(0);for(const v of K){let C=Math.floor(((v+180)%360+360)%360/ve);C>=Le&&(C=Le-1),_e[C]++}let be=0;for(let v=1;v_e[be]&&(be=v);return{center:Ce(-180+(be+.5)*ve),minLng:Te,maxLng:Te+(ye-re),span:ye-re}}function S(j){try{const K=j.getContainer&&j.getContainer().clientWidth||0,G=K>0?Math.log2(K/512):p,D=typeof j.getMinZoom=="function"?j.getMinZoom():G;return Math.max(D,G)}catch{return p}}function M(j,K,G,D){j.easeTo({center:[K,(G+D)/2],zoom:S(j),duration:E,essential:!0})}function T(j,K,G){if(G>f)return!0;try{const D=typeof j.cameraForBounds=="function"?j.cameraForBounds(K,{padding:x,maxZoom:m}):null;return D==null?!0:typeof D.zoom=="number"&&D.zoom<=S(j)+.05}catch{return!1}}function z(j,K){if(!Array.isArray(j))return j;switch(j[0]){case"get":return K==null?void 0:K[j[1]];case"literal":return j[1];case"has":return K!=null&&j[1]in K;case"!has":return K==null||!(j[1]in K);case"!":return!z(j[1],K);case"coalesce":{for(let D=1;D2){const U=Number(z(j[2],K));return Number.isFinite(U)?U:0}return NaN}case"to-string":{const D=z(j[1],K);return D==null?"":String(D)}case"to-boolean":return!!z(j[1],K);case"slice":{const D=z(j[1],K),L=z(j[2],K),U=j.length>3?z(j[3],K):void 0;return typeof D!="string"?"":U!=null?D.slice(L,U):D.slice(L)}default:return j}}function q(j,K){if(j===!0)return!0;if(j===!1)return!1;if(!Array.isArray(j))return!!j;const G=j[0];if(G==="all"){for(let D=1;D"||G===">="||G==="<"||G==="<="){const D=typeof j[1]=="string"?K==null?void 0:K[j[1]]:z(j[1],K),L=z(j[2],K);switch(G){case"==":return D===L||D==null&&L==null;case"!=":return!(D===L||D==null&&L==null);case">":return D>L;case">=":return D>=L;case"<":return D{const B=(A==null?void 0:A.properties)||{};return B.region===v||B.name===v||B.id===v});if(C){const A=[];let B=1/0,X=-1/0;const J=ee=>{for(const h of ee)Array.isArray(h[0])?J(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(A.push(h[0]),h[1]X&&(X=h[1]))};(_e=C.geometry)!=null&&_e.coordinates&&J(C.geometry.coordinates);const se=k(A);if(se&&Number.isFinite(B)){const ee=[[se.minLng,B],[se.maxLng,X]];T(G,ee,se.span)?M(G,se.center,B,X):G.fitBounds(ee,{padding:x,maxZoom:m,duration:E,essential:!0});return}}}const D=K.sourceId??"language-families";if(!G.getSource(D))return;const L=K.matchExpr??j.filter;if(!L)return;const U=Z(G,D);if(!U.length)return;const R=[];let P=1/0,V=-1/0,re=0,ye=0,Ce=0;const Te=new Set;for(const we of U){const v=we==null?void 0:we.properties;if(!q(L,v))continue;const C=v==null?void 0:v.uniqueId;if(C!=null){if(Te.has(C))continue;Te.add(C)}const A=(be=we.geometry)==null?void 0:be.coordinates;if(!Array.isArray(A)||A.length<2)continue;const B=A[0],X=A[1];!Number.isFinite(B)||!Number.isFinite(X)||(re===0&&(ye=B,Ce=X),R.push(B),XV&&(V=X),re++)}if(re===0)return;if(re===1){G.flyTo({center:[ye,Ce],zoom:d,duration:E,essential:!0});return}const Le=k(R)||{center:0,minLng:0,maxLng:0,span:0},ve=[[Le.minLng,P],[Le.maxLng,V]];if(T(G,ve,Le.span)){M(G,Le.center,P,V);return}try{G.fitBounds(ve,{padding:x,maxZoom:m,duration:E,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:w,fitBounds:$,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:g}}const K0=150,Y0=1200,X0=70,J0=5.5,Z0=6,Ju=.01,Q0=110,ew=1.45;function tw(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function nw(e){if(!e)return null;const t=Number(e.longitude),n=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(n)||t===0&&n===0||n<-90||n>90||t<-180||t>180?null:[t,n]}function ow(e){let t=1/0,n=-1/0,o=1/0,r=-1/0;for(const i of e){in&&(n=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=n-t,a=r-o;if(a180?o-360:o;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:n,span:s}}function rw(e,t){if(!e||!e.size||!t)return null;const n=[];let o=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=nw(t.get(l));c&&(a===0&&(s=c),n.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=ow(n);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=rw(e.selectionSet,n&&n());if(!c)return;const u=tw()?0:Y0;try{if(c.kind==="point"){o.flyTo(c.center,{zoom:Z0,duration:u,essential:!0});return}if(c.span>Q0){o.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:ew,duration:u,essential:!0});return}o.fitBounds(c.bounds,X0,{maxZoom:J0,duration:u,essential:!0})}catch{}}const i=ht(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,K0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const aw={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=le(null);return gt("mapToolbar",{el:t}),It(` .map-toolbar { position: absolute; top: 6px; @@ -650,8 +650,10 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(Q(),oe("div",{ref_key:"toolbarEl",ref:t,class:Be(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Os(o.$slots,"default")],2))}},iw={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=bn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(Q(),oo(Ba,{"is-dark":e.isDark,disabled:e.disabled,title:ce(t)("buttons.zoomIn"),onClick:n},{default:rn(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},lw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=bn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(Q(),oo(Ba,{"is-dark":e.isDark,disabled:e.disabled,title:ce(t)("buttons.zoomOut"),onClick:n},{default:rn(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},cw=["data-projection"],uw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Zu=2,dw="#f2f3f0",Qu=.78,fw="prayer_level",pw=.1,gw=12,hw={__name:"DashboardMapPanel",setup(e){var Et,Dt,io,td,od,nd,rd,sd,ad;const t=Me("dashboardData",null),o=Me("selectionBus",null),n=Me("mapboxToken",le("")),r=Me("dashboardConfig",{}),s=Me("profileConfig",le(null)),a=(o==null?void 0:o.filterSet)||{},i=Object.fromEntries(Object.entries(r.facets||{}).map(([I,H])=>[I,H.get])),l=rr(o,nr(r)),c=ne(()=>{var xe,$e;const I=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],H=Object.keys(a),ie=!!((($e=o==null?void 0:o.searchTerm)==null?void 0:$e.value)||"").trim();return!H.length&&!ie?I:I.filter(Fe=>H.every(Re=>{const ke=i[Re];return ke?ke(Fe)===a[Re]:!0})&&l(Fe))}),u=((Et=r.map)==null?void 0:Et.geoFacet)||"country_code",g=((io=(Dt=r.facets)==null?void 0:Dt[u])==null?void 0:io.geoIso)||(I=>{const H=I[u];return H&&H.value?H.value:null}),b=i[u]||(I=>tt(I[u])),w=ne(()=>{var H;const I=new Map;for(const ie of((H=t==null?void 0:t.rows)==null?void 0:H.value)||[]){const xe=g(ie);xe&&I.set(xe,b(ie)||xe)}return I}),$=ne(()=>{const I=new Map;for(const H of c.value){const ie=g(H);ie&&I.set(ie,(I.get(ie)||0)+1)}return I}),y=le(null),x=ne(()=>{var H;return(((H=r.map)==null?void 0:H.provider)||r.provider)==="maplibre"?"maplibre":"mapbox"}),E=ne(()=>x.value==="maplibre"),{map:m,isMapReady:d,initializeMap:f,destroy:p}=H0({containerRef:y,accessToken:ce(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(td=r.map)!=null&&td.mapStyle||r.mapStyle?{style:((od=r.map)==null?void 0:od.mapStyle)||r.mapStyle}:{}}),k=W0({getMap:()=>m.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let S=null;S=sw({bus:o,mapFly:k,getMap:()=>m.value,getRowStore:()=>{var I;return(I=t==null?void 0:t.rowStore)==null?void 0:I.value},isEnabled:()=>d.value});let M=!1,T=null,z=null,q=null,Z=0,he=!1;function j(){he||Z||(Z=requestAnimationFrame(()=>{Z=0;const I=m.value;if(I&&typeof I.resize=="function")try{I.resize()}catch{}}))}function K(I){const H=!!I;if(H!==he){if(he=H,he){Z&&(cancelAnimationFrame(Z),Z=0);return}j(),setTimeout(j,180)}}const G=(()=>{var H;const I={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return I[(H=r.map)==null?void 0:H.colorRamp]||I["heartbeat-red"]})(),D={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function L(I,H){return Number.isFinite(H)?H-1<=I?`${I}`:`${I}–${H-1}`:`${I}+ · heartbeat zone`}function U(I){const ie=D.binThresholds.map(xe=>xe/D.heartbeatThreshold).map(xe=>Math.max(Zu,Math.round(xe*I)));return R(ie,I)}function R(I,H){const ie=[];for(const xe of I){const $e=Math.max(xe,ie.length?ie[ie.length-1]+1:Zu);$eRe>0).sort((Re,ke)=>Re-ke);if(ie.length<8)return null;const xe=Re=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Re*ie.length)))],$e=xe(1-H)+1,Fe=[.25,.5,.75].map(Re=>xe(Re));return{threshold:$e,edges:R(Fe,$e)}}function V(I){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const H=r.map||{};let ie=Number(H.heartbeatThreshold)>0?Number(H.heartbeatThreshold):D.heartbeatThreshold,xe=null;if(H.heartbeatMode==="quantile"){const ke=P(I||[],Number(H.heartbeatQuantile)>0?Number(H.heartbeatQuantile):D.quantile);ke&&(ie=ke.threshold,xe=ke.edges)}xe||(xe=Array.isArray(H.binThresholds)&&H.binThresholds.length?[...new Set(H.binThresholds.map(Number).filter(ke=>Number.isFinite(ke)&&ke>0&&keke-_t):Number(H.heartbeatThreshold)>0?U(ie):D.binThresholds);const $e=[...xe,ie,1/0].slice(0,G.length);for(;$e.length{const Kt={upTo:ke,c:G[_t],l:L(Fe,ke)};return Fe=ke,Kt})}const re=ne(()=>V([...$.value.values()])),ye=((nd=r.map)==null?void 0:nd.noDataColor)||"#f3f3f1";function Ce(I){if(!I)return ye;const H=re.value;for(const ie of H)if(I{const Re=parseInt(ie.slice(Fe*2,Fe*2+2),16),ke=parseInt(xe.slice(Fe*2,Fe*2+2),16);return Math.round(Qu*Re+(1-Qu)*ke)};return"#"+[0,1,2].map(Fe=>$e(Fe).toString(16).padStart(2,"0")).join("")}const Le=ne(()=>re.value.map(I=>({c:Te(I.c),l:I.l}))),ve=((rd=r.map)==null?void 0:rd.selectedColor)||"#1a237e";function _e(){const I=$.value,H=[],ie=[];I.forEach((Re,ke)=>{H.push(ke,Ce(Re)),ie.push(ke)});const xe=H.length?["match",["get","iso_3166_1_alpha_3"],...H,ye]:ye,Fe=Object.keys(a).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Fe}}function be(){return Object.prototype.hasOwnProperty.call(a,fw)}const we=((sd=r.map)==null?void 0:sd.pinColor)||"#ef6c00",v=((ad=r.map)==null?void 0:ad.pinStrokeColor)||"#ffffff";function C(){return be()?ss({colorSource:"properties"}):we}function A(){const I=m.value;if(!I||!I.getLayer("rd-choropleth"))return;const{fillColor:H,fillOpacity:ie}=_e();I.setPaintProperty("rd-choropleth","fill-color",H),I.setPaintProperty("rd-choropleth","fill-opacity",ie);const xe=I.getSource("rd-bubbles");xe&&xe.setData(X()),I.getLayer("rd-bubble-layer")&&I.setPaintProperty("rd-bubble-layer","circle-color",C())}function B(I){const H=I==null?void 0:I.people_praying,ie=H&&typeof H=="object"?H.value:H;return Number(ie)||0}function X(){return{type:"FeatureCollection",features:c.value.filter(I=>Number(I.latitude)&&Number(I.longitude)).map(I=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(I.longitude),Number(I.latitude)]},properties:{pop:Number(I.population)||0,slug:I.slug||"",name:I.name||"",peoplePraying:B(I)}}))}}function J(){var ie;const I=o==null?void 0:o.selectionSet,H=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!I||!I.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:H.filter(xe=>I.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function se(){const I=m.value;if(!I)return;const H=I.getSource("rd-bubble-selected");H&&H.setData(J())}function ee(){var xe;const I=m.value;if(!I||M)return;M=!0,I.getSource("rd-countries")||(E.value?(I.addSource("rd-countries",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${py(s.value)}/boundaries/world-adm0.geojson`).then($e=>$e.json()).then($e=>{for(const Re of $e.features||[])Re.properties&&Re.properties.iso3&&(Re.properties.iso_3166_1_alpha_3=Re.properties.iso3);const Fe=m.value&&m.value.getSource("rd-countries");Fe&&Fe.setData($e)}).catch($e=>console.warn("[rdash] country boundaries failed to load",$e))):I.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}));const{fillColor:H,fillOpacity:ie}=_e();I.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries",...E.value?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":H,"fill-opacity":ie,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),I.addSource("rd-bubbles",{type:"geojson",data:X()}),I.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":C(),"circle-opacity":1,"circle-stroke-color":v,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),I.addSource("rd-bubble-selected",{type:"geojson",data:J()}),I.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":ve,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":ve,"circle-stroke-opacity":.95}}),I.on("click","rd-choropleth",h),I.on("click","rd-bubble-layer",_),I.on("mouseenter","rd-choropleth",()=>{I.getCanvas().style.cursor="pointer"}),I.on("mouseleave","rd-choropleth",()=>{I.getCanvas().style.cursor=""}),I.on("mouseenter","rd-bubble-layer",()=>{I.getCanvas().style.cursor="pointer"}),I.on("mouseleave","rd-bubble-layer",()=>{I.getCanvas().style.cursor=""});try{window.__rdashMap=I,window.__rdashClickAt=($e,Fe)=>{const Re=I.project([$e,Fe]),ke=I.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return ke&&ke[0]?(h({features:ke}),ke[0].properties&&ke[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=($e,Fe)=>{const Re=I.project([$e,Fe]),ke=I.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return ke&&ke[0]?(_({features:[ke[0]]}),ke[0].properties&&ke[0].properties.slug):null}}catch{}nt(),o&&o.on("select",se),se(),o&&o.on("focusRow",({slug:$e}={})=>{var ke;if(!$e)return;const Fe=(((ke=t==null?void 0:t.rows)==null?void 0:ke.value)||[]).find(_t=>_t.slug===$e),Re=m.value;if(Re&&Fe&&Number(Fe.latitude)&&Number(Fe.longitude))try{Re.flyTo({center:[Number(Fe.longitude),Number(Fe.latitude)],zoom:5.5,duration:1200})}catch{}})}function h(I){const H=m.value;if(H&&I.point){const Fe=H.queryRenderedFeatures([[I.point.x-5,I.point.y-5],[I.point.x+5,I.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ie=I.features&&I.features[0];if(!ie||!o)return;const xe=ie.properties&&ie.properties.iso_3166_1_alpha_3,$e=w.value.get(xe);$e&&(o.setFilter(u,a[u]===$e?null:$e),o.emit("mapFocus",{facet:u,value:$e}))}function _(I){const H=I.features&&I.features[0];if(!H||!o)return;const ie=H.properties&&H.properties.slug;ie&&(o.toggleSelect(ie),o.emit("focusRow",{slug:ie,name:H.properties&&H.properties.name}))}function O(I){var ie;let H=I&&I.parentNode;for(;H;){if(H.nodeType===1){const xe=getComputedStyle(H);if(/auto|scroll/.test(xe.overflowY)&&H.scrollHeight>H.clientHeight+4)return H}if(H=H.parentElement||((ie=H.parentNode)==null?void 0:ie.host)||(H.parentNode!==H?H.parentNode:null),H&&H.nodeType===9)break}return null}function W(I){if(!(!I||!I.scrollZoom))try{I.scrollZoom.enable()}catch{}}vt(async()=>{await f();const I=m.value;if(!I)return;I.isStyleLoaded()?ee():I.on("load",ee),W(I);const H=()=>W(I);let ie=null;try{ie=new ResizeObserver(H);const xe=I.getContainer&&I.getContainer()||null;xe&&ie.observe(xe);const $e=xe?O(xe):null;$e&&ie.observe($e),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",H),Ut(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",H)}),I.on("zoom",F),I.on("zoomend",F),I.on("resize",F),F(),I.on("idle",()=>{!M&&I.isStyleLoaded()&&ee()}),typeof ResizeObserver<"u"&&y.value&&(T=new ResizeObserver(j),T.observe(y.value)),De(),I.on("idle",De),I.on("resize",De),o&&typeof o.on=="function"&&(z=o.on("toggleTable",()=>{j(),setTimeout(j,280)}),q=o.on("layoutResizing",K))}),Ut(()=>{try{S&&S()}catch{}S=null;try{z&&z()}catch{}z=null;try{q&&q()}catch{}if(q=null,T){try{T.disconnect()}catch{}T=null}if(me){try{me.disconnect()}catch{}me=null}Se=null,Z&&(cancelAnimationFrame(Z),Z=0);try{const I=m.value;I&&(I.off("zoom",F),I.off("zoomend",F),I.off("resize",F),I.off("idle",De),I.off("resize",De))}catch{}try{p&&p()}catch{}}),ht([c,d],A);const de=le(!0),ae=le(!0);function F(){const I=m.value;if(!I)return;const H=I.getZoom();de.value=HI.getMinZoom()+.01}const Y=le(null);let me=null,Se=null;function De(){var xe;const I=Y.value;if(!I)return;let H=0;try{const $e=(xe=I.getRootNode)==null?void 0:xe.call(I),Fe=$e&&$e.querySelector?$e.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Re=Fe.getBoundingClientRect(),ke=I.getBoundingClientRect();if(H=Math.max(Re.height||0,ke.bottom-Re.top),Se!==Fe&&typeof ResizeObserver<"u"){if(me)try{me.disconnect()}catch{}Se=Fe,me=new ResizeObserver(De),me.observe(Fe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(H)||20,20),72);I.style.setProperty("--rd-attrib-clear",ie+"px")}const Qe=le("globe");function nt(){const I=m.value;if(!(!I||typeof I.setProjection!="function")){try{I.setProjection({type:Qe.value});return}catch{}try{I.setProjection(Qe.value)}catch{}}}function Ot(){Qe.value=Qe.value==="globe"?"mercator":"globe",nt()}function te(I){const H=Number(I.longitude),ie=Number(I.latitude);return!Number.isFinite(H)||!Number.isFinite(ie)||H===0&&ie===0||ie<-90||ie>90||H<-180||H>180?null:[H,ie]}function ue(I,H){if(!I.length)return NaN;const ie=Math.min(I.length-1,Math.max(0,Math.round(H*(I.length-1))));return I[ie]}function fe(I){const H=I.slice().sort((ke,_t)=>ke-_t),ie=H.length;if(ie<2)return H;let xe=-1,$e=0;for(let ke=0;kexe&&(xe=Kt,$e=ke)}const Fe=($e+1)%ie,Re=new Array(ie);for(let ke=0;ke0&&_tXo[1]).sort((Xo,ds)=>Xo-ds),xe=fe(H.map(Xo=>Xo[0])),$e=H.length>=gw?pw:0,Fe=ue(ie,$e),Re=ue(ie,1-$e),ke=ue(xe,$e),_t=ue(xe,1-$e),Kt=[ue(xe,.5),ue(ie,.5)];return!(_t>ke)||!(Re>Fe)?{bounds:[[Kt[0],Kt[1]],[Kt[0],Kt[1]]],center:Kt}:{bounds:[[ke,Fe],[_t,Re]],center:Kt}}function Oe(){const I=m.value;if(!I)return;if(!Object.keys(a).length){try{I.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const H=je(c.value);if(H)try{I.fitBounds(H.bounds,{padding:70,duration:1200,maxZoom:5.5}),I.setCenter(H.center)}catch{}}let Wt=null;return ht(()=>JSON.stringify(a),()=>{clearTimeout(Wt),Wt=setTimeout(Oe,260)}),It(` +`,"map-toolbar"),(n,o)=>(Q(),ne("div",{ref_key:"toolbarEl",ref:t,class:Be(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Os(n.$slots,"default")],2))}},iw={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=bo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomIn()}return(r,s)=>(Q(),nn(Ba,{"is-dark":e.isDark,disabled:e.disabled,title:ce(t)("buttons.zoomIn"),onClick:o},{default:ro(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},lw={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=bo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomOut()}return(r,s)=>(Q(),nn(Ba,{"is-dark":e.isDark,disabled:e.disabled,title:ce(t)("buttons.zoomOut"),onClick:o},{default:ro(()=>[...s[0]||(s[0]=[N("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},cw=["data-projection"],uw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Zu=2,dw="#f2f3f0",Qu=.78,fw="prayer_level",pw=.1,gw=12,hw={__name:"DashboardMapPanel",setup(e){var Et,Dt,ln,td,nd,od,rd,sd,ad;const t=Me("dashboardData",null),n=Me("selectionBus",null),o=Me("mapboxToken",le("")),r=Me("dashboardConfig",{}),s=Me("profileConfig",le(null)),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(r.facets||{}).map(([I,H])=>[I,H.get])),l=rr(n,or(r)),c=oe(()=>{var xe,$e;const I=((xe=t==null?void 0:t.rows)==null?void 0:xe.value)||[],H=Object.keys(a),ie=!!((($e=n==null?void 0:n.searchTerm)==null?void 0:$e.value)||"").trim();return!H.length&&!ie?I:I.filter(Fe=>H.every(Re=>{const ke=i[Re];return ke?ke(Fe)===a[Re]:!0})&&l(Fe))}),u=((Et=r.map)==null?void 0:Et.geoFacet)||"country_code",g=((ln=(Dt=r.facets)==null?void 0:Dt[u])==null?void 0:ln.geoIso)||(I=>{const H=I[u];return H&&H.value?H.value:null}),b=i[u]||(I=>tt(I[u])),w=oe(()=>{var H;const I=new Map;for(const ie of((H=t==null?void 0:t.rows)==null?void 0:H.value)||[]){const xe=g(ie);xe&&I.set(xe,b(ie)||xe)}return I}),$=oe(()=>{const I=new Map;for(const H of c.value){const ie=g(H);ie&&I.set(ie,(I.get(ie)||0)+1)}return I}),y=le(null),x=oe(()=>{var H;return(((H=r.map)==null?void 0:H.provider)||r.provider)==="maplibre"?"maplibre":"mapbox"}),E=oe(()=>x.value==="maplibre"),{map:m,isMapReady:d,initializeMap:f,destroy:p}=H0({containerRef:y,accessToken:ce(o)||o&&o.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(td=r.map)!=null&&td.mapStyle||r.mapStyle?{style:((nd=r.map)==null?void 0:nd.mapStyle)||r.mapStyle}:{}}),k=W0({getMap:()=>m.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let S=null;S=sw({bus:n,mapFly:k,getMap:()=>m.value,getRowStore:()=>{var I;return(I=t==null?void 0:t.rowStore)==null?void 0:I.value},isEnabled:()=>d.value});let M=!1,T=null,z=null,q=null,Z=0,he=!1;function j(){he||Z||(Z=requestAnimationFrame(()=>{Z=0;const I=m.value;if(I&&typeof I.resize=="function")try{I.resize()}catch{}}))}function K(I){const H=!!I;if(H!==he){if(he=H,he){Z&&(cancelAnimationFrame(Z),Z=0);return}j(),setTimeout(j,180)}}const G=(()=>{var H;const I={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return I[(H=r.map)==null?void 0:H.colorRamp]||I["heartbeat-red"]})(),D={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function L(I,H){return Number.isFinite(H)?H-1<=I?`${I}`:`${I}–${H-1}`:`${I}+ · heartbeat zone`}function U(I){const ie=D.binThresholds.map(xe=>xe/D.heartbeatThreshold).map(xe=>Math.max(Zu,Math.round(xe*I)));return R(ie,I)}function R(I,H){const ie=[];for(const xe of I){const $e=Math.max(xe,ie.length?ie[ie.length-1]+1:Zu);$eRe>0).sort((Re,ke)=>Re-ke);if(ie.length<8)return null;const xe=Re=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Re*ie.length)))],$e=xe(1-H)+1,Fe=[.25,.5,.75].map(Re=>xe(Re));return{threshold:$e,edges:R(Fe,$e)}}function V(I){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const H=r.map||{};let ie=Number(H.heartbeatThreshold)>0?Number(H.heartbeatThreshold):D.heartbeatThreshold,xe=null;if(H.heartbeatMode==="quantile"){const ke=P(I||[],Number(H.heartbeatQuantile)>0?Number(H.heartbeatQuantile):D.quantile);ke&&(ie=ke.threshold,xe=ke.edges)}xe||(xe=Array.isArray(H.binThresholds)&&H.binThresholds.length?[...new Set(H.binThresholds.map(Number).filter(ke=>Number.isFinite(ke)&&ke>0&&keke-_t):Number(H.heartbeatThreshold)>0?U(ie):D.binThresholds);const $e=[...xe,ie,1/0].slice(0,G.length);for(;$e.length{const Kt={upTo:ke,c:G[_t],l:L(Fe,ke)};return Fe=ke,Kt})}const re=oe(()=>V([...$.value.values()])),ye=((od=r.map)==null?void 0:od.noDataColor)||"#f3f3f1";function Ce(I){if(!I)return ye;const H=re.value;for(const ie of H)if(I{const Re=parseInt(ie.slice(Fe*2,Fe*2+2),16),ke=parseInt(xe.slice(Fe*2,Fe*2+2),16);return Math.round(Qu*Re+(1-Qu)*ke)};return"#"+[0,1,2].map(Fe=>$e(Fe).toString(16).padStart(2,"0")).join("")}const Le=oe(()=>re.value.map(I=>({c:Te(I.c),l:I.l}))),ve=((rd=r.map)==null?void 0:rd.selectedColor)||"#1a237e";function _e(){const I=$.value,H=[],ie=[];I.forEach((Re,ke)=>{H.push(ke,Ce(Re)),ie.push(ke)});const xe=H.length?["match",["get","iso_3166_1_alpha_3"],...H,ye]:ye,Fe=Object.keys(a).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:xe,fillOpacity:Fe}}function be(){return Object.prototype.hasOwnProperty.call(a,fw)}const we=((sd=r.map)==null?void 0:sd.pinColor)||"#ef6c00",v=((ad=r.map)==null?void 0:ad.pinStrokeColor)||"#ffffff";function C(){return be()?ss({colorSource:"properties"}):we}function A(){const I=m.value;if(!I||!I.getLayer("rd-choropleth"))return;const{fillColor:H,fillOpacity:ie}=_e();I.setPaintProperty("rd-choropleth","fill-color",H),I.setPaintProperty("rd-choropleth","fill-opacity",ie);const xe=I.getSource("rd-bubbles");xe&&xe.setData(X()),I.getLayer("rd-bubble-layer")&&I.setPaintProperty("rd-bubble-layer","circle-color",C())}function B(I){const H=I==null?void 0:I.people_praying,ie=H&&typeof H=="object"?H.value:H;return Number(ie)||0}function X(){return{type:"FeatureCollection",features:c.value.filter(I=>Number(I.latitude)&&Number(I.longitude)).map(I=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(I.longitude),Number(I.latitude)]},properties:{pop:Number(I.population)||0,slug:I.slug||"",name:I.name||"",peoplePraying:B(I)}}))}}function J(){var ie;const I=n==null?void 0:n.selectionSet,H=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!I||!I.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:H.filter(xe=>I.has(xe.slug)&&Number(xe.latitude)&&Number(xe.longitude)).map(xe=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(xe.longitude),Number(xe.latitude)]},properties:{slug:xe.slug||"",name:xe.name||""}}))}}function se(){const I=m.value;if(!I)return;const H=I.getSource("rd-bubble-selected");H&&H.setData(J())}function ee(){var xe;const I=m.value;if(!I||M)return;M=!0,I.getSource("rd-countries")||(E.value?(I.addSource("rd-countries",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${py(s.value)}/boundaries/world-adm0.geojson`).then($e=>$e.json()).then($e=>{for(const Re of $e.features||[])Re.properties&&Re.properties.iso3&&(Re.properties.iso_3166_1_alpha_3=Re.properties.iso3);const Fe=m.value&&m.value.getSource("rd-countries");Fe&&Fe.setData($e)}).catch($e=>console.warn("[rdash] country boundaries failed to load",$e))):I.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}));const{fillColor:H,fillOpacity:ie}=_e();I.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries",...E.value?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":H,"fill-opacity":ie,"fill-outline-color":((xe=r.map)==null?void 0:xe.outlineColor)||"#6d766e"}}),I.addSource("rd-bubbles",{type:"geojson",data:X()}),I.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":C(),"circle-opacity":1,"circle-stroke-color":v,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),I.addSource("rd-bubble-selected",{type:"geojson",data:J()}),I.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":ve,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":ve,"circle-stroke-opacity":.95}}),I.on("click","rd-choropleth",h),I.on("click","rd-bubble-layer",_),I.on("mouseenter","rd-choropleth",()=>{I.getCanvas().style.cursor="pointer"}),I.on("mouseleave","rd-choropleth",()=>{I.getCanvas().style.cursor=""}),I.on("mouseenter","rd-bubble-layer",()=>{I.getCanvas().style.cursor="pointer"}),I.on("mouseleave","rd-bubble-layer",()=>{I.getCanvas().style.cursor=""});try{window.__rdashMap=I,window.__rdashClickAt=($e,Fe)=>{const Re=I.project([$e,Fe]),ke=I.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return ke&&ke[0]?(h({features:ke}),ke[0].properties&&ke[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=($e,Fe)=>{const Re=I.project([$e,Fe]),ke=I.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return ke&&ke[0]?(_({features:[ke[0]]}),ke[0].properties&&ke[0].properties.slug):null}}catch{}ot(),n&&n.on("select",se),se(),n&&n.on("focusRow",({slug:$e}={})=>{var ke;if(!$e)return;const Fe=(((ke=t==null?void 0:t.rows)==null?void 0:ke.value)||[]).find(_t=>_t.slug===$e),Re=m.value;if(Re&&Fe&&Number(Fe.latitude)&&Number(Fe.longitude))try{Re.flyTo({center:[Number(Fe.longitude),Number(Fe.latitude)],zoom:5.5,duration:1200})}catch{}})}function h(I){const H=m.value;if(H&&I.point){const Fe=H.queryRenderedFeatures([[I.point.x-5,I.point.y-5],[I.point.x+5,I.point.y+5]],{layers:["rd-bubble-layer"]});if(Fe&&Fe.length)return}const ie=I.features&&I.features[0];if(!ie||!n)return;const xe=ie.properties&&ie.properties.iso_3166_1_alpha_3,$e=w.value.get(xe);$e&&(n.setFilter(u,a[u]===$e?null:$e),n.emit("mapFocus",{facet:u,value:$e}))}function _(I){const H=I.features&&I.features[0];if(!H||!n)return;const ie=H.properties&&H.properties.slug;ie&&(n.toggleSelect(ie),n.emit("focusRow",{slug:ie,name:H.properties&&H.properties.name}))}function O(I){var ie;let H=I&&I.parentNode;for(;H;){if(H.nodeType===1){const xe=getComputedStyle(H);if(/auto|scroll/.test(xe.overflowY)&&H.scrollHeight>H.clientHeight+4)return H}if(H=H.parentElement||((ie=H.parentNode)==null?void 0:ie.host)||(H.parentNode!==H?H.parentNode:null),H&&H.nodeType===9)break}return null}function W(I){if(!(!I||!I.scrollZoom))try{I.scrollZoom.enable()}catch{}}vt(async()=>{await f();const I=m.value;if(!I)return;I.isStyleLoaded()?ee():I.on("load",ee),W(I);const H=()=>W(I);let ie=null;try{ie=new ResizeObserver(H);const xe=I.getContainer&&I.getContainer()||null;xe&&ie.observe(xe);const $e=xe?O(xe):null;$e&&ie.observe($e),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",H),Ut(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",H)}),I.on("zoom",F),I.on("zoomend",F),I.on("resize",F),F(),I.on("idle",()=>{!M&&I.isStyleLoaded()&&ee()}),typeof ResizeObserver<"u"&&y.value&&(T=new ResizeObserver(j),T.observe(y.value)),De(),I.on("idle",De),I.on("resize",De),n&&typeof n.on=="function"&&(z=n.on("toggleTable",()=>{j(),setTimeout(j,280)}),q=n.on("layoutResizing",K))}),Ut(()=>{try{S&&S()}catch{}S=null;try{z&&z()}catch{}z=null;try{q&&q()}catch{}if(q=null,T){try{T.disconnect()}catch{}T=null}if(me){try{me.disconnect()}catch{}me=null}Se=null,Z&&(cancelAnimationFrame(Z),Z=0);try{const I=m.value;I&&(I.off("zoom",F),I.off("zoomend",F),I.off("resize",F),I.off("idle",De),I.off("resize",De))}catch{}try{p&&p()}catch{}}),ht([c,d],A);const de=le(!0),ae=le(!0);function F(){const I=m.value;if(!I)return;const H=I.getZoom();de.value=HI.getMinZoom()+.01}const Y=le(null);let me=null,Se=null;function De(){var xe;const I=Y.value;if(!I)return;let H=0;try{const $e=(xe=I.getRootNode)==null?void 0:xe.call(I),Fe=$e&&$e.querySelector?$e.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Fe){const Re=Fe.getBoundingClientRect(),ke=I.getBoundingClientRect();if(H=Math.max(Re.height||0,ke.bottom-Re.top),Se!==Fe&&typeof ResizeObserver<"u"){if(me)try{me.disconnect()}catch{}Se=Fe,me=new ResizeObserver(De),me.observe(Fe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(H)||20,20),72);I.style.setProperty("--rd-attrib-clear",ie+"px")}const Qe=le("globe");function ot(){const I=m.value;if(!(!I||typeof I.setProjection!="function")){try{I.setProjection({type:Qe.value});return}catch{}try{I.setProjection(Qe.value)}catch{}}}function Ot(){Qe.value=Qe.value==="globe"?"mercator":"globe",ot()}function te(I){const H=Number(I.longitude),ie=Number(I.latitude);return!Number.isFinite(H)||!Number.isFinite(ie)||H===0&&ie===0||ie<-90||ie>90||H<-180||H>180?null:[H,ie]}function ue(I,H){if(!I.length)return NaN;const ie=Math.min(I.length-1,Math.max(0,Math.round(H*(I.length-1))));return I[ie]}function fe(I){const H=I.slice().sort((ke,_t)=>ke-_t),ie=H.length;if(ie<2)return H;let xe=-1,$e=0;for(let ke=0;kexe&&(xe=Kt,$e=ke)}const Fe=($e+1)%ie,Re=new Array(ie);for(let ke=0;ke0&&_tXn[1]).sort((Xn,ds)=>Xn-ds),xe=fe(H.map(Xn=>Xn[0])),$e=H.length>=gw?pw:0,Fe=ue(ie,$e),Re=ue(ie,1-$e),ke=ue(xe,$e),_t=ue(xe,1-$e),Kt=[ue(xe,.5),ue(ie,.5)];return!(_t>ke)||!(Re>Fe)?{bounds:[[Kt[0],Kt[1]],[Kt[0],Kt[1]]],center:Kt}:{bounds:[[ke,Fe],[_t,Re]],center:Kt}}function Oe(){const I=m.value;if(!I)return;if(!Object.keys(a).length){try{I.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const H=je(c.value);if(H)try{I.fitBounds(H.bounds,{padding:70,duration:1200,maxZoom:5.5}),I.setCenter(H.center)}catch{}}let Wt=null;return ht(()=>JSON.stringify(a),()=>{clearTimeout(Wt),Wt=setTimeout(Oe,260)}),It(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } + .rd-mapwrap[data-projection="globe"]{ + background:radial-gradient(ellipse at 50% 42%, #101a33 0%, #070b18 45%, #02040a 100%); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-proj{ position:absolute; right:8px; top:8px; z-index:3; font-size:11px; font-weight:700; cursor:pointer; user-select:none; background:#1a1a2ecc; color:#fff; border:1px solid #ffffff33; border-radius:6px; padding:4px 9px; backdrop-filter:blur(4px); } @@ -680,11 +682,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"),(I,H)=>(Q(),oe("div",{ref_key:"mapWrap",ref:Y,class:"rd-mapwrap","data-sub":"map","data-projection":Qe.value},[N("div",{ref_key:"mapContainer",ref:y,class:"rd-mapc","data-map-canvas":""},null,512),H[1]||(H[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),H[2]||(H[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Ue(aw,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:rn(()=>[Ue(iw,{map:ce(m),disabled:!de.value},null,8,["map","disabled"]),Ue(lw,{map:ce(m),disabled:!ae.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:Ot},pe(Qe.value==="globe"?"🌐 Globe":"▭ Flat"),1),N("div",uw,[H[0]||(H[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(Q(!0),oe(Ne,null,rt(Le.value,ie=>(Q(),oe("div",{key:ie.l,class:"lg-row"},[N("span",{class:"lg-sw",style:lt({background:ie.c})},null,4),N("span",null,pe(ie.l),1)]))),128))])],8,cw))}},mw=".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}",bw=["data-active","aria-expanded"],_w={class:"filter-dropdown__label"},yw=["value","placeholder"],vw={class:"filter-dropdown__options"},ww={key:0,class:"filter-dropdown__no-options"},xw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],kw={class:"filter-dropdown__count"},$w=os({__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=le(!1),s=le(""),a=le(-1),i=le(null),l=le(null),c=le(null),u=le({});function g(T){const z=T.ownerDocument,q=z.createElement("div");q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(T.parentElement||T.getRootNode().body||z.body).appendChild(q);const he=q.getBoundingClientRect();return q.remove(),{x:he.left,y:he.top}}function b(){const T=c.value;if(!T)return;const z=T.getBoundingClientRect(),q=window.innerWidth,Z=window.innerHeight,he=320,j=4,K=8,D=Math.round(Math.min(Math.max(z.width,240),q-K*2)),L=z.right>K&&z.leftq-K?U=Math.round(Math.max(z.right-D,K)):U=Math.round(Math.max(z.left,K)):U=Math.round(Math.min(Math.max(z.left,K),q-D-K));const R=Z-z.bottom,P=R<180&&z.top>R,V=g(T),re=Math.round(U-V.x);u.value=P?{top:"auto",bottom:`${Math.round(Z-z.top+j+V.y)}px`,left:`${re}px`,width:`${D}px`,maxHeight:`${Math.round(Math.min(he,z.top-j-K))}px`}:{top:`${Math.round(z.bottom+j-V.y)}px`,bottom:"auto",left:`${re}px`,width:`${D}px`,maxHeight:`${Math.round(Math.min(he,R-j-K))}px`}}function w(){r.value&&b()}const $=ne(()=>{if(!s.value)return o.options;const T=s.value.toLowerCase();return o.options.filter(z=>z.label.toLowerCase().includes(T))}),y=ne(()=>o.options.find(T=>T.value===o.value));function x(T){var q;const z=((q=T.composedPath)==null?void 0:q.call(T))??[];i.value&&!z.includes(i.value)&&d()}function E(){r.value?d():m()}function m(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",x),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),Uo(()=>{var T;b(),(T=l.value)==null||T.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",x),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}function f(T){s.value=T.target.value,a.value=-1}function p(T){const z=$.value;switch(T.key){case"ArrowDown":T.preventDefault(),a.value=Math.min(a.value+1,z.length-1),k();break;case"ArrowUp":T.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{T.preventDefault();const q=z[a.value];q&&S(q);break}case"Escape":T.preventDefault(),d();break}}function k(){Uo(()=>{var z;const T=(z=i.value)==null?void 0:z.querySelector(".filter-dropdown__option[data-highlighted]");T==null||T.scrollIntoView({block:"nearest"})})}function S(T){n("filter-change",{name:o.name,value:T.value,label:T.label,type:T.type}),d()}function M(){n("filter-clear",{name:o.name}),d()}return Ut(()=>{document.removeEventListener("click",x),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}),(T,z)=>(Q(),oe("div",{ref_key:"rootRef",ref:i,class:Be(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:E},[N("span",_w,[y.value?(Q(),oe(Ne,{key:0},[at(pe(e.label)+": ",1),N("strong",null,pe(y.value.label),1)],64)):(Q(),oe(Ne,{key:1},[at(pe(e.label),1)],64))]),z[0]||(z[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,bw),r.value?(Q(),oe("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:lt(u.value)},[N("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:p},null,40,yw),e.value?(Q(),oe("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):We("",!0),N("div",vw,[$.value.length===0?(Q(),oe("div",ww,"No options found")):(Q(!0),oe(Ne,{key:1},rt($.value,(q,Z)=>(Q(),oe("div",{key:q.value,class:"filter-dropdown__option",role:"option","data-highlighted":Z===a.value?"":void 0,"data-selected":q.value===e.value?"":void 0,"aria-selected":q.value===e.value,onClick:he=>S(q),onMouseenter:he=>a.value=Z},[N("span",null,pe(q.label),1),N("span",kw,pe(q.count),1)],40,xw))),128))])],4)):We("",!0)],2))}},[["styles",[mw]]]),Sw=".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)}",Ew={class:"sfh"},Aw={key:0,class:"sfh__search-row"},Cw=["aria-expanded"],Tw=["aria-label"],Lw=["data-active","onClick"],Pw={class:"sfh__chip-strip"},Mw={class:"sfh__sel-label"},Iw=["aria-label","onClick"],Nw={key:1,class:"sfh__sel-world"},Rw=os({__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=m=>!(m===!1||m==="false"||m==="0"||m===0),s=ne(()=>r(o.showSearch)),a=ne(()=>r(o.showFilters)),i=ne(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),l=le(o.startExpanded||!o.collapsible);function c(){l.value=!l.value}const u=ne(()=>!o.collapsible||!s.value||l.value),g=ne(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const m=[];for(const d of o.filters){if(!d.value)continue;const f=(d.options||[]).find(p=>p.value===d.value);m.push({name:d.name,label:f?f.label:d.value})}for(const d of o.toggles)d.active&&m.push({name:d.name,label:d.label});return m});function b(m){const d=(m==null?void 0:m.value)??"";n("update:search",d),n("search",{value:d})}function w(m){n("filter-change",m)}function $(m){n("filter-clear",m)}function y(m){n("toggle",{name:m.name,active:!m.active})}function x(m){n("remove-filter",{name:m})}function E(){n("clear-all")}return(m,d)=>(Q(),oe("div",Ew,[s.value?(Q(),oe("div",Aw,[Ue(Uu,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(Q(),oe("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[at(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Cw)):We("",!0)])):We("",!0),a.value&&u.value?(Q(),oe("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(Q(!0),oe(Ne,null,rt(e.filters,f=>(Q(),oo($w,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:w,onFilterClear:$},null,8,["label","name","options","value","placeholder"]))),128)),(Q(!0),oe(Ne,null,rt(e.toggles,f=>(Q(),oe("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:p=>y(f)},pe(f.label),9,Lw))),128))],8,Tw)):We("",!0),a.value?(Q(),oe("div",{key:2,class:Be(["sfh__chips",{"is-empty":!g.value.length}])},[N("div",Pw,[N("span",Mw,pe(i.value.selected||"Selected"),1),g.value.length?(Q(),oe(Ne,{key:0},[(Q(!0),oe(Ne,null,rt(g.value,f=>(Q(),oe("span",{key:f.name,class:"sfh__chip"},[at(pe(f.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:p=>x(f.name)},"×",8,Iw)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:E},pe(i.value.clear_all),1)],64)):(Q(),oe("span",Nw,pe(i.value.world||"World"),1))])],2)):We("",!0)]))}},[["styles",[Sw]]]),Fw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},us="prayer_level",Ow={__name:"DashboardResearchFilters",setup(e){const t=Me("selectionBus",null),o=Me("dashboardData",null),n=Me("dashboardConfig",{}),r=ne(()=>{var S;return((S=o==null?void 0:o.rows)==null?void 0:S.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:S=>{const M=S==null?void 0:S.people_praying,T=M&&typeof M=="object"?M.value:M;return tr[_n({peoplePraying:T??null})]}},i=ne(()=>({[us]:a,...n.facets||{}})),l=ne(()=>Object.fromEntries(Object.entries(i.value).map(([S,M])=>[S,M.get]))),c=ne(()=>n.researchFilters||{}),u=ne(()=>{const S=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[us,...S.filter(M=>M!==us)]}),g=ne(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b(S,M){const T=Object.keys(S);return T.length?M.filter(z=>T.every(q=>{const Z=l.value[q];return Z?Z(z)===S[q]:!0})):M}function w(S){var he;const M=l.value[S];if(!M)return[];const T=(he=i.value[S])==null?void 0:he.optionLabel,z={};for(const[j,K]of Object.entries(s))j!==S&&(z[j]=K);const q=b(z,r.value),Z=new Map;for(const j of q){const K=M(j);if(K==null||K==="")continue;const G=Z.get(K);G?G.count+=1:Z.set(K,{label:T&&T(j)||K,count:1})}return Array.from(Z.entries()).map(([j,{label:K,count:G}])=>({value:j,label:K,count:G})).sort((j,K)=>String(j.label).localeCompare(String(K.label)))}const $=ne(()=>u.value.map(S=>{var M;return{name:S,label:((M=i.value[S])==null?void 0:M.label)||S,options:w(S),value:s[S]||""}})),{labelFor:y}=or(n,Me("dataStore",null),Me("searchSourceId",null)),x=ne(()=>Object.keys(s).map(S=>{var T;const M=s[S];return{name:S,label:`${((T=i.value[S])==null?void 0:T.label)||S}: ${S===us?M:y(S,M)}`}})),E=ne(()=>{var S;return((S=t==null?void 0:t.searchTerm)==null?void 0:S.value)||""});function m(S){t==null||t.setSearch((S==null?void 0:S.value)??"")}function d(S){t==null||t.setFilter(S.name,S.value)}function f(S){t==null||t.setFilter(S.name,null)}function p(S){t==null||t.setFilter(S.name,null)}function k(){t==null||t.clearFilters()}return It(` +`,"rd-mappanel"),(I,H)=>(Q(),ne("div",{ref_key:"mapWrap",ref:Y,class:"rd-mapwrap","data-sub":"map","data-projection":Qe.value},[N("div",{ref_key:"mapContainer",ref:y,class:"rd-mapc","data-map-canvas":""},null,512),H[1]||(H[1]=N("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),H[2]||(H[2]=N("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Ue(aw,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:ro(()=>[Ue(iw,{map:ce(m),disabled:!de.value},null,8,["map","disabled"]),Ue(lw,{map:ce(m),disabled:!ae.value},null,8,["map","disabled"])]),_:1}),N("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:Ot},pe(Qe.value==="globe"?"🌐 Globe":"▭ Flat"),1),N("div",uw,[H[0]||(H[0]=N("div",{class:"lg-h"},"UPGs / country",-1)),(Q(!0),ne(Ne,null,rt(Le.value,ie=>(Q(),ne("div",{key:ie.l,class:"lg-row"},[N("span",{class:"lg-sw",style:lt({background:ie.c})},null,4),N("span",null,pe(ie.l),1)]))),128))])],8,cw))}},mw=".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}",bw=["data-active","aria-expanded"],_w={class:"filter-dropdown__label"},yw=["value","placeholder"],vw={class:"filter-dropdown__options"},ww={key:0,class:"filter-dropdown__no-options"},xw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],kw={class:"filter-dropdown__count"},$w=ns({__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 n=e,o=t,r=le(!1),s=le(""),a=le(-1),i=le(null),l=le(null),c=le(null),u=le({});function g(T){const z=T.ownerDocument,q=z.createElement("div");q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(T.parentElement||T.getRootNode().body||z.body).appendChild(q);const he=q.getBoundingClientRect();return q.remove(),{x:he.left,y:he.top}}function b(){const T=c.value;if(!T)return;const z=T.getBoundingClientRect(),q=window.innerWidth,Z=window.innerHeight,he=320,j=4,K=8,D=Math.round(Math.min(Math.max(z.width,240),q-K*2)),L=z.right>K&&z.leftq-K?U=Math.round(Math.max(z.right-D,K)):U=Math.round(Math.max(z.left,K)):U=Math.round(Math.min(Math.max(z.left,K),q-D-K));const R=Z-z.bottom,P=R<180&&z.top>R,V=g(T),re=Math.round(U-V.x);u.value=P?{top:"auto",bottom:`${Math.round(Z-z.top+j+V.y)}px`,left:`${re}px`,width:`${D}px`,maxHeight:`${Math.round(Math.min(he,z.top-j-K))}px`}:{top:`${Math.round(z.bottom+j-V.y)}px`,bottom:"auto",left:`${re}px`,width:`${D}px`,maxHeight:`${Math.round(Math.min(he,R-j-K))}px`}}function w(){r.value&&b()}const $=oe(()=>{if(!s.value)return n.options;const T=s.value.toLowerCase();return n.options.filter(z=>z.label.toLowerCase().includes(T))}),y=oe(()=>n.options.find(T=>T.value===n.value));function x(T){var q;const z=((q=T.composedPath)==null?void 0:q.call(T))??[];i.value&&!z.includes(i.value)&&d()}function E(){r.value?d():m()}function m(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",x),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w),Un(()=>{var T;b(),(T=l.value)==null||T.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",x),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}function f(T){s.value=T.target.value,a.value=-1}function p(T){const z=$.value;switch(T.key){case"ArrowDown":T.preventDefault(),a.value=Math.min(a.value+1,z.length-1),k();break;case"ArrowUp":T.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{T.preventDefault();const q=z[a.value];q&&S(q);break}case"Escape":T.preventDefault(),d();break}}function k(){Un(()=>{var z;const T=(z=i.value)==null?void 0:z.querySelector(".filter-dropdown__option[data-highlighted]");T==null||T.scrollIntoView({block:"nearest"})})}function S(T){o("filter-change",{name:n.name,value:T.value,label:T.label,type:T.type}),d()}function M(){o("filter-clear",{name:n.name}),d()}return Ut(()=>{document.removeEventListener("click",x),window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w)}),(T,z)=>(Q(),ne("div",{ref_key:"rootRef",ref:i,class:Be(["filter-dropdown",{"is-open":r.value}])},[N("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:E},[N("span",_w,[y.value?(Q(),ne(Ne,{key:0},[at(pe(e.label)+": ",1),N("strong",null,pe(y.value.label),1)],64)):(Q(),ne(Ne,{key:1},[at(pe(e.label),1)],64))]),z[0]||(z[0]=N("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,bw),r.value?(Q(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:lt(u.value)},[N("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:p},null,40,yw),e.value?(Q(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):We("",!0),N("div",vw,[$.value.length===0?(Q(),ne("div",ww,"No options found")):(Q(!0),ne(Ne,{key:1},rt($.value,(q,Z)=>(Q(),ne("div",{key:q.value,class:"filter-dropdown__option",role:"option","data-highlighted":Z===a.value?"":void 0,"data-selected":q.value===e.value?"":void 0,"aria-selected":q.value===e.value,onClick:he=>S(q),onMouseenter:he=>a.value=Z},[N("span",null,pe(q.label),1),N("span",kw,pe(q.count),1)],40,xw))),128))])],4)):We("",!0)],2))}},[["styles",[mw]]]),Sw=".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)}",Ew={class:"sfh"},Aw={key:0,class:"sfh__search-row"},Cw=["aria-expanded"],Tw=["aria-label"],Lw=["data-active","onClick"],Pw={class:"sfh__chip-strip"},Mw={class:"sfh__sel-label"},Iw=["aria-label","onClick"],Nw={key:1,class:"sfh__sel-world"},Rw=ns({__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 n=e,o=t,r=m=>!(m===!1||m==="false"||m==="0"||m===0),s=oe(()=>r(n.showSearch)),a=oe(()=>r(n.showFilters)),i=oe(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...n.labels})),l=le(n.startExpanded||!n.collapsible);function c(){l.value=!l.value}const u=oe(()=>!n.collapsible||!s.value||l.value),g=oe(()=>{if(Array.isArray(n.activeChips))return n.activeChips;const m=[];for(const d of n.filters){if(!d.value)continue;const f=(d.options||[]).find(p=>p.value===d.value);m.push({name:d.name,label:f?f.label:d.value})}for(const d of n.toggles)d.active&&m.push({name:d.name,label:d.label});return m});function b(m){const d=(m==null?void 0:m.value)??"";o("update:search",d),o("search",{value:d})}function w(m){o("filter-change",m)}function $(m){o("filter-clear",m)}function y(m){o("toggle",{name:m.name,active:!m.active})}function x(m){o("remove-filter",{name:m})}function E(){o("clear-all")}return(m,d)=>(Q(),ne("div",Ew,[s.value?(Q(),ne("div",Aw,[Ue(Uu,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(Q(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[at(pe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=N("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[N("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Cw)):We("",!0)])):We("",!0),a.value&&u.value?(Q(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(Q(!0),ne(Ne,null,rt(e.filters,f=>(Q(),nn($w,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:w,onFilterClear:$},null,8,["label","name","options","value","placeholder"]))),128)),(Q(!0),ne(Ne,null,rt(e.toggles,f=>(Q(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:p=>y(f)},pe(f.label),9,Lw))),128))],8,Tw)):We("",!0),a.value?(Q(),ne("div",{key:2,class:Be(["sfh__chips",{"is-empty":!g.value.length}])},[N("div",Pw,[N("span",Mw,pe(i.value.selected||"Selected"),1),g.value.length?(Q(),ne(Ne,{key:0},[(Q(!0),ne(Ne,null,rt(g.value,f=>(Q(),ne("span",{key:f.name,class:"sfh__chip"},[at(pe(f.label)+" ",1),N("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:p=>x(f.name)},"×",8,Iw)]))),128)),N("button",{class:"sfh__clear",type:"button",onClick:E},pe(i.value.clear_all),1)],64)):(Q(),ne("span",Nw,pe(i.value.world||"World"),1))])],2)):We("",!0)]))}},[["styles",[Sw]]]),Fw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},us="prayer_level",Ow={__name:"DashboardResearchFilters",setup(e){const t=Me("selectionBus",null),n=Me("dashboardData",null),o=Me("dashboardConfig",{}),r=oe(()=>{var S;return((S=n==null?void 0:n.rows)==null?void 0:S.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:S=>{const M=S==null?void 0:S.people_praying,T=M&&typeof M=="object"?M.value:M;return tr[_o({peoplePraying:T??null})]}},i=oe(()=>({[us]:a,...o.facets||{}})),l=oe(()=>Object.fromEntries(Object.entries(i.value).map(([S,M])=>[S,M.get]))),c=oe(()=>o.researchFilters||{}),u=oe(()=>{const S=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[us,...S.filter(M=>M!==us)]}),g=oe(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b(S,M){const T=Object.keys(S);return T.length?M.filter(z=>T.every(q=>{const Z=l.value[q];return Z?Z(z)===S[q]:!0})):M}function w(S){var he;const M=l.value[S];if(!M)return[];const T=(he=i.value[S])==null?void 0:he.optionLabel,z={};for(const[j,K]of Object.entries(s))j!==S&&(z[j]=K);const q=b(z,r.value),Z=new Map;for(const j of q){const K=M(j);if(K==null||K==="")continue;const G=Z.get(K);G?G.count+=1:Z.set(K,{label:T&&T(j)||K,count:1})}return Array.from(Z.entries()).map(([j,{label:K,count:G}])=>({value:j,label:K,count:G})).sort((j,K)=>String(j.label).localeCompare(String(K.label)))}const $=oe(()=>u.value.map(S=>{var M;return{name:S,label:((M=i.value[S])==null?void 0:M.label)||S,options:w(S),value:s[S]||""}})),{labelFor:y}=nr(o,Me("dataStore",null),Me("searchSourceId",null)),x=oe(()=>Object.keys(s).map(S=>{var T;const M=s[S];return{name:S,label:`${((T=i.value[S])==null?void 0:T.label)||S}: ${S===us?M:y(S,M)}`}})),E=oe(()=>{var S;return((S=t==null?void 0:t.searchTerm)==null?void 0:S.value)||""});function m(S){t==null||t.setSearch((S==null?void 0:S.value)??"")}function d(S){t==null||t.setFilter(S.name,S.value)}function f(S){t==null||t.setFilter(S.name,null)}function p(S){t==null||t.setFilter(S.name,null)}function k(){t==null||t.clearFilters()}return It(` .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"),(S,M)=>(Q(),oe("div",Fw,[Ue(Rw,{search:E.value,filters:$.value,"active-chips":x.value,"search-placeholder":g.value,"show-search":!1,"start-expanded":"",onSearch:m,onFilterChange:d,onFilterClear:f,onRemoveFilter:p,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Dw={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"},ed=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},qa=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Va={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 tr[_n({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>tt(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&Yo[o]?Yo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return Yo[o]?o:""}},wagf_region:{label:"Region",get:e=>tt(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>tt(e.wagf_block)},country_code:{label:"Country",get:e=>tt(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>tt(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>tt(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=tt(e.imb_language_family);if(t)return ns(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Dw[o];return n?ns(n):""}},primary_language:{label:"Language",get:e=>tt(e.primary_language)},affinity_bloc:{label:"People",get:e=>qa(e.rop1),optionLabel:e=>tt(e.rop1)},cluster:{label:"Cluster",get:e=>qa(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>qa(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>tt(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(tt(e.engagement_status))||/unengaged/i.test(tt(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=>tt(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>tt(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>tt(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>tt(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>ed(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>ed(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>tt(e.engagement_status),type:"str",w:.97}],map:{provider:"maplibre",mapStyle:"galaxy",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"greyscale"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},jw=["data-row-count","data-loading","data-error","data-narrow"],zw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Bw=["data-kpi"],Uw={class:"l"},Gw={key:0,class:"d","data-kpi-delta":""},Hw={class:"rd-cell-map","data-region":"map"},qw=["title"],Vw=["title"],Ww={class:"rd-cell-table","data-region":"table"},Kw={class:"rd-rail","data-region":"rail"},Yw=["aria-valuenow"],Xw=["aria-valuenow"],Jw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],Zw=["aria-valuenow"],Qw=["data-view"],ex=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Me("profileConfig",le(null)),n=ne(()=>{const _e=ce(o);if(!_e||typeof _e!="object")return Va;const be={...Va,..._e};return _e.map&&typeof _e.map=="object"&&(be.map={...Va.map,..._e.map}),be}),r=ne(()=>{var _e;return((_e=ce(o))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=sy(n.value),u=t;ht(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:be})=>u("dashboard-filter",{filterSet:_e,searchTerm:be}),{deep:!0});const g=a.total,b=a.loading,w=a.error,{shell:$,isNarrow:y,slimRail:x,slimFacet:E,mobileView:m,SEG:d,tableCollapsed:f,facetCollapsed:p,railCollapsed:k,setView:S,showFacets:M,showMap:T,showTable:z,showCharts:q}=c,{startFacetResize:Z,startRailResize:he,startTableResize:j,startShellResize:K,onResizeKeydown:G,facetW:D,railW:L,tableH:U,mapH:R,shellH:P}=ly({shellRef:$,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function V(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":ju(_e.value)}const re=ne(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function ye(){l.exportCsvAsync()}function Ce(){s.clearSelection()}function Te(){s.emit("toggleFacet",!p.value)}function Le(){s.emit("toggleRail",!k.value)}function ve(_e){const be=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");be&&(be.hasAttribute("data-bar-export")?ye():Ce())}return It(` +`,"rd-research-filters"),(S,M)=>(Q(),ne("div",Fw,[Ue(Rw,{search:E.value,filters:$.value,"active-chips":x.value,"search-placeholder":g.value,"show-search":!1,"start-expanded":"",onSearch:m,onFilterChange:d,onFilterClear:f,onRemoveFilter:p,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Dw={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"},ed=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},qa=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Va={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,n=t&&typeof t=="object"?t.value:t;return tr[_o({peoplePraying:n??null})]}},religion:{label:"Religion",get:e=>tt(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return n&&Yn[n]?Yn[n]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return Yn[n]?n:""}},wagf_region:{label:"Region",get:e=>tt(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>tt(e.wagf_block)},country_code:{label:"Country",get:e=>tt(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>tt(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>tt(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=tt(e.imb_language_family);if(t)return os(t);const n=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,o=n&&Dw[n];return o?os(o):""}},primary_language:{label:"Language",get:e=>tt(e.primary_language)},affinity_bloc:{label:"People",get:e=>qa(e.rop1),optionLabel:e=>tt(e.rop1)},cluster:{label:"Cluster",get:e=>qa(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>qa(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>tt(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(tt(e.engagement_status))||/unengaged/i.test(tt(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=>tt(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>tt(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>tt(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>tt(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>ed(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>ed(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>tt(e.engagement_status),type:"str",w:.97}],map:{provider:"maplibre",mapStyle:"galaxy",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"greyscale"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},jw=["data-row-count","data-loading","data-error","data-narrow"],zw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Bw=["data-kpi"],Uw={class:"l"},Gw={key:0,class:"d","data-kpi-delta":""},Hw={class:"rd-cell-map","data-region":"map"},qw=["title"],Vw=["title"],Ww={class:"rd-cell-table","data-region":"table"},Kw={class:"rd-rail","data-region":"rail"},Yw=["aria-valuenow"],Xw=["aria-valuenow"],Jw=["title","aria-label","aria-valuenow","aria-valuemin","aria-valuemax"],Zw=["aria-valuenow"],Qw=["data-view"],ex=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const n=Me("profileConfig",le(null)),o=oe(()=>{const _e=ce(n);if(!_e||typeof _e!="object")return Va;const be={...Va,..._e};return _e.map&&typeof _e.map=="object"&&(be.map={...Va.map,..._e.map}),be}),r=oe(()=>{var _e;return((_e=ce(n))==null?void 0:_e.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=sy(o.value),u=t;ht(()=>{var _e;return{filters:{...s.filterSet},q:((_e=s.searchTerm)==null?void 0:_e.value)||""}},({filters:_e,q:be})=>u("dashboard-filter",{filterSet:_e,searchTerm:be}),{deep:!0});const g=a.total,b=a.loading,w=a.error,{shell:$,isNarrow:y,slimRail:x,slimFacet:E,mobileView:m,SEG:d,tableCollapsed:f,facetCollapsed:p,railCollapsed:k,setView:S,showFacets:M,showMap:T,showTable:z,showCharts:q}=c,{startFacetResize:Z,startRailResize:he,startTableResize:j,startShellResize:K,onResizeKeydown:G,facetW:D,railW:L,tableH:U,mapH:R,shellH:P}=ly({shellRef:$,bus:s,isNarrow:y,pageScroll:r,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%",mapH:360,shellH:720}});function V(_e){return _e.kind==="pct"?_e.value:_e.kind==="distinct"?_e.value||"—":ju(_e.value)}const re=oe(()=>{var _e;return(_e=s.selectionVersion)==null||_e.value,s.selectionSet?s.selectionSet.size:0});function ye(){l.exportCsvAsync()}function Ce(){s.clearSelection()}function Te(){s.emit("toggleFacet",!p.value)}function Le(){s.emit("toggleRail",!k.value)}function ve(_e){const be=_e.target&&_e.target.closest&&_e.target.closest("[data-bar-export],[data-bar-clear]");be&&(be.hasAttribute("data-bar-export")?ye():Ce())}return It(` :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; @@ -786,4 +788,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"),vt(()=>{const _e=$.value&&$.value.getRootNode&&$.value.getRootNode().host;if(!_e)return;const be=we=>_e.setAttribute("data-page-scroll",we?"true":"false");be(ce(r)),ht(()=>ce(r),be)}),(_e,be)=>(Q(),oe("div",{ref_key:"shell",ref:$,class:Be(["rd-shell",{"rd-narrow":ce(y),"rd-slim-rail":ce(x),"rd-slim-facet":ce(E),"rd-table-collapsed":ce(f),"rd-facet-collapsed":ce(p),"rd-rail-collapsed":ce(k),"rd-page-scroll":r.value}]),"data-row-count":ce(g),"data-loading":ce(b)?"1":"0","data-error":ce(w)||"","data-narrow":ce(y)?"1":"0"},[Ue(ce(Zy)),Ue(ce(Ow)),N("div",zw,[(Q(!0),oe(Ne,null,rt(ce(i),we=>(Q(),oe("div",{class:"kpi",key:we.id},[N("span",{class:"n","data-kpi":we.id},pe(we.kind==="count"&&ce(b)?"…":V(we)),9,Bw),N("span",Uw,pe(we.label),1),we.delta?(Q(),oe("span",Gw,"↓"+pe(ce(ju)(we.delta)),1)):We("",!0)]))),128))]),Nt(Ue(ce(hv),null,null,512),[[Gt,ce(M)]]),Nt(N("div",Hw,[Ue(ce(hw)),ce(y)?We("",!0):(Q(),oe("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ce(p)?"Show filters":"Hide filters — grow the map",onClick:Te},pe(ce(p)?"▸":"◂"),9,qw)),ce(y)?We("",!0):(Q(),oe("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ce(k)?"Show charts":"Hide charts — grow the map",onClick:Le},pe(ce(k)?"◂":"▸"),9,Vw))],512),[[Gt,ce(T)]]),Nt(N("div",Ww,[Ue(ce(jv))],512),[[Gt,ce(z)]]),Nt(N("aside",Kw,[Ue(ce(T0)),Ue(ce(n0))],512),[[Gt,ce(q)]]),Nt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ce(D),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:be[0]||(be[0]=(...we)=>ce(Z)&&ce(Z)(...we)),onKeydown:be[1]||(be[1]=we=>ce(G)("facet",we))},null,40,Yw),[[Gt,!ce(y)&&!ce(p)]]),Nt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ce(L),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:be[2]||(be[2]=(...we)=>ce(he)&&ce(he)(...we)),onKeydown:be[3]||(be[3]=we=>ce(G)("rail",we))},null,40,Xw),[[Gt,!ce(y)&&!ce(k)]]),Nt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ce(R):parseFloat(ce(U))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:be[4]||(be[4]=(...we)=>ce(j)&&ce(j)(...we)),onKeydown:be[5]||(be[5]=we=>ce(G)("table",we))},null,40,Jw),[[Gt,!ce(y)&&!ce(f)]]),Nt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ce(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:be[6]||(be[6]=(...we)=>ce(K)&&ce(K)(...we)),onKeydown:be[7]||(be[7]=we=>ce(G)("shell",we))},null,40,Zw),[[Gt,!ce(y)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:be[8]||(be[8]=(...we)=>ce(S)&&ce(S)(...we))},[(Q(!0),oe(Ne,null,rt(ce(d),we=>(Q(),oe("button",{key:we.k,class:Be({on:ce(m)===we.k}),"data-view-btn":"","data-view":we.k},pe(we.l),11,Qw))),128))]),re.value?(Q(),oe("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[N("b",null,pe(re.value)+" selected",1),be[9]||(be[9]=N("span",{class:"sp"},null,-1)),be[10]||(be[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),be[11]||(be[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):We("",!0)],10,jw))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"rd-shell-layout"),vt(()=>{const _e=$.value&&$.value.getRootNode&&$.value.getRootNode().host;if(!_e)return;const be=we=>_e.setAttribute("data-page-scroll",we?"true":"false");be(ce(r)),ht(()=>ce(r),be)}),(_e,be)=>(Q(),ne("div",{ref_key:"shell",ref:$,class:Be(["rd-shell",{"rd-narrow":ce(y),"rd-slim-rail":ce(x),"rd-slim-facet":ce(E),"rd-table-collapsed":ce(f),"rd-facet-collapsed":ce(p),"rd-rail-collapsed":ce(k),"rd-page-scroll":r.value}]),"data-row-count":ce(g),"data-loading":ce(b)?"1":"0","data-error":ce(w)||"","data-narrow":ce(y)?"1":"0"},[Ue(ce(Zy)),Ue(ce(Ow)),N("div",zw,[(Q(!0),ne(Ne,null,rt(ce(i),we=>(Q(),ne("div",{class:"kpi",key:we.id},[N("span",{class:"n","data-kpi":we.id},pe(we.kind==="count"&&ce(b)?"…":V(we)),9,Bw),N("span",Uw,pe(we.label),1),we.delta?(Q(),ne("span",Gw,"↓"+pe(ce(ju)(we.delta)),1)):We("",!0)]))),128))]),Nt(Ue(ce(hv),null,null,512),[[Gt,ce(M)]]),Nt(N("div",Hw,[Ue(ce(hw)),ce(y)?We("",!0):(Q(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:ce(p)?"Show filters":"Hide filters — grow the map",onClick:Te},pe(ce(p)?"▸":"◂"),9,qw)),ce(y)?We("",!0):(Q(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:ce(k)?"Show charts":"Hide charts — grow the map",onClick:Le},pe(ce(k)?"◂":"▸"),9,Vw))],512),[[Gt,ce(T)]]),Nt(N("div",Ww,[Ue(ce(jv))],512),[[Gt,ce(z)]]),Nt(N("aside",Kw,[Ue(ce(T0)),Ue(ce(o0))],512),[[Gt,ce(q)]]),Nt(N("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the filters rail","aria-label":"Resize filters rail","aria-valuenow":ce(D),"aria-valuemin":"160","aria-valuemax":"420",onPointerdown:be[0]||(be[0]=(...we)=>ce(Z)&&ce(Z)(...we)),onKeydown:be[1]||(be[1]=we=>ce(G)("facet",we))},null,40,Yw),[[Gt,!ce(y)&&!ce(p)]]),Nt(N("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",tabindex:"0",title:"Drag or use arrow keys to resize the charts rail","aria-label":"Resize charts rail","aria-valuenow":ce(L),"aria-valuemin":"200","aria-valuemax":"520",onPointerdown:be[2]||(be[2]=(...we)=>ce(he)&&ce(he)(...we)),onKeydown:be[3]||(be[3]=we=>ce(G)("rail",we))},null,40,Xw),[[Gt,!ce(y)&&!ce(k)]]),Nt(N("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:r.value?"Drag or use arrow keys to resize the map/table split":"Drag or use arrow keys to resize the table","aria-label":r.value?"Resize map/table split":"Resize table height","aria-valuenow":r.value?ce(R):parseFloat(ce(U))||34,"aria-valuemin":r.value?220:12,"aria-valuemax":r.value?1400:70,onPointerdown:be[4]||(be[4]=(...we)=>ce(j)&&ce(j)(...we)),onKeydown:be[5]||(be[5]=we=>ce(G)("table",we))},null,40,Jw),[[Gt,!ce(y)&&!ce(f)]]),Nt(N("div",{class:"rd-rz rd-rz-shell","data-resize":"shell",role:"separator","aria-orientation":"horizontal",tabindex:"0",title:"Drag or use arrow keys to resize the dashboard's height","aria-label":"Resize dashboard height","aria-valuenow":ce(P),"aria-valuemin":"400","aria-valuemax":"2600",onPointerdown:be[6]||(be[6]=(...we)=>ce(K)&&ce(K)(...we)),onKeydown:be[7]||(be[7]=we=>ce(G)("shell",we))},null,40,Zw),[[Gt,!ce(y)&&r.value]]),N("div",{class:"rd-seg","data-segmented":"",onClick:be[8]||(be[8]=(...we)=>ce(S)&&ce(S)(...we))},[(Q(!0),ne(Ne,null,rt(ce(d),we=>(Q(),ne("button",{key:we.k,class:Be({on:ce(m)===we.k}),"data-view-btn":"","data-view":we.k},pe(we.l),11,Qw))),128))]),re.value?(Q(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ve},[N("b",null,pe(re.value)+" selected",1),be[9]||(be[9]=N("span",{class:"sp"},null,-1)),be[10]||(be[10]=N("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),be[11]||(be[11]=N("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):We("",!0)],10,jw))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/research-dashboard/research-dashboard/index.html b/public/doxa-maps/research-dashboard/research-dashboard/index.html index af008b18f..b712d0f4f 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 @@ - +